forward JailPlayer(player1);
public JailPlayer(player1)
{
ResetPlayerWeapons(player1);
SetPlayerInterior(player1, 3);
TogglePlayerControllable(player1,true);
SetPlayerPos(player1,197.6661,173.8179,1003.0234);
SetCameraBehindPlayer(player1);
JailTimer[player1] = SetTimerEx("JailRelease",PlayerInfo[player1][JailTime],0,"d",player1);
PlayerInfo[player1][Jailed] = 1;
}
new plTimer[MAX_PLAYERS], plSeconds[MAX_PLAYERS];
public OnPlayerDisconnect(playerid, reason){
KillTimer(plTimer[playerid]);
return 1;
}
public OnPlayerConnect(playerid){
plTimer[playerid] = SetTimerEx("secondTimer", 1000, true, "i", playerid);
plSeconds[playerid] = 0;
return 1;
}
forward secondTimer(playerid);
public secondTimer(playerid){
new str[30];
plSeconds[playerid] ++;
format(str, sizeof(str), "%d seconds", plSeconds[playerid]);
GameTextForPlayer(playerid, str, 3000, 5);
return 1;
}
GameTextForPlayer(playerid, str, 1000, 5);
|
forward Jail1(player1); public Jail1(player1) { TogglePlayerControllable(player1,false); new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerCameraPos(player1,x+10,y,z+10);SetPlayerC ameraLookAt(player1,x,y,z); Jail2(player1); } forward Jail2(player1); public Jail2(player1) { new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerCameraPos(player1,x+7,y,z+5); SetPlayerCameraLookAt(player1,x,y,z); if(GetPlayerState(player1) == PLAYER_STATE_ONFOOT) SetPlayerSpecialAction(player1,SPECIAL_ACTION_HAND SUP); GameTextForPlayer(player1,"~r~Busted By Admins",3000,3); Jail3(player1); } forward Jail3(player1); public Jail3(player1) { new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerCameraPos(player1,x+3,y,z); SetPlayerCameraLookAt(player1,x,y,z); } forward JailPlayer(player1); public JailPlayer(player1) { ResetPlayerWeapons(player1); SetPlayerInterior(player1, 3); TogglePlayerControllable(player1,true); SetPlayerPos(player1,197.6661,173.8179,1003.0234); SetCameraBehindPlayer(player1); JailTimer[player1] = SetTimerEx("JailRelease",PlayerInfo[player1][JailTime],0,"d",player1); PlayerInfo[player1][Jailed] = 1; } forward MutePlayer(player1); public MutePlayer(player1) { MuteTimer[player1] = SetTimerEx("Muteoff",PlayerInfo[player1][MuteTime],0,"d",player1); PlayerInfo[player1][Muted] = 1; } forward Muteoff(player1); public Muteoff(player1) { KillTimer( MuteTimer[player1] ); PlayerInfo[player1][MuteTime] = 0; PlayerInfo[player1][Muted] = 0; PlayerPlaySound(player1,1057,0.0,0.0,0.0); GameTextForPlayer(player1,"~r~unmuted",3000,3); } forward JailRelease(player1); public JailRelease(player1) { KillTimer( JailTimer[player1] ); PlayerInfo[player1][JailTime] = 0; PlayerInfo[player1][Jailed] = 0; SetPlayerInterior(player1,0); SetPlayerPos(player1, 0.0, 0.0, 0.0); SpawnPlayer(player1); PlayerPlaySound(player1,1057,0.0,0.0,0.0); GameTextForPlayer(player1,"~g~Released ~n~From Jail",3000,3); } |

|
CMD:jail(playerid,params[]) { if(PlayerInfo[playerid][LoggedIn] == 1) { if(PlayerInfo[playerid][Level] >= 1) { new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index); if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /jail [playerid] [minutes] [reason]"); new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128]; player1 = strval(tmp); if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) { if(PlayerInfo[player1][Jailed] == 0) { GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname)); new jtime = strval(tmp2); if(jtime == 0) jtime = 9999; CMDMessageToAdmins(playerid,"JAIL"); PlayerInfo[player1][JailTime] = jtime*1000*60; SetTimerEx("JailPlayer",5000,0,"d",player1); SetTimerEx("Jail1",1000,0,"d",player1); PlayerInfo[player1][Jailed] = 1; PlayerPlaySound(player1,1057,0.0,0.0,0.0); if(jtime == 9999) { if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"Administrator %s has jailed %s ",adminname, playername); else format(string,sizeof(string),"Administrator %s has jailed %s [reason: %s]",adminname, playername, params[strlen(tmp)+1] ); } else { if(!strlen(tmp3)) format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes",adminname, playername, jtime); else format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes [reason: %s]",adminname, playername, jtime, params[strlen(tmp2)+strlen(tmp)+1] ); } return SendClientMessageToAll(blue,string); } else return SendClientMessage(playerid, red, "Player is already in jail"); } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin"); } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command"); } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands"); } |