CommandBlock Faire un équilibrage Joueur - Armor Stand

TheMisterObvious

Aventurier
15 Mars 2019
5
0
2
26
Bonjour/Bonsoir,

Dans le cadre d'une map multijoueur, je cherche à faire en sorte d'avoir exactement le même nombre de d'armor stand que de joueurs, cela me servira pour ceux qui auront ramassé des bonus et leur mette des effets tels qu'une couronne de feu sur le tête, pour tp les armor stand aux joueurs jai deja trouvé la solution, voici ma commande (pour ceux qui aurait été en galère sur ce point)
Code:
/tp @e[type=armor_stand,tag=MON_TAG] @r
contrairement à ceux qu'on pourrait croire, Minecraft va prendre un armor stand et le tp sur 1 joueur (au hasard) mais 1 joueur n'aura jamais 2 armor_stand tp à lui (après pas mal de test avec 6 comptes prêtés peux vous le confirmer), mais bref, après avoir trouver le moyen de tp les armor stand à un joueur sans qu'il y en est 2 sur lui en meme temps, je dois maintenant trouver comment avoir le même nombre d'armor stand que de joueurs (en kill/summon un armor stand si il y en à plus/moins). Désoler si se n'est pas très clair, je n'ai pas l'habitude de faire un post car d'habitude je vais voir directement chercher sur ceux déjà existant et résolu mais là je n'ai rien trouvé sur le sujet.

Je remercie d'avance ceux qui répondront à ce poste et qui me proposeront des solutions.

Disclaimer: pour les "cosmetiques" de quand quelqu'un à un bonus, je ne le fais pas directement sur le joueur car certain "cosmétiques" sont plus réussi avec les armor stand (allez savoir pourquoi).
 

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
Yo !

Alors, OK pour le @r qui résoud tes problèmes d'armor sand unique. Cependant, laisser le hasard de cette mécanique en décider, c'est pas cool je pense =)

Ensuite, pour ton soucis : on va utiliser un scoreboard ! Tu connais ?
Quel est ton niveau en commandes ?
 

FunkyToc

Map Baker
26 Mars 2013
511
112
155
33
France, Paris
funkytoc.fr
Heu, j'ai relu ton message, et je pense qu'il y a encore plus simple !
Si j'ai bien compris, tu veux simplement que chaque joueur ai une armor stand tp sur lui en permanence ?

Dans ce cas, tu summon une armor stand par joueur (Repeat / Always Active) :
Code:
/execute as @a at @s unless entity @e[type=armor_stand,tag=MON_TAG,distance=..1] run summon minecraft:armor_stand ~ ~ ~ {Tags:["MON_TAG"]}

Puis pour la tp (Repeat / Always Active) :
Code:
/execute as @a at @s run tp @e[type=armor_stand,tag=MON_TAG,limit=1,sort=nearest] ~ ~ ~

Et tu supprimes les armor stand orphelines (Repeat / Always Active):
Code:
/execute as @e[type=armor_stand,tag=MON_TAG] at @s unless entity @p[distance=0] run kill @s

Voilà, à toi d'ajuster si besoin !
NB : la tp d'amure prend quelques centièmes de seconde, il n'y a rien a faire de ce coté.

2019-03-15_17.09.17.png 2019-03-15_17.09.21.png
 
Dernière édition:

TheMisterObvious

Aventurier
15 Mars 2019
5
0
2
26
Cela ne marche pas, il me dit (dans chaque command block) :
Code:
 Entity 'as' connot be found

Edit: je viens de voir que ces commandes marchent en 1.13 sauf que je suis en 1.12.2 (désolé j'ai oublié de le précisé) mais j'ai aussi vu que avant la commande pour faire se était le /stats, je vais donc tester sa et je rééditerai ce message avex ma solution, si cela marchent.

Reédit: cela ne marche pas.
 
Dernière édition:

Eglaios

Crétin de la commu
14 Avril 2018
310
42
89
24
En 1.12, le /execute est plus restreint... En fait, je crois qu'il n'y a aucun moyen d'assigner un porte-armure à chaque joueur avant la 1.13, vu que ce n'est qu'à partir de celle-ci qu'on peut comparer deux entités via les sélecteurs...
J'aurai une idée de mini-système d'"UUID" pour assigner un porte-armures par joueur en 1.13 si jamais tu le voulais...

Tu peux faire le système de FunkyToc en 1.12 aussi, mais ce genre de chose a plein d'inconvénients :
-Nécessite des blocs de commande à répétition
-Grosse gestion d'entités, plein de sélecteurs
-Quand 2 joueurs sont trop proches, risque d'échange de porte-armures
-En 1.12, tu seras presque obligé de détecter les joueurs connectés (Encore plus de blocs à répétition)

Avec tout ça, c'est pas sûr à 100% et surtout, ça augmente le lag... Tu as sûrement déjà vu des maps super, mais qui avaient des chutes de FPS tellement les systèmes étaient gros... Peut-être que si tu priorises la fluidité avant la qualité, tu devrait tout simplement éviter les cosmétiques...


Mais personnellement, je ne comprends pas, ta question n'est pas précise :
"Disclaimer: pour les "cosmetiques" de quand quelqu'un à un bonus, je ne le fais pas directement sur le joueur car certain "cosmétiques" sont plus réussi avec les armor stand (allez savoir pourquoi)."

Qu'est-ce que tu n'arrives pas à faire sans les porte-armure?
Je pense qu'il serait plus facile d'essayer de trouver un système pour adapter ces cosmétiques sans porte-armure... Tu pourrais préciser ta requète sur ce point-là?
 
Dernière édition: