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


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

(11/12/2021 23:40)xbruno1000x Escreveu:
(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.

eu fiz o teste em localhost e deu isso.. ai deduzi que se o player fizer no servidor hospedado vai dar o mesmo. meu ip e fixo

(11/12/2021 23:40)xbruno1000x Escreveu:
(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.

te respondi acima.. tem mais um problema que da as vezes que vou dar ban em alguém eu do ban na pessoa e da the server the closed connection pra mim.. ai vou logar e fica dando banned from the server..


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

Ainda estou com esse problema.. o cara loga no mesmo ip e a função pra verificar se o ip esta na pasta e kickar não esta pegando.. ele troca o nick e consegue logar.. o ip salva ta la na pasta ipsbanidos porém não ta verificando certo.. alguem pode ajudar?

Código PHP:
format(String50"zP/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);
          
zPKick(playerid);
        return 
1;
    }
    new 
ip[15];
    
GetPlayerIp(playeridipsizeof ip);
    
format(String50"zP/IPsBanidos/%s.ini"ip);
    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);
        
zPKick(playerid);
        return 
1;
    } 



PLAYER BANIDO VOLTA NO SERVIDOR - fear - 18/12/2021

boa tarde. eu to banindo um player e mesmo assim ele volta no servidor só trocando o nick e COM O MESMO IP.

CMD: BAN

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

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

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

    
format(adminNameMAX_PLAYER_NAMENome(playerid));

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

    if(
sscanf(params"us[400]"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);
    
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);
    
Kick(iddele);
    return 
1;


VERIFICAÇÃO NO ONPLAYERCONNECT(ACHO QUE O PROBLEMA ESTA AI)

Código PHP:
    new Adm[21],
    
MotivoBan[100],
    
DataBan[20],
    
HoraBan[22];

    
format(Stringsizeof(String), "zP/ContasBanidas/%s.ini"Nome(playerid));
    if(
DOF2_FileExists(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);
          
zPKick(playerid);
        return 
1;
    }
    
GetPlayerIp(playeridIPsizeof IP);
    
format(Stringsizeof(String), "zP/IPsBanidos/%s.ini"IP);
    if(
DOF2_FileExists(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);
        
BanEx(playerid"IP Banido");
        return 
1;
    }