[Ajuda] repetir mensagens em ъnico comando
#1

tipo, como faзo para criar um comando, que apareзa vбrias mensagens, com diferentes informaзхes ?
tipo, comando /admins. ai aparece as mensagens :

Lucas Emmanuel
Pedro Gostosao
Larissa Cachorrinha

Entenderгo ? Como "Floodar" a mensagem para aparecer todos admins online ?

mesma coisa no /membros.

Lucas Gostosao
Pedro Cadela
Larissa Emmanuel

Reply
#2

Faзa o uso de loops.
Reply
#3

sim bruno, mais vai repetir as msg de acordo com o nъmero de admins online ?
Reply
#4

tens ai uma base
pawn Код:
CMD:admins(playerid)
{
    new count = 0,string[500],name[24];
    SendClientMessage(playerid,-1,"Administradores online:");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerAdmin(playerid))
            {
GetPlayerName(i,name,24);
                format(string, 256, "Admin {ffffff}%s [ID:%d]",name,i);
                SendClientMessage(playerid, COLOR_AVSH, string);
                count++;
            }
        }
    }
    if(count == 0)
    {
        SendClientMessage(playerid,-1,"Nenhum administrador online.");
    }
    return 1;
}
Reply
#5

iTzDemon vlw ai cara. mais da pra vc explicar pra eu aprender a fazer e usar em outros cmds ?
Reply
#6

pawn Код:
CMD:admins(playerid)
{
    new count = 0,string[500],name[24];
    SendClientMessage(playerid,-1,"Administradores online:");
    for(new i = 0; i < MAX_PLAYERS; i++) //faz um loop por todos os players
    {
        if(IsPlayerConnected(i))//verifica se o tal player ta on
        {
            if(IsPlayerAdmin(playerid)) //verifica se x player й admin, se for vai executar as funзoes em baixo
            {
GetPlayerName(i,name,24);
                format(string, 256, "Admin {ffffff}%s [ID:%d]",name,i);
                SendClientMessage(playerid, COLOR_AVSH, string);
                count++;//para verifcar se б algum admin on
            }
        }
    }
    if(count == 0)//se nao tiver nenhum admin on manda essa mensagem
    {
        SendClientMessage(playerid,-1,"Nenhum administrador online.");
    }
    return 1;
}
Reply
#7

Sу vou generalizar um pouco mais o comando /admins e explicar mais detalhadamente...

pawn Код:
CMD:admins( playerid )
{
    new
        str[ 128 ], // Uma cadeia de caracteres com 128 cйlulas (vai de 0 a 127, sendo a ъltima EOS)
        nome[ MAX_PLAYER_NAME ] // Uma cadeia de caracteres com 24 (acho) cйlulas (vai de 0 a 23, sendo a ъltima EOS
    ;
   
    for( new i = 0; i < MAX_PLAYERS; ++i )
    /*
    Criei uma nova variбvel chamada 'i', e atribuн 0 a ela. (Lembrando que isso sу й lido 1 vez, no inнcio do loop)
    A condicional й: se o valor de 'i' for menor do que MAX_PLAYERS (500 por padrгo), ele entra no loop, se nгo, o loop й encerrado
    Quando chegar no final do loop, a variбvel 'i' й incrementada.
    */

    {
        if( IsPlayerAdmin( i )) // Se o jogador de ID 'i' (0 - 500) for um administrador...
        {
            GetPlayerName( i, nome, sizeof( nome )); // Pegando o nome do jogador de ID 'i' e salvando na string 'nome'...
            format( str, sizeof( str ), "Administrador %s [ID: %d]", nome, i ); // Formatando a string, a fim de inserir valores especнficos, no caso a variбvel 'nome' e 'i'...
            SendClientMessage( playerid, -1, str ); // Enviando uma MSG (str)branca (-1) ao jogador que digitou o comando (playerid)...
            // Fim do loop, nгo hб mais nada, 'i' serб incrementado
        }
    }
}
Reply
#8

Da uma olhada aqui:

loopings(Teoria/Prбtica).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)