Aller au contenu
uiytt

Pourquoi utilise TuSKe au lieu de SkQuery pour les GUI ?

Comment avez vous appris à utiliser les GUI (pour les personnes qui on utilisées SkQuery) ?  

36 membres ont voté

  1. 1. Comment avez vous appris à utiliser les GUI (pour les personnes qui on utilisées SkQuery) ?

    • Par un site français
    • Par un site anglais
    • Par un tuto youtube français
    • Par un tuto youtube anglais
      0
    • Par un ami
    • Autres (précisez dans les commentaires)


Messages recommandés

Posté(e) (modifié)

/. INTRODUCTION

 

Bonjour,

J'ai remarqué depuis déjà un certain temps que les joueurs on tendance à utiliser SkQuery pour les GUI bien que celui ci possède de nombreux bug, est moins pratique, offre moins de fonctionnalités et que beaucoup de personnes dans la catégorie "aide" poussent les joueurs à utiliser TuSke.

J'imagine que c'est probablement du au faire que en cherchant "GUI Skript" les premiers liens montrent le fonctionnement des GUI avec SkQuery (de même avec 95% des vidéos d'apprentissages de GUI fr).

 

J'ai donc décidé d'essayer de changer cela en créant ce poste dans le but de vous montrer le Sacro-Saint-Graal des GUI Skript, j'ai nommé TuSKe.

J'ajouterai aussi un sondage afin de savoir avec quoi vous avez appris à utiliser les GUI afin de connaître pourquoi tant de personnes on commencées en utilisant SkQuery.

 

P.S : Je sais que psyziik a déjà crée un poste semblable mais je compte rendre celui ci plus complet ou en tout cas montrer clairement la différence entre les deux plutôt que faire un tuto. ^^

IMPORTANT

Il est très important de savoir que pour Gui on peut utiliser SkQuery sans TuSKe mais pas TuSKe sans SkQuery.

 

I. L'OUVERTURE D'INVENTAIRE

 

Dans SkQuery :

open chest with 3 row named "&8&l[&6&lTEST&8&l]" to player
wait 1 tick
 

Dans Tuske :

open chest with 3 row named "&8&l[&6&lTEST&8&l]" to player
 

Comme vous pouvez le voir, pas grand chose ne change et ce n'est certainement pas ça qui va vous faire passez sur TuSKe mais bon c'est déjà un problème car il arrive souvent d'oublier le wait 1 tick pour SkQuery

 

 

II. L'AJOUT D'ITEMS

Dans SkQuery :

format slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable
 

Dans Tuske :

make a gui slot 0 of player with 1 dirt named "test" with lore "c'est un lore..."
 

Comme vous pouvez le voir les deux non pas vraiment de différence mais font là même chose, toutefois voici une grosse différence : Imaginons que l'on veuille afficher des item qui fassent exactement la même chose dans 5 slots différent :

Dans SkQuery :

[spoiler=Code SkQuery]

format slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable
format slot 1 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable
format slot 2 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable
format slot 3 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable
format slot 4 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable
 

 

 

Dans TuSke :

[spoiler=Code TuSKe]

make a gui slot 0, 1, 2, 3, 4 and 5 of player with 1 dirt named "test" with lore "c'est un lore..."
 

 

ça peut vous sembler pas grand chose mais quand on fait ça avec une vingtaine d'items, utiliser SkQuery rend votre code très désagréable et moins performant.

 

III. EXÉCUTER DES EFFETS

Sachez avant tout que toute les choses faisables dans SkQuery sont faisables dans TuSKe (close, close then run, etc..) mais pas le contraire :

Par exemple pour exécuter un loop ou exécuter plusieurs effet avec SkQuery on est obligé de passer par une fonction ou "on inventory click:" ce qui non seulement est moins optimisé, moins pratique (imaginez vous faire 20 fonction avec un gui où il y a 20 items qui font 20 choses différentes :/) et moins compréhensible pour vous et toutes autre personnes qui essayerait de lire votre script.

[spoiler=Code SkQuery]

on right click on stone:
   open chest with 3 row named "&8&l[&6&lTEST&8&l]" to player
   format slot 0 of player with 1 diamond sword named "a" to close then run [a(player)]

function a(p: player):
   loop 5 times:
       message "test" to {_p}
 

 

 

Alors que Tuske:

[spoiler=Code TuSKe]

on right click on stone:
	open chest with 3 row named "&8&l[&6&lTEST&8&l]" to player
	make a gui slot 0 of player with 1 diamond sword named "a" to run:
		close player's inventory
		loop 5 times:
			message "test" to player
 

 

 

IV. LES TYPES DE CLIQUES

Pour SkQuery on est obligé de passer par le "on inventory click"

[spoiler=Code SkQuery]

on right click on stone:
   open virtual chest inventory with size 4 with name "&6&lTest" to player
   format slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable
on inventory click:
   if inventory name of player's current inventory is "&6&lTest":
       cancel event
       if clicked slot is 0:
           if clicked type is right mouse button:
               message "test" to player
 

 

Pour Tuske par contre non seulement on peut passer directement par le to run:

[spoiler=Code TuSKe]

on right click on stone:
   open virtual chest inventory with size 4 with name "&6&lTest" to player
   make a gui slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to run:
       if clicked type is equal to left mouse button:
           message "a" to player
 

 

Mais on peut aussi intégrer la condition dans le "make a gui":

[spoiler=Code TuSKe]

on right click on stone:
   open virtual chest inventory with size 4 with name "&6&lTest" to player
   make a gui slot 0 of player with 1 dirt to close then run player command "/gm 1" using left click
 

 

 

V. D'AUTRES FONCTIONNALITÉS

Voici quelque petit truc en plus dans Tuske:

Supprimer les items d'un slot:

unformat the gui slot %numbers% of %players%
 

De tout les slots:

unformat all gui slots of %players%
 

Condition pour savoir si le joueur a un GUI:

%player% has [a] gui
 

Et condition pour savoir si un slot fait partit d'un GUI:

slot %numbers% of %players% is a gui
 

Le as op:

make a gui slot 0 of player with 1 dirt to close then run player command "/gm 1" as op
 

 

VI. LES LOOPS

Sur SkQuery ce code vous affichera 10 dans tout les cas:

[spoiler=Code SkQuery]

on right click on stone:
   open virtual chest inventory with size 4 with name "&6&lTest" to player
   set {_s} to 0
   loop 10 times:
       format slot {_s} of player with 1 dirt to run [message "%{_s}%"]
       add 1 to {_s}
 

 

Alors que le premier aurait du donner 0, le 2eme 1, etc...

Mais pour Tuske:

[spoiler=Code TuSKe]

on right click on stone:
   open virtual chest inventory with size 4 with name "&6&lTest" to player
   set {_s} to 0
   loop 10 times:
       make a gui slot {_s} of player with 1 dirt to run:
           message "%{_s}%"
       add 1 to {_s}
 

 

Tout marche ^^ et croyerz moi les loops peuvent être vraiment utile dans les GUI quand on sait les utiliser.

 

VII. LES GUI AVANCES

Bon sachez que pour TuSke ce que je vous ais présenté est la partie dite "simple", il existe des GUI bien plus complexes.

Ceux-ci vous permettent par exemple de créer un gui définit par une ID puis ouvrir l'inventaire de cette ID, de connaitre le type d'action du joueur(ex: swap with cursor, pickup half et bien d'autres), de connaitre le type de slot (armor, fuel) et bien plus ^^ .

Mais surtout ces GUI sont vraiment vraiment biens plus rapident et prennent moins de ressources :D.

Voici le tuto officielle en Anglais.

 

VII. LES BUGS

Il faut savoir que SkQuery est connu comme possédant des bugs dans ses GUI et que donc dans de gros GUI il n'est pas si rare d'avoir des résultats inexplicables.

Tel que :

- loop avec des valeurs qui changent qui ne marche pas

- si on met unstelable à un slot dans le GUI, le slot situé à la même position dans l'inventaire du joueur aurra le même effet (pareil avec les to run command)

- bug visuel quand on spamclick / dans certain cas il est aussi arrivé de vraiment recevoir l'item (en créa en spamcliquant)

 

-------------------------------------------------------------------------------------

 

Voilà, c'est la fin de ce poste que je tenais beaucoup à faire ^^

Si vous avez aimé n'hésitez pas à donner un like.

Si vous avez des arguments soutenant ou contre ce poste n'hésitez pas à le dire (en restant poli svp)

Tuske : https://www.spigotmc.org/resources/tuske.25136/

Documentation GUI TuSke : https://github.com/Tuke-Nuke/TuSKe/wiki/GUI-Manager

Merci à psyziik pour son Tuto qui m'a été très utile pour apprendre à utiliser TuSKe : https://skript-mc.fr/forum/threads/«-gestion-avancée-des-guis-avec-tuske-».9050/

 

 

P.S : Je sais parfaitement que ce post comportement de très nombreuses fautes mais sachez que cela n'est clairement pas une raison de juger négativement ce poste.

 

EDIT: J'ai appris qu'il existais déjà un poste semblable mais bon impossible de le trouver sur Google. Mais bon voici ce qu'il a écrit, c'est un peu plus complet que mon poste : https://skript-mc.fr/forum/threads/pourquoi-est-ce-que-tuske-skquery-menus.12752/

Modifié par uiytt
  • J'aime 6

Partager ce message


Lien à poster
Partager sur d’autres sites

On m'explique pourquoi il est impossible de trouver ça sur Google ??? j'ai passé 2 heures à écrire un truc absolument inutile :'( j'en ai marre :/

Bon du coup je le supprime ?

 

j'ai essayé en anglais et en français.

Et même en tapant : pourquoi tuske que skquery menus ou pourquoi tuske > que skquery menus on ne tombe même pas sur ce poste :/ :mad::(

Partager ce message


Lien à poster
Partager sur d’autres sites
Supprime pas xD

J'ai l'impression que le poste de Syst3m est plus complet mais le miens plus compréhensible donc ouai je vais laisser mais je vais inclure le lien de son poste dans mon poste.

Partager ce message


Lien à poster
Partager sur d’autres sites

Est-ce que je suis censé prendre ça comme un compliment...?

Partager ce message


Lien à poster
Partager sur d’autres sites
Est-ce que je suis censé prendre ça comme un compliment...?

Je te jure que il est impossible de trouver ton poste en cherchant sur google...

J'ai tout (ou presque) essayé...

Quand je l'ai créer je savais même pas que y'avait déjà un poste de ce genre et pourtant j'ai cherché..

Partager ce message


Lien à poster
Partager sur d’autres sites
format slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable

format slot 1 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable

format slot 2 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable

format slot 3 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable

format slot 4 of player with 1 dirt named "test" with lore "c'est un lore..." to be

Perso moi je fais une loop ici et sa m'énerve de le voir écrit comme ça

Partager ce message


Lien à poster
Partager sur d’autres sites
Perso moi je fais une loop ici et sa m'énerve de le voir écrit comme ça

Yep mais il n’empêche que tu pour une loop de ce type au lieu de une syntaxe il t'en faut 4 avec SkQuery...

Partager ce message


Lien à poster
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×

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.