Je travaille sur la mise en place d'un système de stockage, permettant de compresser des objets en un seul (des blocs notamment). Cela en échangeant, par exemple, un coffre de roche pour une roche enchantée, avec un certain nom et un lore, qui représenterai donc ce coffre de roche, mais en un seul objet dans un seul emplacement d'inventaire.
Mais le problème, en particulier pour les blocs, est que si le joueur pose un bloc enchanté, qui est donc au final un coffre de ce type de bloc, lors de la récupération, le bloc récupèrera ses valeurs par défaut (nom, aucun lore, etc...) et ainsi le coffre ne pourra plus être obtenu au niveau de l'échangeur.
J'aurais donc aimé savoir s'il était possible de faire un skript, qui détecterai sur l'objet compressé (dans l'inventaire du joueur) un certain lore (exemple: "Ceci ne peut être posé."), et que dans le cas où ce lore est détecté, le joueur au moment de vouloir poser le bloc ne pourrait pas le poser et recevrai un message tel que "Vous ne pouvez pas poser ceci.". En simple, l'événement de poser le bloc serait donc annulé dès le moment où le lore voulu est détecté sur l'objet avant/pendant l'événement de pose.
J'ai essayé de faire quelques recherches et de commencer à écrire ce skript, qui ne fonctionne pas. Il n'y a aucune erreur lors d'un /skript reload scripts et je ne trouve où est le problème. En sachant que je n'ai jamais vraiment écrit des scripts de ce type.
Citation
on place:
if line 3 of lore of event-block is "Ceci ne peut être posé.":
cancel event
send "Vous ne pouvez pas poser ceci." to player
Quelqu'un peut-il m'aider à réaliser un skript répondant à cette problématique, si cela est possible ?
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.
Question
TheBestMines
Version de Minecraft : 1.16.3
Version de Skript : 2.4.1
Addons utilisés: SkQuery-Lime 4.1.3, skript-yaml 1.3.2, skUtilities 0.9.2
Je travaille sur la mise en place d'un système de stockage, permettant de compresser des objets en un seul (des blocs notamment). Cela en échangeant, par exemple, un coffre de roche pour une roche enchantée, avec un certain nom et un lore, qui représenterai donc ce coffre de roche, mais en un seul objet dans un seul emplacement d'inventaire.
Mais le problème, en particulier pour les blocs, est que si le joueur pose un bloc enchanté, qui est donc au final un coffre de ce type de bloc, lors de la récupération, le bloc récupèrera ses valeurs par défaut (nom, aucun lore, etc...) et ainsi le coffre ne pourra plus être obtenu au niveau de l'échangeur.
J'aurais donc aimé savoir s'il était possible de faire un skript, qui détecterai sur l'objet compressé (dans l'inventaire du joueur) un certain lore (exemple: "Ceci ne peut être posé."), et que dans le cas où ce lore est détecté, le joueur au moment de vouloir poser le bloc ne pourrait pas le poser et recevrai un message tel que "Vous ne pouvez pas poser ceci.". En simple, l'événement de poser le bloc serait donc annulé dès le moment où le lore voulu est détecté sur l'objet avant/pendant l'événement de pose.
J'ai essayé de faire quelques recherches et de commencer à écrire ce skript, qui ne fonctionne pas. Il n'y a aucune erreur lors d'un /skript reload scripts et je ne trouve où est le problème. En sachant que je n'ai jamais vraiment écrit des scripts de ce type.
Quelqu'un peut-il m'aider à réaliser un skript répondant à cette problématique, si cela est possible ?
Je vous remercie d'avance 🙂
20 réponses à cette question
Messages recommandés