Aller au contenu

Actualisation de GUI - Skript-gui


Messages recommandés

Posté(e)

Version de Minecraft : 1.8.8
Version de Skript : 2.5.3

Addons utilisés: Skore, skRayFall, Skript-gui

Type du skript : Skript UHC 

Description du script :

Bonjour/Bonsoir,

Je suis actuellement en train de confectionner mon plugin UHC (configurable) mais je bute sur un problème. J'aimerais pouvoir configurer les scénarios de chaque partie (type; Cutclean, HasteyBoys, etc) et que lors de l'ouverture de menu gui des scénarios, ceux activés apparaissent en vert et les autres en rouges. Problème? Je ne sais pas comment faire sans créer un menu pour chaque possibilité (ex: Un menu pour scénario 1 activé, un autre quand c'est le 1 et 2 activés, etc)
Est-ce que quelqu'un aurait une idée de comment faire ça de manière pratique?

Merci pour votre lecture, et bonne soirée.

PS: Les fautes d'orthographes sont dues à ma fatigue.

SkriptScreen.PNG

Posté(e)

Bonjour, pour faire ceci, tu peux te servir de conditions ainsi que de variables.
Imaginons que ta variable {uhc::scenarios::cutclean} puisse être true ou false.
Dans ce cas, tu peux faire un code comme ceci :

command test:
	trigger:
		create a new gui with virtual chest inventory named "Scénarios":
			if {uhc::scenarios::cutclean} is true: # Si le scénario est activé, alors :
				make gui slot ...
			else: # Sinon, s'il n'est pas activé :
				make gui slot ...
		open last created gui to player

Bonne soirée 🙂

Posté(e)

Merci de ta réponse.

Mais le seul problème est, puisque j'ai à peu près 7 scénarios que je dois mettre dans le même menu, ça va faire beaucoup de condition non?

Posté(e)

Dans ce cas fait comme ceci :

command test:
	trigger:
		create a new gui with virtual chest inventory named "Scénarios":
			loop {uhc::scenarios::*}:
				if loop-value is true: # Si le scénario est activé, alors :
					make gui slot ... # Tu peux même recuperer le nom du scénario avec loop-index
				else: # Sinon, s'il n'est pas activé :
					make gui slot ...
		open last created gui to player

 

  • J'aime 1
Posté(e) (modifié)

Alors, j'ai ajouté ça à mon code:

 

command /openconfigscenarios:
	trigger:
		if player is op:	
			create a gui with id "GuiSCENARIOS" with virtual chest inventory named " &fConfiguration > &6Scénarios" with 5 rows:
				loop {uhc::scenarios::*}:
					if loop-value is true:
						make gui slot 23 with lime dye named "&atest"
					else:
						make gui slot 33 with red dye named "&ctest"
			open last created gui to player

et 

on load:
	add "cutclean" to {uhc::scenarios::*}
	add "hasteyboys" to {uhc::scenarios::*}
	add "fireless" to {uhc::scenarios::*}
	add "rodless" to {uhc::scenarios::*}
	add "timber" to {uhc::scenarios::*}
	add "diamondprotect" to {uhc::scenarios::*}
	add "nocleanup" to {uhc::scenarios::*}

Mais, malheureusement, ça n'a pas l'effet escompté.. Même si un scénario est actif, il n'y a qu'un "red dye" dans le menu. Vous avez une idée?

Modifié par iSkreqm
Posté(e)

il fallait faire plutôt comme ceci:

set {uhc::scenarios::SCENARIOS1} to true
set {uhc::scenarios::SCENARIOS2} to false
set {uhc::scenarios::SCENARIOS3} to true

parce que la le loop-value équivaut au nom et pas a true/false

 

Posté(e)
il y a une heure, Yghore a dit :

il fallait faire plutôt comme ceci:


set {uhc::scenarios::SCENARIOS1} to true
set {uhc::scenarios::SCENARIOS2} to false
set {uhc::scenarios::SCENARIOS3} to true

parce que la le loop-value équivaut au nom et pas a true/false

 

Et ensuite, que dois-je mettre dans la commande du gui?

Posté(e) (modifié)

Coucou !

Voici tu devrais faire quelque chose dans le genre :

on load:
	set {uhc::scenarios::cutclean} to false
	set {uhc::scenarios::hasteyboys} to false
	set {uhc::scenarios::fireless} to false
	set {uhc::scenarios::rodless} to false
	set {uhc::scenarios::timber} to false
	set {uhc::scenarios::diamondprotect} to false
	set {uhc::scenarios::nocleanup} to false

command /openconfigscenarios:
	trigger:
		if player is op:
			create a gui with id "GuiSCENARIOS" with virtual chest inventory named " &fConfiguration > &6Scénarios" with 5 rows:
				set {_slotnb} to 0
				loop {uhc::scenarios::*}:
					if loop-value is true:
						make gui slot {_slotnb} with lime dye named "&a%Loop-value% activé !":
							set {uhc::scenarios::%Loop-value%} to false
					else:
						make gui slot {_slotnb} with red dye named "&c%Loop-value% déactivé !":
							set {uhc::scenarios::%Loop-value%} to true
					add 1 to {_slotnb}
					
			open last created gui to player


a chaque load du skript les parametres se remente a 0, donc a false 😉
et quand tu cliques sur l'item ca change la varrible ⚠️ ca ne change pas l'item ! ca change juste la varrible, il faudrais fermer et re ouvrir le GUI au joueur OU re set l'item⚠️

 

Modifié par JonesJugHead.sk
ajout dans le code du switch des varriables
  • 2 mois après...
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.