1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

  2. Venez taper la discute, demander de l'aide, bosser en texte ou en vocal sur le discord de skript-mc

Pourquoi utilise TuSKe au lieu de SkQuery pour les GUI ?

Discussion dans 'Tutoriaux' créé par uiytt, 14 Avril 2018.

?

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

  1. Par un site français

    30.8%
  2. Par un site anglais

    23.1%
  3. Par un tuto youtube français

    30.8%
  4. Par un tuto youtube anglais

    0 vote(s)
    0.0%
  5. Par un ami

    7.7%
  6. Autres (précisez dans les commentaires)

    7.7%
  1. uiytt Membre

    Inscrit:
    26 Mars 2017
    Messages:
    233
    J'aime reçus:
    16
    /. 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 :
    Code:
    open chest with 3 row named "&8&l[&6&lTEST&8&l]" to player
    wait 1 tick
    Dans Tuske :
    Code:
    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 :
    Code:
    format slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable
    Dans Tuske :
    Code:
    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 :
    Code:
    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 :
    Code:
    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.
    Code:
    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:
    Code:
    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 close then run:
            loop 5 times:
                message "test" to player
    IV. LES TYPES DE CLIQUES
    Pour SkQuery on est obligé de passer par le "on inventory click"
    Code:
    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:
    Code:
    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":
    Code:
    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:
    Code:
    unformat the gui slot %numbers% of %players%
    
    De tout les slots:
    Code:
    unformat all gui slots of %players%
    Condition pour savoir si le joueur a un GUI:
    Code:
    %player% has [a] gui
    Et condition pour savoir si un slot fait partit d'un GUI:
    Code:
    slot %numbers% of %players% is a gui
    Le as op:
    Code:
    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:
    Code:
    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:
    Code:
    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.

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

    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/
     
    Dernière édition: 15 Avril 2018
    #1
    Mastersfelix et BlueQc aiment ça.
  2. Shelk Pigeon de l'espace Membre actif

    Inscrit:
    1 Août 2017
    Messages:
    798
    J'aime reçus:
    268
  3. uiytt Membre

    Inscrit:
    26 Mars 2017
    Messages:
    233
    J'aime reçus:
    16
    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::(
     
    #3
  4. Shelk Pigeon de l'espace Membre actif

    Inscrit:
    1 Août 2017
    Messages:
    798
    J'aime reçus:
    268
    Supprime pas xD
     
    #4
  5. uiytt Membre

    Inscrit:
    26 Mars 2017
    Messages:
    233
    J'aime reçus:
    16
    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.
     
    #5
  6. Syst3ms Membre

    Inscrit:
    5 Septembre 2016
    Messages:
    235
    J'aime reçus:
    110
    Est-ce que je suis censé prendre ça comme un compliment...?
     
    #6
  7. uiytt Membre

    Inscrit:
    26 Mars 2017
    Messages:
    233
    J'aime reçus:
    16
    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é..
     
    #7
  8. bixoumi7 Membre

    Inscrit:
    24 Novembre 2016
    Messages:
    47
    J'aime reçus:
    8
    Perso moi je fais une loop ici et sa m'énerve de le voir écrit comme ça
     
    #8
  9. uiytt Membre

    Inscrit:
    26 Mars 2017
    Messages:
    233
    J'aime reçus:
    16
    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...
     
    #9

Partager cette page