Aller au contenu
  • 0

Menu GUI de confirmation d'achat non fonctionnel


Question

Posté(e)

Bonjour / Bonsoir à vous,

Je rencontre un problème depuis 2 jours que je n'arrive pas à régler . Je souhaite créer un skript de boutique pour acheter des grades avec de l'argent en jeu sur mon serveur mais à l'étape de confirmation, le joueur ne peut pas confirmer mais peut annuler l'achat .

Je poste donc aujourd'hui mon message pour vous demander de l'aide ayant débuter le skript il y a de cela moins d'une semaine .

Voici le code (la partie confirmation se trouve à la 27ème ligne) :

command /boutique [<text>] [<text>]:
	trigger:
		if arg 1 is not set:
			open chest with 1 row named "&e&l--=&6&lBoutique&e&l=--" to player
			wait 3 ticks
			format slot 0 of player with gray stained glass pane named " " to be unstealable
			format slot 1 of player with gray stained glass pane named " " to be unstealable
			format slot 2 of player with gray stained glass pane named " " to be unstealable
			format slot 3 of player with gray stained glass pane named " " to be unstealable
			format slot 4 of player with golden chestplate named "&6&lGrades" to run [make player execute command "boutique grades"]
			format slot 5 of player with gray stained glass pane named " " to be unstealable
			format slot 6 of player with gray stained glass pane named " " to be unstealable
			format slot 7 of player with gray stained glass pane named " " to be unstealable
			format slot 8 of player with gray stained glass pane named " " to be unstealable
		if arg 1 is "grades":
			open chest with 1 row named "&e&l--=&6&lGrades&e&l=--" to player
			wait 3 ticks
			format slot 0 of player with gray stained glass pane named " " to be unstealable
			format slot 1 of player with leather tunic named "&a&lEcuyer" to run [make player execute command "boutique confirm ecuyer"]
			format slot 2 of player with gray stained glass pane named " " to be unstealable
			format slot 3 of player with iron chestplate named "&9&lChevalier" to run [make player execute command "boutique confirm chevalier"]
			format slot 4 of player with gray stained glass pane named " " to be unstealable
			format slot 5 of player with golden chestplate named "&3&lPaladin" to run [make player execute command "boutique confirm paladin"]
			format slot 6 of player with gray stained glass pane named " " to be unstealable
			format slot 7 of player with diamond chestplate named "&5&lEmpeureur" to run [make player execute command "boutique confirm empeureur"]
			format slot 8 of player with gray stained glass pane named " " to be unstealable
		if arg 1 is "confirm":
			if arg 2 is "ecuyer":
				open chest with 1 row named "&a&lEcuyer" to player
				wait 3 ticks
				format slot 2 of player with green dye named "&2&lOui" to run [make player execute command "boutique ecuyer"]
				format slot 4 of player with paper named "&a&lEcuyer" to be unstealable
				format slot 6 of player with red dye named "&c&lNon" to run [make player execute command "boutique"]
			if arg 2 is "chevalier":
				open chest with 1 row named "&9&lChevalier" to player
				wait 3 ticks
				format slot 2 of player with green dye named "&2&lOui" to run [make player execute command "boutique chevalier"]
				format slot 4 of player with paper named "&9&lChevalier" to be unstealable
				format slot 6 of player with red dye named "&c&lNon" to run [make player execute command "boutique"]
			if arg 2 is "paladin":
				open chest with 1 row named "&3&lPaladin" to player
				wait 3 ticks
				format slot 2 of player with green dye named "&2&lOui" to run [make player execute command "boutique paladin"]
				format slot 4 of player with paper named "&3&lPaladin" to be unstealable
				format slot 6 of player with red dye named "&c&lNon" to run [make player execute command "boutique"]
			if arg 2 is "empeureur":
				open chest with 1 row named "&5&lEmpeureur" to player
				wait 3 ticks
				format slot 2 of player with green dye named "&2&lOui" to run [make player execute command "boutique empeureur"]
				format slot 4 of player with paper named "&5&lEmpeureur" to be unstealable
				format slot 6 of player with red dye named "&c&lNon" to run [make player execute command "boutique"]
		if arg 1 is "ecuyer":
			if {_group.%player%} is "default":
				if player's balance > 10000:
					remove 10000 from player's balance
					make console execute command "manuadd %player% ecuyer Monde"
					make console execute command "manuadd %player% ecuyer Monde_nether"
					make console execute command "manuadd %player% ecuyer Monde_the_end"
					make player execute command "achat ecuyer"
					broadcast "&f&l[&6Serveur&f&l] &c%player% &c&lvient d'acheter le grade Ecuyer dans la boutique ."
				if player's balance < 10000:
					message "&f&l[&6Serveur&f&l] &cTu n'as pas asser d'argent pour acheter ce grade ."
			if {_group.%player%} is not "default":
				message "&f&l[&6Serveur&f&l] &cIl te faut le grade Paysan avant d'acheter ce grade ."
		if arg 1 is "chevalier":
			if {_group.%player%} is "ecuyer":
				if player's balance > 25000:
					remove 10000 from player's balance
					make console execute command "manuadd %player% chevalier Monde"
					make console execute command "manuadd %player% chevalier Monde_nether"
					make console execute command "manuadd %player% chevalier Monde_the_end"
					make player execute command "achat chevalier"
					broadcast "&f&l[&6Serveur&f&l] &c%player% &c&lvient d'acheter le grade Chevalier dans la boutique ."
		if arg 1 is "paladin":
			if {_group.%player%} is "chevalier":
				if player's balance > 50000:
					remove 10000 from player's balance
					make console execute command "manuadd %player% paladin Monde"
					make console execute command "manuadd %player% paladin Monde_nether"
					make console execute command "manuadd %player% paladin Monde_the_end"
					make player execute command "achat paladin"
					broadcast "&f&l[&6Serveur&f&l] &c%player% &c&lvient d'acheter le grade Paladin dans la boutique ."
		if arg 1 is "empeureur":
			if {_group.%player%} is "paladin":
				if player's balance > 100000:
					remove 10000 from player's balance
					make console execute command "manuadd %player% empeureur Monde"
					make console execute command "manuadd %player% empeureur Monde_nether"
					make console execute command "manuadd %player% empeureur Monde_the_end"
					make player execute command "achat empeureur"
					broadcast "&f&l[&6Serveur&f&l] &c%player% &c&lvient d'acheter le grade Empeureur dans la boutique ."

 

Mon serveur est sous Spigot 1.8.8 ma version de skript est 2.2 Mes addons sont skAction, skQuery, Wildskript, skRayfall

Merci d'avance aux personnes qui prendront le temps de lire mon message et à ceux qui m'aideront à régler ce problème .

2019-01-09_00.40.30.png

2019-01-09_00.40.39.png

13 réponses à cette question

Messages recommandés

  • 0
Posté(e)

On ne me prévient d'aucune erreur en jeu quand je load le skript

 

Il y a 12 heures, > NoaGamingFR a dit :

Salut, c'est pas ton code qui est mal fait ici ?


if {_group.%player%} is "default":

Car je ne voit à aucun endroit où est défini cette variable ?

Bonjour, merci de la réponse, j'ai trouver ce code ci dessous sur un autre poste de skript-mc je ne savais pas vraiment ou l'ajouter et comment .

{_group.%player%}
  • 0
Posté(e)
il y a 4 minutes, Sokora a dit :

Bonjour, merci de la réponse, j'ai trouver ce code ci dessous sur un autre poste de skript-mc je ne savais pas vraiment ou l'ajouter et comment .


{_group.%player%}

Qu'utilise tu comme plugin pour les groupes ? 

  • 0
Posté(e)
Il y a 5 heures, Sokora a dit :

On ne me prévient d'aucune erreur en jeu quand je load le skript

 

Bonjour, merci de la réponse, j'ai trouver ce code ci dessous sur un autre poste de skript-mc je ne savais pas vraiment ou l'ajouter et comment .


{_group.%player%}

Essai if player's group contains "nom du groupe" si tu as que un grade par "nom" par exemple il ne faut pas "chevalier" et "chevalierGJGJ #giletjaunes mdr"

  • 0
Posté(e)

Je viens d'essayer de remplacer {_group.%player%} par if player's group contains "Paysan" voici un screen (et je suis avec GroupManager)2019-01-09_18_47_31.thumb.png.d27dc8c13759d51624e53025a9316a83.png

  • 0
Posté(e)
il y a 4 minutes, mathituxs a dit :

Re!

Tu as essayé juste ça ?:


if player’s group is "Default":

 

 

Oui j'ai vu d'autres idées comme mettre une permission au grade et ajouter dans le skript if player have permission "permission": ou bien le if player's displayname contains "Paysan" que je n'ai pas essayer car les deux solutions avait certains problèmes .

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

Sinon je te propose de mettre une perm à chaque grade du type groupe.xxx

comme ça tu vérifie juste si il a la perm groupe.xxx, ça remplace tout!

J'ai vu cette solution mais j'ai vu qu'il pourrait y avoir un probleme d'inheritance sur les grades supérieurs

  • 0
Posté(e)
il y a une heure, mathituxs a dit :

Non justement, tu vérifie la permission supérieur!

Du type if player has (perm la plus haute)

else

if player has (perm du dessous)

etc...

Je viens d'essayer cette solution et ça fonctionne enfin merci énormément de ton aide .

Je vais donc passer la discussion en Résolu .

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.