[Tutorial] Tutorial sobre OnPlayerKeyStateChange
#1

Tutorial sobre OnPlayerKeyStateChange
Olб pessoal, estou de volta aqui para ajudar com o OnPlayerKeyStateChange.
Bom, primeiro vocк tem que saber para o que ela serve, basicamente essa funзгo й chamada assim que o Player troca de tecla.

Como assim?
Por exemplo, vocк estб correndo usando o W ai vocк vai virar para a direita e usa o D, assim vocк acaba de chamar esse funзгo.
Simples, nгo?
Agora vamos aos testes preticos, mas antes uma OBs.: Todos os exemplos foram tirados do SA-MP Wiki.

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

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(PRESSED(KEY_FIRE))//se precionar a KEY_FIRE
    {
        if (IsPlayerInAnyVehicle(playerid)) //se estiver num veiculo
        {
            AddVehicleComponent(GetPlayerVehicleID(playerid), 1010); //adiciona nitro :D
        }
    }
    return 1;
}
Na funзгo acima quando o player clicar no botгo direito do mouse e estiver dentro de um carro, serб adicionado nitro.

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

new Float:gPlayerHealth[MAX_PLAYERS]; //define esse float como global para a vida
 
#define INFINITY (Float:0x7F800000) //define a vida infinita
 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(PRESSED(KEY_CROUCH)) //se precionar o H
    {
        GetPlayerHealth(playerid, gPlayerHealth[playerid]); //pega a vida
        SetPlayerHealth(playerid, INFINITY); //seta a vida infinita
    }
    else if(RELEASED(KEY_CROUCH)) //se precionar o H
    {
        SetPlayerHealth(playerid, gPlayerHealth[playerid]);//seta a vida ao normal :D
    }
    return 1;
}
Na funзгo acima quando o player apertar o botгo que busina vai setar a vida infinita e quando apertar de novo a vida voltarб ao normal.


Agradecimentos
Eu - Por ter feito o tutorial
Pessoal do SA-MP Wiki - Pelos exemplos e por ajudar muito os scripters

Se precisar estudar mais acesse:
https://sampwiki.blast.hk/wiki/OnPlayerKeyStateChange
https://sampwiki.blast.hk/wiki/GetPlayerKeys

Obrigado
Reply


Messages In This Thread
Tutorial sobre OnPlayerKeyStateChange - by deregudegu - 23.05.2011, 21:24
Re: Tutorial sobre OnPlayerKeyStateChange - by lucas24101 - 24.05.2011, 02:29
Re: Tutorial sobre OnPlayerKeyStateChange - by Josma_cmd - 24.05.2011, 03:36
Re: Tutorial sobre OnPlayerKeyStateChange - by Chefгo - 24.05.2011, 05:38
Re: Tutorial sobre OnPlayerKeyStateChange - by DartakousLien - 24.05.2011, 08:10
Re: Tutorial sobre OnPlayerKeyStateChange - by yiakin - 24.05.2011, 23:34
Re: Tutorial sobre OnPlayerKeyStateChange - by TheGarfield - 24.05.2011, 23:38
Re: Tutorial sobre OnPlayerKeyStateChange - by deregudegu - 25.05.2011, 01:56

Forum Jump:


Users browsing this thread: 1 Guest(s)