[ajuda] piscas
#1

Boas malta,tenho um sistema de piscas,so que queria mudar o "objeto".
pawn Код:
//AI Blinkers by Kinetic
#include <a_samp>
#include <a_players>

//----[Quick Stats]-------------------------------------------------------------
#define timerspeed  500                 //Speed of the timer in milliseconds (1000 = 1 second)
#define blinkerduration 10              //Length of the duration that the blinker will stay on in seconds.
#define rightkey    KEY_LOOK_RIGHT      //The key you press to turn the right blinker on
#define leftkey     KEY_LOOK_LEFT       //The key you press to turn the left blinker on
//------------------------------------------------------------------------------

// PRESSED(newkeys, oldkeys, keys)
#define PRESSED(%0,%1,%2) \
    ((((%0) & (%2)) == (%2)) && (((%1) & (%2)) != (%2)))

new tmpcar;
new arrow[MAX_PLAYERS];
new Step[MAX_PLAYERS];
new blinks[MAX_PLAYERS];
new duration[MAX_PLAYERS];
new blinker[MAX_PLAYERS];
new Float:tmpx[MAX_PLAYERS],Float:tmpy[MAX_PLAYERS],Float:tmpz[MAX_PLAYERS],Float:tmpang[MAX_PLAYERS];
new Float:startang[MAX_PLAYERS];

forward Blinker(playerid);

public OnFilterScriptExit()
{
    for(new i=0; i<=GetMaxPlayers(); i++)
    {
        KillTimer(blinks[i]);
        DestroyObject(arrow[i]);
    }
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(PRESSED(newkeys, oldkeys, rightkey ))
    {
     if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
     {

        if(blinker[playerid] != 1)
        {


            KillTimer(blinks[playerid]);
            blinks[playerid] = SetTimerEx("Blinker", timerspeed, true,"%i",playerid);
            //blinks[playerid] = SetTimer("Blinker", timerspeed, true);
            GetPlayerFacingAngle(playerid, startang[playerid]);
            blinker[playerid] = 1;
            return 1;
        }
        if(blinker[playerid] == 1 )
        {
            KillTimer(blinks[playerid]);
            DestroyObject(arrow[playerid]);
            blinker[playerid] = 0;
            GetPlayerFacingAngle(playerid, startang[playerid]);
            duration[playerid] = 0;
            return 1;
        }
    }
    }
    if(PRESSED(newkeys, oldkeys, leftkey))
    {
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
        if(blinker[playerid] != 2)
        {
            KillTimer(blinks[playerid]);
            blinks[playerid] = SetTimerEx("Blinker", timerspeed, true,"%i",playerid);
            //blinks[playerid] = SetTimer("Blinker", timerspeed, true);
            blinker[playerid] = 2;
            return 1;
        }
        if(blinker[playerid] == 2)
        {
            KillTimer(blinks[playerid]);
            DestroyObject(arrow[playerid]);
            blinker[playerid] = 0;
            duration[playerid] = 0;
            return 1;
        }
    }
    }
    return 1;
}

public Blinker(playerid)
{
    if(duration[playerid] >= blinkerduration)
    {
        KillTimer(blinks[playerid]);
        DestroyObject(arrow[playerid]);
        duration[playerid] = 0;
        return 1;
    }
    if(blinker[playerid] == 0)
    {
        KillTimer(blinks[playerid]);
        DestroyObject(arrow[playerid]);
        duration[playerid] = 0;
        return 1;
    }
    if(blinker[playerid] == 1)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {


            tmpcar = GetPlayerVehicleID(playerid);
            GetVehiclePos(tmpcar, tmpx[playerid], tmpy[playerid], tmpz[playerid]);
            GetVehicleZAngle(tmpcar, tmpang[playerid]);
            if(Step[playerid] == 0)
            {
                arrow[playerid] = CreateObject(1318, tmpx[playerid], tmpy[playerid], tmpz[playerid]+0.7, 90, tmpang[playerid]+89, 180);
                AttachObjectToPlayer(arrow[playerid], playerid, 0, 0, 1.7, 90, 89, 180); // EDITAR OBJECTO.
                //GameTextForPlayer(playerid, "~y~>>>", 300, 4);
                Step[playerid] = 1;
                return 1;
            }
            if(Step[playerid] == 1)
            {
                duration[playerid]++;
                DestroyObject(arrow[playerid]);
                Step[playerid] = 0;
                return 1;
            }
        }
    }
    if(blinker[playerid] == 2)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            tmpcar = GetPlayerVehicleID(playerid);
            GetVehiclePos(tmpcar, tmpx[playerid], tmpy[playerid], tmpz[playerid]);
            GetVehicleZAngle(tmpcar, tmpang[playerid]);
            if(Step[playerid] == 0)
            {
                arrow[playerid] = CreateObject(1318, tmpx[playerid], tmpy[playerid], tmpz[playerid]+0.7, 90, tmpang[playerid]-89, 180);
                AttachObjectToPlayer(arrow[playerid], playerid, 0, 0, 1.7, 90, 269, 180);// EDITAR OBJECTO.
                //GameTextForPlayer(playerid, "~y~<<<", 300, 4);
                Step[playerid] = 1;
                return 1;
            }
            if(Step[playerid] == 1)
            {
                duration[playerid]++;
                DestroyObject(arrow[playerid]);
                Step[playerid] = 0;
                return 1;
            }
        }
    }
    return 1;
}
o objeto que cria em cima do carro,й uma setinha branca,so que eu queria mudar para o objeto id 19331 penso eu,fica aqui a imagem do objeto: so que a seta esta sempre a apontar para baixo =(
Reply
#2

pawn Код:
arrow[playerid] = CreateObject(1318,

arrow[playerid] = CreateObject(19331,
Reply
#3

й muito giro e tuda,mas a setinha branca,clica-se no "q" e a setinha aponta para o lado "<<<",clica-se no "e" e a setinha aponta para o lado ">>>". Mas quando mudei o ID do objeto,o objeto e esse ai na imagem,mudei para esse,a setinha aponta sempre para baixo,й esse o meu problema :S
Reply
#4

Oque esse FS faz?
Reply
#5

Tenta trocar o angulo entгo ...
Reply
#6

esse FS й de piscas,clica-se na tecla "q" e apareзe uma setinha a apontar para o lado "<<<" sempre a piscar,clicase no "e" aponta para o lado ">>>" sempre a piscar,mas quando mudo pra esse objeto,o objeto aponta para baixo.

Ja tentei mudar todos os numeros,e nenhum roda o objeto :S
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)