19.07.2012, 13:50
Try these;
pawn Код:
new IsPlayerJailed[MAX_PLAYERS]; // This is for top of script
YCMD:jail(playerid, params[])
{
if(gPlayerLoggedIn[playerid] == 0) return 1;
if(PlayerInfo[playerid][Admin] >= 1) {
new player, reason[126];
if(sscanf(params, "us[126]", player, reason)) return SendClientMessage(playerid, COLOR_GREY, "[USAGE]: /jail [Part of Name/Player ID] [Reason]");
if(!IsPlayerConnected(player)) return SendClientMessage(playerid, COLOR_GREY, "Player is not connected.");
if(IsPlayerJailed[player] == 1) return SendClientMessage(playerid, COLOR_GREY, "Player is jailed already.");
new string[126];
if(PlayerInfo[playerid][Admin] < PlayerInfo[player][Admin]) {
format(string, sizeof(string), "AdmWarning: %s has been kicked because they attempted to jail a higher admin!", PlayerName(playerid));
SendClientMessageToAll(COLOR_LIGHTRED, string);
}
format(string, sizeof(string), "AdmWarning: %s has been jailed by %s, reason: %s", PlayerName(player), PlayerName(playerid), reason);
SendClientMessageToAll(COLOR_LIGHTRED, string);
IsPlayerJailed[player] = 1;
SetPlayerPos(playerid,-221.059051,1408.984008,27.773437); //jail position
SetPlayerInterior(playerid,18); //interior id
TogglePlayerControllable(playerid,0); // Frozen
}
return 1;
}
YCMD:unjail(playerid, params[])
{
if(gPlayerLoggedIn[playerid] == 0) return 1;
if(PlayerInfo[playerid][Admin] >= 1) {
new player;
if(sscanf(params, "u", player)) return SendClientMessage(playerid, COLOR_GREY, "[USAGE]: /unjail [Part of Name/Player ID]");
if(!IsPlayerConnected(player)) return SendClientMessage(playerid, COLOR_GREY, "Player is not connected.");
if(IsPlayerJailed[player] == 0) return SendClientMessage(playerid, COLOR_GREY, "Player is not jailed.");
new string[126];
format(string, sizeof(string), "AdmWarning: %s has been unjailed by %s", PlayerName(player), PlayerName(playerid));
SendClientMessageToAll(COLOR_LIGHTRED, string);
IsPlayerJailed[player] = 0;
SpawnPlayer(player);
}
return 1;
}

