[FilterScript] Selfie Flirtscript
#1

Hello,

I was bored so i decided to create a selfie filterscript.

its a really simple filterscript that doesnt require any skills at all but its kinda fun.

Whats New:
~Now you can move in circle with the camera.
~Added /td to show/hide the textdraws.
~Fixed the clearanimations after you stop taking the selfie.

ScreenShots:

V0.1 ScreenShots:





V0.2 ScreenShots





Download:

V0.1

V0.2
pawn Code:
#define FILTERSCRIPT

#include <a_samp>
#include <zcmd>

#define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
   
new takingselfie[MAX_PLAYERS];
new Float:Degree[MAX_PLAYERS];
const Float: Radius = 1.4; //do not edit this
const Float: Speed  = 1.25; //do not edit this
const Float: Height = 1.0; // do not edit this
new Text:Textdraw2;
new Float:lX[MAX_PLAYERS];
new Float:lY[MAX_PLAYERS];
new Float:lZ[MAX_PLAYERS];
new hiden[MAX_PLAYERS];

#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_RED 0xFF0000AA

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Selfie FilterScript By: JFF");
    print("--------------------------------------\n");
    for(new i =0; i<MAX_PLAYERS;i++)
        takingselfie[i] = 0;
    Textdraw2 = TextDrawCreate(227.000000, 10.000000, "~r~Press F8 to take a selfie.~n~~n~~y~Num 6/Num 4 to move the camera.~n~~n~~p~/td to hide/show the textdraws.~n~~n~~g~/selfie to stop taking selfies.~n~~n~~w~/headmove to disable the head movement.");
    TextDrawBackgroundColor(Textdraw2, 255);
    TextDrawFont(Textdraw2, 1);
    TextDrawLetterSize(Textdraw2, 0.500000, 1.300000);
    TextDrawColor(Textdraw2, -16776961);
    TextDrawSetOutline(Textdraw2, 0);
    TextDrawSetProportional(Textdraw2, 1);
    TextDrawSetShadow(Textdraw2, 1);
    TextDrawSetSelectable(Textdraw2, 0);
    return 1;
}

public OnFilterScriptExit()
{
    for(new i =0; i<MAX_PLAYERS;i++)
        takingselfie[i] = 0;
    return 1;
}

#else

main()
{
    print("\n--------------------------------------");
    print(" Selfie FilterScript By: JFF");
    print("--------------------------------------\n");
}

#endif

public OnPlayerConnect(playerid)
{
    takingselfie[playerid] = 0;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    takingselfie[playerid] = 0;
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(takingselfie[playerid] == 1)
    {
        if(PRESSED(KEY_ANALOG_RIGHT))
        {
            GetPlayerPos(playerid,lX[playerid],lY[playerid],lZ[playerid]);
            static Float: n1X, Float: n1Y;
            if(Degree[playerid] >= 360) Degree[playerid] = 0;
            Degree[playerid] += Speed;
            n1X = lX[playerid] + Radius * floatcos(Degree[playerid], degrees);
            n1Y = lY[playerid] + Radius * floatsin(Degree[playerid], degrees);
            SetPlayerCameraPos(playerid, n1X, n1Y, lZ[playerid] + Height);
            SetPlayerCameraLookAt(playerid, lX[playerid], lY[playerid], lZ[playerid]+1);
            SetPlayerFacingAngle(playerid, Degree[playerid] - 90.0);
        }
        if(PRESSED(KEY_ANALOG_LEFT))
        {
            GetPlayerPos(playerid,lX[playerid],lY[playerid],lZ[playerid]);
            static Float: n1X, Float: n1Y;
            if(Degree[playerid] >= 360) Degree[playerid] = 0;
            Degree[playerid] -= Speed;
            n1X = lX[playerid] + Radius * floatcos(Degree[playerid], degrees);
            n1Y = lY[playerid] + Radius * floatsin(Degree[playerid], degrees);
            SetPlayerCameraPos(playerid, n1X, n1Y, lZ[playerid] + Height);
            SetPlayerCameraLookAt(playerid, lX[playerid], lY[playerid], lZ[playerid]+1);
            SetPlayerFacingAngle(playerid, Degree[playerid] - 90.0);
        }
    }
    return 1;
}

CMD:selfie(playerid,params[])
{
    if(takingselfie[playerid] == 0)
    {
        GetPlayerPos(playerid,lX[playerid],lY[playerid],lZ[playerid]);
        static Float: n1X, Float: n1Y;
        if(Degree[playerid] >= 360) Degree[playerid] = 0;
        Degree[playerid] += Speed;
        n1X = lX[playerid] + Radius * floatcos(Degree[playerid], degrees);
        n1Y = lY[playerid] + Radius * floatsin(Degree[playerid], degrees);
        SetPlayerCameraPos(playerid, n1X, n1Y, lZ[playerid] + Height);
        SetPlayerCameraLookAt(playerid, lX[playerid], lY[playerid], lZ[playerid]+1);
        SetPlayerFacingAngle(playerid, Degree[playerid] - 90.0);
        takingselfie[playerid] = 1;
        ApplyAnimation(playerid, "PED", "gang_gunstand", 4.1, 1, 1, 1, 1, 1, 1);
        TextDrawShowForPlayer(playerid,Textdraw2);
        return 1;
    }
    if(takingselfie[playerid] == 1)
    {
        TogglePlayerControllable(playerid,1);
        SetCameraBehindPlayer(playerid);
        TextDrawHideForPlayer(playerid,Textdraw2);
        takingselfie[playerid] = 0;
        ApplyAnimation(playerid, "PED", "ATM", 4.1, 0, 1, 1, 0, 1, 1);
        return 1;
    }
    return 1;
}

CMD:td(playerid,params[])
{
    if(takingselfie[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,"ERROR: This command works only while taking a selfie");
    if(hiden[playerid] == 0)
    {
        TextDrawHideForPlayer(playerid,Textdraw2);
        hiden[playerid] = 1;
        return 1;
    }
    if(hiden[playerid] == 1)
    {
        TextDrawShowForPlayer(playerid,Textdraw2);
        hiden[playerid] = 0;
        return 1;
    }
    return 1;
}
Enjoy and please don`t remove credits
Reply
#2

Cool!
will surely use it +repped
Reply
#3

Cool and easy system.
Reply
#4

Thanks guys

Yeah as i said its easy but kinda fun
Reply
#5

Cool i it
Reply
#6

Quote:
Originally Posted by Devil123
View Post
Cool i it
thanks!
Reply
#7

Looks Nice. Great Work buddy
Reply
#8

Quote:
Originally Posted by FahadKing07
View Post
Looks Nice. Great Work buddy
Thanks dude!
Reply
#9

You could use /headmove for better scene
Reply
#10

Quote:
Originally Posted by Matz
View Post
You could use /headmove for better scene
You can use Num6 and Num4 to move the camera for a better pic
Reply
#11

Cool Script Will Surely Use It In My Server.
Reply
#12

Quote:
Originally Posted by LazyBoyyyy
Посмотреть сообщение
Cool Script Will Surely Use It In My Server.
xD ty
Reply
#13

Hahaha i love this, very very nice
Reply
#14

Quote:
Originally Posted by iRaiDeN
Посмотреть сообщение
Hahaha i love this, very very nice
I am glad that u love it
Reply
#15

Quote:
Originally Posted by JFF
Посмотреть сообщение
You can use Num6 and Num4 to move the camera for a better pic
Not that but player's head looking behind without /headmove disabled lol
Reply
#16

Nice idea, but remove those textdraws they're so big and it looks ugly.
Reply
#17

I knew it was only a matter of time before selfies came to samp.
Reply
#18

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
Nice idea, but remove those textdraws they're so big and it looks ugly.
I'll add this in the next version

I'll add a command to hide the textdraws

@TakeiT lol I was bored so thought of making one since no one made one

@Matz I will try to add it in the next version
Reply
#19

Quote:
Originally Posted by Matz
Посмотреть сообщение
Not that but player's head looking behind without /headmove disabled lol
You can disable head movements with /headmove ? its inbuilt in the client! right4
Tested in my server
Reply
#20

Quote:
Originally Posted by superrobot48
Посмотреть сообщение
You can disable head movements with /headmove ? its inbuilt in the client! right4
Tested in my server
yes you can use /headmove to disable head moving


V0.2 released
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)