Aller au contenu

Question

Posté(e)

Version de Minecraft : 1.14
Version de Skript 
2.4-alpha2

Type du skript : Tirage au sort

 

Bonjour, j'ai créer un mini-jeu où un joueur est tirer au sort pour qu'il devienne "Roi" mais je ne sais pas comment faire pour que le tirage au sort ne prenne que les joueurs qui souhaite faire une partie  et non pas que le skript sélectionne un joueur parmi les joueurs de tout le serveur.

 

loop all players:
                add loop-player to {_tirageAuSort::*}
            set {_random} to random element out of {_tirageAuSort::*}

 

7 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Mmmh ça dépend tout simplement de comment tu sais qu'un joueur est dans la partie.

Si par exemple, t'as une liste des joueurs {MonJeu.MaPartie.Joueurs::*}, tu peux fouiller dedans directement :

loop {MonJeu.MaPartie.Joueurs::*}:

Ou si pour chaque joueur du serveur, t'as une variable qui indique le nom de la partie dans laquelle il est, tu peux le tester avec une condition pour chaque joueur :

loop all players:
	if {Partie.%loop-player%} is "MaPartie":
		...

 

  • J'aime 1
  • 0
Posté(e)
Il y a 3 heures, Baskiller45 a dit :

Version de Minecraft : 1.14
Version de Skript 
2.4-alpha2

Type du skript : Tirage au sort

 

Bonjour, j'ai créer un mini-jeu où un joueur est tirer au sort pour qu'il devienne "Roi" mais je ne sais pas comment faire pour que le tirage au sort ne prenne que les joueurs qui souhaite faire une partie  et non pas que le skript sélectionne un joueur parmi les joueurs de tout le serveur.

 


loop all players:
                add loop-player to {_tirageAuSort::*}
            set {_random} to random element out of {_tirageAuSort::*}

 

Je pense que tu devrais faire un truc du genre:

if {{_random}.playeringame} is equal to 1:
	#ton code

et après t'as juste à faire ta partie de code pour faire que si les joueurs entrent dans la game ça passe à 1 et de base à 0 😛

En espérant avoir aidé 🙂

  • J'aime 1
  • 0
Posté(e) (modifié)

Voici le programme entier, comment je pourrais l'intégrer ?

Il faudrait aussi que le reste des joueurs soit désigné par une variable. Merci.

command /ButcherTheKing join:
    description: Rejoins une partie de ButcherTheKing
    permission: join.butchertheking.sk
    executable by: player
    permisison message: &f[&cButcher&eThe&cKing&f]&c Tu n'as pas la permisison d'éxécutez cette commande !
    aliases: /btk join
    trigger:
        if {_waitingroom.butchertheking} is set:
            set {%player%.wait.butchertheking} to 1
            set player's inventory to {%player%.inventory.butchertheking}
            clear player's inventory
            clear player's effects
            teleport the player to {_waitingroom.butchertheking}
            send "{@Prefix}&aTu as rejoint la file d'attente pour rejoindre une partie de ButcherTheKing."
            loop all players:
                add loop-player to {_tirageAuSort::*}
            set {_random} to random element out of {_tirageAuSort::*}
            broadcast "{@prefix} %{_random}% a gagné le tirage au sort"
        else:
            send "{@Prefix}&cLe salon d'attente n'est pas défini !" to player

 

Modifié par Baskiller45
  • 0
Posté(e)

Si j'ai bien compris,  ce morceau de code est ce qui permet de s'inscrire. ( Qui définit en autre par la variable {%player%.wait.butchertheking} si un joueur participe )

Le plus simple serait non pas de dire si un joueur participe mais plutôt quels sont les joueurs qui participent

Plus concrètement :

A la place d'avoir une variable qui dit qu'un joueur participe il serait plus judicieux d'opter pour une liste qui contient tous les joueurs qui participent.

A ce moment tu n'auras plus qu'à tirer un joueur de la liste au hasard. Tu devrais trouver ton bonheur ici :https://skript-mc.fr/forum/topic/7202-give-de-random-element/

 

  • 0
Posté(e) (modifié)

Problème résolu, j'ai observé sur plusieurs autres skripts et j'ai changé le format. Merci beaucoup.

         		  loop all players:
                        add loop-player to {_tirageAuSort::*}
                        set {_number.butchertheking} to the number of lopped players
                    set {_random} to random element out of {_tirageAuSort::*}
                    set {_roi.butchertheking} to {_random}
                    set {_joueurs.butchertheking} to {_tirageAuSort::*}
                    remove {_random} from {_tirageAuSort::*}
                    set {_butchers.butchertheking} to {_tirageAuSort::*}
                    delete {_random}
                    delete {_tirageAuSort::*}
                    send "{@Prefix}{_roi.butchertheking} a été selectionné pour être le Roi !" to {_joueurs.butchertheking}

 

Modifié par Baskiller45
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.