• 30 Juin 2025, 01:23:45


Auteur Sujet: Equilibrage auto de 4 Team par le RequestSpawn  (Lu 2309 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Khay

  • *
  • Criminel
  • Messages: 32
    • Voir le profil
Equilibrage auto de 4 Team par le RequestSpawn
« le: 19 Août 2011, 06:32:09 »
Bonsoir, je voudrais créer un systeme d'équilibrage pour 4 Team

Ou j'en suis sur c'est qu'il faut que j'utilise L’événement OnPlayerRequestSpawn

Donc j'ai cherché sur le net quelques exemple et avec quelques idées sa a donné ceci

Citer
if(grove > ballas  || grove > vagos || grove > lspd  && gTeam[playerid] == TEAM_GROVE )
    {
     SendClientMessage(playerid, COLOR_ROUGE, "Cet Team est Full!");
     return 0;
      }

   else if (ballas > grove || ballas > vagos || ballas > lspd  && gTeam[playerid] == TEAM_BALLAS)
   {
   SendClientMessage(playerid, COLOR_ROUGE, "Cet Team est full!");
   return 0;
   }
   
   if (vagos > grove || vagos > ballas || vagos > lspd && gTeam[playerid] == TEAM_VAGOS)
   {
   SendClientMessage(playerid, COLOR_ROUGE, "Cet Team est full!");
   return 0;
   }

   if (lspd > grove || lspd > vagos || lspd > ballas && gTeam[playerid] == TEAM_LSPD)
   {
   SendClientMessage(playerid, COLOR_ROUGE, "Cet Team est full!");
   return 0;
   }

Jusque là on est Ok (du moins je pense)

Donc faut incrémenté et décrémenté la variable ou il faut

Citer
   if (gTeam[playerid] == TEAM_GROVE)
      {
      grove--;
      }
      
   else if (gTeam[playerid] == TEAM_BALLAS)
       {
       ballas--;
        }
        
     else if (gTeam[playerid] == TEAM_VAGOS)
       {
       vagos--;
        }
        
    else if (gTeam[playerid] == TEAM_LSPD)
       {
       lspd--;
        }

dans public OnPlayerDisconnect et OnPlayerDeath on décrémente

et on incrémente quand le player Spawn


Citer
   if (gTeam[playerid] == TEAM_GROVE)
      {
      grove++;
      }
      
   else if (gTeam[playerid] == TEAM_BALLAS)
       {
       ballas++;
        }
        
     else if (gTeam[playerid] == TEAM_VAGOS)
       {
       vagos++;
        }
        
    else if (gTeam[playerid] == TEAM_LSPD)
       {
       lspd++;
        }

Le probleme en réfléchissant un peu, Ok il spawn sa rajoute +1 a la variable, mais disons que la personne bug avant de spawn ou déco avant de spawn pour X raison donc de là il y a une erreur

Ensuite si le player meurt ok sa fais -1 et sa rajoute + 1 quand sa spawn on est ok mais si quelqu'un spawn avant qu'il respawn(peu propable mais qui arrivera un jour ou l'autre)

Vu que j'ai un /changeteam qui kill sa fera aussi une erreur je pense dans le défilement, j'ai pensé à incrémenté lors du /changeteam mais disons aussi que la personne /changeteam plusieurs fois par erreur ou /changeteam avant de spawn


Enfin Bref j'ai la tete en surchauffe je ne connais pas d'autres moyen de régler sa ^^ si vous avez une idée ce serait sympa pour m'aider ^^




« Modifié: 20 Août 2011, 00:56:46 par Khay »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Equilibrage de 4 Team
« Réponse #1 le: 19 Août 2011, 06:34:44 »
Dans ton second code, tu n'incrémente pas, tu décrémente.

OnPlayerDisconnect - SA-MP Wiki

Hors ligne Khay

  • *
  • Criminel
  • Messages: 32
    • Voir le profil
Re : Equilibrage de 4 Team
« Réponse #2 le: 19 Août 2011, 14:24:28 »
Oui désolé je confonds décrémenté et incrémenté mais l'usage je sais le faire ^^ (j'ai edit pour que sa soit plus précis)

Mais sa m'aide pas ma façon de faire n'est pas viable je pense mais je sais vraiment pas comment faire autrement, le callback que tu m'as donné va pas me servir ^^

Double post
Personne pour m'aider ? ^^ si j'ai pas été assez clair dites moi je m'explique mal quelques fois
 double post
« Modifié: 20 Août 2011, 00:57:13 par Khay »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Equilibrage auto de 4 Team par le RequestSpawn
« Réponse #3 le: 20 Août 2011, 12:44:46 »
Je t'ai donné une partie de la solution mais tu ne veux pas travailler.

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Re : Equilibrage de 4 Team
« Réponse #4 le: 20 Août 2011, 12:52:19 »
Dans ton second code, tu n'incrémente pas, tu décrémente.

OnPlayerDisconnect - SA-MP Wiki

tout est dit la au pire si il y a un mot que tu ne comprend pas go le dictionnaire au fand du tiroire en bas a droite :p
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 Khay

  • *
  • Criminel
  • Messages: 32
    • Voir le profil
Re : Equilibrage auto de 4 Team par le RequestSpawn
« Réponse #5 le: 20 Août 2011, 14:09:34 »
Quand tu dis que je décrémente pas tu parles du 2 eme code

Citer
if(grove > ballas  || grove > vagos || grove > lspd  && gTeam[playerid] == TEAM_GROVE )
    {
     SendClientMessage(playerid, COLOR_ROUGE, "Cet Team est Full!");
     return 0;
      }

else if (ballas > grove || ballas > vagos || ballas > lspd  && gTeam[playerid] == TEAM_BALLAS)
   {
   SendClientMessage(playerid, COLOR_ROUGE, "Cet Team est full!");
   return 0;
   }

  
   if (vagos > grove || vagos > ballas || vagos > lspd && gTeam[playerid] == TEAM_VAGOS)
   {
   SendClientMessage(playerid, COLOR_ROUGE, "Cet Team est full!");
   return 0;
   }

   if (lspd > grove || lspd > vagos || lspd > ballas && gTeam[playerid] == TEAM_LSPD)
   {
   SendClientMessage(playerid, COLOR_ROUGE, "Cet Team est full!");
   return 0;
   }

Quand tu parlais du second code tu parlais de ce que j'ai surligné et mis en Gras? Car la 2 eme citation c'est ou je décrémente c'est pour sa que je pensais peut être que tu parlais de ma 2 eme citation dans mon Premier message

Si c'est le cas le "else if" c'était Juste un test sinon j’utilise comme les autres "if" qui revenait au même

Mais je pense peut être avoir trouvé une solution à mon Problème il faudrait je pense que je fixe une "NO TEAM" et lorsque seulement la personne à spawn elle sera dans la "gTeam" Grove ou autres


Dans le disconnected vu que mon probleme était que j'avais pensé que si une personne déco avant de spawn sa mettre déjà un -1 hors que si je fixe une No Team il devra être spawn pour être fixé dans les GTeam Grove, Ballas etc donc le cursus serait bon jusque là

Ensuite j'incrémente dans le OnPlayerSpawn,

il reste à décrémenter encore une fois dans le OnPlayerDeath et comme la No Team est fixé, mon probleme était que si la personne flood le /kill ou le /changeteam il y aurait un probleme mais s'il doit être obligatoirement  dans une GTeam autre que la No Team pour que sa décrémente sa pourrait régler sa

Enfin Bref je test sa et je vous tiens au courant
« Modifié: 20 Août 2011, 14:16:30 par Khay »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Equilibrage auto de 4 Team par le RequestSpawn
« Réponse #6 le: 20 Août 2011, 16:01:05 »
Tu fais trop de choses inutiles.

Hors ligne Khay

  • *
  • Criminel
  • Messages: 32
    • Voir le profil
Re : Equilibrage auto de 4 Team par le RequestSpawn
« Réponse #7 le: 20 Août 2011, 18:31:59 »
Tu aurais une idée pour faire plus simple? En ayant 4 Team et sachant qu'il y a des cmd du genre /changeteam du moins du peu que je sais faire en pawn pour moi c'est la seul possibilité ^^ apres si vous avez une idée pour faire sa plus simplement je veux bien

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Equilibrage auto de 4 Team par le RequestSpawn
« Réponse #8 le: 20 Août 2011, 18:46:44 »
Une variable qui contient l'équipe du joueur, tous simplement.
Ensuite, soit tu utilises les fonctions évènementielles, soit tu te codes ta propre sélection d'équipe.

Hors ligne Khay

  • *
  • Criminel
  • Messages: 32
    • Voir le profil
Re : Equilibrage auto de 4 Team par le RequestSpawn
« Réponse #9 le: 21 Août 2011, 17:20:57 »
Mon probleme enfaite était sur le joueur était fixé dans une team dans le RequestClasse j'ai modifié pour que se soit seulement lorsque qie l'evenement RequestPawn est utilisé

En tout cas merci pour l'aide

Dans ton second code, tu n'incrémente pas, tu décrémente.

OnPlayerDisconnect - SA-MP Wiki

tout est dit la au pire si il y a un mot que tu ne comprend pas go le dictionnaire au fand du tiroire en bas a droite :p

Au pire tu peux allez demander à ta maman la signification du Mot Respect t'as du sauter cet étape, tu devras pas allez chercher loin dans sa chambre :)

Hors ligne spiirou

  • *
  • L'avenir appartient à ceux qui se lèvent
  • Messages: 866
    • Voir le profil
Re : Equilibrage auto de 4 Team par le RequestSpawn
« Réponse #10 le: 23 Août 2011, 22:08:36 »
Je pense qu'il n’était pas nécessaire de répondre de la sorte a cristab..
Aux admins : Je sais que ce post est inutile, mais parler de respect de cette façon, c'est l’hôpital qui se fout de la charité !

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Equilibrage auto de 4 Team par le RequestSpawn
« Réponse #11 le: 24 Août 2011, 02:00:29 »
Cristab fait partie de l'administration et je suis d'accord avec lui, c'est une accumulation, un ras-le-bol !

Hors ligne » Lukubi™

  • *
  • Soy el bico loco
  • Messages: 3282
    • Voir le profil
Re : Equilibrage auto de 4 Team par le RequestSpawn
« Réponse #12 le: 24 Août 2011, 02:27:43 »
Au pire vous arretez de voir de l'irrespect partout et de faire les paranoiaque persecuté et vous apprenez le sens du mot ironie. D'ou le :p a la fin de son post. :boulz

“Si la Terre est un endroit dangereux ce n’est pas à cause des hommes mauvais mais à cause des hommes bons qui ne font rien pour les empêcher.” (Albert Einstein).