Jail timer -
xir - 16.01.2011
I got this code, it jails me and put me in the jail for example 5 seconds, it works..
but
when I waited 5 seconds, it doesnt unjail me, I keep stay in jail
here is the code
pawn Код:
dcmd_ajail(playerid,params[])
{
if(!PLVL[playerid]) return 0;
if(PlayerInfo[playerid][pAdminLevel] >=1) {
new pid, money;
if(sscanf(params, "ud", pid, money)) return SendClientMessage(playerid, Yellow, "Usage: /ajail <playerid> <seconds>");
new paramname[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128], string2[128], string3[128], string4[128];
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, Red, "This player is not connected");
if(pid != INVALID_PLAYER_ID)
if(PlayerInfo[playerid][pJailTime] >=5) return SendClientMessage(playerid,Red,"Minimum jail time is 5 seconds");
if(PlayerInfo[playerid][pJail] == 1) return SendClientMessage(playerid,Red,"This player is already in jail !");
PlayerInfo[playerid][pJailTime] = 1;
PlayerInfo[playerid][pJail] = 1;
GetPlayerName(pid, paramname, sizeof(paramname));
GetPlayerName(playerid, adminname, sizeof(adminname));
format(string, sizeof(string), "%s (ID: %d) has been jailed by %s for %d seconds", paramname, pid, adminname, money);
format(string2, sizeof(string2), "You have been jailed by %s for %d seconds", adminname, money);
SendClientMessageToAll(AdminColor, string);
SendClientMessage(pid, AdminColor, string2);
ResetPlayerWeapons(pid);
SetPlayerInterior(pid,6);
SetPlayerPos(playerid,264.6288,77.5742,1001.0391);
SetTimerEx("Unjail",PlayerInfo[playerid][pJailTime]*1000,0,"d",pid);
} else if(PlayerInfo[playerid][pAdminLevel] == 0) return 0;
return 1;
}
pawn Код:
forward Unjail(playerid);
public Unjail(playerid)
{
if(!IsPlayerConnected(playerid)) return 1;
if(PlayerInfo[playerid][pJail] == 1) return 1;
PlayerInfo[playerid][pJail] = 0;
SetPlayerPos(playerid, 1383.1418,2185.1440,11.0234);
SetPlayerInterior(playerid, 0);
PlayerInfo[playerid][pJailTime] = 0;
return 1;
}
please help me
Re: Jail timer -
dice7 - 16.01.2011
pawn Код:
forward Unjail(playerid);
public Unjail(playerid)
{
if(!IsPlayerConnected(playerid)) return 1;
if(PlayerInfo[playerid][pJail] == 1)
{
PlayerInfo[playerid][pJail] = 0;
SetPlayerPos(playerid, 1383.1418,2185.1440,11.0234);
SetPlayerInterior(playerid, 0);
PlayerInfo[playerid][pJailTime] = 0;
}
return 1;
}
Re: Jail timer -
xir - 16.01.2011
thanks dice, but it unjails me after 1 second
Re: Jail timer - [L3th4l] - 16.01.2011
Cause you are setting this:
pawn Код:
PlayerInfo[playerid][pJailTime] = 1;
to 1; So 1 * 1000 = 1 second
Change it to
pawn Код:
PlayerInfo[playerid][pJailTime] = money;
Not sure why you defined money as your 'Seconds' variable
Re: Jail timer -
dice7 - 16.01.2011
Because you put pJailTime = 1.
Stop copy pasting everything and do something yourself
Re: Jail timer -
xir - 16.01.2011
Thanks Lethal !!
could you also help me with this, example i get jailed for 50 seec
and every 10 sec, it will say "40 sec left" "30 sec left" etc?
Re: Jail timer -
WillyP - 16.01.2011
Not hard, but stop copy&pasting other people's work.
Re: Jail timer -
xir - 16.01.2011
i edited a bit, ofc when i copy i also learn a bit, i just dont copy and paste and let it be as it is ..