Lastril Posté(e) le 19 septembre 2017 Posté(e) le 19 septembre 2017 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
KyloRen3600 Posté(e) le 19 septembre 2017 Posté(e) le 19 septembre 2017 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é ;)
Lastril Posté(e) le 20 septembre 2017 Auteur Posté(e) le 20 septembre 2017 Merci je testerai sous peu ton code.
Shelk Posté(e) le 20 septembre 2017 Posté(e) le 20 septembre 2017 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 :/
Lastril Posté(e) le 20 septembre 2017 Auteur Posté(e) le 20 septembre 2017 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 :)
Shelk Posté(e) le 20 septembre 2017 Posté(e) le 20 septembre 2017 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}%"
Lastril Posté(e) le 20 septembre 2017 Auteur Posté(e) le 20 septembre 2017 Merci beaucoup, tous marche Shelk
Shelk Posté(e) le 20 septembre 2017 Posté(e) le 20 septembre 2017 Pas de problème et passe en résolu ;)
KyloRen3600 Posté(e) le 20 septembre 2017 Posté(e) le 20 septembre 2017 Mon code n ecrit rien dans le tchat ? Tu as du oublié de mettre la dernière ligne je pense :) Sinon gg Shelk ;)
Shelk Posté(e) le 20 septembre 2017 Posté(e) le 20 septembre 2017 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.
KyloRen3600 Posté(e) le 20 septembre 2017 Posté(e) le 20 septembre 2017 Sinon il fallait passer par une liste qui checker tout les joueurs puis on choisissait un joueur et on le supprimait de la liste mais c est galere à faire sur tel ;)
Shelk Posté(e) le 20 septembre 2017 Posté(e) le 20 septembre 2017 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%"
Shelk Posté(e) le 20 septembre 2017 Posté(e) le 20 septembre 2017 Oé bah il est capable de le rajouter c'est juste un oubli xD 1
GauvainWizard Posté(e) le 24 septembre 2017 Posté(e) le 24 septembre 2017 YO TOUT LE MONDE C'EST GAUVAIN Aujourd'hui on déplace des sujets
Messages recommandés