1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

sélecteur pour exécuter une commande

Discussion dans 'Redstone & Commands blocks' créé par bob conan, 20 Août 2020.

  1. bob conan

    bob conan Enter the World

    Inscrit:
    21 Juin 2014
    Messages:
    40
    Points:
    78
    Sexe:
    Homme
    Bonjour,

    Bien longtemps que je n'ai pas touché aux commandes blocs et je vois maintenant qu'il y a plein de possibilité...
    Je cherche un moyen de tp automatiquement les joueurs dans une dimension custom tant qu'ils n'ont pas eu un achievement précis (Getting Wood admettons)

    à l'inverse, je cherche une commande pour Tp les joueurs ayant eu cet achievement vers l'overworld

    Je m’emmêle les pinceaux avec les sélecteurs donc si quelqu'un me filait un coup de main je lui en serait reconnaissant.

    Merci d'avance!
     
  2. Chelocad

    Chelocad Bûcheron

    Inscrit:
    24 Avr 2020
    Messages:
    100
    Points:
    39
    Salut,
    Je pense que tu peux faire comme ça en exécutant ces commandes en boucle:

    Code (cpp):
    /execute as @a[advancements={<advancements>=true},tag=!passage] run execute in <dimension> run tp @p <x> <y> <z>

    /tag @a[nbt={Dimension:"<dimension>"},tag=!passage] add passage
    je tiens à préciser que ce passage est définitif, si tu souhaite qu'il ne le soit pas alors fait le moi savoir et je modifierai ces commandes.
     
    • J'aime J'aime x 1
  3. bob conan

    bob conan Enter the World

    Inscrit:
    21 Juin 2014
    Messages:
    40
    Points:
    78
    Sexe:
    Homme
    Merci beaucoup @Chelocad !
    ça va m’être super utile!!!
    un passage definitif etait le but!

    Maintenant je suis coincé sur un autre truc.
    Je souhaiterai qu'une entité que j'ai créé soit summon au dessus d'un joueur quand il s’éloigne d'un certain rayon d'un bloc. en x, en z mais pas en y.
    J'y arrive avec une espece de boule de detection autour du bloc mais je voudrais que le joueur puisse monter et descendre sans que la créature sooit summon...
     
  4. Chelocad

    Chelocad Bûcheron

    Inscrit:
    24 Avr 2020
    Messages:
    100
    Points:
    39
    Content de savoir que j'ai pu aidé.

    Pour ce qui est de ton entité j'aimerais savoir si elle sera unique (dans le sens où il y en aura une ou très peut) car ça simplifierait beaucoup de choses.
     
  5. bob conan

    bob conan Enter the World

    Inscrit:
    21 Juin 2014
    Messages:
    40
    Points:
    78
    Sexe:
    Homme
    Je voudrais qu'a 15 blocs au dessus de la tête d'un joueurse trouvant entre 50 et 70 blocs sur le plan horizontal du commande bloc soit invoqué deux ou 3 créatures de la création (des phantoms chevauchés par des squelettes).
    Je rencontre 2 problèmes :
    -Quand le joueur monte ou descend a + de 50 blocs la commande s'exécute (j'ai quand même envie qu'il puisse construire en hauteur et aller en cave)
    -quand le joueur se trouve entre 50 et 70 blocs du command block, la commande se répète en boucle et summon plein de bestioles...
     
  6. Chelocad

    Chelocad Bûcheron

    Inscrit:
    24 Avr 2020
    Messages:
    100
    Points:
    39
    Je peux te proposé une solution qui nécessite plusieurs command block, si tu veux en utilisé qu'un seul je t'invite à te penché sur les datapacks et fonctions (je pourrai t'aider ;))

    toute les commnd block doivent être à la même hauteur et cette fois ci l'ordre à un importance (il ne faut pas mélanger les /summon et les /tag) :

    Code (cpp):
    /execute at @a[type=player,dy=0,distance=50..70,tag=check] run summon <mob 1> ~ ~15 ~ {<nbt mob 1>}
    /execute at @a[type=player,dy=0,distance=50..70,tag=check] run summon <mob 2> ~ ~15 ~ {<nbt mob 2>}
    ...
    /execute at @a[type=player,dy=0,distance=50..70,tag=check] run summon <mob N> ~ ~15 ~ {<nbt mob N>}

    /tag @a[tag=!check,dy=<dy_crtl>] add check
    /tag @a[tag=check,dy=0] remove check
    dy_crtl correspond à la différence de hauteur à partir de laquelle les joueurs pourront refaire spawn les mobs
    vu que les command block ne peuvent se super posé il est possible qu'en bordure des rayons de contrôle tout les mobs ne spawn pas (si c'est vraiment dérangeant je te redirige vers les datapacks)
     
  7. bob conan

    bob conan Enter the World

    Inscrit:
    21 Juin 2014
    Messages:
    40
    Points:
    78
    Sexe:
    Homme
    Je viens de tester... pas de grand résultat :(
    D'une part le "type=player" n'a pas l'air d'etre accepter par le commande bloc (pas grave, je l'ai viré, je pense que ça n'ai pas grande importance puisque @a ne s'applique que sur les joueurs)
    ensuite je ne comprend pas (en jeu) le moment ou le joueur est "check"...

    Je pense avoir trouvé une solution avec 4 commande bloc situés au niveau de la bedrock selon ce schéma là: [​IMG]

    Chaque commande bloc s'occupe d'un rectangle, ce qui permet d'exclure le carré du milieu.
    Ex pour le commande bloc en bas de l'image:
    Code (cpp):
    R/U/A-->/execute at @a[x=-214,z=298,dx=19,dy=256,dz=-113] run say hello
    apparemment ça marche bien...
    Le soucis c'est la répétition de la commande des qu'un joueur se trouve dans la zone, elle s'execute en continu. je voudrais qu'elles ne s’exécute qu'une fois. Je pense que c'est ce que tu as voulu faire avec les "TAG" mais je comprends pas le truc...
    Merci encore de ton aide! :timide:
     
    #7 bob conan, 23 Août 2020
    Dernière édition: 23 Août 2020
  8. Chelocad

    Chelocad Bûcheron

    Inscrit:
    24 Avr 2020
    Messages:
    100
    Points:
    39
    ah oui effectivement le type=player ne sert à rien
    et oui tu as bien compris le tag "check" sert à déterminé si le joueur à déjà été "utilisé" pour faire la commande :
    en fait je fais la commande sur tout les joueurs qui sont dans la zone avec le tag "check"
    ensuite j'enlève le tag sur les joueurs qui l'ont et qui sont sur dans la zone
    puis je le rajoute sur ceux qui sont à proximité.

    je vais te montrer comment je voyais les choses dans quelque minutes le temps que je fasse tout correctement.
     
  9. Chelocad

    Chelocad Bûcheron

    Inscrit:
    24 Avr 2020
    Messages:
    100
    Points:
    39
    en fait je me suis trompé sur le fonctionnement des dy c'est normale que ça ne fonctionne pas
     

Partager cette page