• 23 Avril 2025, 21:40:08


Auteur Sujet: Limiter le nombre de joueurs max dans une équipe  (Lu 760 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne coco76640

  • *
  • Nouveau
  • Messages: 15
    • Voir le profil
Limiter le nombre de joueurs max dans une équipe
« le: 11 Octobre 2011, 17:18:00 »
Bonjour, dans mon serveur Zombie, il y a deux équipes: humains et zombies

Le problème c'est que tout le monde se met humain et le jeu ne se fais pas car du coup il n'y a pas de zombie.

Ce que je voudrais c'est limiter le nombre de joueurs dans chaque équipe. Et que cette limite augmente en fonction du nombre de connecté.

Si je met une limite fixe, genre "limite humain = 10" il pourrat y avoir 10 humains et 1 zombies. Du coup je voudrais que cette limite augmente ou diminue proportionelement en fonction du nombre de joueurs.

Je me suis cassé la tete tout l'apres midi....  :wall Need your help  :P

Merci

 

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : Limiter le nombre de joueurs max dans une équipe
« Réponse #1 le: 11 Octobre 2011, 18:25:49 »
Tu créer 2 variables :

new Humain;
new Zombie;

quand un joueur sélectionne Humain tu l'incrémente en fessant :

new Humain++;
ou
new Zombie++;
ce qui ajoute 1 tu est d'accord ?

Et la vient le détail dans le OnPlayerRequestClasse tu fais une vérifiquation avec une multiplication ou un + a toi de voir ou bien tu vérifies si le nombre d'humain est > (supérieur strictement) a celui des zombie !

En exemple :
if(Humain < Zombie)
{
//Tu le spawn
}
else
{
//Tu lui envoi un message d'erreur !
}

A toi de voir comme dit plus haut !

EDIT : N'oublie pas de décrémenté la variable avec Humain--; quand il le faut !
« Modifié: 11 Octobre 2011, 18:37:25 par Xolokos »
Nippah !

Hors ligne spiirou

  • *
  • L'avenir appartient à ceux qui se lèvent
  • Messages: 866
    • Voir le profil
Re : Limiter le nombre de joueurs max dans une équipe
« Réponse #2 le: 11 Octobre 2011, 18:32:56 »
Ne pas oublier de decrementer a la deconnection ou au changement d'equipe ;)

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : Limiter le nombre de joueurs max dans une équipe
« Réponse #3 le: 11 Octobre 2011, 18:33:26 »
J'avais oublier en plus :bouley:.
Nippah !

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Limiter le nombre de joueurs max dans une équipe
« Réponse #4 le: 11 Octobre 2011, 19:38:01 »
J'opterais pour seulement fixer une valeur d'écart.

Hors ligne coco76640

  • *
  • Nouveau
  • Messages: 15
    • Voir le profil
Re : Limiter le nombre de joueurs max dans une équipe
« Réponse #5 le: 11 Octobre 2011, 19:56:24 »
Voici ce que j'ai fais:

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerWeather(playerid,20);
    SetPlayerTime(playerid, 20, 0);
    SetupPlayerForClassSelection(playerid);
    if(classid >= 12 && classid <= 162) {
if (zombie > humain)
{
        GameTextForPlayer(playerid,"~b~Humains",5000,6);
        gTeam[playerid] = TEAM_HUMAN;
        humain = humain + 1;
        }
        else
        {
        SendClientMessage(playerid,COLOR_YELLOW,"ERREUR: Il y a trop d'humains, veuillez sélectionner zombie");
        SendClientMessage(playerid,COLOR_YELLOW,"ERROR: They're too many humans, please select zombie!");
        SendClientMessage(playerid,COLOR_YELLOW,"ERROR: hay demasiados humanos, por favor, seleccione zombie");
        }
       
    }
    else if(classid >= 0 && classid <= 11) {
        if (zombie < humain)
        {
        gTeam[playerid] = TEAM_ZOMBIE;
        GameTextForPlayer(playerid,"~p~Zombies",5000,6);
        zombie = zombie + 1;
        }
        else
        {
        SendClientMessage(playerid,COLOR_YELLOW,"ERREUR: Il y a trop de zombies, veuillez sélectionner humain");
        SendClientMessage(playerid,COLOR_YELLOW,"ERROR: They're too many zombies, please select human!");
        SendClientMessage(playerid,COLOR_YELLOW,"ERROR: hay demasiados zombies, por favor, seleccione humano");
        }
       
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
if (gTeam[playerid] == TEAM_HUMAN)
{
humain = humain - 1;
}
else if (gTeam[playerid] == TEAM_ZOMBIE)
{
zombie = zombie - 1;
}
    TextDrawDestroy(HealthBar[playerid]);
    return 1;
}

Qu'en pensez vous? Au passage merci d'avoir répondu.