CommandBlock Faire un équilibrage Joueur - Armor Stand

Discussion dans 'Support Command Blocks' créé par TheMisterObvious, 15 Mars 2019, à 01:49.

  1. TheMisterObvious

    Inscrit:
    Vendredi
    Messages:
    4
    J'aime reçus:
    0
    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).
     
  2. FunkyToc

    FunkyToc Map Baker

    Inscrit:
    26 Mars 2013
    Messages:
    457
    J'aime reçus:
    103
    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 ?
     
  3. TheMisterObvious

    Inscrit:
    Vendredi
    Messages:
    4
    J'aime reçus:
    0
    Oui je connais et ne t'en fait pas pour le @r, j'ai déjà tout résolu de se coter là.
     
  4. FunkyToc

    FunkyToc Map Baker

    Inscrit:
    26 Mars 2013
    Messages:
    457
    J'aime reçus:
    103
    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
     
    #4 FunkyToc, 15 Mars 2019, à 17:03
    Dernière édition: 17 Mars 2019, à 21:23
  5. TheMisterObvious

    Inscrit:
    Vendredi
    Messages:
    4
    J'aime reçus:
    0
    Merci beaucoup !
    Je test sa et si c'est bon je lock.
     
  6. TheMisterObvious

    Inscrit:
    Vendredi
    Messages:
    4
    J'aime reçus:
    0
    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.
     
    #6 TheMisterObvious, 15 Mars 2019, à 17:56
    Dernière édition: 15 Mars 2019, à 21:14
  7. Eglaios

    Eglaios Explorateur de cavernes

    Inscrit:
    14 Avril 2018
    Messages:
    53
    J'aime reçus:
    4
    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à?
     
    #7 Eglaios, 17 Mars 2019, à 17:57
    Dernière édition: 18 Mars 2019, à 14:02

Partager cette page