CommandBlock Mini-Jeu d'arène

  • Auteur de la discussion Auteur de la discussion Ak4ash
  • Date de début Date de début

Ak4ash

Cookie des plaines
6 Septembre 2015
8
0
12
Bonjour/Bonsoir je construit actuellement un mini-jeu inspiré du jeu "Bomberman" et j'aimerais que les joueurs soient kick de l'arène lorsqu'il n'en reste qu'un (le dernier sera kick quelques secondes après) et juste tp au dessus si il en reste plusieurs. J'ai aussi besoin que l'arène se reforme une fois qu'il n'y a plus de joueurs dedans. Comment m'y prendre ? :confused:
2019-06-01_18.27.21.png
 
Bonjour, je suis pas très fort en redstone , mais j'pense que si tu mets un :
Code:
/testfor @a[team=Bomber]
Faudra que tu crées la team et que tu fasse joint les joueurs avec :
Code:
/scoreboard teams create Bomber
Code:
/scoreboard trams join Bomber @p
Et le scoreboard a toi de voir si tu veux le mettre mais après ton testfor tu met un comparator , puis 2 fils de restones (sans repeater , comme sa en fonction du nombre de joueur , le système s'activera ou non , et a coté du deuxième fil , tu met une torche de redstone qui activera tout le système souhaité (si il y a des joueurs : la torche de redstone sera éteinte donc le système éteint , mais si il n'y en a moins de 2 donc 1 seul -> le système s'activera )
 
Ben voici une alternative :
-Créer un score comptant le nombre de morts de joueurs (minecraft.custom:minecraft.deaths ou un truc comme ça)
-Créer un score pour compter les joueurs et ajouter un joueur fictif sur lequel stocker ce nombre
-Ajouter le tag "Playing" et reset le score de morts à tous les joueurs rejoignant le jeu
-Lorsqu'un joueur meurt (score de morts à 1), lui retirer le tag "Playing" et le téléporter. Tu ajouteras une commande pour déclencher la fin du jeu s'il ne reste qu'un joueur

Voilà à peu près ce que ça donnerait en commandes (prévu pour un système à blocs de commande) :

Commandes à exécuter pour la mise en place du système :
/scoreboard objectives add Morts minecraft.custom:minecraft.deaths //score pour compter les morts, type de l'objectif à vérifier
/scoreboard objectives add PlayerCount dummy //score pour compter le nombre de joueurs
/scoreboard players set Joueurs PlayerCount 0 //établissement du joueur fictif pour stocker le nombre de joueurs


Commandes à exécuter pour chaque joueur rejoignant la partie :
/tag @s add Playing
/scoreboard players reset @s Morts


Commandes à exécuter à répétition durant la partie (Tout en chaîne, sauf le premier, en répétition; à désactiver si la partie n'est pas en cours, ça fait toujours plus fluide) :
[Répétition] /tag @a[tag=Playing,scores={Morts=1..}] remove Playing
[Conditionnel] /scoreboard players set Joueurs PlayerCount 0
[Conditionnel] /execute as @a[tag=Playing] run scoreboard players add Joueurs PlayerCount 1
[Conditionnel] /execute if score Joueurs PlayerCount matches 1 run [commande pour déclencher la fin de la partie]
[Inconditionnel] /execute if entity @a[tag=Playing,scores={Morts=1..}] unless score Joueurs PlayerCount matches 1 run tellraw @a ["",
{"translate":"%s est mort! Joueurs restants : ","with":[{"selector":"@a[tag=Playing,scores={Morts=1..},limit=1]"}],"color":"red"},
{"score":{"name":"Joueurs","objective":"PlayerCount"},"color":"dark_red"}]
[Inconditionnel] /execute if entity @a[tag=Playing,scores={Morts=1..}] if score Joueurs PlayerCount matches 1 run tellraw @a ["",
{"translate":"%s est mort! ","with":[{"selector":"@a[tag=Playing,scores={Morts=1..},limit=1]"}],"color":"red"}, {"translate":
"Dernier survivant : %s : ","with":[{"selector":"@a[tag=Playing,scores=!{Morts=1..},limit=1]"}],"color":"green"}]


Pour les /tellraw, c'est censé afficher le nom du joueur mort ainsi que soit le nombre de joueurs restants ou le nom du joueur gagnant,
dépendant du nombre de joueurs restants... Normalement, ça marche, mais j'ai pas vérifié...

Voilà de quoi ça a l'air... Si tu rencontres de problèmes, fais m'en part!