open.mp forum
[Pawn] AYUDA / HELP / TDM - Printable Version

+ open.mp forum (https://forum.open.mp)
-- Forum: SA-MP (https://forum.open.mp/forumdisplay.php?fid=3)
--- Forum: Pawn Scripting (https://forum.open.mp/forumdisplay.php?fid=10)
--- Thread: [Pawn] AYUDA / HELP / TDM (/showthread.php?tid=1642)



AYUDA / HELP / TDM - Hitler - 2021-02-06

Espa?ol: Tengo un servidor TDM, ?como hago para que se igualen los teams ?, osea una funci?n para que no haya por ejemplo 5 rojos y 2 azules, que se pueda emparejar por as? decirlo, gracias.



Ingl?s: Tengo un servidor TDM, ?c?mo hago coincidir los equipos ?, me refiero a una funci?n para que no haya por ejemplo 5 rojos y 2 azules, que se pueden emparejar por as? decirlo, gracias.


RE: AYUDA / HELP / TDM - sampaux - 2021-02-06

Primero puede hacer una funci?n que lea cu?ntos jugadores tiene cada equipo.

Si un equipo tiene 1 jugador m?s que el otro, el siguiente jugador que se una al juego se unir? autom?ticamente al equipo con la menor cantidad de jugadores. Si el n?mero de jugadores est? empatado, el pr?ximo jugador se unir? a cualquiera de los equipos.



Si tiene dudas sobre c?mo hacer esto, publique el c?digo que intent? hacer


RE: AYUDA / HELP / TDM - Hitler - 2021-02-07

(2021-02-06, 10:44 PM)sampaux Wrote: Primero puede hacer una funci?n que lea cu?ntos jugadores tiene cada equipo.
Si un equipo tiene 1 jugador m?s que el otro, el siguiente jugador que se una al juego se unir? autom?ticamente al equipo con la menor cantidad de jugadores. Si el n?mero de jugadores est? empatado, el pr?ximo jugador se unir? a cualquiera de los equipos.

Si tiene dudas sobre c?mo hacer esto, publique el c?digo que intent? hacer

Tengo una funci?n que es como un m?ximo de jugadores que pueden ingresar al team, lo que yo quiero es una funci?n para que no hayan 6 rojos y 2 azules, Un emparejamiento de jugadores por as? decirlo. Ejemplo: hay 6 rojos y 1 azul, si el usuario quiere entrar al team?rojo que la funci?n no lo deje entrar a ese team

Code:
case 0:
{
if(CountTeamPlayers(BLUE)==10)?// 10 personas como m?ximo en el team
{
SendClientMessage(playerid, -1, "No pueden haber m?s jugadores?en este equipo");
ShowPlayerDialog(playerid, TEAM, DIALOG_STYLE_TABLIST_HEADERS, "Selecciona tu TEAM", EQUIPOS, "Cambiar", "Cancelar");
return 1;
}
gTeam[playerid] = BLUE;
SpawnPlayer(playerid);
}
case 1:
{
if(CountTeamPlayers(RED)==10)?// 10 personas como m?ximo en el team
{
SendClientMessage(playerid, -1, "No pueden haber m?s jugadores?en este equipo");
ShowPlayerDialog(playerid, TEAM, DIALOG_STYLE_TABLIST_HEADERS, "Selecciona tu TEAM", EQUIPOS, "Cambiar", "Cancelar");
return 1;
}
gTeam[playerid] = RED;
SpawnPlayer(playerid);
}



RE: AYUDA / HELP / TDM - sampaux - 2021-02-07

Code:
case 0:

{

if(CountTeamPlayers(BLUE) > CountTeamPlayers(RED)) // si BLUE tiene m?s jugadores que RED

{

SendClientMessage(playerid, -1, "No pueden haber m?s jugadores en este equipo, ?nete al otro equipo");

ShowPlayerDialog(playerid, TEAM, DIALOG_STYLE_TABLIST_HEADERS, "Selecciona tu TEAM", EQUIPOS, "Cambiar", "Cancelar");

return 1;

}

gTeam[playerid] = BLUE;

SpawnPlayer(playerid);

}

case 1:

{

if(CountTeamPlayers(RED) > CountTeamPlayers(BLUE)) // si RED tiene m?s jugadores que BLUE

{

SendClientMessage(playerid, -1, "No pueden haber m?s jugadores en este equipo, ?nete al otro equipo");

ShowPlayerDialog(playerid, TEAM, DIALOG_STYLE_TABLIST_HEADERS, "Selecciona tu TEAM", EQUIPOS, "Cambiar", "Cancelar");

return 1;

}

gTeam[playerid] = RED;

SpawnPlayer(playerid);

}



Este c?digo asegura que el n?mero de jugadores de cada equipo est? empatado, siempre que la suma de los dos sea un n?mero par.

Con eso, ser? imposible que un equipo tenga dos jugadores m?s que el otro.



Todo lo que hace es obligar al jugador a unirse al otro equipo, si el equipo elegido tiene un n?mero impar de jugadores.