24.04.2013, 20:19
Galera como muitos devem saber, existe a funзгozinha
pra detectar quando uma tecla й precionada, mas tipo ela nгo detecta se a tecla foi mantida precionada, que no caso ela deveria manter a funзгo setada sempre que foce segurada apertada
mas ela sу executa a funзгo quando eu aperto, solto e aperto novamente, no caso й a mesma coisa que eu fize-se a mesma funзгo normal apenas com newkeys == KEY_SPRINT, alguem sabe como fazer pra que quando segure ela apertada ela execute a funзгo sem eu ter q ficar apertando?
pawn Код:
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(!IsPlayerInAnyVehicle(playerid))
{
if(PRESSED(KEY_SPRINT))
{
if(Folego[playerid] >= 1)
{
Folego[playerid]--;
}
else if(Folego[playerid] <= 0)
{
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, -1, "Vocк estб sem folego!!");
SetTimerEx("FolegoRecuperado", 5000, false, "i", playerid);
}
}
else if(!PRESSED(KEY_SPRINT))
{
SetTimerEx("RecuperarFolego", 3000, true, "i", playerid);
}
}
return 1;
}