SA-MP Forums Archive
Balanceador - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Balanceador (/showthread.php?tid=174669)



Balanceador - Wesk3R - 06.09.2010

Hola, consegui este codigo:

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    new Count1, Count2;
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if (gTeam[playerid] == TEAM_1) Count1++;
        else if (gTeam[playerid] == TEAM_2) Count2++;
    }
    if ((Count1 > Count2) && gTeam[playerid] == TEAM_1)
    {
        SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
        return 0;
    }
    else if ((Count2 > Count1) && gTeam[playerid] == TEAM_2)
    {
        SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
        return 0;
    }
    return 1;
}
Pero el problema consiste en que si no hay nadie conectado, no te deja entrar en ninguno de los 2 Equipos
Ojala me puedan ayudar

Gracias


Re: Balanceador - IroniaZero - 06.09.2010

Puedes cambiar el cуdigo para que en lugar de decirte: "[BALANCEADOR]: Selecciona otro Equipo", te cambie al otro equipo directamente.

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    new Count1, Count2;
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if (gTeam[playerid] == TEAM_1) Count1++;
        else if (gTeam[playerid] == TEAM_2) Count2++;
    }
    if ((Count1 > Count2) && gTeam[playerid] == TEAM_1)
    {
        SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Se le ha asignado el otro equipo para igualar el combate");
        gTeam[playerid] == TEAM_2
        return 1;
    }
    else if ((Count2 > Count1) && gTeam[playerid] == TEAM_2)
    {
        SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Se le ha asignado el otro equipo para igualar el combate");
        gTeam[playerid] == TEAM_1
        return 1;
    }
    return 1;
}
(Creo que deberнa funcionar)


Re: Balanceador - Wesk3R - 06.09.2010

Funciono
Gracias, me servira mientras. Pero me gustaria mas la forma como dije

Saludos, si alguien sabe como arreglarlo porfavor postearlo


Re: Balanceador - IroniaZero - 06.09.2010

Creo que asн funcionarб bien.

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    new Count1, Count2;
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if (gTeam[playerid] == TEAM_1) Count1++;
        else if (gTeam[playerid] == TEAM_2) Count2++;
    }
    if ((Count1 > Count2) && gTeam[playerid] == TEAM_1 && Count2 >= 1)
    {
        SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
        return 0;
    }
    else if ((Count2 > Count1) && gTeam[playerid] == TEAM_2 && Count1 >= 1)
    {
        SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
        return 0;
    }
    return 1;
}



Respuesta: Balanceador - laborgward - 06.09.2010

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    new Count1, Count2;
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if (gTeam[playerid] == TEAM_1) Count1++;
        else if (gTeam[playerid] == TEAM_2) Count2++;
    }
    if(Count2 != 0)
    {
        if ((Count1 > Count2) && gTeam[playerid] == TEAM_1)
        return SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
    }
    else if(Count1 != 0)
    {
        if ((Count2 > Count1) && gTeam[playerid] == TEAM_2)
        return SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
    }
    return 1;
}
creo que ahi deberia funcionar


Re: Balanceador - Wesk3R - 06.09.2010

Nada =S
Gracias por intentar ayudarme


Re: Balanceador - Wesk3R - 08.09.2010

UP !

No dejen morir el Tema. Nadie conoce un GM que traiga ese sistema ї?


Respuesta: Re: Balanceador - laborgward - 09.09.2010

Quote:
Originally Posted by Wesk3R
Посмотреть сообщение
UP !

No dejen morir el Tema. Nadie conoce un GM que traiga ese sistema ї?
pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    new Count1, Count2;
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if (gTeam[playerid] == TEAM_1) Count1++;
        else if (gTeam[playerid] == TEAM_2) Count2++;
    }
    if ((Count1 > Count2) && gTeam[playerid] == TEAM_1)
    {
       if(Count2 >= 1) return SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
    }
    else if ((Count2 > Count1) && gTeam[playerid] == TEAM_2)
    {
        if(Count1 >= 1) return SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
    }
    return 1;
}
Tiene q funcionar con ese...


Re: Balanceador - MrDeath537 - 09.09.2010

pawn Код:
public OnPlayerRequestSpawn(playerid)
{
    // El bug era gTeam[playerid] en vez de gTeam[i]

    new Count1, Count2;
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
        if (gTeam[i] == TEAM_1) Count1++;
        else if (gTeam[i] == TEAM_2) Count2++;
    }
    if ((Count1 > Count2) && gTeam[playerid] == TEAM_1)
    {
        SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
        return 0;
    }
    else if ((Count2 > Count1) && gTeam[playerid] == TEAM_2)
    {
        SendClientMessage(playerid, COLOR_ROJO, "[BALANCEADOR]: Selecciona otro Equipo");
        return 0;
    }
    return 1;
}



Re: Balanceador - Wesk3R - 09.09.2010

No puede ser

Nada ha funcionado :S