02.05.2010, 12:11
Hello there,
I made myself a nice little /tackle command but..
I want it that players can only tackle if they are MOVING.
If they're standing still they CAN'T tackle..
I think I need to do it with OnPlayerKeyStateChange or something, but I'm not sure.
Can anyone help me out, please?
/tackle:
I made myself a nice little /tackle command but..
I want it that players can only tackle if they are MOVING.
If they're standing still they CAN'T tackle..
I think I need to do it with OnPlayerKeyStateChange or something, but I'm not sure.
Can anyone help me out, please?
/tackle:
Код:
forward Tackle(playerid); forward waitfortackle(playerid); //--------------------TACKLE-------------------------// dcmd_tackle(playerid, params[]) { new id; if (sscanf(params, "u", id)) SendClientMessage(playerid, 0xFF0000AA, "Usage: /tackle [Playerid/Part of Playername]"); else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, "Player not found"); else if(Vantispam[playerid] == 0) { if(GetDistanceBetweenPlayers(playerid, id) < 3) { if (!IsPlayerInAnyVehicle(id)) { if(ResultChance(40))//40 procent kans dat het fout gaat { new string[48]; new strings[48]; new tacklename[MAX_PLAYERS]; new tackledname[MAX_PLAYERS]; GetPlayerName(playerid, tacklename, sizeof(tacklename)); format(string, sizeof(string), "You have been tackled by %s!",tacklename); TogglePlayerControllable(id, false); SendClientMessage(id,0xAA3333AA,string); GetPlayerName(id, tackledname, sizeof(tackledname)); format(strings, sizeof(strings), "You have tackled %s!",tackledname); SendClientMessage(playerid,0xAA3333AA,strings); SetTimerEx("Tackle", 3000, false, "u", id); ApplyAnimation(id,"CRACK","crckdeth2",4.0,0,0,0,1,1); Vantispam[playerid] = 1; SetTimerEx("waitfortackle", 60000, false, "i", playerid); }else{ SendClientMessage(id,0xAA3333AA,"It failed!"); } }else{ SendClientMessage(id,0xAA3333AA,"You need to wait before tackle again!"); } } } if(GetDistanceBetweenPlayers(playerid, id) > 3) { SendClientMessage(playerid,0xAA3333AA,"Player is to far away!"); } if(IsPlayerInAnyVehicle(id)) { SendClientMessage(playerid,0xAA3333AA,"You can't tackle somebody when he's in a car!"); } return 1; } public Tackle(playerid) { TogglePlayerControllable(playerid, true); ClearAnimations(playerid); return 1; } public waitfortackle(playerid) { Vantispam[playerid] = 0; return 1; }