• 02 Mai 2025, 03:07:09


Auteur Sujet: Compter les joueur d'une team  (Lu 935 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Compter les joueur d'une team
« le: 30 Juin 2009, 11:03:25 »
Bonjour tout le monde,

Je voulais savoir s'il éxistait un moyen de compter le nombre de joueur dans une team.
J'imgine bien ca avec une boucle ou quoi, sauf que c'est pas mon fort.
Merci d'avance  :)

++
nikko

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : Compter les joueur d'une team
« Réponse #1 le: 30 Juin 2009, 11:43:48 »
La chose la plus simple à faire dans ce cas là est d'augmenter la variable team1 (par exemple) lorsque le joueur choisi la 1ère classe. Lorsqu'il change de classe tu diminues l'autre et tu augmentes celle de la team2, et ainsi de suite pour les autres équipes.
Dès que je suis chez moi je te montrerai un exemple ;)

++
R@f

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Compter les joueur d'une team
« Réponse #2 le: 30 Juin 2009, 11:47:55 »
Le probleme est qu'en cours de route, les joueur change de team. (exemple: en tuant une personne, ca les chande de skin et change de team).
Donc je croyais qu'il y aurai un truc du style qui compte chaque gTeam ...

++
nikko

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Compter les joueur d'une team
« Réponse #3 le: 30 Juin 2009, 12:24:59 »
dans ce cas dans le onplayerdeath tu peu mettre

if(gTeam[playerid] == team1)
{
    team1 -- ;
}
if(gTeam[playerid] == team2)
{
    team2 -- ;
}

et dans le onplayerspawn le contraire
if(gTeam[playerid] == team1)
{
    team1 ++ ;
}
if(gTeam[playerid] == team2)
{
    team2 ++ ;
}

de meme dans le onplayerdisconnect
if(gTeam[playerid] == team1)
{
    team1 -- ;
}
if(gTeam[playerid] == team2)
{
    team2 -- ;
}

un truc du genre
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Compter les joueur d'une team
« Réponse #4 le: 30 Juin 2009, 12:55:47 »
Ouais ya surement des faille, car des fois ca change de team sans qu'on meurt ...
Et oui tres complexe.
J'aurai pensé a mettre dans un timer un system avec une boucle, qui compte les joueur des team et qui les met dans des variables ...

++
nikko

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Compter les joueur d'une team
« Réponse #5 le: 01 Juillet 2009, 00:23:07 »
Salut,

si tu n'utilise pas trop souvent cette valeur, tu peut très bien faire une boucle qui teste tous les joueurs quand tu as besoin de la donnée, voici une fonction qui peut le faire:

GetTeamPlayerCount(teamID)
{
    new count = 0;
    for( new i = 0; i < MAX_PLAYERS; i++)
    {
        if(gTeam[i] == teamID])
        {
            count++;
        }
    }
    return count;
}

ps. ce code ne fonctionne que si le gm utilise gTeam (il suffit de changer la variable dans le cas contraire), de plus la fonction assume que les joueurs non-connectés n'ont pas de team associée (voir INVALID_TEAM que tu peut définir) et que cette team ne sera pas testée

++Sim++





Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Compter les joueur d'une team
« Réponse #6 le: 01 Juillet 2009, 00:27:25 »
Merci beaucoup cest ce que je cherchais :)

++
nikko