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

Aide pour une commande avec /execute

Discussion dans 'Commands blocks & Redstone' créé par Stom-3, 13 Fev 2019.

  1. Stom-3

    Stom-3 Nouveau

    Inscrit:
    13 Fev 2019
    Messages:
    3
    Points:
    0
    Sexe:
    Homme
    Bonjour, je voudrais exécuter une commande en fonction d'où se situe un joueur dans le monde. Par exemple il entre dans une salle et la commande se déclenche.
    J'arrivais avant avec le /testfor mais là je comprends plus rien du tout.

    Et aussi si vous pouvez m'expliquer comment on fait pour détecter le joueur dans une zone (du genre avec un rayon autour de la position centrale qui est détecté), par exemple la salle à son centre en coordonnées x=3 y=3 et z=3 et le joueur si il se trouve à moins de 3 blocs de cette position la commande se déclenche aussi.
    J'espère que vous comprendrez et que vous pourrez m'aider.
    Merci.
     
  2. Lighar

    Lighar Explorateur

    Inscrit:
    15 Nov 2014
    Messages:
    74
    Points:
    78
    Sexe:
    Homme
    Bonjour, je suppose que la version que tu veux utiliser est la 1.13,
    le /execute de la 1.13 est assez différent et assez long à expliqué, je te conseille le tutoriel de Minecraft-France pour tout revoir : https://www.minecraft-france.fr/commande-execute/ .

    Sinon si tu veux seulement la commande du testfor "converti" en 1.13, il y a deux solutions :

    1- Utiliser un execute sur le joueur qui se trouve à ces coordonnées précises :

    Code (cpp):
    execute as @a[x=.....,y=....,z=.....,distance=[rayonminimum]..[lerayonmaximum]] at @s run [tacommande]
    Explication :

    Code (cpp):
    execute as
    "execute" en tant que l'entité

    Code (cpp):
    @a[x=.....,y=....,z=.....,distance=[rayonminimum]..[lerayonmaximum]]
    x, y et z sont pareils que lors de la dernière version , distance remplace le r et rmax, sous la forme ditance=[rayonminimum]..[lerayonmaximum]

    Exemple : Joueur qui se trouve à 0 0 0 dans un rayon de 2 autour minimum et 5 maximum :
    Code (cpp):
    @a[x=0,y=0,z=0,distance=2..5]


    Code (cpp):
    at
    C'est un execute en fonction de la position du prochain sélecteur

    Code (cpp):
    @s
    Ce sélecteur désigne le dernier sélecteur du execute, soit ici "@a[x=.....,y=....,z=.....,distance=[rayonminimum]..[lerayonmaximum]]"

    Code (cpp):
    run
    "run" indique de l'on veut exécuter une commande

    Donc en phrase, la commande donne :
    Exécuter en tant que ..... , au position du dernier joueur sélectionné, la commande ....

    2-Utiliser la nouvelle fonction "if" :

    Code (cpp):
    execute if entity @a[x=.....,y=....,z=.....,distance=[rayonminimum]..[lerayonmaximum]] run [tacommande]
    if : si telle condition est validée, continuer

    entity : la condition sera sur une entité

    Code (cpp):
    @a[x=.....,y=....,z=.....,distance=[rayonminimum]..[lerayonmaximum]]
    La condition est que un joueur doit être à ces coordonnées

    Pour résumer, un exemple pour placer un bloc de redstone au cordonnées 1 1 1 lorsqu'un joueur est au coordonnées 0 0 0, avec un rayon maximum de 4 :

    execute as @a[x=0,y=0,z=0,distance=..4] at @s run setblock 1 1 1 redstone_block

    execute if entity @a[x=0,y=0,z=0,distance=..4] run setblock 1 1 1 redstone_block


    Voilà, en espérant avoir résolu ton problème, si tu as d'autres questions n'hésite pas ! :smile:
     
    • J'aime J'aime x 2
    • Informatif Informatif x 1
    • Utile Utile x 1
  3. Stom-3

    Stom-3 Nouveau

    Inscrit:
    13 Fev 2019
    Messages:
    3
    Points:
    0
    Sexe:
    Homme
    Merci, ça m'aide beaucoup, par contre je n'arrive pas bien à comprendre la différence entre le "as" et le "if entity". Dans les deux cas la commande ne s'activera que si le joueur est dans la zone ?
     
  4. "As" c'est comme si tu te fais passer pour quelqu'un tandis que "At" c'est à l'emplacement du joueur (ou de l'entité).

    "If entity [Nom de l'entité] run [Commande]" c'est quand une commande qui s'exécutera si l'entité [Nom de l'entité, qui est un sélecteur] existe. Si l'on remplace "If" par "Unless", alors c'est une commande qui s'execute SAUF si l'entité [Nom de l'entité] existe.

    Les deux commandes qu'a dit Lighar sont pareilles et font la même chose. Dans les deux cas la commande marche.
     
    • J'aime J'aime x 2
    #4 Deleted member 81296, 14 Fev 2019
    Dernière édition par un modérateur: 14 Fev 2019
  5. NathanEPM

    NathanEPM Nouveau

    Inscrit:
    11 Fev 2020
    Messages:
    1
    Points:
    0
    Sexe:
    Homme
    Bonjour j'aimerais savoir comment utiliser le "dy". Car j'aimerais sélectionner un armor stand dans une zone. Merciii
     

Partager cette page