Tutorial sobre OnPlayerKeyStateChange -
deregudegu - 23.05.2011
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
Re: Tutorial sobre OnPlayerKeyStateChange -
lucas24101 - 24.05.2011
Aeee!! valeu mano
Re: Tutorial sobre OnPlayerKeyStateChange -
Josma_cmd - 24.05.2011
Tб mais pra uma explicaзгo, mas parabйns pelo tutorial.
Poderia editar colocando a lista de keys, e explocando pra que serve o newkeys & oldkeys mas enfim... Bom tutorial.
Re: Tutorial sobre OnPlayerKeyStateChange -
Chefгo - 24.05.2011
nгo gostei.
isso aki ta parecendo codigo util!
poe a lista de todas as key e esplica oq й newkeys e oldkeys
Re: Tutorial sobre OnPlayerKeyStateChange -
DartakousLien - 24.05.2011
Quote:
Originally Posted by Josma_cmd
Tб mais pra uma explicaзгo, mas parabйns pelo tutorial.
Poderia editar colocando a lista de keys, e explocando pra que serve o newkeys & oldkeys mas enfim... Bom tutorial.
|
Quote:
Originally Posted by Chefгo
nгo gostei.
isso aki ta parecendo codigo util!
poe a lista de todas as key e esplica oq й newkeys e oldkeys
|
pode fazer melhor, estб bem, mas explique mais.
Re: Tutorial sobre OnPlayerKeyStateChange -
yiakin - 24.05.2011
Boa explicaзгo, ainda mais pra quem comeзou a "codar" agora, bela iniciativa...
Re: Tutorial sobre OnPlayerKeyStateChange -
TheGarfield - 24.05.2011
bom tutorial!.
Re: Tutorial sobre OnPlayerKeyStateChange -
deregudegu - 25.05.2011
Em breve mais tutoriais!
Quero fazer parte do SAMP Wiki *-*