Portal SAMP
[Ajuda] desbanir não funciona e tela de banir não mostra - 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] desbanir não funciona e tela de banir não mostra (/showthread.php?tid=1918)

Páginas: 1 2


desbanir não funciona e tela de banir não mostra - fear - 10/12/2021

meu sistema de desbanir não esta funcionando ele apaga a conta e o ip banido porém fica no server.ban banido e só da realmente desban quando eu apago o server.ban

BAN
Código PHP:
CMD:ban(playeridparams[])
{
    new
    
Dia,
    
Mes,
    
Ano,
    
Hora,
    
Minuto,
    
Segundo,
    
sStr[22],
    
sStr3[22],
    
sStr2[128],
    
ip[16],
    
adminName[MAX_PLAYER_NAME];

    if(
playerid == INVALID_PLAYER_ID)
    {
        
format(adminName16"SERVIDOR_DETECT");

        
sscanf(params"us[128]"iddelesStr2);
        goto 
go;
    }

    
format(adminNameMAX_PLAYER_NAMENome(playerid));

    if(
ChecarPermissoes(playerid)) return 1;
    if(
AdmServer(playerid2)) return 1;

    if(
sscanf(params"us[128]"iddelesStr2))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Ban <id> <Motivo>");
    if(!
IsPlayerConnected(iddele))
        return 
SendClientMessage(playeridCOLOR_RED"<!> {FFFFFF}Esse jogador não está conectado!");

    
go:

    
getdate(AnoMesDia);
    
gettime(HoraMinutoSegundo);

    
GetPlayerIp(iddeleipsizeof ip);
    
format(String,128"<!> {FF4444}O administrador %s Baniu [%s] [Motivo: %s]"adminNameNome(iddele), sStr2);
    
MsgToAll(COLOR_YELLOW,String);
    
format(sStr314"%d/%d/%d"DiaMesAno);
    
format(sStr22"%d:%d:%d"HoraMinutoSegundo);

    
format(String50"zP/ContasBanidas/%s.ini"Nome(iddele));
    
DOF2_CreateFile(String);
    
DOF2_SetString(String"Admin"adminName);
    
DOF2_SetString(String"Data"sStr3);
    
DOF2_SetString(String"Hora"sStr);
    
DOF2_SetString(String"Motivo",sStr2);
    
DOF2_SaveFile();

    
format(String50"zP/IPsBanidos/%s.ini"ip/*GetPlayerIpClassB(playerid)*/);
    
DOF2_CreateFile(String);
    
DOF2_SetString(String"Admin"adminName);
    
DOF2_SetString(String"Data"sStr3);
    
DOF2_SetString(String"Hora"sStr);
    
DOF2_SetString(String"Motivo",sStr2);
    
DOF2_SaveFile();
    
//DOF2_SetInt(Arquivo(playerid), "Score", GetPlayerScore(playerid));
    
DOF2_SaveFile();
    
format(String,128"<!> {FF4444}O administrador %s Baniu [%s] [Motivo: %s]"adminNameNome(iddele), sStr2);
    
WriteLog(caminhoLog(2), String);
    
Ban(iddele);
    return 
1;


COMANDOS DE DESBANIR
Código PHP:
CMD:desbanir(playeridparams[])
{
    new 
conta[25];
    if(
ChecarPermissoes(playerid)) return 1;
     if(
AdmServer(playerid2)) return 1;
    if(
sscanf(params"s[25]"conta))
    return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Desbanir <Nome>");
    if(!
IsPlayerConnected(ID))
        return 
SendClientMessage(playeridCOLOR_RED"<!> {FFFFFF}Esse jogador não está conectado!");
    
format(String40"zP/ContasBanidas/%s.ini"conta);

    if(
fexist(String))
    {
        
DOF2_RemoveFile(String);
        return 
Msg(playeridAZUL"Conta Desbanida com sucesso!");
    }
    else
    {
        
Msg(playeridcortag"Conta não existe!");
    }
    return 
1;
}
CMD:desbanirip(playeridparams[])
{
    new 
IPBan[16];
    if(
ChecarPermissoes(playerid)) return 1;
    if(
AdmServer(playerid2)) return 1;
    if(
sscanf(params"s[16]"IPBan))
    return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Desbanirip <IP>");
    if(!
IsPlayerConnected(ID))
        return 
SendClientMessage(playeridCOLOR_RED"<!> {FFFFFF}Esse jogador não está conectado!");
    
format(String40"zP/IPsBanidos/%s.ini"IPBan);
    if(
fexist(String))
    {
        
DOF2_RemoveFile(String);
        return 
Msg(playeridcortag"IP desbanido com sucesso!");
    }
    else
    {
        
Msg(playeridVermelho"IP não banido!");
    }
    return 
1;


A TELA DE BANIMENTO AO LOGAR NÃO ESTA MOSTRANDO TB.

Código PHP:
    format(String60"server/ContasBanidas/%s.ini"Nome(playerid));
    if(
fexist(String))
    {
        
format(Admsizeof(Adm), DOF2_GetString(String"Admin"));
        
format(MotivoBansizeof(MotivoBan), DOF2_GetString(String"Motivo"));
        
format(DataBansizeof(DataBan), DOF2_GetString(String"Data"));
        
format(HoraBansizeof(HoraBan), DOF2_GetString(String"Hora"));

        
format(Stringsizeof(String), "Olá %s, Você foi banido\n\n\t"AMARELO2"Admin: "BRANCO2"%s\n\t"AMARELO2"Motivo: "BRANCO2"%s\n\t"AMARELO2"Data: "BRANCO2"%s\n\t"AMARELO2"Hora: "BRANCO2"%s"Nome(playerid), AdmMotivoBanDataBanHoraBan);
        
ShowPlayerDialog(playeridDBanidoDIALOG_STYLE_MSGBOX"{FFFFFF}BANIDO"String"Sair","");
        
SetPlayerFacingAngle(playerid271.9657);
          
Kick(playerid);
        return 
1;
    }
    new 
ip[16];
    
GetPlayerIp(playeridipsizeof ip);
    
format(String60"server/IPsBanidos/%s.ini"ip/*GetPlayerIpClassB(playerid)*/);
    if(
fexist(String))
    {
        
format(Admsizeof(Adm), DOF2_GetString(String"Admin"));
        
format(MotivoBansizeof(MotivoBan), DOF2_GetString(String"Motivo"));
        
format(DataBansizeof(DataBan), DOF2_GetString(String"Data"));
        
format(HoraBansizeof(HoraBan), DOF2_GetString(String"Hora"));
        
format(Stringsizeof(String), "Olá %s, Você foi banido\n\n\t"AMARELO2"Admin: "BRANCO2"%s\n\t"AMARELO2"Motivo: "BRANCO2"%s\n\t"AMARELO2"Data: "BRANCO2"%s\n\t"AMARELO2"Hora: "BRANCO2"%s"Nome(playerid), AdmMotivoBanDataBanHoraBan);
        
ShowPlayerDialog(playeridDBanidoDIALOG_STYLE_MSGBOX"{FFFFFF}BANIDO"String"Sair","");
        
SetPlayerFacingAngle(playerid271.9657);
        
Kick(playerid);
        return 
1;
    } 



RE: desbanir não funciona e tela de banir não mostra - xbruno1000x - 10/12/2021

Se você usar Ban(playerid), o player estará no samp.ban. Use apenas um Kick. Para um banido não entrar no servidor, use uma verificação e kick em caso de estar banido.


RE: desbanir não funciona e tela de banir não mostra - fear - 10/12/2021

(10/12/2021 22:02)xbruno1000x Escreveu: Se você usar Ban(playerid), o player estará no samp.ban. Use apenas um Kick. Para um banido não entrar no servidor, use uma verificação e kick em caso de estar banido.

eu coloquei kick mas ai o player troca o nick e consegue entrar.. com o ban ele fica banido mesmo trocando de nick.. entendeu?


RE: desbanir não funciona e tela de banir não mostra - xbruno1000x - 11/12/2021

(10/12/2021 22:40)fear Escreveu:
(10/12/2021 22:02)xbruno1000x Escreveu: Se você usar Ban(playerid), o player estará no samp.ban. Use apenas um Kick. Para um banido não entrar no servidor, use uma verificação e kick em caso de estar banido.

eu coloquei kick mas ai o player troca o nick e consegue entrar.. com o ban ele fica banido mesmo trocando de nick.. entendeu?

Isso acontece porque você deve salvar o IP dele e banir junto com a conta.


RE: desbanir não funciona e tela de banir não mostra - fear - 11/12/2021

(11/12/2021 01:08)xbruno1000x Escreveu:
(10/12/2021 22:40)fear Escreveu:
(10/12/2021 22:02)xbruno1000x Escreveu: Se você usar Ban(playerid), o player estará no samp.ban. Use apenas um Kick. Para um banido não entrar no servidor, use uma verificação e kick em caso de estar banido.

eu coloquei kick mas ai o player troca o nick e consegue entrar.. com o ban ele fica banido mesmo trocando de nick.. entendeu?

Isso acontece porque você deve salvar o IP dele e banir junto com a conta.

Como faço isso o meu /ban tá acima ali


RE: desbanir não funciona e tela de banir não mostra - Luiz - 11/12/2021

Basicamente, da mesma forma que fez com os demais valores. Você salva o IP do jogador no arquivo e faça a verificação para quando o jogador logar no servidor. Se o IP dele bater com algum IP já banido anteriormente, apresente a tela de login com as informações da conta banida naquele IP.


RE: desbanir não funciona e tela de banir não mostra - fear - 11/12/2021

(11/12/2021 18:32)Luiz Escreveu: Basicamente, da mesma forma que fez com os demais valores. Você salva o IP do jogador no arquivo e faça a verificação para quando o jogador logar no servidor. Se o IP dele bater com algum IP já banido anteriormente, apresente a tela de login com as informações da conta banida naquele IP.

Ele já ta verificando se o ip ta banido pela pasta porém ele troca o nick e volta normalmente.. como faz na pratica isso? ou oque ta errado no codigo...


RE: desbanir não funciona e tela de banir não mostra - Cirilo_Samp - 11/12/2021

(11/12/2021 18:34)fear Escreveu:
(11/12/2021 18:32)Luiz Escreveu: Basicamente, da mesma forma que fez com os demais valores. Você salva o IP do jogador no arquivo e faça a verificação para quando o jogador logar no servidor. Se o IP dele bater com algum IP já banido anteriormente, apresente a tela de login com as informações da conta banida naquele IP.

Ele já ta verificando se o ip ta banido pela pasta porém ele troca o nick e volta normalmente.. como faz na pratica isso? ou oque ta errado

Cria uma nova pasta de ips banidos ai quando uma pessoa for banida se cria o arquivo com ip dele no título ai se verifica caso na pasta tiver o ip dele ai se mostra a dialog invés de salvar dentro arquivo do nick dele


RE: desbanir não funciona e tela de banir não mostra - fear - 11/12/2021

(11/12/2021 21:14)Cirilo_Samp Escreveu:
(11/12/2021 18:34)fear Escreveu:
(11/12/2021 18:32)Luiz Escreveu: Basicamente, da mesma forma que fez com os demais valores. Você salva o IP do jogador no arquivo e faça a verificação para quando o jogador logar no servidor. Se o IP dele bater com algum IP já banido anteriormente, apresente a tela de login com as informações da conta banida naquele IP.

Ele já ta verificando se o ip ta banido pela pasta porém ele troca o nick e volta normalmente.. como faz na pratica isso? ou oque ta errado

Cria uma nova pasta de ips banidos ai quando uma pessoa for banida se cria o arquivo com ip dele no título ai se verifica caso na pasta tiver o ip dele ai se mostra a dialog invés de salvar dentro arquivo do nick dele
Eu já estou fazendo isso amigo veja o codigo acima. só que não ta puxando que o ip ta banido quando troca o nick e reloga no servidor. somente quando loga com o nick que foi banido... entendeu?


RE: desbanir não funciona e tela de banir não mostra - xbruno1000x - 11/12/2021

(11/12/2021 22:59)fear Escreveu:
(11/12/2021 21:14)Cirilo_Samp Escreveu:
(11/12/2021 18:34)fear Escreveu:
(11/12/2021 18:32)Luiz Escreveu: Basicamente, da mesma forma que fez com os demais valores. Você salva o IP do jogador no arquivo e faça a verificação para quando o jogador logar no servidor. Se o IP dele bater com algum IP já banido anteriormente, apresente a tela de login com as informações da conta banida naquele IP.

Ele já ta verificando se o ip ta banido pela pasta porém ele troca o nick e volta normalmente.. como faz na pratica isso? ou oque ta errado

Cria uma nova pasta de ips banidos ai quando uma pessoa for banida se cria o arquivo com ip dele no título ai se verifica caso na pasta tiver o ip dele ai se mostra a dialog invés de salvar dentro arquivo do nick dele
Eu já estou fazendo isso amigo veja o codigo acima. só que não ta puxando que o ip ta banido quando troca o nick e reloga no servidor. somente quando loga com o nick que foi banido... entendeu?

Já levou em consideração que o player possa estar mudando de IP? Basta reiniciar o modem e o IP terá sido alterado. Nesse caso, ele cria uma conta nova com um novo IP e não há o que fazer.