GetPlayerKeys released state - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: GetPlayerKeys released state (
/showthread.php?tid=388467)
GetPlayerKeys released state -
juraska - 28.10.2012
is there any possible way to check if left, right key been released ?
im using GetPlayerKeys in onplayerupdate callback,
not OnPlayerKeyStateChange
Re: GetPlayerKeys released state -
SuperViper - 29.10.2012
pawn Код:
new lastKeyStatus[MAX_PLAYERS][2];
public OnPlayerConnect(playerid)
{
lastKeyStatus[playerid][0] = 0;
lastKeyStatus[playerid][1] = 0;
return 1;
}
public OnPlayerUpdate(playerid)
{
new keys, upDown, leftRight;
GetPlayerKeys(playerid, keys, upDown, leftRight);
if(upDown < 0)
{
// up
}
else if(upDown > 0)
{
// down
}
if(leftRight < 0)
{
// left
}
else if(leftRight > 0)
{
// right
}
if(leftRight == 0 && leftRight != lastKeyStatus[playerid][0])
{
if(leftRight < 0)
{
// left released
}
else if(leftRight > 0)
{
// right released
}
}
if(upDown == 0 && upDown != lastKeyStatus[playerid][1])
{
if(upDown < 0)
{
// up released
}
else if(upDown > 0)
{
// down released
}
}
lastKeyStatus[playerid][0] = upDown;
lastKeyStatus[playerid][1] = leftRight;
return 1;
}
Untested.