23.07.2015, 17:48
I have made a jail command with timer and when the time is over so it uses the unjail function for all the players
Command:
Unjail function:
Command:
Код:
CMD:jail(playerid, params[]) { new str[128], id, reason[128],rand = random(sizeof(JailRandomSpawn)),time; if(PlayerInfo[playerid][pAdmin] >= 3) { if(sscanf(params, "usd[128]", id, reason, time)) return GameTextForPlayer(playerid,"~g~/jail~w~~n~(id)~w~~n~(reason)~w~~n~(time)",4500,3); if(id == INVALID_PLAYER_ID) return ErrorMessages(playerid, 2); if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin]) return ErrorMessages(playerid, 3); if(PlayerInfo[id][Jail] == 1) return SendClientMessage(playerid, COLOR_RED, "That player is already in jail!"); PlayerInfo[id][Jail] = 1; ResetPlayerWeapons(id); SetPlayerPos(id, JailRandomSpawn[rand][0], JailRandomSpawn[rand][1], JailRandomSpawn[rand][2]); SetPlayerFacingAngle(id, JailRandomSpawn[rand][3]); SetPlayerInterior(id, 3); format(str, sizeof(str), "Admin %s(%d) has jailed %s(%d) for %d minuites (Reason:%s)", GetName(playerid), playerid, GetName(id), id,time,reason); SendClientMessageToAll(BAN, str); JailLog(playerid, id, reason); SetTimer("Unjail",time*60000,false); fr[id] = 0; PlayerInfo[id][JailC]++; format(str, sizeof(str), "You jailed %s(%d) for %d minuites (Reason:%s)", GetName(id), id,time,reason); SendClientMessage(playerid, BAN, str); format(str, sizeof(str), ""COL_GREEN"\nYou have been jailed for %d minuites\n(Reason:%s)",time, reason); ShowPlayerDialog(id, 122, DIALOG_STYLE_MSGBOX, ""COL_GREEN"Jailed", str, "OK", ""); } else return ErrorMessages(playerid, 1); return 1; }
Код:
public Unjail(playerid) { PlayerPlaySound(playerid,1057,0.0,0.0,0.0); PlayerInfo[playerid][Jail] = 0; SetPlayerInterior(playerid, 0); inJail[playerid] = false; fr[playerid] = 1; SpawnPlayer(playerid); }