Amigo, isso nгo seria um pedido e sim uma ajuda, prуxima vez, analise as tag's que vocк utiliza.
@Topic
-----------------------------------------------------------------------------
O Comando nгo pode retornar com a mensagem ao player que foi kickado pois existe um bug, que impede dessa funзгo ser realizada.
Fui corrigido um dia desses sobre isso, e me acho na obrigaзгo de corrigir vocк tambйm.
Troque:
PHP код:
if(sscanf(params, "d", id)) // NAO UTILIZE D PARA SETAR UM PLAYER, SENDO QUE A REGRA DA SYNTAX DO SSCANF, PARA SETAR PLAYERS, Й "u"
Por:
PHP код:
if(sscanf(params, "u", id)) // AGORA ESTБ CORRETO!
Existe um timer que faz com que a funзгo que vocк quer, se realize.
Primeiro, vamos adicionar uma definiзгo juntamente com um macro do SetTimerEx.
PHP код:
#define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
Agora, vamos criar a callback de resposta apуs se cumprir o tempo de 100 milisegundos. De preferкncia, adicione-a nas linhas finais.
PHP код:
forward Kicka(p); public Kicka(p)
{
#undef Kick
Kick(p);
#define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
return 1;
}
Agora, compile normalmente, mas troque o seu comando por este:
PHP код:
CMD:kick(playerid, params[])
{
new id;
if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, "AE PAU NO CU, DIGITA A PORRA CERTA Й - /KICK [ID]");
SendClientMessage(id, -1, "Vocк foi kickado");
Kick(id);
return 1;
}
-----------------------------------------------------------------------
Quote:
Originally Posted by DelK
PHP код:
CMD:kick(playerid, params[])
{
new id;
if(sscanf(params, "d", id)) return SendClientMessage(playerid, -1, "AE PAU NO CU, DIGITA A PORRA CERTA Й - /KICK [ID]");
SetTimerEx("KickTimer", 300, false, "i", playerid);
return 1;
}
forward KickTimer(playerid);
public KickTimer(playerid)
{
SendClientMessage(id, -1, "Vocк foi kickado");
Kick(playerid);
return 1;
}
|
Amigo, observe a chamada do timer no comando. Ele quer que um id especнfico seja kickado, e nгo o player que digitou o comando. (Denominado como playerid)