Version de Minecraft : 1.20.1 Version de Skript : 2.7.1
Type du skript : Commande unique permettant de lancer une commande de console, selon les items que le joueur a dans son inventaire
Description du script :
Le script doit permettre au joueur de lancer une commande console selon le nombre d'un certain item présent dans son inventaire, puis lui retirer ces mêmes items.
L'item en question peut être n'importe quoi tant qu'il a une caractéristique bien précise à savoir recherché ici: Son nom.
Exemple:
Si le joueur a 3 (ou plus) diamants nommé "Diamant chanceux" dans son inventaire:
Alors lui enlève 3 diamants nommé "Diamant chanceux" de son inventaire et exécute une commande console.
ATTENTION! Difficulté en vue:
Impossible d'utiliser un script de la sorte:
command /test:
trigger:
set {_diampur} to amount of diamond named "&f&lDiamant épuré" in player's inventory #Compte les Diams renomés dans l'inventaire du joueur
set {_diamgive} to {_diampur} - 3 #Rajoute une valeur utile pour plus tard
if {_diampur} is more than 2: #Si le joueur a 3 ou plus Diamant rename dans son inv
remove all diamond named "&f&lDiamant épuré" from player's inventory #Les lui supprime tous
make console execute command "/mi give material DIAMANTPLUS %player% %{_diamgive}%" #Lui en rend son nombre initial - 3
make console execute command "/give %player% diamond_pickaxe 1" #Execute la commande finale
Ce script... en soit fonctionne. Il n'y a pas d'erreurs, et en jeu il fonctionne bien et fait exactement ce qu'on lui demande.
Cependant, quand le script cherche les diamants renommés, il ne prend en compte QUE les diamants qui ont PILE ce nom là, je sais que ça paraît stupide comme remarque, mais PILE ça veut dire PILE en INTERNE.
En gros, si vous avez un plugin d'item, ici MMOItems ou encore MythicMobs, et que le nom de votre diamant est le même que le nom recherché à savoir: "&f&lDiamant épuré" et que vous l'avez généré sur un plugin de la sorte, il ne sera pas pris en compte dans la syntaxe : < .... diamond named "&f&lDiamant épuré" > ====>Même si les deux noms sont identique !!! <====
J'ai testé de passer par des loops, au plus loin j'ai réussi à trouver les noms FONCTIONNELS des items recherchés mais je me heurte à énormément de problèmes en faisant cela.
1: Je ne peux pas remove les diamants renommés en passant par la loop (Souvenez vous, le named "&f&lDiamant épuré" n'est pas accepté)
2: Je ne peux pas savoir le amount de la loop-value des diamants renommés.
Voilà le plus loin que j'ai pu aller de fonctionnel à 100%, qui prend en compte les items d'autres plugins et de noms identique:
command /test2:
trigger:
set {_inv.%player%::*} to items in player's inventory #Prend tout les items dans l'inventaire du joueur
loop {_inv.%player%::*}: #Loop l'inventaire du joueur
if name of loop-value is "&f&lDiamant épuré": #Vérifie le nom de chaque loop jusqu'à trouver le diamant == Là ça marche
message loop-value to player #J'arrive pas à aller plus loin
Et voici en concret ce que j'aimerai atteindre, la syntaxe est fausse et ne fonctionne pas!
Mais l'idée du script demandé est là:
command /test3:
trigger:
set {_inv.%player%::*} to items in player's inventory #Prend tout les items dans l'inventaire du joueur
loop {_inv.%player%::*}: #Loop l'inventaire du joueur
if name of loop-value is "&f&lDiamant épuré": #Trouve les diamants renommés
if loop-value amount is more than 2: #ça marche pas mais vous saisissez, vérifie si y'en a plus que 3
remove 3 diamonds named "loop-value" in player's inventory #ça marche pas mais vous saisissez, en retire 3
make console execute commande "/ping" #commande finale à executer
Voilà voilà, c'est assez technique, je suis moi-même à un niveau très élevé de skript et je sèche sur celui-ci, j'en appelle donc à d'autres scripteurs qui auraient peut-être un moyen de résoudre mon problème fort handicapant ^^'
Bonne journée à tous! 😃
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
tiradorus
Version de Minecraft : 1.20.1
Version de Skript : 2.7.1
Type du skript : Commande unique permettant de lancer une commande de console, selon les items que le joueur a dans son inventaire
Description du script :
Le script doit permettre au joueur de lancer une commande console selon le nombre d'un certain item présent dans son inventaire, puis lui retirer ces mêmes items.
L'item en question peut être n'importe quoi tant qu'il a une caractéristique bien précise à savoir recherché ici: Son nom.
Exemple:
Si le joueur a 3 (ou plus) diamants nommé "Diamant chanceux" dans son inventaire:
Alors lui enlève 3 diamants nommé "Diamant chanceux" de son inventaire et exécute une commande console.
ATTENTION! Difficulté en vue:
Impossible d'utiliser un script de la sorte:
command /test: trigger: set {_diampur} to amount of diamond named "&f&lDiamant épuré" in player's inventory #Compte les Diams renomés dans l'inventaire du joueur set {_diamgive} to {_diampur} - 3 #Rajoute une valeur utile pour plus tard if {_diampur} is more than 2: #Si le joueur a 3 ou plus Diamant rename dans son inv remove all diamond named "&f&lDiamant épuré" from player's inventory #Les lui supprime tous make console execute command "/mi give material DIAMANTPLUS %player% %{_diamgive}%" #Lui en rend son nombre initial - 3 make console execute command "/give %player% diamond_pickaxe 1" #Execute la commande finale
Ce script... en soit fonctionne. Il n'y a pas d'erreurs, et en jeu il fonctionne bien et fait exactement ce qu'on lui demande.
Cependant, quand le script cherche les diamants renommés, il ne prend en compte QUE les diamants qui ont PILE ce nom là, je sais que ça paraît stupide comme remarque, mais PILE ça veut dire PILE en INTERNE.
En gros, si vous avez un plugin d'item, ici MMOItems ou encore MythicMobs, et que le nom de votre diamant est le même que le nom recherché à savoir: "&f&lDiamant épuré" et que vous l'avez généré sur un plugin de la sorte, il ne sera pas pris en compte dans la syntaxe : < .... diamond named "&f&lDiamant épuré" > ====> Même si les deux noms sont identique !!! <====
J'ai testé de passer par des loops, au plus loin j'ai réussi à trouver les noms FONCTIONNELS des items recherchés mais je me heurte à énormément de problèmes en faisant cela.
1: Je ne peux pas remove les diamants renommés en passant par la loop (Souvenez vous, le named "&f&lDiamant épuré" n'est pas accepté)
2: Je ne peux pas savoir le amount de la loop-value des diamants renommés.
Voilà le plus loin que j'ai pu aller de fonctionnel à 100%, qui prend en compte les items d'autres plugins et de noms identique:
command /test2: trigger: set {_inv.%player%::*} to items in player's inventory #Prend tout les items dans l'inventaire du joueur loop {_inv.%player%::*}: #Loop l'inventaire du joueur if name of loop-value is "&f&lDiamant épuré": #Vérifie le nom de chaque loop jusqu'à trouver le diamant == Là ça marche message loop-value to player #J'arrive pas à aller plus loin
Et voici en concret ce que j'aimerai atteindre, la syntaxe est fausse et ne fonctionne pas!
Mais l'idée du script demandé est là:
command /test3: trigger: set {_inv.%player%::*} to items in player's inventory #Prend tout les items dans l'inventaire du joueur loop {_inv.%player%::*}: #Loop l'inventaire du joueur if name of loop-value is "&f&lDiamant épuré": #Trouve les diamants renommés if loop-value amount is more than 2: #ça marche pas mais vous saisissez, vérifie si y'en a plus que 3 remove 3 diamonds named "loop-value" in player's inventory #ça marche pas mais vous saisissez, en retire 3 make console execute commande "/ping" #commande finale à executer
Voilà voilà, c'est assez technique, je suis moi-même à un niveau très élevé de skript et je sèche sur celui-ci, j'en appelle donc à d'autres scripteurs qui auraient peut-être un moyen de résoudre mon problème fort handicapant ^^'
Bonne journée à tous! 😃
1 réponse à cette question
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant