Bonjour à tous,
Je vous expose mon soucis en espérant que vous puissiez m'aider. Je fais un event sur mon serveur en local pour apprendre le pawn, dans cet event je veux faire en sorte que le nombre de joueurs de chaque team soit compté. Prenons l'exemple de la team BALLAS.
J'ai donc initialisé la variable BallasInEvent à 0 tout en haut de mon GM
- à chaque fois qu'un BALLAS rejoint l'event, je met dans la commande pour rejoindre l'event :
BallasInEvent++;
- à chaque fois qu'un Ballas meurt ou se déconnecte, je met dans OnPlayerDeath et OnPlayerDisconnect :
if(IsInEvent[playerid] == 1 && gTeam[playerid] == BALLAS)
{
BallasInEvent--; // Décrémentation de la variable
new phrase[256];
format(phrase,sizeof(phrase),"BallasInEvent : %d" ,BallasInEvent);
SendClientMessageToAll(VERT,phrase); // Permet de m'afficher la valeur de la variable juste pour voir si mon script fonctionne bien.
}
Avec ce code, j'ai le résultat suivant :
- Quand le premier joueur rejoint l'event, la variable passe à 0, alors qu'elle est déjà initialisé à 0. Puis ensuite elle s'incrémente bien et passe à 1 puis à 2 etc. Pourquoi ?
- Quand un joueur meurt, la variable s'actualise et affiche toujours la même valeur du nombre de Ballas présent dans l'event, elle ne se décrémente pas de 1. Pourquoi ?
Je tiens à préciser que j'ai bien vérifier si la variable s'incrémentais autre part en même temps qu'elle se décrémentais, ce qui expliquerais qu'elle ne se décrémente pas de 1, et la réponse est non. Merci de m'éclairer...