Ayuda comando escalar
#1

Bueno estoy creando un sistema de escalar pero me gustaria saber como hacer para cuando presione una tecla Avanze

miren el comando

pawn Код:
zcmd(escalar, playerid, params[])
    {
     new Float: x, Float: y, Float: z;
     GetPlayerPos(playerid, x, y, z);
     SetPlayerPos(playerid, x, y, z+2);
     TogglePlayerControllable(playerid, 0);
     ApplyAnimation(playerid,"Bikev"," BIKEv_Back",4.1,1,1,1,1,1,1);
     Message(playerid,COLOR_GRAD2,"Para terminar de escalar usa /tescalar");
     return 1;
    }
Reply
#2

OnPlayerKeyStateChange
y
GetPlayerKeys
Reply
#3

Te lo armй con la tecla N;

pawn Код:
#define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

new Escalando[MAX_PLAYERS];

zcmd(escalar, playerid, params[])
{
    TogglePlayerControllable(playerid, 0);
    ApplyAnimation(playerid,"Bikev"," BIKEv_Back",4.1,1,1,1,1,1,1);
    Message(playerid,COLOR_GRAD2,"Para ir escalando la escalera presione la tecla N. Para terminar de escalar use /tescalar.");
    Escalando[playerid] = 1;
    return 1;
}

zcmd(tescalar, playerid, params[])
{
    TogglePlayerControllable(playerid, 1);
    Escalando[playerid] = 0;
    return 1;
}

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

public OnPlayerDisconnect(playerid)
{
    Escalando[playerid] = 0;
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(PRESSED(KEY_NO) && Escalando[playerid] == 1)
    {
        new Float: x, Float: y, Float: z;
        GetPlayerPos(playerid, x, y, z);
        SetPlayerPos(playerid, x, y, z+2);
    }
    return 1;
}
Al usar /escalar se congelarб y se le darб la variable Escalando, entonces cada vez que use la tecla N irб escalando a +2 de la coordenada de altura Z, йsto funcionarб al apretar N y tener la variable Escalando activa. Al usar /tescalar, descongelarб al jugador y le quitarб la variable.

Faltarнa nomбs usar la funciуn para detectar la coordenada de la escalera, asн sуlo se puede usar ahн, si me proporcionas la coordenada puedo armarte todo.

Si quieres hacerlo con otra tecla que no sea la N, deberбs cambiar lo que dice KEY_NO por otra tecla, por ejemplo, si lo quieres con SPACE cambiarбs el KEY_NO por KEY_SPRINT.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)