17/01/2023 21:15
(Esta mensagem foi modificada pela última vez a: 18/01/2023 01:18 por White_Blue.)
Teste assim.
Código PHP:
public OnPlayerConnect(playerid) {
if(CheckBan(playerid) == 1) {
ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Banido!", "{FFFFFF}Esta conta está banida do servidor.\n\n{FFFFFF}Se achar que o banimento foi injusto, solicite uma análise de banimento em nosso Discord!", "Ok", "");
SetTimerEx("KickPlayerInTime", 500, false, "d", playerid);
}
return 1;
}
stock BanirEx(playerid, Reason[]) {
format(File, sizeof(File), PASTA_BANS, GetPlayerNameEx(playerid));
if(!DOF2_FileExists(File)) DOF2_CreateFile(File);
else return SendClientMessage(playerid, vermelho, "Esta conta já está banida.");
DOF2_SetString(File, "Motivo", Reason);
format(STRX, sizeof(STRX), "{FFFFFF}Esta conta foi banida do servidor. Motivo: %s.\n\n{FFFFFF}Se achar que o banimento foi injusto solicite uma análise de banimento em nosso Discord!", Reason);
ShowPlayerDialog(playerid, 88888, DIALOG_STYLE_MSGBOX, "Banido!", STRX, "Ok", "");
SetTimerEx("KickPlayerInTime", 500, false, "d", playerid);
return 1;
}
stock CheckBan(playerid) {
format(File, sizeof(File), PASTA_BANS, GetPlayerNameEx(playerid));
if(DOF2_FileExists(File)) return 1;
return 0;
}
stock GetPlayerNameEx(playerid) {
static Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
return Name;
}
forward KickPlayerInTime(playerid);
public KickPlayerInTime(playerid) return Kick(playerid);
CMD:banir(playerid, params[]) {
new plid, motivo[28];
if(sscanf(params, "us", plid, motivo)) return SendClientMessage(playerid, vermelho, "Use: /banir [id] [motivo]");
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, vermelho, "Você não é admin."); // Troque por sua variável de admin
if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, vermelho, "Jogador(a) não conectado(a).");
if(strlen(motivo) < 1) return SendClientMessage(playerid, vermelho, "O motivo não deve estar vazio.");
if(strlen(motivo) > 28) return SendClientMessage(playerid, vermelho, "O motivo não deve ter mais de 28 caracteres.");
BanirEx(plid, motivo);
return 1;
}
Não estou disponível para realizar serviços relacionados ao SA-MP e não costumo responder a mensagens privadas, a menos que estejam relacionadas à moderação do fórum.