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][pCadeia] > 0)
{
PlayerInfo[i][pCadeia]-= 2;
SetPlayerHealth(i, 99999);
if(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.");
}
else
{
if(!IsPlayerInRangeOfPoint(i, 50.0, 322.197998, 302.497985, 999.148437))
{
SetPlayerVirtualWorld(i, i);
SetPlayerPos(i, 197.6661, 173.8179, 1003.0234);
SetPlayerInterior(i, 3);
SendClientMessage(i, 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.");
}
else
{
PlayerInfo[ID][pCadeia] = 1;
}
//
format(Str, 256, "AdmCmd: O administrador %s prendeu %s por %i minutos. Motivo: %s", pNomeOriginal[playerid], pNomeOriginal[ID], Numero, Motivo);
SendClientMessageToAll(VermelhoEscuro, Str);
//
Log("pAdmin/Logs/Cadeia.ini", Str);
return 1;
}
SetTimer("CheckCadeia", 2000, true);
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;
SpawnPlayer(ID);
SendClientMessage(ID, VermelhoEscuro, "Vocк foi solto 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;
}
CMD:libertar(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, CorErro, "comando apenas de [AurA] Zeta"); if(pJogando[playerid] == true) return SendClientMessage(playerid, CorErro, "Vocк nгo estб trabalhando!"); new id, reason[128], string[250]; if(sscanf(params, "uS(None)[128]", id, reason)) return SendClientMessage(playerid, VermelhoEscuro, "USE: /libertar [playerid] [motivo]"); if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, VermelhoEscuro, "* Jogador nao conectado."); // if(PlayerInfo[playerid][pAdmin] < PlayerInfo[id][pAdmin]) return SendClientMessage(playerid, VermelhoEscuro, "* Voce nao pode usar este comando de Admin superior."); if(PlayerInfo[id][pCadeia] == 0) return SendClientMessage(playerid, VermelhoEscuro, "* O Jogador nao esta preso."); if(id == playerid) return SendClientMessage(playerid, VermelhoEscuro, "* nao pode usar o comando em si mesmo."); format(string, sizeof(string), "** %s voce foi solto pelo Admin %s por %s", pNomeOriginal[ID], pNomeOriginal[playerid], Motivo); SendClientMessageToAll(Verde, string); SendClientMessage(id, CorSucesso, "Voce foi solto por um Admin."); SetPlayerInterior(id, 0); SetPlayerHealth(id, 100); SetPlayerVirtualWorld(id, 0); SetPlayerPos(id, 1552.6621,-1675.0452,16.1953); SetPlayerHealth(id, 100); format(string, sizeof(string), "%s foi solto pelo Admin %s por %s", pNomeOriginal[ID], pNomeOriginal[playerid], Motivo); Log("pAdmin/Logs/Cadeia.ini", string); // PlayerInfo[id][accountJail] = 0, PlayerInfo[id][accountJailSec] = 0; // SpawnPlayer(id); return 1; } |
// 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;
}
if(PlayerInfo[i][pCadeia]) { SetPlayerHealth(i, 99999); if(PlayerInfo[i][pCadeia] > 0) PlayerInfo[i][pCadeia] -= 2; if(PlayerInfo[i][pCadeia] <= 0)// add pot felipe samp { PlayerInfo[i][pCadeia] = false; PlayerInfo[i][pCadeia] = 0; |