[Ajuda] Comando /Kickar
#1

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;
}
Reply
#2

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.
Reply
#3

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

Reply
#4

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);
Reply
#5

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]");
Reply
#6

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]");
Reply
#7

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

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
Reply
#9

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);
Reply
#10

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.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)