[Tutorial] Como kickar/banir com uma razгo - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (
https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] Como kickar/banir com uma razгo (
/showthread.php?tid=437453)
Como kickar/banir com uma razгo -
bruxo00 - 15.05.2013
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(playerid, params[])
{
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", kickid, reason)) return SendClientMessage(playerid, INFO,"[ USO: ] /kick [playerid] [razгo]"); // Pega o ID do jogador e a razгo do kick
if(!IsPlayerConnected(kickid)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player nгo estб conectado."); // Mensagem para se o jogador nгo estiver no servidor
GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin)); // Pega o nome do Administrador
GetPlayerName(kickid, nomeplayer, sizeof(nomeplayer)); // Pega o nome do Player
format(string, sizeof(string), "Tu kickaste o jogador %s.", nomeplayer); // Format para o Administrador
format(string1, sizeof(string1), "Foste kickado pelo Administrador %s. Razгo: %s", nomeadmin, reason); // Format para o Player
SendClientMessage(playerid, SUCESSO, string); // Imprime a variбvel string para o Administrador
SendClientMessage(kickid, INFO, string1); // Imprime a variбvel string2
SetTimer("KickTimer", 50, false); // Aqui executa o Timer para kickar o jogador
}
else
{
SendClientMessage(playerid, FAIL, "[ 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
Re: Como kickar/banir com uma razгo -
Jason` - 15.05.2013
Pode usar SetTimerEx.
Edit: Tambйm nгo precisava ter criada duas arrays no comando.
Re: Como kickar/banir com uma razгo -
BreakDriFT - 15.05.2013
Falta definir as cores nй ?
Re: Como kickar/banir com uma razгo -
AlucardSnow - 15.05.2013
Falto explicar algumas coisas em...
Mais da para o gasto.
Re: Como kickar/banir com uma razгo -
mau.tito - 15.05.2013
Usa uma stock para o nome do player ambos id :/
pawn Код:
stock Nome(playerid) { new Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, sizeof(Name)); return Name; }
Re: Como kickar/banir com uma razгo -
.FuneraL. - 15.05.2013
Kick(kickid); em uma public sem parametros?
Re: Como kickar/banir com uma razгo -
Jason` - 15.05.2013
Quote:
Originally Posted by .FuneraL.
Kick(kickid); em uma public sem parametros?
|
kickid й uma variбvel global.
Re: Como kickar/banir com uma razгo -
Don_Speed - 15.05.2013
Puta merda que copia bonita !
Proxima vez use um code seu
Re: Como kickar/banir com uma razгo -
bruxo00 - 15.05.2013
Quote:
Originally Posted by Don_Speed
Puta merda que copia bonita !
Proxima vez use um code seu
|
Espero bem que tenha provas de que este cуdigo nгo й meu.