1. Si vous venez d'arriver sur le forum et que vous êtes un peu perdus, cliquez ici !
    Rejeter la notice

Résolu Détection sneak par Command Block

Discussion dans 'Commands blocks & Redstone' créé par Steven0135, 5 Oct 2020.

  1. Steven0135

    Steven0135 Nouveau

    Inscrit:
    5 Oct 2020
    Messages:
    4
    Points:
    0
    Bonjour, je ne m'y connais absolument pas en command block, mais j'adore faire de la redstone, et combiner les 2 pourrait être génial.
    C'est pourquoi j'aimerais savoir si quelqu'un saurait créer une commande permettant d'émettre un courant de redstone avec un command block lorsque un joueur "sneak" dans une zone donnée?
    En me baladant sur le forum, j'ai cru comprendre qu'il faudrait utiliser la commande "Testfor", mais je ne comment absolument pas la syntaxe

    Merci!!
     
  2. Chelocad

    Chelocad Explorateur

    Inscrit:
    24 Avr 2020
    Messages:
    66
    Points:
    9
    Salut,

    j'ai fais le système comme ci tu étais en 1.16 mais si ce n'est pas le cas il faut préciser ta version

    premièrement il faut que tu tape cette commande :
    Code (cpp):
    /scoreboard objectives add sneack minecraft.custom:minecraft.sneak_time
    ensuite avec 2 command block l'un sur l'autre (comme sur l'image) :
    upload_2020-10-6_19-58-27.png


    où celui du haut en Chain / Unconditional / Always Active
    et celui du bas est en Repeat / Unconditional / Always Active

    Puis tu mets les commandes suivantes dans les commands blocks respectifs :

    Code (cpp):
    scoreboard players set @a[scores={sneack=1..}] sneack 0
    execute if entity @a[scores={sneack=1..}] run execute unless block x y z minecraft:redstone_block run setblock x y z minecraft:redstone_block
    x y z sont les coordonnées du block qui sera remplacé par un block de redstone qui va faire un signal.
     

    Fichiers attachés:

  3. Steven0135

    Steven0135 Nouveau

    Inscrit:
    5 Oct 2020
    Messages:
    4
    Points:
    0
    Bonjour, tout d'abord, je suis en 1.16.1. Ensuite merci déjà pour ta réponse, et enfin, j'ai testé ta commande, elle marche très bien pour poser un bloc de redstone lors qu'un joueur sneak. Mais cela ne tient pas compte de la zone dans laquelle le joueur sneak.
    J'aimerais donc savoir, serait-il possible de ne faire spawn le bloc de redstone seulement lorsqu'on sneak dans une certaine zone (une zone, pas un bloc), (c'est pour activer un passage secret). Puis comment détruire ce redstone bloc ensuite?
    Merci!
     
  4. Chelocad

    Chelocad Explorateur

    Inscrit:
    24 Avr 2020
    Messages:
    66
    Points:
    9
    Pour détruire le block tu peut mettre des repeaters relier à un command block qui le détruit pour mettre du délai.

    Pour ce qui est de la zone il faut rajouter des arguments dans le sélectionneur du command block mauve mais ça dépend du type de zone :
    Code (cpp):
    @a[scores={sneack=1..},x=x1,y=y1,z=z1,distance=R1..R2]
    Pour une sphère de rayon interne R1 et externe R2 centré en x1 y1 z1
    Code (cpp):
    @a[scores={sneack=1..},x=x1,y=y1,z=z1,dx=dx1,dy=dy1,dz=dz1]
    Pour un parallélépipède rectangle partant de x1 y1 z1 et de "largeur" dx1 "hauteur" dy1 et de "profondeur" dz1 et ce dans le sens positif des coordonnées.
     
    • J'approuve J'approuve x 1
    #4 Chelocad, 10 Oct 2020
    Dernière édition: 11 Oct 2020
  5. Steven0135

    Steven0135 Nouveau

    Inscrit:
    5 Oct 2020
    Messages:
    4
    Points:
    0
    Après plusieurs tentatives, j'ai réussi !!!! Merci beaucoup!! Tes explications étaient très clair même pour quelqu'un comme moi qui n'avait jamais touché aux commands blocks.

    Maintenant je m'adresse à de potentiels débutants comme moi qui tomberaient sur ce post, x1,y1 et z1 ne représentent pas les milieux mais les coordonnées d'un coin de votre rectangle (si vous faites un rectangle). Et dx1, dy1 et dz1 la longueur en bloc à "parcourir" depuis ce point pour définir votre zone.
     
    • J'approuve J'approuve x 1
  6. Chelocad

    Chelocad Explorateur

    Inscrit:
    24 Avr 2020
    Messages:
    66
    Points:
    9
    Oui tu as raison une petit erreur de ma part merci !
     
  7. Steven0135

    Steven0135 Nouveau

    Inscrit:
    5 Oct 2020
    Messages:
    4
    Points:
    0
    Re bonjour, ta commande fonctionne parfaitement, mais j'ai un problème, je ne peux pas l'assigner à 2 commands blocks d'un coup car ceux-ci semblent entrer en "conflit" : le premier command block sur lequel je met la commande détecte si je sneak ou non et set le redstone block si je suis au bon endroit. Mais du coup le deuxième ne marche plus.
    Donc, comment faire pour faire fonctionner plusieurs redstone block d'un coup?
     
  8. Chelocad

    Chelocad Explorateur

    Inscrit:
    24 Avr 2020
    Messages:
    66
    Points:
    9
    En fait le 1er command block est tout le temps en train d'exécuter une command (et donc le deuxième aussi) c'est juste que le 1er fait un test et si ce test est concluant alors il change le block: que le test soit positif ou négatif la command est quand même exécutée.

    Tu peux le vérifier en affichant le score sneack (qui doit toujours revenir à 0) à droite de l'écran.

    En théorie c'est sensé marché donc je t'avoue que je ne comprend pas bien ton pb (si j'ai bien compris tu souhaite faire 2 zones de détection pour un ou plusieurs block de redstone).
     

Partager cette page