23.10.2018, 02:51
PHP код:
// Adicione no enum PlayerInfo uma bool: pPreso ex: bool:pPreso = false,
public CheckCadeia()
{
for(new i; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i) || pLogado[i] == false) return 0;
if(GetPlayerPing(i) > MAX_PING)
{
AvisosPing[i]++;
format(Str, sizeof(Str), "ATENЗГO: Seu Ping estб maior que o limite. Por favor, ajuste sua conexгo. (AVISO %i/3)", AvisosPing[i]);
SendClientMessage(i, CorErro, Str);
if(AvisosPing[i] >= 3)
{
format(Str, sizeof(Str), "[AurA]O Player %s foi kickado pelo administrador automбtico. Motivo: Ping maior que o limite (LIMITE: %i)", pNomeOriginal[i], MAX_PING);
SendClientMessageToAll(VermelhoEscuro, Str);
Kick(i);
return 0;
}
}
PlayerInfo[i][pSegundosJogados] += 2;
if(PlayerInfo[i][pPreso]){
SetPlayerHealth(i, 99999);
if(PlayerInfo[i][pCadeia] > 0) PlayerInfo[i][pCadeia] -= 2;
if(PlayerInfo[i][pCadeia] <= 0){
PlayerInfo[i][pPreso] = false;
PlayerInfo[i][pCadeia] = 0;
SpawnPlayer(i);
SetPlayerInterior(i, 0);
SetPlayerVirtualWorld(i, 0);
SetPlayerPos(i, 1552.6621,-1675.0452,16.1953);
SetPlayerHealth(i, 100);
SendClientMessage(i, AzulClaro, "Vocк estб livre. Procure nгo infringir as regras para evitar voltar para a cadeia.");
}
}
}
return 1;
}
public OnPlayerSpawn(playerid){
if(PlayerInfo[playerid][pPreso]){
SpawnPlayer(playerid);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, 197.6661, 173.8179, 1003.0234);
SetPlayerInterior(playerid, 3);
SendClientMessage(playerid, VermelhoEscuro, "Vocк ainda nгo terminou seu tempo na cadeia.");
}
return 1;
}
CMD:cadeia(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, CorErro, "Vocк precisa ser uma Administrador level 1 para usar este comando");
if(pJogando[playerid] == true) return SendClientMessage(playerid, CorErro, "Vocк nгo estб trabalhando!");
if(sscanf(params, "iis[56]", ID, Numero, Motivo)) return SendClientMessage(playerid, CorErroNeutro, "USE: /cadeia [ID] [TEMPO EM MINUTOS] [MOTIVO]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, CorErroNeutro, "O jogador nгo estб conectado");
if(Numero != 0){
PlayerInfo[ID][pCadeia] = Numero * 60;
SetPlayerHealth(ID, 99999);
SetPlayerPos(ID, 197.6661, 173.8179, 1003.0234);
SetPlayerInterior(ID, 3);
ResetPlayerWeapons(ID);
SendClientMessage(ID, VermelhoEscuro, "Vocк foi preso por um Administrador, irб cumrir pena na cadeia.");
format(Str, 256, "AdmCmd: O administrador %s prendeu %s por %i minutos. Motivo: %s", pNomeOriginal[playerid], pNomeOriginal[ID], Numero, Motivo);
}
else if(Numero == 0){
PlayerInfo[ID][pCadeia] = 0;
PlayerInfo[ID][pPreso] = false;
SpawnPlayer(ID);
SendClientMessage(ID, VermelhoEscuro, "Vocк foi solta por um administrador.");
format(Str, 256, "AdmCmd: O administrador %s soltou %s. Motivo: %s", pNomeOriginal[playerid], pNomeOriginal[ID], Motivo);
}
SendClientMessageToAll(VermelhoEscuro, Str);
Log("pAdmin/Logs/Cadeia.ini", Str);
return 1;
}