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

Résolu Comparer 2 scores

Discussion dans 'Mapping' créé par ZeThiX, 17 Août 2016.

Statut de la discussion:
N'est pas ouverte pour d'autres réponses.
  1. ZeThiX

    ZeThiX Nouveau

    Inscrit:
    17 Août 2016
    Messages:
    2
    Points:
    0
    Sexe:
    Homme
    Bonsoir,

    J'ai un petit problème, sur la map que je suis en en train de créer, avec les commands blocks. En fait je veux détecter si le joueur se déplace ou est immobile (en excluant le sneak et le sprint).
    J'ai créé deux objectifs de scoreboard nommé "Marche" avec stat.WalkOneCm et "Variable" de type dummy.
    Toutes les 1/2 secondes, je veux tester si Marche est égale à Variable puis Variable prendra la valeur de Marche. Donc lors du test, si Marche=Variable alors le joueur est immobile sinon Marche>Variable alors le joueur se déplace.

    En gros le seul truc qui me bloque c'est le test entre Marche et Variable : savoir si Marche=Variable ou Marche>Variable.

    Bon je ne sais pas si c'est la bonne méthode pour déterminer si le joueur est en mouvement si vous voyer d'autres options n’hésitez pas ;)

    ZeThiX
     
  2. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    Pour déterminer si le joueur est en mouvement, un objectif marche (stat.WalkOneCm) et un objectif arret (dummy)
    Dans l'ordre, dans une chaîne:
    Code (cpp):
    /scoreboard players set @a arret 1
    /scoreboard players set @a[score_marche_min=1] arret 0
    /scoreboard players set @a marche 0
    /tellraw @a [{"selector":"@a[score_arret=0]"},{"text":" est en mouvement"}]
    (et pour détecter ceux qui sont arrêté, c'est @a[score_arret_min=1])

    Si tu veux un jour comparer deux scores, tu as une opération =-.
    Si tu soustrais un score à l'autre, tu peux ensuite comparer le résultat à 0 et ainsi savoir si tu étais inférieur, supérieur ou égal.
     
  3. ZeThiX

    ZeThiX Nouveau

    Inscrit:
    17 Août 2016
    Messages:
    2
    Points:
    0
    Sexe:
    Homme
    Bonsoir,
    Merci beaucoup Mlakuss pour cette réponse.
    Ta technique fonctionne très bien mais elle ne correspond pas à ce que je compte faire vu qu'à la fin de la boucle on réinitialise "Marche" et, comme ya un /effect si le joueur ne marche pas bah il se prend l'effet même si il marche.
    Mais j'ai bidouillé, grâce au -= puis la comparaison à 0, et j'ai créé une suite de commandes qui reprend mon idée initiale.

    Donc au final ça fonctionne comme je veux.
     
Statut de la discussion:
N'est pas ouverte pour d'autres réponses.

Partager cette page