[Ajuda] Loop/repetiзгo no comando?
#1

Boa tarde galera, estou com um problema em meu comando de duvida... Й o seguinte, quando o administrador recebe o pedido de ajuda, aparece 4 vezes a mensagem que o jogador enviou, por exemplo /duvida oi

Dai aparece quatro vezes...

[duvida] player id: oi

[duvida] player id: oi

[duvida] player id: oi

[duvida] player id: oi

Esse й o comando rsrs

pawn Код:
CMD:duvida(playerid, params[])
{
    new stringd[128];
    if(isnull(params)) return SendClientMessage(playerid, -1, "Use: /duvida [Texto]");
    SendClientMessage(playerid, YELLOW, "{89C8F5} > Mensagem enviada aos administradores, aguarde uma resposta...");
    format(stringd, sizeof(stringd), "[AJUDA] de %s[ID %d]: %s", GetPlayerNameEx(playerid), playerid, params);
    printf(stringd);
    for(new i, gmp = GetMaxPlayers(); i < gmp; i++)
    {
        MsgAdminsF(i, YELLOW, stringd);
    }
    return true;
}
Reply
#2

manda o MsgAdmins
Reply
#3

Talvez a funзгo de mandar a msg para os admin jб tem o loop.

Ou seja agora nesse comando vc nгo tem de usar o loop de novo
Reply
#4

MsgAdmins... Entгo como eu tiro o loop do comando /duvida ?

pawn Код:
MsgAdmins(level, colour, string[])
{
    if(level == 0)
    {
        print("ERROR: MsgAdmins parameter 'level' cannot be 0");
        return 0;
    }

    if(strlen(string) > 127)
    {
        new
            string2[128],
            splitpos;

        for(new c = 128; c>0; c--)
        {
            if(string[c] == ' ' || string[c] ==  ',' || string[c] ==  '.')
            {
                splitpos = c;
                break;
            }
        }

        strcat(string2, string[splitpos]);
        string[splitpos] = EOS;

        foreach(new i : Player)
        {
            if(admin_Level[i] < level)
                continue;

            SendClientMessage(i, colour, string);
            SendClientMessage(i, colour, string2);
        }
    }
    else
    {
        foreach(new i : Player)
        {
            if(admin_Level[i] < level)
                continue;

            SendClientMessage(i, colour, string);
        }
    }

    return 1;
}
Reply
#5

Код:
MsgAdmins(level, colour, string[])
Vocк deve inserir o level dos administradores que irгo receber a mensagem, e nгo o ID do jogador (i:looping).
Reply
#6

Sу preciso tirar o loop do comando duvida... e nгo sei como tirar!
Reply
#7

Refiz seu comando, troque pelo seu e teste

pawn Код:
CMD:duvida(playerid, params[])
{
    new TextoDuvida[128], NomeDuvida[24];
    GetPlayerName(playerid, NomeDuvida, 24);

    if(isnull(params)) return SendClientMessage(playerid, -1, "Use: /duvida [Texto]");
    SendClientMessage(playerid, YELLOW, "Sua mensagem foi enviada aos administradores, aguarde sua resposta...");
    format(TextoDuvida, sizeof(TextoDuvida), "[AJUDA] de %s[ID %d]: %s", NomeDuvida, playerid, params);

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(admin_Level[i] >= 1 && IsPlayerConnected(i))
        {
            SendClientMessage(i, YELLOW, TextoDuvida);
        }
    }
    return true;
}
Reply
#8

Deu undefined symbol no admin_level
Reply
#9

Quote:
Originally Posted by viniciussvl
Посмотреть сообщение
Deu undefined symbol no admin_level
Troque o admin_level pelo nome da Variavel que vc usa como Admin
Reply
#10

Vou testar aqui
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)