Detect if player is HOLDING a key.
#1

How can I detect it?
not pressing holding without leaving.
Reply
#2

pawn Код:
new bool:HoldingKey[MAX_PLAYERS];
   
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys & KEY && !HoldingKey[playerid])
    {
        KeyCheck(playerid);
        HoldingKey[playerid] = true;
    }

    return 1;
}

forward KeyCheck(playerid);
public KeyCheck(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        new
            keys, ud, lr;
           
        GetPlayerKeys(playerid, keys, ud, lr);
       
        if(keys & KEY)
        {
            SetTimerEx("KeyCheck", 100, 0, "i", playerid);
           
            return 0;
        }
    }
   
    HoldingKey[playerid] = false;
    return 0;
}
Credit Tannz0rz for this piece of code.
Reply
#3

When I use it, even if I press AIM key or ENTER key it works..
and I did
if(keys & KEY_FIRE)
Reply
#4

https://sampwiki.blast.hk/wiki/OnPlayerK..._holding_a_key
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)