Aller au contenu
  • 0

Execution d'une commane sur un item


Question

Posté(e)

Bonjour à vous !

Cela faisait longtemps que je n'avais pas demandé de l'aide ? !

 

Aujourd'hui j'ai un petit problème qui me dérange un peu : exécuter une comme sur un item via un clique droit.

Je m'explique :

 

J'ai développé un skript qui lorsque je clique droit sur l'item , une commande s'execute. Ja fais ça via un même item sous plusieurs noms , mais la commande s'execute sur les 4.

Assez complexe à comprendre , voici le code du skript en question :

 

on right click with gold nugget:
	player is holding gold nugget named "1€" with lore "&8(&7Clic droit pour récupérer&8)":
	remove 1 gold nugget named "1€" with lore "&8Faites clique droit" from player
	make console execute command "/eco give %player% 1"
	player is holding gold nugget named "3€" with lore "&8(&7Clic droit pour récupérer&8)":
	remove 1 gold nugget named "3€" with lore "&8Faites clique droit" from player
	make console execute command "/eco give %player%3"

 

Le problème , c'est que lorsque je clique sur le gold nugget nommé 1€ , le skript va exécuter le code pour les 2 nuggets (même si je n'ais pas le gold nugget nommé 3€)

Résultat : Je reçois 1€ puis 3€ alors que je ne dois recevoir qu'1€.

Voici quelques informations qui pourrait peux-être vous intéresser :

 

- Version skript : 2.2

- Software utilisé : Spigot 1.8.7

8 réponses à cette question

Messages recommandés

  • 0
Posté(e) (modifié)

J'ai peut être la solution :

on right click: if player is holding a golden nugget: if name of player's tool is "&a1€": make console execute "/eco give %player% 1" stop                                                                                                                                                                                                                                              

Modifié par Douzar
  • 0
Posté(e)
Il y a 3 heures, Douzar a dit :

J'ai peut être la solution :

on right click: if player is holding a golden nugget: if name of player's tool is "&a1€": make console execute "/eco give %player% 1" stop                                                                                                                                                                                                                                              

Il faut mettre en balises de code, on comprends rien la xD

Bref @Ultim4te_ teste ca :

on right click with gold nugget:
	if player is holding gold nugget named "1€" with lore "&8(&7Clic droit pour récupérer&8)":
		remove 1 gold nugget named "1€" with lore "&8Faites clique droit" from player
		add 1 to player's balance
	if player is holding gold nugget named "3€" with lore "&8(&7Clic droit pour récupérer&8)":
		remove 1 gold nugget named "3€" with lore "&8Faites clique droit" from player
		add 3 to player's balance

Ton problème venait du fait que après les ":" tu n'avais pas mis d'indentations.

  • 0
Posté(e)
il y a 2 minutes, noftaly a dit :

Il faut mettre en balises de code, on comprends rien la xD

Bref @Ultim4te_ teste ca :


on right click with gold nugget:
	if player is holding gold nugget named "1€" with lore "&8(&7Clic droit pour récupérer&8)":
		remove 1 gold nugget named "1€" with lore "&8Faites clique droit" from player
		add 1 to player's balance
	if player is holding gold nugget named "3€" with lore "&8(&7Clic droit pour récupérer&8)":
		remove 1 gold nugget named "3€" with lore "&8Faites clique droit" from player
		add 3 to player's balance

Ton problème venait du fait que après les ":" tu n'avais pas mis d'indentations.

J'avais déjà inséré des indentations après les ":" , le résultat était le même.

Il y a 3 heures, Douzar a dit :

J'ai peut être la solution :

on right click: if player is holding a golden nugget: if name of player's tool is "&a1€": make console execute "/eco give %player% 1" stop                                                                                                                                                                                                                                              

Pour l'instant ça semble fonctionner , mais je dois tester toutes les combinaisons pour que cela fonctionne à 100% (ce n'est pas totalement fonctionnel encore^^) je n'étais pas chez moi donc je n'ais pas pu tout tester.

  • 0
Posté(e)

@Ultim4te_ désolé c'est moi qui me suis trompé dans le code que je t'ai passé x)

Du coup j'avais aussi oublié le else

on right click with gold nugget:
	if player is holding gold nugget named "1€" with lore "&8(&7Clic droit pour récupérer&8)":
		remove 1 gold nugget named "1€" with lore "&8Faites clique droit" from player
		add 1 to player's balance
	else if player is holding gold nugget named "3€" with lore "&8(&7Clic droit pour récupérer&8)":
		remove 1 gold nugget named "3€" with lore "&8Faites clique droit" from player
		add 3 to player's balance

ce qui fait que si jamais il fait le premier nuggets, il ne fera pas le deuxième. car le else lui dis de faire le 2ème QUE si le premier n'a pas été fais

  • 0
Posté(e) (modifié)
Il y a 4 heures, noftaly a dit :

@Ultim4te_ désolé c'est moi qui me suis trompé dans le code que je t'ai passé x)

Du coup j'avais aussi oublié le else


on right click with gold nugget:
	if player is holding gold nugget named "1€" with lore "&8(&7Clic droit pour récupérer&8)":
		remove 1 gold nugget named "1€" with lore "&8Faites clique droit" from player
		add 1 to player's balance
	else if player is holding gold nugget named "3€" with lore "&8(&7Clic droit pour récupérer&8)":
		remove 1 gold nugget named "3€" with lore "&8Faites clique droit" from player
		add 3 to player's balance

ce qui fait que si jamais il fait le premier nuggets, il ne fera pas le deuxième. car le else lui dis de faire le 2ème QUE si le premier n'a pas été fais

Le code fonctionne correctement. Merci à vous ?

 

EDIT : J'ai malencontreusement oublié quelque chose ? ..

Est-ce possible de le faire mais avec des items enchantés ? Merci d'avance.

Modifié par Ultim4te_
  • 0
Posté(e)

Tu remplaces les

gold nuggets named "machin"

par

gold nuggets of shapness 2, unbreaking 1 and efficiency 3 named "machin"

Oublie pas le "and" sur le dernier. Avant  c'est des vrigules, comme dans l'exemple

  • 0
Posté(e) (modifié)
Le 30/08/2018 à 02:51, noftaly a dit :

Tu remplaces les

gold nuggets named "machin"

par

gold nuggets of shapness 2, unbreaking 1 and efficiency 3 named "machin"

Oublie pas le "and" sur le dernier. Avant  c'est des vrigules, comme dans l'exemple

ça ne fonctionne pas. Pas grave , j'utiliserais des non-enchantés

De toutes manières , la base du sujet est résolue. Merci

Modifié par Ultim4te_
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.