[Ajuda] /kick (icmd)
#1

Olб a todos, estou com um problema no comando, estou fazendo meu GM todo em icmd, sу que ainda nгo sei utiliza-lб muito bem.

pawn Код:
case iscmd("k,i,c,k"):
{  
    if(!params[0], giveplayerid, motivo))
    {
        SendClientMessage(playerid,-1,"Use: /kick [ID/Nome] [Motivo]");
    }
    if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 1) return SendClientMessage(playerid,-1,"Vocк precisa ser admin para usar este comando.");
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador nгo estб conectado.");
    new string[140];
    format(string,sizeof(string),":Admin: - %s Foi kickado Por %s, Motivo: %s", PlayerName(giveplayerid), PlayerName(playerid), motivo);
    SendClientMessageToAll(-1,string);
    Kick(giveplayerid);
    return true;
}
o Erro estб aqui:

pawn Код:
if(!params[0], giveplayerid, motivo))
Nome dos erro:

pawn Код:
error 033: array must be indexed (variable "motivo")
error 029: invalid expression, assumed zero
Reply
#2

ISCMD, nгo usa params como o ZCMD. Use SScanf.
Reply
#3

pawn Код:
case iscmd("k,i,c,k"):
{
    new motivo[64];
    if(!params[0], giveplayerid, motivo))
    {
        SendClientMessage(playerid,-1,"Use: /kick [ID/Nome] [Motivo]");
    }
    if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 1) return SendClientMessage(playerid,-1,"Vocк precisa ser admin para usar este comando.");
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador nгo estб conectado.");
    new string[140];
    format(string,sizeof(string),":Admin: - %s Foi kickado Por %s, Motivo: %s", PlayerName(giveplayerid), PlayerName(playerid), motivo);
    SendClientMessageToAll(-1,string);
    Kick(giveplayerid);
    return true;
}
Reply
#4

Quote:
Originally Posted by bruxo00
Посмотреть сообщение
ISCMD, nгo usa params como o ZCMD. Use SScanf.
Nгo fale besteira.

Quote:
Originally Posted by PT
Посмотреть сообщение
pawn Код:
case iscmd("k,i,c,k"):
{
    new motivo[64];
    if(!params[0], giveplayerid, motivo))
    {
        SendClientMessage(playerid,-1,"Use: /kick [ID/Nome] [Motivo]");
    }
    if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 1) return SendClientMessage(playerid,-1,"Vocк precisa ser admin para usar este comando.");
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,-1,"Jogador nгo estб conectado.");
    new string[140];
    format(string,sizeof(string),":Admin: - %s Foi kickado Por %s, Motivo: %s", PlayerName(giveplayerid), PlayerName(playerid), motivo);
    SendClientMessageToAll(-1,string);
    Kick(giveplayerid);
    return true;
}
Continuas com o spam inъtil ?


@tуpico

use apenas
pawn Код:
if (!params[0])
Essa sua condiзгo estб errada, nenhuma condiзгo й imposta com vнrgulas.
Reply
#5

Usando apenas

pawn Код:
if (!params[0])
Assim que eu digito /kick, sou auto kickado.
Reply
#6

Quote:
Originally Posted by XxFaTaLxX
Посмотреть сообщение
Usando apenas

pawn Код:
if (!params[0])
Assim que eu digito /kick, sou auto kickado.
Vocк estб fazendo de forma errada entгo, mas veja bem, vocк estб querendo formatar 2 parвmetros usando sу a variбvel params, й complicado.

Use sscanf, jб que o icmd 7.1 ainda nгo foi lanзado.
Reply
#7

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Nгo fale besteira.



Continuas com o spam inъtil ?


@tуpico

use apenas
pawn Код:
if (!params[0])
Essa sua condiзгo estб errada, nenhuma condiзгo й imposta com vнrgulas.
vc nem reparou que tem 2 parametros

pawn Код:
public OnPlayerCommandText(playerid, commandid, params[])
{
    switch(commandid)
    {
        case iscmd("k,i,c,k"):
        {
            if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 1) return SendClientMessage(playerid,-1,"Vocк precisa ser admin para usar este comando.");
            if(!params[0], !params[1])
                return SendClientMessage(playerid, -1, "[Erro]: Use /kick [id] [motivo]");
            if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid,-1, "Jogador nгo estб conectado.");
            new string[140];
            format(string,sizeof(string),":Admin: - %s Foi kickado Por %s, Motivo: %s", PlayerName(params[0]), PlayerName(playerid), motivo);
            SendClientMessageToAll(-1,string);
            Kick(params[0]);
            return true;
        }
        default: return SendClientMessage(playerid, -1, "[Erro]: Comando desconhecido, desculpe.");
    }
    return false;
}
Reply
#8

Quote:
Originally Posted by PT
Посмотреть сообщение
vc nem reparou que tem 2 parametros

pawn Код:
public OnPlayerCommandText(playerid, commandid, params[])
{
    switch(commandid)
    {
        case iscmd("k,i,c,k"):
        {
            if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][pAdmin] < 1) return SendClientMessage(playerid,-1,"Vocк precisa ser admin para usar este comando.");
            if(!params[0], !params[1])
                return SendClientMessage(playerid, -1, "[Erro]: Use /kick [id] [motivo]");
            if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid,-1, "Jogador nгo estб conectado.");
            new string[140];
            format(string,sizeof(string),":Admin: - %s Foi kickado Por %s, Motivo: %s", PlayerName(params[0]), PlayerName(playerid), motivo);
            SendClientMessageToAll(-1,string);
            Kick(params[0]);
            return true;
        }
        default: return SendClientMessage(playerid, -1, "[Erro]: Comando desconhecido, desculpe.");
    }
    return false;
}
Na verdade vocк que nгo entendeu, vocк devia parar de comentar coisa que nгo sabe.
Lembrando que nгo se usa vнrgula, pobre coitado.


Olha eu te fiz um exemplo aqui, sem sscanf, faзa uns testes por favor.
pawn Код:
public OnPlayerCommandText(playerid, commandid, params[])
{
    switch (commandid)
    {
        case iscmd("t,e,s,t,e"):
        {
            if (!params[0])
            {
                SendClientMessage(playerid, -1, "Syntax: /kick id motivo");
            }
            new msg[128], motivo[128];
            strmid(motivo, params, strfind(params, "\x20")+1, strlen(params));
           
            format(msg, sizeof(msg), "ID: %d, motivo: %s", strval(params[0]), motivo);
            SendClientMessage(playerid, -1, msg);
        }
    }
   
   
    return 0;
}

Abraзos
Reply
#9

Desculpem por esse mais:
й incrivel esses spammers na cara de pau ainda tentam argumentar.

@Topico: teste o do will!
Reply
#10

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)