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 Soucis dans une détection d'items

Discussion dans 'Commands blocks & Redstone' créé par Kazz96, 22 Déc 2015.

  1. Kazz96

    Kazz96 Bûcheron

    Inscrit:
    3 Août 2012
    Messages:
    158
    Points:
    118
    Sexe:
    Homme
    Hey hey ! :)
    Je travaille actuellement sur un projet et je rencontre une sévère difficulté quant à la détection d'items.


    Je vous explique : Dans ma map, il est possible d'acheter via des villageois des houes avec des name, lore et d'autres trucs spécifiques :
    [​IMG]


    Le problème c'est qu'en gamemode 2 les gens peuvent fusionner les houes et pour tout vous dire ça fout bien le foutoir.
    J'ai essayé pas mal de trucs, et aucun n'a fonctionné.

    Le soucis est que lorsqu'un joueur fusionne 2 houes, celle obtenue n'a plus de tag, elle devient une houe non modifiée, seulement je ne veux pas que les joueurs puissent avoir ce genre de houe non modifiée et il est pour moi impossible de détecter lorsqu'un joueur possède ce genre d'houe.

    Voici la table de vérité de mon problème :
    [​IMG]

    En espérant que quelqu'un aura quelque chose à me proposer, merci :)!
     
  2. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    Une solution envisageable: tu peux détecter quand un craft est effectué via les objectifs de type stat.craftItem.
    Code (cpp):
    /scoreboard objectives add houe stat.craftItem.minecraft.wooden_hoe
    Ensuite, dans une horloge:
    Code (cpp):
    /clear @a[score_houe_min=1] wooden_hoe
    /give @a[score_houe_min=1] wooden_hoe 2 0 {"tes tags"}
    /scoreboard players reset @a houe
    Évidemment, s'il a 5 houes sur lui, il ne lui en restera plus que 2... mais bon. Si c'est écrit "ne pas faire" autant les punir un peu.
    Note que pour 1 utilisation, "utilisation" ne prend pas de 's'.
     
    • J'approuve J'approuve x 2
  3. Kazz96

    Kazz96 Bûcheron

    Inscrit:
    3 Août 2012
    Messages:
    158
    Points:
    118
    Sexe:
    Homme
    Bien vu pour le s :p
    J'avais déjà pensé à ce mécanisme le problème est que si le joueur utilise sa table de craft de l'inventaire et utilise son curseur pour prendre la houe non modifiée, le système s'activer mais la houe qui sera toujours tenu par le curseur du joueur ne sera pas considérée comme dans son inventaire

    C'est vraiment bugé d'ailleurs parfois la houe va disparaître après coup parfois pas

    De plus ce genre de système m'oblige à contourner le fait que l'obtention d'une houe à travers les villageois augmente le compteur de craft du scorboard

    Bref beaucoup de bugs encore une fois..
    Je ne comprends pas pourquoi il n'y a pas encore de "slot" pour le curseur dans minecraft..
     
  4. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    Normalement le /clear retire aussi les objets dans le curseur, c'est comme ça que je faisais avec Replica... (les joueurs ont parfois un objet fantôme dans la main mais il disparait tout seul).
    Par contre, si obtenir un objet via échange augmente la stat de craft, ça peut se reporter comme un bug je pense.
     
  5. Kazz96

    Kazz96 Bûcheron

    Inscrit:
    3 Août 2012
    Messages:
    158
    Points:
    118
    Sexe:
    Homme
    C'est bien ça un objet fantôme.
    Finalement j'ai réussi à obtenir ce que je voulais grâce à un ancien système.
    Je rentre pas dans les détails ce serait trop ennuyant :p

    En tout cas merci beaucoup pour tes réponses !


    Pour le bug de l'échange, j'avais réussi à le contourner en créant un objectif sur les échanges avec les villageois, un petit foutoir quoi ^^


    PS: une petite question vu que tu as l'air de t'y connaître.
    Je vais te faire un contexte ce sera plus simple

    J'ai une clock d'un repeating command block qui fait :
    /scoreboard players set Kazz96 Obj 1

    Une autre clock, une simple avec de la redstone à une impulsion par seconde qui fait avec un impulse command block :
    /scoreboard players set Kazz96 Obj 0

    Je met dans un repeating commandblock : /testfor @a[score_Obj=0] qui débouche sur un /say hi

    As-tu remarqué que selon les directions des commandblocks, le "hi" va parfois s'afficher et parfois non, c'est vraiment étrange ^^ ?
     
  6. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    C'est une histoire de priorité d'exécution: Les commandes ne se font jamais exactement en même temps.
    Il existe des solutions pour créer des délais dans une chaîne de bloc de commande si tu veux avoir quelque chose de plus fiable
     
  7. Kazz96

    Kazz96 Bûcheron

    Inscrit:
    3 Août 2012
    Messages:
    158
    Points:
    118
    Sexe:
    Homme
    D'accord, je me renseignerai alors, encore merci!
     

Partager cette page