CommandBlock  Résolu [1.13] Comment détecter que l'on appuie sur un bouton avec /execute ?

Discussion dans 'Support Command Blocks' créé par ewenadou, 20 Juin 2018.

  1. ewenadou

    ewenadou Nouveau

    Inscrit:
    28 Octobre 2017
    Messages:
    5
    J'aime reçus:
    1
    Bonjour,

    J'ai un problème je voudrais faire en sorte que quand j'appuie sur un bouton ( ou plusieurs ), cela soit détecté par un commande block, pour ensuite exécuter une fonction ( sans que le commande block soit dessous le bouton, si je veux ça c'est parce que je ne peux pas le faire sinon on le verras ) !
    Vous savez comment faire ?
    Tout ceci est en 1.13 donc plus de /testfor mais en revanche le /execute à repris les fonctionnalité de ce dernier je crois ?

    Merci d'avance !
     
  2. Daminator4113

    Daminator4113 Êtres humain (je crois)

    Inscrit:
    15 Juin 2016
    Messages:
    79
    J'aime reçus:
    35
    Il te faut minimum 2 commandes, celle(s) qui détecte(nt) lorsque le bouton est pressé, et celle qui remet le bouton en position désactivé, sinon ta commande sera répété le temps que le bouton soit désactivé.

    Tu commences par mettre cette commande que tu complètes par ce que tu veux (tu peux la dupliquer autant de fois que tu en auras besoin) :
    Code:
    /execute if block <coordonnées> <type de bouton>_button[powered=true] run <ta commande>
    Et tu finis par cette commande qui devra s'exécuter en dernier, et évité de répété toutes les commandes plusieurs fois :
    Code:
    /execute if block <coordonnées> <type de bouton>_button[powered=true] run setblock <coordonnées> <type de bouton>_button[facing=<orientation du bouton>,face=<la surface sur laquel il est posé>,powered=false]
    pour les conditions entre [ ] tu peux les voir quand tu fais F3, en haut à droite de l'écran en dessous de "Targeted Block"
     
    #2 Daminator4113, 21 Juin 2018
    Dernière édition: 21 Juin 2018
  3. ewenadou

    ewenadou Nouveau

    Inscrit:
    28 Octobre 2017
    Messages:
    5
    J'aime reçus:
    1
    Salut !

    Merci de ton aide, mais quand j'essaye de faire la première commande il ne se passe absolument rien !

    J'ai fait un test dont voici le screen :

    [​IMG]

    La commande que j'ai faite :

    Code:
    execute if block 70 1 -71 stone_button[powered=true] run msg @a hello
    
    ou
    
    execute if block 70 1 -71 #minecraft:buttons[powered=true] run msg @a hello
    Aucun des deux ne fonctionne ... Il y a-t-il une configuration à faire dans le commande block ( = toujours actif/par la redstone ... ) ?

    Merci d'avance !
     
  4. Daminator4113

    Daminator4113 Êtres humain (je crois)

    Inscrit:
    15 Juin 2016
    Messages:
    79
    J'aime reçus:
    35
    Tu dois mettre ces commandes à la chaine, avec un repeat_command_block et un chain_command_block, en toujours actif, ou avec la redstone, ça dépend de ce que tu fais avec ^^
    Sans titre 1.png
     
    #4 Daminator4113, 21 Juin 2018
    Dernière édition: 21 Juin 2018
  5. ewenadou

    ewenadou Nouveau

    Inscrit:
    28 Octobre 2017
    Messages:
    5
    J'aime reçus:
    1
    Merci, j'ai enfin réussi !!

    Pour résumer il faut taper la commande :
    Code:
    /execute if block <coordonnées> <type de bouton>_button[powered=true] run <ta commande>
    ( qui détecte l'appuie sur le bouton et lance la commande souhaité ) ,dans un commande block en répétition et toujours actif . celui-ci tourné vers un deuxième commande bloc qui est en mode chaîne et toujours actif avec la commande :
    Code:
    /execute if block <coordonnées> <type de bouton>_button[powered=true] run setblock <coordonnées> <type de bouton>_button[facing=<orientation du bouton>,face=<la surface sur laquelle il est posé>,powered=false]
    ( qui remplace le bouton pour n'exécuter qu'une seule fois la commande )

    Merci grandement de ton aide !!
    Bonne continuation ;)
     
    #5 ewenadou, 21 Juin 2018
    Dernière édition: 21 Juin 2018
    Daminator4113 apprécie ceci.

Partager cette page