Aller au contenu

Choisir joueurs aléatoire


Messages recommandés

Posté(e)

Bonjour, je suis en train de créer un skript mini-jeu et j'aurais besoin de d'un skript permettant de choisir des joueur (environ 3 ou 4) de façon aléatoire (je sais le faire mais uniquement avec 1 seul personne) donc j'espère que quelqu'un peut me donner un skript qui permet de choisir aléatoirement des joueurs (plusieurs, pas 1 personne, j'insiste)

 

Merci

Cordialement

Posté(e)

Je te fais ça tout de suite ;)

 

Edit

 

Command /a:
   Trigger:
       Loop all players:
           Add loop player to {_a::*}
       Wait 1 tick
       Set {_a} to a random element of {_a::*}
       Loop all players:
           If loop player isn't {_a}:
               Add loop player to {_b::*}
       Wait 1 tick
       Set {_b} to a random element of {_b::*}
        Loop all players:
            If loop player isn't {_a} or {_b}:
                Add loop player to {_c::*}
        Wait 1 tick
        Set {_c} to a random element of {_c::*}
        Send "%{_a}% % {_b}% % {_c}%"

 

Je suis conscient que le code peut être optimisé

Code non testé ;)

Posté(e)
Je te fais ça tout de suite ;)

 

Edit

 

Command /a:
   Trigger:
       Loop all players:
           Add loop player to {_a::*}
       Wait 1 tick
       Set {_a} to a random element of {_a::*}
       Loop all players:
           If loop player isn't {_a}:
               Add loop player to {_b::*}
       Wait 1 tick
       Set {_b} to a random element of {_b::*}
        Loop all players:
            If loop player isn't {_a} or {_b}:
                Add loop player to {_c::*}
        Wait 1 tick
        Set {_c} to a random element of {_c::*}
        Send "%{_a}% % {_b}% % {_c}%"

 

Je suis conscient que le code peut être optimisé

Code non testé ;)

Je comprends pas trop,pour choisir un certain nombre t'as qu'à faire ça non ?

command /random:
   trigger:
       loop all players:
           add loop-player to {_liste::*}
       set {_number} to 1
       loop 4 times:
           set {joueur%{_number}%} to random element out of {_liste::*}
           add 1 to {_number}
           wait a tick

Après c'est sûr que y'as des chances que y'auras plusieurs fois le même joueur si y'as pas beaucoup de joueurs sur le serv et dans ce cas la faudra revoir le code :/

Posté(e)

Kyloren3600, j'ai pris ton code et j'ai régler les erreurs de tabulation malheuresement, quand je fais la commande, rien n'est écrit sur le chat :/

Par contre, Shelk ton code fonctionne j'ai rajouté le message et c'est bon, ce qu'il me faudrait c'est juste faire en sorte que les personnes ne soit pas choisis plusieurs fois c'est tout. Si quelqu'un peut me le faire, ce serait génial. Et merci à vous 2 :)

Posté(e)

Je n'ai pas du tout test et je fais 50 vérif par joueur pour voir si il n'y est pas deux fois mais ça reste possible ...

command /random:
   trigger:
       set {_tempscommande} to now
       loop all players:
           add loop-player to {_liste::*}
       set {_number} to 1
       set {_number2} to 1
       loop 3 times:
           set {joueur%{_number}%} to random element out of {_liste::*}
           wait a tick
           add 1 to {_number}
           set {joueur%{_number}%} to random element out of {_liste::*}
           add 1 to {_number2}
           loop 50 times:
               wait 1 tick
               if {joueur%{_number}%} is {joueur%{_number2}%}:
                   clear {joueur%{_number}%}
                   set {joueur%{_number}%} to random element out of {_liste::*}
       message "&aOpération réalisé en %difference between {_tempscommande} and now%"
       message "&cJoueurs aléatoires: &a%{joueur1}%-%{joueur2}%-%{joueur3}%-%{joueur4}%"

Posté(e)

xD

En vrai il est pas opti car je loop 50 fois pour voir si le joueur 1 et 2 par exemple sont les mêmes,mais y'auras bien un moment ou ça va pas marcher genre 2% de chance xD

De plus dedans je met un wait a tick pour pas faire bugué et comme 20 tick = une seconde,le chargement de cette commande prend forcément 2 secondes et demi minimum.

Posté(e)

Ah mais oui pas con attends je le refais j'y avais pas pensé jme suis embrouillé à mort t'es un génie xD

@Lastril met ça beaucoup plus opti et pas de loop 50 times comme un con xD

command /random:
   set {_tempscommande} to now
   loop all players:
       add loop-player to {_WAW::*}
   set {_NombreMagnifique} to 1
   loop 4 times:
       set {joueur%{_NombreMagnifique}%} to random element out of {_WAW::*}
       remove {joueur%{_NombreMagnifique}%} from {_WAW::*}
       add 1 to {_NombreMagnifique}
   message "&c4 Joueurs aléatoires: %{joueur1}%-%{joueur2}%-%{joueur3}%-%{joueur4}%"
   message "&aTemps d'éxecution: %difference between {_tempscommande} and now%"

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.