[Ajuda] Nгo kicka
#1

Olб, eu estou fazendo um sistema de ban e, estou tendo problemas com o kick.
eu defini a DIALOG com as informaзхes do ban tudo corretamente, mas o servidor nгo da o Kick.
eu fiz assim:
pawn Код:
public Jogador_Verificar_Ban(playerid)
{
    new Consultar_Mysql[150];
    mysql_format(MysqlDb,Consultar_Mysql,150,"SELECT * FROM `banidos` WHERE `Nome` = '%s' OR `IP` = '%s' AND `Banido` = '1'",Nome(playerid),IP(playerid));
    mysql_query(MysqlDb,Consultar_Mysql,true);
    if(cache_num_rows() == 0)
    {
        SetTimerEx("Jogador_Verificar_Registro",500,false,"u",playerid);
    }else
    if(cache_num_rows() >=1)
    {
        new Informacao_Ban[5][100],Mensagem_Ban[250],Formatar_Mensagem[150];
        cache_get_value(0,"Nome",Informacao_Ban[0],100);
        cache_get_value(0,"IP",Informacao_Ban[1],100);
        cache_get_value(0,"Motivo",Informacao_Ban[2],100);
        cache_get_value(0,"Admin",Informacao_Ban[3],100);
        cache_get_value(0,"Data",Informacao_Ban[4],100);
        strcat(Mensagem_Ban,"\t{FF0000}Vocк estб banido do servidor!\n\n");
        format(Formatar_Mensagem,150,"{9932CD}Nick Banido:{871F78} %s\n",Informacao_Ban[0]);
        strcat(Mensagem_Ban,Formatar_Mensagem);
        format(Formatar_Mensagem,150,"{9932CD}IP:{871F78} %s\n",Informacao_Ban[1]);
        strcat(Mensagem_Ban,Formatar_Mensagem);
        format(Formatar_Mensagem,150,"{9932CD}Motivo:{871F78} %s\n",Informacao_Ban[2]);
        strcat(Mensagem_Ban,Formatar_Mensagem);
        format(Formatar_Mensagem,150,"{9932CD}Admin:{871F78} %s\n",Informacao_Ban[3]);
        strcat(Mensagem_Ban,Formatar_Mensagem);
        format(Formatar_Mensagem,150,"{9932CD}Data:{871F78} %s\n",Informacao_Ban[4]);
        strcat(Mensagem_Ban,Formatar_Mensagem);
        strcat(Mensagem_Ban,"{9932CD}Duraзгo:{871F78} Permanente.");
        ShowPlayerDialog(playerid,DIALOG_BAN,DIALOG_STYLE_MSGBOX,"{FF0000}Banido",Mensagem_Ban,"Fechar","");
        SetTimerEx("Kickar",1000,false,"u",playerid);
    }
    return 1;
}
stock Kickar(playerid)
{
    Kick(playerid)
    return 1;
}
;

* Coloquei o timer pra mostrar a dialog ;-;.
* jб tentei com forward, mas da na mesma.
* jб pensei em fazer ele clicar no botгo "fechar", mas eu queria que ele fosse kickado ao entrar ;u

Agradeзo /;
Reply
#2

PHP код:
forward Kickar(playerid);
public 
Kickar(playerid)
{
    
Kick(playerid);
    return 
1;

Nгo precisa de usar a KeyWord stock, e vocк deverб usar o forward, pois caso contrбrio nгo irб funcionar.
Reply
#3

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
PHP код:
forward Kickar(playerid);
public 
Kickar(playerid)
{
    
Kick(playerid);
    return 
1;

Nгo precisa de usar a KeyWord stock, e vocк deverб usar o forward, pois caso contrбrio nгo irб funcionar.
Agradeзo a resposta, mas como eu respondi, nгo funciona com stock nem com forward ;v
Reply
#4

Quote:
Originally Posted by Guscooby
Посмотреть сообщение
Agradeзo a resposta, mas como eu respondi, nгo funciona com stock nem com forward ;v
O problema estб na sua funзгo Kickar, vocк estб fazendo uma funзгo recursiva. Resumindo vocк esqueceu de colocar a funзгo:
pawn Код:
Kick(playerid);
Reply
#5

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
O problema estб na sua funзгo Kickar, vocк estб fazendo uma funзгo recursiva. Resumindo vocк esqueceu de colocar a funзгo:
pawn Код:
Kick(playerid);
Sem usar o timer a dialog nгo й mostrada.
Reply
#6

Quote:
Originally Posted by Guscooby
Посмотреть сообщение
Sem usar o timer a dialog nгo й mostrada.
Use o cуdigo que lhe passei e veja se estб resolvido.
Reply
#7

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Olhei aqui e vocк estб usando o placeholder errado, use desta forma:

PHP код:
SetTimerEx("Kickar",1000,false,"d",playerid); 
pawn Код:
d й para nъmeros inteiros.
u й para IDs
mesmo fazendo do modo que vocк falou o erro continua.
Reply
#8

Quote:
Originally Posted by Guscooby
Посмотреть сообщение
pawn Код:
d й para nъmeros inteiros.
u й para IDs
mesmo fazendo do modo que vocк falou o erro continua.
https://sampwiki.blast.hk/wiki/SetTimerEx Veja sobre os placeholders.

A respeito do Bug, coloque o print na funзгo Kickar e veja se ela estб sendo chamada.

Obs: Vocк deve estar usando o forward/public.
Reply
#9

Funcionou nгo, mas deixa queto e.e
Reply
#10

Quote:
Originally Posted by Guscooby
Посмотреть сообщение
Funcionou nгo, mas deixa queto e.e
Eu testei aqui e funcionou, o problema estб no seu cуdigo de verificaзгo do ban anбlise-o.
Reply
#11

Eu tive este mesmo problema a algum tempo atrбs,a ъnica maneira funcional que consegui resolver isso foi usando uma include chamada "KickBan".Link: https://pastebin.com/n17arqqf
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)