17.03.2010, 13:07
Is there any way to make player can't run?
#include <a_samp>
#define FILTERSCRIPT
forward SetPlayerControllable(playerid);
// HOLDING(keys)
#define HOLDING(%0) \
((newkeys & (%0)) == (%0))
// PRESSED(keys)
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public OnFilterScriptInit() return 1;
public OnFilterScriptExit() return 1;
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
if(HOLDING(KEY_UP | KEY_DOWN | KEY_LEFT | KEY_RIGHT) & (PRESSED(KEY_SPRINT)))
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, 0xFFFFFFAA, "You are not able to run on this server!");
SetTimerEx("SetPlayerControllable(playerid)", 2000, 0, "i", playerid);
}
}
return 1;
}
public SetPlayerControllable(playerid)
{
TogglePlayerControllable(playerid, 1);
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new tezina = Fishes[playerid][pWeight1] + Fishes[playerid][pWeight2] + Fishes[playerid][pWeight3] + Fishes[playerid][pWeight4] + Fishes[playerid][pWeight5]; if(tezina > 5) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { if(HOLDING(KEY_SPRINT)) { TogglePlayerControllable(playerid, 0); SendClientMessage(playerid, 0xFFFFFFAA, "You can't run with fishes on your neck !"); SetTimerEx("SetPlayerControllable", 500, 0, "i", playerid); } } } return 1; }