Aller au contenu
  • 0

[Probléme] probléme gui avec un skript


Question

Posté(e) (modifié)

Version de minecraft / skript : Spigot 1.8.8

Type du skript : Skript de ticket

Description du script Bonjour,

je suis en train de dev un skript de ticket avec un systéme de gui,

il fonctionne de cette facon:

un joueur fait "/ticket create <la raison du ticket>" et cela l'ajoute dans une liste, un admin peut faire la commande /ticket view, ce qui lui ouvre un gui avec tous les tickets en cours, et c'est de la que vien le probléme, tous fonctionne SAUF que genre, si je créé deux tickets, genre : "test1" et "test2" dans les deux tickets cela va me dire "test2".

( merci de regarder le code avant de lire la ligne suivante) je pense que le probléme vient du fait que quand ça doit faire la commande "make player execute command "ticket see %{_ticketlist1}%"" ça va à chaque loop, vu que "{_ticketlist1}" va augmenter de 1, quand on va appuyer, il va prendre la valeur de "{_ticketlist1}" et ne pas faire attention au moment ou on a créé les slots ( si vous avez pas compris dsl )

 

le code:

command /ticket [<text>] [<text>]:
	trigger:
		if arg-1 is "view":
			if player has the permission "admin.ticketview":
				open chest with 5 rows named "&6Ticket" to player
				wait 1 tick
				set {_ticketlist1} to 0
				loop {ticketlist::*}:
					add 1 to {_tickettotal}
				if "%inventory name of player's current inventory%" is "&6Ticket":
					loop {ticketlist::*}:
						format slot {_ticketlist1} of player with a gray glass named "%loop-index%" to close then run [make player execute command "ticket see %{_ticketlist1}%"]
						add 1 to {_ticketlist1}
		if arg-1 is "create":
			if arg-2 is set:
				add "%player%:||%arg-2%" to {ticketlist::*}
		if arg-1 is "remove":
			if player has the permission "admin.ticketremove":
				if arg-2 is set:
					remove "%{ticketlist::%arg-2%}%" from {ticketlist::*}
		if arg-1 is "see":
			if player has the permission "admin.ticketsee":
				if arg-2 is set:
					message "%{ticketlist::%arg-2%}%"


command /testeeee:
	trigger:
		message "%{var::2}%"
		
command /testeeee2 [<text>]:
	trigger:
		add "%arg-1%" to {var::*}

Merci

Modifié par SkyNe0

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Heu, quand tu dis " SAUF que genre, si je créé deux tickets, genre : "test1" et "test2" dans les deux tickets cela va me dire "test2". ", tu veux dire que une fois que tu clique dessus ça te dis toujours "Test2" ? ?

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

Heu, quand tu dis " SAUF que genre, si je créé deux tickets, genre : "test1" et "test2" dans les deux tickets cela va me dire "test2". ", tu veux dire que une fois que tu clique dessus ça te dis toujours "Test2" ? ?

oui, avec le /ticket see, ça marche nikel, mais dans le gui ça va toujours me dire le dernier ticket qui a été créé partout

Modifié par SkyNe0
  • 0
Posté(e) (modifié)
loop {ticketlist::*}:
    add 1 to {_n}
    format gui slot {_n}of player with paper named "%loop-value%" to close:


Un conseil utilise TusKe c'est mieux que SkQuery pour les Guis

 

N'hésite pas à louer si je t'ai aider ? 

Modifié par lazerda456
  • J'aime 1
  • 0
Posté(e) (modifié)

Essaie tout de même ceci, avec une fonction peut-être que ça marchera x) (J'ai refais la commande parce que je m'y retrouvais pas x), )

 

function TicketView(p: player, t: text):
    send "%{ticket.list.loop.%{_t}%}%" to {_p}
    
command /tickett [<text>] [<text>]:
    trigger:
        if arg 1 is set:
            if arg 1 is "create":
                if arg 2 is set:
                    if {ticket.name.%arg 2%} is not set:
                        set {ticket.name.%arg 2%} to "&8%player% &3> &5%arg 2%"
                        add {ticket.name.%arg 2%} to {ticket.lists.tickets::*}
                        send "&8Vous avez créé le ticket ""&6%arg 2%&8"" =)"
                    else:
                        send "&8Le Ticket ""&6%arg 2%&8"" existe déjà."
	        else if arg 1 is "delete" or "remove":
                if arg 2 is set:
                    if {ticket.name.%arg 2%} is set:
                        remove {ticket.name.%arg 2%} from {ticket.lists.tickets::*}
                        delete {ticket.name.%arg 2%}
                        send "&8Vous avez supprimé le ticket ""&6%arg 2%&8"" =)"
                    else:
                        send "&8Le Ticket ""&6%arg 2%&8"" n'existe pas ='("
	        else if arg 1 is "view":
                if player has the permission "admin.ticketview":
                    open chest with 5 rows named "&6&lListe des Tickets" to player
                    wait 1 tick
                    set {_slot} to 0
                    loop {ticket.lists.tickets::*}:
                        set {ticket.list.loop.%{_slot}%} to loop-value
                        format slot {_slot} of player with gray glass named "%loop-value%" to close then run [TicketView(player, "%clicked slot%")]
                        add 1 to {_slot}
                else:
                    send "&8Désolé, tu n'as pas la permission ='("
	    else:
            send ""
            send "&8/tickect &6create [nom] &7> &5Permet de créer le ticket de ton choix."
            send "&8/tickect &6remove [nom] &7> &5Permet de supprimer le ticket de ton choix."
            send "&8/tickect &6view [nom] &7> &5Permet d'afficher la liste de tout les tickets."
            send ""
	

Je suis vraiment pas sûr x)

EDIT: Juste dans le code les "Else if arg 1 is "x": " ne sont pas bien mis, il y'a une tabulation en trop mais même en l'enlevant dans l'Edit ça ne se change pas dans le poste x)

 

Modifié par Maxl
  • 0
Posté(e)
il y a 24 minutes, Maxl a dit :

Essaie tout de même ceci, avec une fonction peut-être que ça marchera x) (J'ai refais la commande parce que je m'y retrouvais pas x), )

 


function TicketView(p: player, t: text):
    send "%{ticket.list.loop.%{_t}%}%" to {_p}
    
command /tickett [<text>] [<text>]:
    trigger:
        if arg 1 is set:
            if arg 1 is "create":
                if arg 2 is set:
                    if {ticket.name.%arg 2%} is not set:
                        set {ticket.name.%arg 2%} to "&8%player% &3> &5%arg 2%"
                        add {ticket.name.%arg 2%} to {ticket.lists.tickets::*}
                        send "&8Vous avez créé le ticket ""&6%arg 2%&8"" =)"
                    else:
                        send "&8Le Ticket ""&6%arg 2%&8"" existe déjà."
	        else if arg 1 is "delete" or "remove":
                if arg 2 is set:
                    if {ticket.name.%arg 2%} is set:
                        remove {ticket.name.%arg 2%} from {ticket.lists.tickets::*}
                        delete {ticket.name.%arg 2%}
                        send "&8Vous avez supprimé le ticket ""&6%arg 2%&8"" =)"
                    else:
                        send "&8Le Ticket ""&6%arg 2%&8"" n'existe pas ='("
	        else if arg 1 is "view":
                if player has the permission "admin.ticketview":
                    open chest with 5 rows named "&6&lListe des Tickets" to player
                    wait 1 tick
                    set {_slot} to 0
                    loop {ticket.lists.tickets::*}:
                        set {ticket.list.loop.%{_slot}%} to loop-value
                        format slot {_slot} of player with gray glass named "%loop-value%" to close then run [TicketView(player, "%clicked slot%")]
                        add 1 to {_slot}
                else:
                    send "&8Désolé, tu n'as pas la permission ='("
	    else:
            send ""
            send "&8/tickect &6create [nom] &7> &5Permet de créer le ticket de ton choix."
            send "&8/tickect &6remove [nom] &7> &5Permet de supprimer le ticket de ton choix."
            send "&8/tickect &6view [nom] &7> &5Permet d'afficher la liste de tout les tickets."
            send ""
	

Je suis vraiment pas sûr x)

EDIT: Juste dans le code les "Else if arg 1 is "x": " ne sont pas bien mis, il y'a une tabulation en trop mais même en l'enlevant dans l'Edit ça ne se change pas dans le poste x)

 

J'ai corriger les erreurs que tu as fait, mais j'ai toujours une erreur:, de toute façon, le probléme est regler ?

Capture.png

Il y a 1 heure, lazerda456 a dit :

loop {ticketlist::*}:
    add 1 to {_n}
    format gui slot {_n}of player with paper named "%loop-value%" to close:


Un conseil utilise TusKe c'est mieux que SkQuery pour les Guis

 

N'hésite pas à louer si je t'ai aider ? 

Merci beaucoup, tu as regler mon probléme

il y a une heure, grod0026 a dit :

bonjour,

je te joins un lien pour resoudre ton probleme 

tu y a ta réponse a ton soucis (le dernier message ) de PsYZiiK et en plus tu aura de l'aide pour les gui de tuske ++

Merci, je vais pouvoir apprendre les gui TuSKe c'est fou que cet addon m'a sauver la mise une paire de fois

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.