SA-MP Forums Archive
Help Team - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Help Team (/showthread.php?tid=570480)



Help Team - Edw - 10.04.2015

Hello, I have a problem in system 'team' after restart goes well but after 6-7 Player you go more team player intro where more than team 2 ...

PHP код:
if( Team] >= Team] ) { playerTeamplayerid ] = 1Team] ++; }
else if( 
Team] >= Team] ) { playerTeamplayerid ] = 2Team] ++; } 
OnPlayerDisconnect

PHP код:
    if( playerTeamplayerid ] == ) { Team] --; }
else if( 
playerTeamplayerid ] == ) { Team] --; } 



Re: Help Team - Edw - 10.04.2015

Does anyone know?


Re: Help Team - RowdyrideR - 10.04.2015

Are you trying to make a team balancer?


Re: Help Team - Edw - 11.04.2015

Yes, if the first team is smaller than the second team to enter the smallest team, and vice versa.


Re: Help Team - SickAttack - 11.04.2015

pawn Код:
new gTeam1,
gTeam2,
pTeam[MAX_PLAYERS];

public OnPlayerDisconnect(playerid, reason)
{
    if(pTeam[playerid] == 1) gTeam1 --;
    else if(pTeam[playerid] == 2) gTeam2 --;
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    if(pTeam[playerid] == 1)
    {
        gTeam1 --;
        pTeam[playerid] = 0;
    }
    else if(pTeam[playerid] == 2)
    {
        gTeam2 --;
        pTeam[playerid] = 0;
    }
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
   if(gTeam1 <= gTeam2)
   {
      GameTextForPlayer(playerid, "~r~Team 1 is full!~n~~w~Choose another team!", 3000, 5);
      SendClientMessage(playerid, 0xFF0000AA, "Please choose another team because team 1 is full.");
      return 0;
   }
   else if(gTeam1 >= gTeam2)
   {
      GameTextForPlayer(playerid, "~r~Team 2 is full!~n~~w~Choose another team!", 3000, 5);
      SendClientMessage(playerid, 0xFF0000AA, "Please choose another team because team 2 is full.");
      return 0;
   }
   return 1;
}

public OnPlayerSpawn(playerid)
{
    if(gTeam1 <= gTeam2)
    {
        SendClientMessage(playerid, -1 "You have joined team 1!");
        pTeam[playerid] = 1;
        gTeam1 ++;
    }
    else if(gTeam1 >= gTeam2)
    {
        SendClientMessage(playerid, -1 "You have joined team 2!");
        pTeam[playerid] = 2;
        gTeam2 ++;
    }
    return 1;
}

CMD:balanceteams(playerid, params[])
{
    SendClientMessageToAll(-1, "An administrator has balanced the teams!");

    gTeam1 = 0, gTeam2 = 0;
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(gTeam1 <= gTeam2)
        {
            SendClientMessage(playerid, -1 "You have joined team 1!");
            pTeam[playerid] = 1;
            gTeam1 ++;
        }
        else if(gTeam1 >= gTeam2)
        {
            SendClientMessage(playerid, -1 "You have joined team 2!");
            pTeam[playerid] = 2;
            gTeam2 ++;
        }
    }
    return 1;
}