[Ajuda] Ser kickado se estiver banido
#1

Eu estou usando a seguinte public, porйm ela nгo kickava quando alguйm era banido, apenas ficava mostrando de 5 em 5 segundos a imagem na tela. Eu adicionei Kick(playerid); e todos os players que logam no servidor sгo kickados, o que devo fazer para kickar apenas aqueles que estгo banidos?

pawn Code:
public checkBan(playerid) {
        new String[250], ArquivoOne[64], ArquivoTwo[64], ArquivoThree[64], getIP[16];

        format(ArquivoOne, 64, "Agendados/%s.ini", GetName(playerid));
        if(DOF2::FileExists(ArquivoOne)) {
            format(String, 250, "Vocк estб banido do Servidor\n\n\nAdmin: %s\n\nMotivo: %s\n\nConta: %s\n\nData: %s\n\nHorбrio: %s\n\n\nPara revisхes vб atй o fуrum", playerBanned[playerid][adminBanned], playerBanned[playerid][motivoBanned], GetName(playerid), playerBanned[playerid][dataBanned], playerBanned[playerid][horaBanned]);
                ShowPlayerDialog(playerid, dialogBan, DIALOG_STYLE_MSGBOX, "Banido", String, "Fechar", "");
        }

        format(ArquivoTwo, 64, "Banidos/%s.ini", GetName(playerid));
        if(DOF2::FileExists(ArquivoTwo)) {
            format(String, 250, "Vocк estб banido do Servidor\n\n\nAdmin: %s\n\nMotivo: %s\n\nConta: %s\n\nIP: %s\n\nData: %s\n\nHorбrio: %s\n\n\nPara revisхes vб atй o fуrum", playerBanned[playerid][adminBanned], playerBanned[playerid][motivoBanned], GetName(playerid), playerBanned[playerid][ipBanned], playerBanned[playerid][dataBanned], playerBanned[playerid][horaBanned]);
                ShowPlayerDialog(playerid, dialogBan, DIALOG_STYLE_MSGBOX, "Banido", String, "Fechar", "");
        }

        GetPlayerIp(playerid, getIP, 16);
        format(ArquivoThree, 64, "iPsBanidos/%s.ini", getIP);
        if(DOF2::FileExists(ArquivoThree)) {
            format(String, 250, "Vocк estб banido do Servidor\n\n\nAdmin: %s\n\nMotivo: %s\n\nConta: %s\n\nIP: %s\n\nData: %s\n\nHorбrio: %s\n\n\nPara revisхes vб atй o fуrum", playerBanned[playerid][adminBanned], playerBanned[playerid][motivoBanned], GetName(playerid), getIP, playerBanned[playerid][dataBanned], playerBanned[playerid][horaBanned]);
                ShowPlayerDialog(playerid, dialogBan, DIALOG_STYLE_MSGBOX, "Banido", String, "Fechar", "");
        }
        Kick(playerid);
        return true;
}
Reply
#2

Para kickar o jogador banido, vocк deve verificar se ele estб banido, se retornar verdadeiro vocк da o kick, caso contrбrio vocк nгo kick. O que vocк estб fazendo й kickar todos, independente se ele estб banido ou nгo.

Tente dessa forma, se eu nгo me engano deve-se fazer um pequeno timer para kickar o jogador, pois se utilizar na if talvez possa nгo aparecer a funзгo desejada, no seu caso a Dialog.

PHP Code:
public checkBan(playerid) {
    new 
String[250], ArquivoOne[40], ArquivoTwo[40], ArquivoThree[40], getIP[16];
    
    
GetPlayerIp(playeridgetIP16);
    
format(ArquivoOne40"Agendados/%s.ini"GetName(playerid));
    
format(ArquivoTwo40"Banidos/%s.ini"GetName(playerid));    
    
format(ArquivoThree40"iPsBanidos/%s.ini"getIP);    
    
    if(
DOF2::FileExists(ArquivoOne) || DOF2::FileExists(ArquivoTwo) || DOF2::FileExists(ArquivoThree)) {
        
format(String250"Vocк estб banido do Servidor\n\n\nAdmin: %s\n\nMotivo: %s\n\nConta: %s\n\nIP: %s\n\nData: %s\n\nHorбrio: %s\n\n\nPara revisхes vб atй o fуrum",
        
playerBanned[playerid][adminBanned], playerBanned[playerid][motivoBanned], GetName(playerid), playerBanned[playerid][ipBanned], playerBanned[playerid][dataBanned], playerBanned[playerid][horaBanned]);
        
        
ShowPlayerDialog(playeriddialogBanDIALOG_STYLE_MSGBOX"Banido"String"Fechar""");
        
SetTimerEx("KickBanned"1000false"i"playerid);
    }    
    return 
true;
}

forward KickBanned(playerid); public KickBanned(playerid) {
    return 
Kick(playerid);

Reply
#3

Quote:
Originally Posted by EditPawn
View Post
Para kickar o jogador banido, vocк deve verificar se ele estб banido, se retornar verdadeiro vocк da o kick, caso contrбrio vocк nгo kick. O que vocк estб fazendo й kickar todos, independente se ele estб banido ou nгo.

Tente dessa forma, se eu nгo me engano deve-se fazer um pequeno timer para kickar o jogador, pois se utilizar na if talvez possa nгo aparecer a funзгo desejada, no seu caso a Dialog.

PHP Code:
public checkBan(playerid) {
    new 
String[250], ArquivoOne[40], ArquivoTwo[40], ArquivoThree[40], getIP[16];
    
    
GetPlayerIp(playeridgetIP16);
    
format(ArquivoOne40"Agendados/%s.ini"GetName(playerid));
    
format(ArquivoTwo40"Banidos/%s.ini"GetName(playerid));    
    
format(ArquivoThree40"iPsBanidos/%s.ini"getIP);    
    
    if(
DOF2::FileExists(ArquivoOne) || DOF2::FileExists(ArquivoTwo) || DOF2::FileExists(ArquivoThree)) {
        
format(String250"Vocк estб banido do Servidor\n\n\nAdmin: %s\n\nMotivo: %s\n\nConta: %s\n\nIP: %s\n\nData: %s\n\nHorбrio: %s\n\n\nPara revisхes vб atй o fуrum",
        
playerBanned[playerid][adminBanned], playerBanned[playerid][motivoBanned], GetName(playerid), playerBanned[playerid][ipBanned], playerBanned[playerid][dataBanned], playerBanned[playerid][horaBanned]);
        
        
ShowPlayerDialog(playeriddialogBanDIALOG_STYLE_MSGBOX"Banido"String"Fechar""");
        
SetTimerEx("KickBanned"1000false"i"playerid);
    }    
    return 
true;
}
forward KickBanned(playerid); public KickBanned(playerid) {
    return 
Kick(playerid);

era isso mesmo amigo, que burro eu, rsrs, obrigado! +rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)