Ayuda con este bucle.
#1

Bueno amigos, ahora tengo este problemita.

He creado un bucle para un comando ґ/onlineґ para ver los players conectados de un grupo/facciуn.
Aquн les dejo el code.

pawn Код:
if(!strcmp(cmdtext, "/online", true))
{
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if(Faccion[playerid][Trinitario] == 1)
        {
            new TriniOn[150];
            new name[MAX_PLAYER_NAME];
            GetPlayerName(playerid, name, sizeof(name));
            format(TriniOn, sizeof(TriniOn), "%s, Conectado.", name);
            SendClientMessage(playerid, -1, name);
            }
        else if(Faccion[playerid][Civil] == 1)
        {
            new CivilOn[150];
            new name[MAX_PLAYER_NAME];
            GetPlayerName(playerid, name, sizeof(name));
            format(CivilOn, sizeof(CivilOn), "%s, Conectado.", name);
            SendClientMessage(playerid, -1, name);
   
            }
         }
    return 1;
}
Quiero que salga mas o menos, asн: X Jugador, Conectado.

Pero miren quй pasa.

Reply
#2

Asн:

pawn Код:
if(!strcmp(cmdtext, "/online", true))
{
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if(Faccion[playerid][Trinitario] == 1)
        {
            new TriniOn[150];
            new name[MAX_PLAYER_NAME];
            GetPlayerName(i, name, sizeof(name));
            format(TriniOn, sizeof(TriniOn), "%s, Conectado.", name);
            SendClientMessage(playerid, -1, TriniOn);
            }
        else if(Faccion[playerid][Civil] == 1)
        {
            new CivilOn[150];
            new name[MAX_PLAYER_NAME];
            GetPlayerName(i, name, sizeof(name));
            format(CivilOn, sizeof(CivilOn), "%s, Conectado.", name);
            SendClientMessage(playerid, -1, CivilOn);
   
            }
         }
    return 1;
}
Reply
#3

Ahora surge esto:

Reply
#4

No sй muy bien lo que necesitas, pero prueba asн:

pawn Код:
if(!strcmp(cmdtext, "/online", true))
{
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue;
        if(Faccion[playerid][Trinitario] == 1)
        {
            if(Faccion[i][Trinitario] != Faccion[playerid][Trinitario]) continue;
           
            new TriniOn[70], name[MAX_PLAYER_NAME];
            GetPlayerName(i, name, sizeof(name));
            format(TriniOn, sizeof(TriniOn), "Jugador %s, Conectado.", name);
            SendClientMessage(playerid, -1, name);
        }
        else if(Faccion[playerid][Civil] == 1)
        {
            if(Faccion[i][Civil] != Faccion[playerid][Civil]) continue;
           
            new CivilOn[70], name[MAX_PLAYER_NAME];
            GetPlayerName(i, name, sizeof(name));
            format(CivilOn, sizeof(CivilOn), "Jugador %s, Conectado.", name);
            SendClientMessage(playerid, -1, name);
        }
    }
    return 1;
}
Reply
#5

Igual xD
Reply
#6

Lo acabo de testear y a mi me funciona perfectamente. їSeguro quй recompilaste despuйs de aсadir esto?
Reply
#7

Jeje ya solъcionado, el problema era que un Loop no puede ser retornado ya que va a exбminar todos los players.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)