[Tutorial] Como kickar/banir com uma razгo
#1


Neste tutorial vamos usar as includes ZCMD e SSCANF. As explicaзхes estгo no prуprio cуdigo.

No topo do GameMode

PHP код:
forward KickTimer(); // Criamos a forward para depois conseguirmos criar a public
new kickid// Criamos a variбvel do ID do jogador a ser kickado 
O comando em si

PHP код:
CMD:kick(playeridparams[])
{
    if(
IsPlayerAdmin(playerid)) // Nгo obrigatуrio
    
{
        new 
string[128];
        new 
string1[128];
        new 
reason[32];
        new 
nomeadmin[MAX_PLAYER_NAME]; // Nгo obrigatуrio
        
new nomeplayer[MAX_PLAYER_NAME]; // Nгo obrigatуrio
        
if(sscanf(params"us"kickidreason)) return SendClientMessage(playeridINFO,"[ USO: ] /kick [playerid] [razгo]"); // Pega o ID do jogador e a razгo do kick
        
if(!IsPlayerConnected(kickid)) return SendClientMessage(playeridFAIL,"[ ERRO: ] O player nгo estб conectado."); // Mensagem para se o jogador nгo estiver no servidor
        
GetPlayerName(playeridnomeadminsizeof(nomeadmin)); // Pega o nome do Administrador
        
GetPlayerName(kickidnomeplayersizeof(nomeplayer)); // Pega o nome do Player
        
format(stringsizeof(string), "Tu kickaste o jogador %s."nomeplayer); // Format para o Administrador
        
format(string1sizeof(string1), "Foste kickado pelo Administrador %s. Razгo: %s"nomeadminreason); // Format para o Player
        
SendClientMessage(playeridSUCESSOstring); // Imprime a variбvel string para o Administrador
        
SendClientMessage(kickidINFOstring1); // Imprime a variбvel string2
        
SetTimer("KickTimer"50false); // Aqui executa o Timer para kickar o jogador
    
}
    else
    {
         
SendClientMessage(playeridFAIL"[ ERRO: ] Tu nгo йs Administrador."); // Nгo obrigatуrio
    
}
    return 
1;

Agora temos de criar a public KickTimer

PHP код:
public KickTimer() // "Abre" a public
{
    
Kick(kickid); // Kicka o ID setado no comando
    
return 1;

Porque funciona?
Isto funciona porque o Timer dб tempo ao servidor para enviar as mensagens ao jogador, antes de o kickar.

Porque nгo funciona sу com a funзгo kick(playerid)?
Porque o servidor nгo tem tempo de enviar as mensagens, antes de kickar o jogador.

Alguma dъvida, perguntem

Reply


Messages In This Thread
Como kickar/banir com uma razгo - by bruxo00 - 15.05.2013, 18:28
Re: Como kickar/banir com uma razгo - by Jason` - 15.05.2013, 18:32
Re: Como kickar/banir com uma razгo - by BreakDriFT - 15.05.2013, 18:37
Re: Como kickar/banir com uma razгo - by AlucardSnow - 15.05.2013, 18:55
Re: Como kickar/banir com uma razгo - by mau.tito - 15.05.2013, 19:13
Re: Como kickar/banir com uma razгo - by .FuneraL. - 15.05.2013, 19:27
Re: Como kickar/banir com uma razгo - by Jason` - 15.05.2013, 19:28
Re: Como kickar/banir com uma razгo - by Don_Speed - 15.05.2013, 19:36
Re: Como kickar/banir com uma razгo - by bruxo00 - 15.05.2013, 21:13

Forum Jump:


Users browsing this thread: 2 Guest(s)