Aller au contenu

Classement


Contenu populaire

Affichage du contenu avec la meilleure réputation le 07/27/21 dans toutes les zones

  1. 1 point
    Avant de te dévoiler la solution, je vais te laisser chercher un peu. Premièrement, un conseil que je peux te donner est de toujours de debugger ton code. Comment ? Simplement en envoyer des messages dans le chat de ce que les différents objets que tu manipule retournent. Cela constitue le meilleur moyen de te débloquer d'une situation compliqué. Dans ton cas, tu peux envoyer un debug au joueur qui utilise l'arc contenant le lore de la flèche. Cela te permettra de vérifier s'il contient bel et bien quelque chose et de savoir si tu peux employer cette méthode pour poursuivre dans ton code. Mais comme je te l'ai dit plus haut, à partir du moment ou la flèche devient une entité, tu ne peux plus récupérer ses informations-là. Il faut donc agir plus tôt i.e. récupérer l'info à partir de l'inventaire du joueur. Pour résumer, avant de penser à résoudre ton problème, il te faut mettre tout en oeuvre pour t'assurer que le chemin que t'as décidé de prendre fonctionne. Aussi simple que ça. Une fois que tu as compris cette notion, tu pourras aller plus loin et comprendre pourquoi certaines choses ne fonctionnent pas. Si tu veux savoir pourquoi, voici une petite explication et au passage une très bonne application d'un debug. Dans le premier screen, je montre le NBT d'une flèche dans mon inventaire dont j'ai modifié quelques attributs comme le nom, la couleur et auquel j'ai rajouté un tag "Type" égal à "BlaBla[...]Bla" histoire qu'il soit très visible. Dans ce second screen, tu vois le NBT de cette même flèche une fois planté dans un bloc. De nouveaux tags sont apparus (spécifiques à Paper ou à ton soft) et d'autres ont complètement disparus dont ceux qui nous intéressaient : name, color, lore et le type. Du coup, pour pallier à ce problème, plusieurs solutions sont possibles. Celle que je t'ai proposé me paraît la plus simple à mettre en oeuvre. C'est tout à fait ça : tu récupères toutes les flèches de l'inventaire du joueur ainsi que leur position (item's slot) via un loop et tu détermines lequel est le plus petit et vérifie si celui-ci contient le fameux lore. Si c'est le cas, tu bloques l'évènement. EDIT : Je viens de voir que tu as utilisé skript-paper et l'event on player ready arrow, ce qui te facilite grandement la tâche ! D'après la documentation ([Contenu masqué]), tu peux récupérer event-player, event-itemtype et event-world. Ici, c'est event-itemtype qui nous intéresse et permet de résoudre le problème. Ce que tu as écris est correct et fonctionne de mon côté !
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.