02.10.2013, 14:19
why the jail time doesn't work, it doesn't release the player when the time end.
pawn Код:
#include <a_samp>
#include <sscanf2>
#include <zcmd>
new Jail[MAX_PLAYERS];
CMD:jail(playerid,params[])
{
new Random = random(sizeof(RandomJail));
new targetid,reason[50],string[200],minutes;
if(!IsPlayerAdmin(playerid))return 0;
if(sscanf(params, "uds[50]", targetid, minutes, reason))return SendClientMessage(playerid, COLOR_WHITE, "Usage: /jail [playerid/name] [time in minutes] [reason]");
if(!IsPlayerConnected(targetid))return SendClientMessage(playerid, COLOR_WHITE, "Error: This player is not connected!");
else
{
new calc = minutes*60;
Jail[targetid] = calc;
if(Jail[targetid] >= 1)
{
GameTextForPlayer(targetid,"~r~JAILED!",7000,4);
SetPlayerInterior(targetid,3);
SetPlayerPos(targetid, RandomJail[Random][0], RandomJail[Random][1], RandomJail[Random][2]);
SetPlayerFacingAngle(targetid, RandomJail[Random][3]);
SetCameraBehindPlayer(targetid);
SetPlayerVirtualWorld(targetid,1);
format(string, sizeof(string), "%s(%d) has been Jailed by an Administrator, Reason: %s!", GetName(targetid), targetid, reason);
SendClientMessageToAll(COLOR_WHITE,string);
}
else
{
SetPlayerInterior(targetid,0);
SetPlayerPos(targetid,2290.2805,2427.3779,10.8203);
SetPlayerFacingAngle(targetid,183.7676);
SetCameraBehindPlayer(targetid);
SetPlayerVirtualWorld(playerid,0);
GameTextForPlayer(targetid,"~g~RELEASED!",7000,4);
}
}
return 1;
}
forward SecondTimer();
public SecondTimer()
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
if(Jail[i] >= 1)
{
Jail[i] --;
}
}
}
return 1;
}