A good /jail command. - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (
https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: A good /jail command. (
/showthread.php?tid=234347)
A good /jail command. -
Shetch - 03.03.2011
Hey guys.
Yea yea.. i'm annoying I know.
So i tried to make a /jail command. Ex: /jail [ID] [seconds] [reason]
Basically i failed.
Could someone suggest me a good /jail script or help me with my old one?
My old jail script:
Код:
dcmd_jail(playerid,params[])
{
new Reason[256], pID;
if(Player[playerid][Admin] < 1){
SendClientMessage (playerid,COLOR_BRIGHTRED,"Tev nav autorizācijas lietot љo komandu.");
return 1;
}
if(sscanf(params,"uds",pID,JTime[pID],Reason)){
return SendClientMessage(playerid,COLOR_BRIGHTRED,"Pielietojums: /jail [ID] [Laiks] [Iemesls]");
}
if(!IsPlayerConnected(pID)) {
return SendClientMessage(playerid,COLOR_BRIGHTRED,"Spēlētājs ar љādu ID nēeksistē.");
}
if(Player[playerid][Admin] < Player[pID][Admin]){
return SendClientMessage(playerid,COLOR_BRIGHTRED,"Tu nevari ielikt augstākas pakāpes adminu cietumā.");
}
if(TeamKill[pID] == 1) {
return SendClientMessage(playerid,COLOR_BRIGHTRED,"Spēlētājs jau atrodas cietumā.");
}
new
name[MAX_PLAYER_NAME],
string[256];
GetPlayerName(pID,name,sizeof(name));
format(string,sizeof(string),"Admins ielika %s cietumā uz %d sekundēm. [Iemesls: %s]",name,JTime,Reason);
SendClientMessageToAll(COLOR_WHITE,string);
TeamKill[pID] = 1;
JailTime(pID);
SetPlayerPos(pID,-11.5327,2328.8679,24.1406);
TextDrawShowForPlayer(pID, JailTextDraw[pID]);
return 1;
}
So the problem with this one ^ is that it sometimes as i jail a player, he automaticaly gets released from it.
Code that lets the player out of the jail:
Код:
forward JailTime(playerid);
public JailTime(playerid)
{
if (JTime[playerid] == 0)
{
TeamKill[playerid] = 0;
JTime[playerid] = 0;
SpawnPlayer(playerid);
KillTimer(JTTimer[playerid]);
TextDrawHideForPlayer(playerid, JailTextDraw[playerid]);
return 1;
}
JTTimer[playerid] = SetTimer("JailTime", 1000, 0);
new string[50];
TextDrawShowForPlayer(playerid, JailTextDraw[playerid]);
format(string, sizeof string, "~r~%i", JTime[playerid]-1);
TextDrawSetString(JailTextDraw[playerid], string);
JTime[playerid]--;
return 1;
}
Cookie to anyone who helps me.
Re: A good /jail command. -
Shetch - 03.03.2011
up...
Re: A good /jail command. -
Markx - 03.03.2011
i cant help ya
Re: A good /jail command. -
Mean - 03.03.2011
Why not.
pawn Код:
SetTimerEx( "Jail", time_you_entered * 1000, 0, "i", playerid );
Later just
pawn Код:
forward Jail( playerid );
public Jail( playerid )
{
// Code to realase from jail
return 1;
}
So, why to make a timer that's updating all the time?