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

Problème command block

Discussion dans 'Mapping' créé par Xana01, 9 Oct 2014.

  1. Xana01

    Xana01 Enter the World

    Inscrit:
    24 Nov 2012
    Messages:
    19
    Points:
    51
    Sexe:
    Homme
    bonjours,
    j'ai un GROS problème :
    je voudrais faire un système qui, quand un certain objectif (scroreboard) est a 1 il fasse spawn un bloc.
    Ça ne marche qu'une fois : une fois le courant passé dans le premier command block
    ( /testfor @a[score_Bidul=1,score_Bidul_min=1,team=BidulTeam] ) il passe dans le second qui fait spawn un block d'émeraude et enfin dans le dernier qui remet le score Bidul a 0. mais le courant ne s’éteint pas.
    [​IMG]
    Que faire ?
    Merci pour vos futures réponses.
     
    #1 Xana01, 9 Oct 2014
    Dernière édition: 9 Oct 2014
  2. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    Trois solutions:
    1: ne pas utiliser de testfor (je songe sérieusement à faire un tutoriel sur l'inutilité du testfor, mais j'ai pas le temps - le /testfor est utile, mais dans des cas assez spécifiques).
    Dans ce cas, tu remplaces le /setblock x y z minecraft:emerald_block par /execute @a[score_Bidul=1,score_Bidul_min=1,team=BidulTeam] ~ ~ ~ /setblock x y z minecraft:emerald_block et tu places ton comparateur en sortie du /execute (comme s'il s'agissait du testfor) avec le reset derrière du score.
    2: Tu ajoutes un bloc de commande qui s'exécute en même temps que ton reset de score avec /blockdata x' y' z' {SuccessCount:0b}. Avec x', y' et z' les coordonnées du bloc de commande réalisant le /setblock
    3: Tu n'as pas besoin de tester si le /setblock est effectué (hypothèse, à toi de me dire si ça te va), dans ce cas, tu peux aussi retirer le comparateur en sortie du second bloc de commande et récupérer le courant directement.

    Premier cas, tu passes de 3 à 2 blocs de commandes. Deuxième cas, on passe de 3 à 4 et dans le dernier on en garde 3 avec une latence plus faible.
     
    • J'approuve J'approuve x 1
  3. Xana01

    Xana01 Enter the World

    Inscrit:
    24 Nov 2012
    Messages:
    19
    Points:
    51
    Sexe:
    Homme
    Merci beaucoup. Je n'avais pas pensé du tout au /execute : je l'est utilisé une seul fois.
    Mais a quoi sert {SuccessCount:ob} ?
    Cordialement
    Xana01
     
  4. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    En fait, tu as du courant qui sort de ton deuxième bloc de commande parceque la commande a été exécutée avec succès (comme pour le testfor), le bloc reste donc bloqué en {SuccessCount:1b}. Pour lui dire "arrête d'envoyer du courant dans mon comparateur", il faut lui dire que son SuccessCount vaut 0. Sinon tu retires le comparateur comme ça il ne peut pas émettre de courant en sortie (et ton bloc de commande se comporte comme un bloc solide quelconque vis à vis de la redstone).
     
  5. Xana01

    Xana01 Enter the World

    Inscrit:
    24 Nov 2012
    Messages:
    19
    Points:
    51
    Sexe:
    Homme
    Encore merci à toi Mlakuss. Bonne fin de semaine!
    Cordialement
    Xana01
     

Partager cette page