Aller au contenu
  • 0

Définir une équipe aléatoire pour X personnes


Question

Posté(e)

Bonjour,

 

Je cherche à définir le nombre de personne rejoignant aléatoirement une équipe, je m'explique par le biais d'un exemple :

 

Nous sommes 5 connectés, je souhaite qu'il y est 3 personnes dans l'équipe verte, mais je souhaite qu'il y est 2 personne dans l'équipe jaune

 

Comment puis-je faire si ce n'est définir pleins de fois la variable :

set {_randomGreen} to random integer from 1 to {_Playercount}
set {_randomGreen2} to random integer from 1 to {_Playercount}
set {_randomGreen3} to random integer from 1 to {_Playercount}
set {_randomYellow} to random integer from 1 to {_Playercount}
set {_randomYellow2} to random integer from 1 to {_Playercount}
etc..

 

Y a t-il pas un moyen plus propre afin de faire ça ?

Mon code actuel : https://hastebin.com/pafedujigo.sql

 

Merci à vous.

16 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bonjour,

Voici pour vous :)

#<-- Récupére une liste de joueurs -->       

set {_listPlyer::*} to all players
loop 5 times:

   #<-- Séléctionne un joueur aléatoirement dans la liste -->
   set {_player} to a random object out of {_listPlyer::*}

   #<-- Utilise les chiffres paire et impaire pour faire une fois sur deux
   if loop-number mod 2 = 1:
       add {_player} to {_Green::*}
   else:
       add {_player} to {_Yellow::*}

   #<-- Retire le joueur de l'ancinne liste -->
   remove {_player} from {_listPlyer::*}

Si je vous ai aidez merci de lâcher un petit j'aime et de passer votre sujet en résolue ;)

  • J'aime 2
  • 0
Posté(e)
Bonjour,

Voici pour vous :)

#<-- Récupére une liste de joueurs -->    

set {_listPlyer::*} to all players
loop 5 times:

   #<-- Séléctionne un joueur aléatoirement dans la liste -->
   set {_player} to a random object out of {_listPlyer::*}

   #<-- Utilise les chiffres paire et impaire pour faire une fois sur deux
   if loop-number mod 2 = 1:
       add {_player} to {_Green::*}
   else:
       add {_player} to {_Yellow::*}

   #<-- Retire le joueur de l'ancinne liste -->
   remove {_player} from {_listPlyer::*}

Si je vous ai aidez merci de lâcher un petit j'aime et de passer votre sujet en résolue ;)

 

Bonjour,

Merci beaucoup de ta reponse ! Je test en rentrant, mais par exemple si je veux choisir 4 joueurs dans la team verte, et 6 dans la jaune, et 2 dans une nouvelle "bleu" comment puis-je faire ? Merci

 

EDIT : J'ai testé ton code @Spartan9802, ça ne fonctionne pas exactement : Le joueur reçoit plusieurs fois le message

 

Code actuel : https://hastebin.com/ugunacakaj.vbs

LpFS604.png

  • 0
Posté(e)

D'accord, j'ai pas testé le code je pense savoir pourquoi, ton /clear ne sert a rien les variables comme {_test} ou {_green::*} ce supprime a la fin c'est ce que l'on appelle des variables local ;)

 

Edit: corrigé :p

#<-- Récupére une liste de joueurs -->       
set {_listPlyer::*} to all players
loop 5 times:

   #<-- Séléctionne un joueur aléatoirement dans la liste -->
   set {_player.%loop-number%} to a random object out of {_listPlyer::*}

   #<-- Utilise les chiffres paire et impaire pour faire une fois sur deux
   if {_player.%loop-number%} is set:
       if loop-number mod 2 = 1:
           add {_player.%loop-number%} to {_Green::*}
       else:
           add {_player.%loop-number%} to {_Yellow::*}

       #<-- Retire le joueur de l'ancinne liste -->
       remove {_player.%loop-number%} from {_listPlyer::*}

  • 0
Posté(e)
D'accord, j'ai pas testé le code je pense savoir pourquoi, ton /clear ne sert a rien les variables comme {_test} ou {_green::*} ce supprime a la fin c'est ce que l'on appelle des variables local ;)

 

Edit: corrigé :p

#<-- Récupére une liste de joueurs -->      
set {_listPlyer::*} to all players
loop 5 times:

   #<-- Séléctionne un joueur aléatoirement dans la liste -->
   set {_player.%loop-number%} to a random object out of {_listPlyer::*}

   #<-- Utilise les chiffres paire et impaire pour faire une fois sur deux
   if {_player.%loop-number%} is set:
       if loop-number mod 2 = 1:
           add {_player.%loop-number%} to {_Green::*}
       else:
           add {_player.%loop-number%} to {_Yellow::*}

       #<-- Retire le joueur de l'ancinne liste -->
       remove {_player.%loop-number%} from {_listPlyer::*}

Bonsoir,

 

Ca fonctionne à la perfection désormais, mais il me reste encore une question :

Comment faire pour que je définisse en éxécutant la commande /test que 6 joueurs rejoignent l'équipe Verte, et 2 la Jaune (comment définir ça ?)

Merci beaucoup pour votre aide !

 

Skript actuel (si jamais) : https://hastebin.com/xemofoyofi.vbs

  • 0
Posté(e)
Bonsoir,

Humm simple question pourquoi faire ça ? x)

Dans un skript que je fais, j'intègre le fait de pouvoir choisir le nombre de joueurs par équipe dans la balise {Game.Rules::playersPerTeam}

imaginons, je définis cela sur 4, il y aura donc 4 joueurs par teams.

 

Je souhaiterais donc par exemple définir par une commande le choix des équipes random, mais que seulement 4 personnes soient par équipes.

 

Situation :

Nous avons Léa, Lucie, Jonathan, Nadia dans une partie.

J'ai défini au préalable le nombre de joueur par team à 2.

Je souhaite qu'en effectuant la commande /game teamrandom deux équipes de deux intègres les joueurs

(Je ne sais pas si t'as compris xD)

  • 0
Posté(e)
D'accord donc si je comprend bien si tu veux 5 joueurs dans l'équipe verte il y en auras également 5 dans la bleu ?

C'est tout à fait ça ! (Si assez de joueur bien évidemment) je souhaite définir le nombre de joueurs par teams (facile grâce une variable), et ensuite faire une sélection aléatoire des équipes entre par exemple la Bleu, la Rouge, la Verte

  • 0
Posté(e)

Voici pour toi :)

set {_listPlayer::*} to all players

#<-- Nombre de joueurs par team -->
set {_number} to arg number

#<-- Récupére une liste de joueurs -->       
loop {_number} times:

   #<-- Séléctionne un joueur aléatoirement dans la liste -->
   set {_player.%loop-number%} to a random object out of {_listPlayer::*}

   #<-- Utilise les chiffres paire et impaire pour faire une fois sur deux
   if {_player.%loop-number%} is set:
       if loop-number mod 2 = 1:
           add {_player.%loop-number%} to {_Green::*}
       else:
           add {_player.%loop-number%} to {_Yellow::*}

       #<-- Retire le joueur de l'ancinne liste -->
       remove {_player.%loop-number%} from {_listPlyer::*}

  • 0
Posté(e)
Voici pour toi :)

set {_listPlayer::*} to all players

#<-- Nombre de joueurs par team -->
set {_number} to arg number

#<-- Récupére une liste de joueurs -->      
loop {_number} times:

   #<-- Séléctionne un joueur aléatoirement dans la liste -->
   set {_player.%loop-number%} to a random object out of {_listPlayer::*}

   #<-- Utilise les chiffres paire et impaire pour faire une fois sur deux
   if {_player.%loop-number%} is set:
       if loop-number mod 2 = 1:
           add {_player.%loop-number%} to {_Green::*}
       else:
           add {_player.%loop-number%} to {_Yellow::*}

       #<-- Retire le joueur de l'ancinne liste -->
       remove {_player.%loop-number%} from {_listPlyer::*}

C'est toujours pas ce que je cherche, mais ce n'est pas grave je vais essayer de me débrouiller !

Merci pour ta persévérance à m'aider ;)

  • 0
Posté(e)
Bha sa change le nombre de joueurs maximum de joueur par equipe

Ouais, mais genre moi je cherchais à faire que en une commande ça définit aléatoirement dans une équipe les joueurs en fonction du nombre maximum ^^'

 

Mais t'inquiète ! Merci (:

  • 0
Posté(e)
Que sa change aléatoirement le nombre de joueur par équipe pour chaque équipe en se basant à un nombre max ?

Exemple:

Nombre max 10

Equipe 1 > 8

Equipe 2 > 3

Equipe 3 > 6

Ah, je me suis surement mal exprimé, désolé ! Non tout simplement que le nombre max reste et en faisant la commande pour définir aléatoirement ça définit les joueurs dans des équipes par 4 si configuré par exemple ^^

  • 0
Posté(e)
Bha c'est exactement le code qui est plus haut x)

Si tu fais

set {_number} to 20

Il y auras 10 joueurs dans ton équipe 1 et dans l'équipe 2 ^^

Ah d'accord ! Et comment rajouter une troisième équipe par exemple ?

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.