Portal SAMP
[Ajuda] salvar um banimento na stock - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] salvar um banimento na stock (/showthread.php?tid=3200)



salvar um banimento na stock - LOS_SANTOS - 17/01/2023

como eu posso salvar um banimento de um play igual a esses modelo 
tipo ficari como aq nas ???  Big Grin

DOF2::SetString(Account(playerid), "BAN", ???(playerid));

ja tentei de varias formas mas como sou noob ainda nao sei como coloca a parte do ban sabendo eu dessa paerte o resto eu me viro kkkkk por favor helpme

stock SaveAccount(playerid)
{
    if(DOF2::FileExists(Account(playerid)) && Player[playerid][Logado])
    {

        DOF2::SetString(Account(playerid), "IP", GetPlayerIpf(playerid));
        DOF2::SetInt(Account(playerid), "Dinheiro", GetPlayerMoney(playerid));
        DOF2::SetInt(Account(playerid), "Level", GetPlayerScore(playerid));
        DOF2::SetInt(Account(playerid), "Interior", GetPlayerInterior(playerid));
        DOF2::SetInt(Account(playerid), "VirtualWorld", GetPlayerVirtualWorld(playerid));
        DOF2::SetInt(Account(playerid), "Estrelas", GetPlayerWantedLevel(playerid));
        DOF2::SetInt(Account(playerid), "Admin", Player[playerid][Admin]);
        DOF2::SetInt(Account(playerid), "Weapon", GetPlayerWeapon(playerid));
        DOF2::SaveFile();
        ResetAccount(playerid);
    }
    return 1;
}


RE: salvar um banimento na stock - White_Blue - 17/01/2023

Teste assim.

Código PHP:
public OnPlayerConnect(playerid) {
    if(
CheckBan(playerid) == 1) {
        
ShowPlayerDialog(playerid9999DIALOG_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"500false"d"playerid);
    }
    return 
1;
}


stock BanirEx(playeridReason[]) {
    
format(Filesizeof(File), PASTA_BANSGetPlayerNameEx(playerid));
    if(!
DOF2_FileExists(File)) DOF2_CreateFile(File);
    else return 
SendClientMessage(playeridvermelho"Esta conta já está banida.");

    
DOF2_SetString(File"Motivo"Reason);
    
format(STRXsizeof(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(playerid88888DIALOG_STYLE_MSGBOX"Banido!"STRX"Ok""");
    
SetTimerEx("KickPlayerInTime"500false"d"playerid);
    return 
1;
}

stock CheckBan(playerid) {
    
format(Filesizeof(File), PASTA_BANSGetPlayerNameEx(playerid));
    if(
DOF2_FileExists(File)) return 1;
    return 
0;
}

stock GetPlayerNameEx(playerid) {
    static 
Name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNameMAX_PLAYER_NAME);
    return 
Name;
}

forward KickPlayerInTime(playerid);
public 
KickPlayerInTime(playerid) return Kick(playerid);

CMD:banir(playeridparams[]) {
    new 
plidmotivo[28];
    if(
sscanf(params"us"plidmotivo)) return SendClientMessage(playeridvermelho"Use: /banir [id] [motivo]");
        if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playeridvermelho"Você não é admin."); // Troque por sua variável de admin
        
if(!IsPlayerConnected(plid)) return SendClientMessage(playeridvermelho"Jogador(a) não conectado(a).");
        if(
strlen(motivo) < 1) return SendClientMessage(playeridvermelho"O motivo não deve estar vazio.");
        if(
strlen(motivo) > 28) return SendClientMessage(playeridvermelho"O motivo não deve ter mais de 28 caracteres.");

    
BanirEx(plidmotivo);
    return 
1;