GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nikko™ le 16 Mai 2009, 19:33:02

Titre: Calculer un nombre de joueur dans une team
Posté par: Nikko™ le 16 Mai 2009, 19:33:02
Bonjour,

Je voulais savoir comment calculer le nombre de joueur dans une gTeam sans passer par des "++" ou des "--"
C'est possible de faire par exemple:
PlayerTerro = gTeam[ je ne sais pas quoi mettre la] ??
Merci

++
nikko

EDIT: Pb réglé, c'était tout bete ... ;) gTeam[Terro] = 5 ... ^^
Titre: Re : Calculer un nombre de joueur dans une team
Posté par: MrFredo le 16 Mai 2009, 20:59:46
Tu peux faire un compteur comme ceci

Code: (pawn) [Sélectionner]
CompteurTeam(teamid)
{
      new count = 0;
      for(new i=0;i<MAX_PLAYERS;i++)
      {
           if(IsPlayerConnected(i) && gTeam[i] == teamid)
           {
                 count++;
           }
      }
      return count;
}

ensuite tu apele la fonction ou tu veux de cette maniere:

Code: (pawn) [Sélectionner]
new countteam = CompteurTeam(TEAM1); // Tu remplace TEAM1 par la define de la team que tu veux compter ;)
Titre: Re : Calculer un nombre de joueur dans une team
Posté par: S!m le 16 Mai 2009, 21:06:45
Salut,

attention, une petite erreur s'est glissée dans ton code lors de la déclaration de ta boucle :

for(new i = 0; i < MAX_PLAYERS; i++)
{
...
}

NB. J'ai préféré utiliser MAX_PLAYERS plutôt que GetMaxPlayers car chaque scripteur peut en modifier la valeur selon ses besoins et comme il s'agit d'une constante il s'agit d'un test plus rapide

NB2. Tu aurais mieux fais de déclarer deux variables et et d'assigner la valeur de GetMaxPlayers à l'une d'elle pour ensuite l'utiliser comme valeur maximale de variable incrémentée, il est plus rapide de comparer une variable que d'appeler une fonction à chaque itération

++Sim++
Titre: Re : Calculer un nombre de joueur dans une team
Posté par: MrFredo le 16 Mai 2009, 21:08:38
J'ai fait le code en vitesse j'corrige l'erreur ^^ :P
Titre: Re : Calculer un nombre de joueur dans une team
Posté par: Nikko™ le 16 Mai 2009, 21:18:05
Ok merci  :)

++
nikko