SA-MP Forums Archive
[Ajuda] Comando /Kickar - 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)
+---- Thread: [Ajuda] Comando /Kickar (/showthread.php?tid=542112)



Comando /Kickar - LuquinhasP3 - 17.10.2014

Eu estou adicionando este comando ao meu GM, nгo da nenhum erro.
Mais quando eu uso ele dentro do jogo nгo acontece nada, sу aparece
[ USO: ] /kick [playerid] [razгo]
E mesmo eu botando o Id de um jogador online, nгo funciona da sempre o mesmo erro, alguem pode me ajudar por favor?

Код:
CMD:kick(playerid, params[]) // KICK
{
        if(IsPlayerAdmin(playerid))
        {
                new string[128];
                new string1[128];
                new reason[32];
                new nomeadmin[MAX_PLAYER_NAME];
                new nomeplayer[MAX_PLAYER_NAME];

                if(sscanf(params, "us", kickid, reason)) return SendClientMessage(playerid, 0xFF00AA,"[ USO: ] /kick [playerid] [razгo]");
        if(!IsPlayerConnected(kickid)) return SendClientMessage(playerid, 0xFFFFFFFF,"[ ERRO: ] O player nгo estб conectado.");
                GetPlayerName(playerid, nomeadmin, sizeof(nomeadmin));
                GetPlayerName(kickid, nomeplayer, sizeof(nomeplayer));
                format(string, sizeof(string), "Vocк kickou o jogador %s.", nomeplayer);
                format(string1, sizeof(string1), "Foi kickado pelo Administrador %s. Razгo: %s", nomeadmin, reason);
        SendClientMessage(playerid, 0xFF00AA, string);
                SendClientMessage(kickid, 0xFF00AA, string1);
        SetTimer("KickTimer", 50, false);
        }
        else
        {
                SendClientMessage(playerid, 0xFFFFFFFF, "[ ERRO: ] Vocк nгo й administrador Administrador.");
        }
        return 1;
}



Re: Comando /Kickar - MultiKill - 17.10.2014

Todos os comandos da sua game mode sгo em zcmd?
Se for usado o comparador de string (strcmp) vai dar conflito e o comando nгo vai funcionar.


Respuesta: Comando /Kickar - LuquinhasP3 - 17.10.2014

Sim, todos os comandos sгo em zcmd.
Tipo todos os outros comandos estгo funcionando que usam string.
Mais esse que usa sscanf, estб dando isso.
#imagens




Re: Comando /Kickar - MultiKill - 17.10.2014

Nгo tinha lido direito, o erro que vocк se refere й de vocк digitar um id online e ele retornar a mensagem dizendo que ele nгo estб online? Se for vocк tentou digitar um id que nгo esteja online para ver se ele retorna a mensagem.

Se o problema for de ele nгo ser kikado, mude SetTimer por SetTimerEx:
pawn Код:
SetTimer("KickTimer", 50, false);
//Para
SetTimerEx("KickTimer", 50, false, "i", kickid);



Respuesta: Re: Comando /Kickar - LuquinhasP3 - 17.10.2014

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
Nгo tinha lido direito, o erro que vocк se refere й de vocк digitar um id online e ele retornar a mensagem dizendo que ele nгo estб online? Se for vocк tentou digitar um id que nгo esteja online para ver se ele retorna a mensagem.

Se o problema for de ele nгo ser kikado, mude SetTimer por SetTimerEx:
pawn Код:
SetTimer("KickTimer", 50, false);
//Para
SetTimerEx("KickTimer", 50, false, "i", kickid);
Eu mandei uma imagem a cima dizendo mais ou menos o erro.
Sempre que eu uso o comando /kick, Nгo kicka, ele sу aparece sempre isso
"[ USO: ] /kick [playerid] [razгo]

Que tб assim no cуdigo
Код:
if(sscanf(params, "us", kickid, reason)) return SendClientMessage(playerid, 0xFF00AA,"[ USO: ] /kick [playerid] [razгo]");



Re: Comando /Kickar - MultiKill - 17.10.2014

pawn Код:
if(sscanf(params, "us", kickid, reason)) return SendClientMessage(playerid, 0xFF00AA,"[ USO: ] /kick [playerid] [razгo]");
//Para

if(!sscanf(params, "us", kickid, reason)) return SendClientMessage(playerid, 0xFF00AA,"[ USO: ] /kick [playerid] [razгo]");



Re: Comando /Kickar - DavidCosta - 17.10.2014

Tente assim:
pawn Код:
if(sscanf(params, "us", kickid, reason))
por
pawn Код:
if(sscanf(params, "us[100]", kickid, reason))



Respuesta: Re: Comando /Kickar - LuquinhasP3 - 17.10.2014

Quote:
Originally Posted by MultiKill
Посмотреть сообщение
pawn Код:
if(sscanf(params, "us", kickid, reason)) return SendClientMessage(playerid, 0xFF00AA,"[ USO: ] /kick [playerid] [razгo]");
//Para

if(!sscanf(params, "us", kickid, reason)) return SendClientMessage(playerid, 0xFF00AA,"[ USO: ] /kick [playerid] [razгo]");
Um problema foi resolvido, mais agora apareceu outro
Eu usei sу "/Kick 0 teste" e me kickou, depois eu usei "/Kick 1 teste" e mesmo assim, seguiu me kickando, parece que o unico id que ele tб kickando йo ID 0 e mais nenhum


Re: Comando /Kickar - MultiKill - 17.10.2014

Quote:
Originally Posted by LuquinhasP3
Посмотреть сообщение
Um problema foi resolvido, mais agora apareceu outro
Eu usei sу "/Kick 0 teste" e me kickou, depois eu usei "/Kick 1 teste" e mesmo assim, seguiu me kickando, parece que o unico id que ele tб kickando йo ID 0 e mais nenhum
A causa do problema й por vocк usar SetTimer (ele cria um jogador para o playerid), entгo use SetTimerEx.
pawn Код:
SetTimerEx("KickTimer", 50, false, "i", kickid);
Se nгo quiser sempre colocar SetTimerEx:
pawn Код:
//Topo do Game Mode

#define Chutar(%0) SetTimerEx("KickTimer", 50, false, "i", %0)
//Ou
#define kick(%0) SetTimerEx("KickTimer", 50, false, "i", %0)

//Modo de uso:
Chutar(playerid);
//ou
kick(playerid);



Respuesta: Comando /Kickar - LuquinhasP3 - 17.10.2014

Adicionei tudo do jeito que vocк citou, mais segue a mesma coisa.
Eu coloco varios id mais o unico que й kickado йo id 0, mesmo sem eu botar ele.