Aller au contenu
Mastersfelix

Tutoriel - Les GUI de A à Z

Messages recommandés

Rectification, je n'avais pas Umbaska. Or sur SkUnity il est écrit que les "Clicked item" sont relié à Umbaska... Du coup je suis en train de le mettre, mais ça cause quelques problèmes avec SharpSK...

 

@Mentosh

Par exemple, tu as une épée, tu lui donne le nom ALLO,

Si l'item s'appelle ALLO,

Le joueur fait 20 dégâts de plus de avec.

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour revenir au sujet, l'auteur du topic n'avait pas précisé que la partie

L'utilisation avancé des GUIs:
nécessitait l'Add-on UMBASKA. Du coup, mon soucis concernant le clicked event est réglé !

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Explication du probleme en "shéma":

 

JOUEUR #1 veux reload, ca ouvre le menu a tous les "op", JOUEUR #2 Lui veux pas reload alors clique sur la laine rouge (ligne 9), JOUEUR #3 Lui n' a plus la laine pour cliquer, donc lui ne peux pas voter a son tours :/

 

Comment est-ce que je pourrais regler ca ?

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Partager ce message


Lien à poster
Partager sur d’autres sites
Alors salut tout le monde. J'ai vu sur le forum qu'il existait déjà de nombreux tutoriels sur les GUI, mais je trouve qu'il manque plusieurs informations et que les informations sont plutôt dispersées alors dans ce tutoriel je mettrai tout ce que la communauté a créé et je vais rajouter une petite chose que vous allez surement apprécier ;)

 

La base:

 

Bon alors je vais vous commencer par vous expliquer ce qu'est un gui et comment nous pouvons les utiliser. Premièrement, un gui est un coffre irréel que nous ouvrons à un joueur et nous y ajoutons des items à l'intérieur pour y créer un menu ou n'importe quoi d'autres que vous pouvez penser.

 

Pour nous servir de ces GUI, nous avons besoin de l'addon SKQuery que nous utilisons de cette manière

 

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Bon, décortiquons ce code, dans notre 3e ligne, nous ouvrons un coffre au joueur. Nous devons spécifier le nombre de lignes (Pour un maximum de 6, chaque ligne a 9 cases). Par la suite, nous donnons le nom du gui (Ce nom sera écrit en haut du coffre. Nous pouvons utiliser les codes couleurs) et nous finissons en spécifiant celui qui verra ce coffre

 

Par la suite, nous mettons un délai de 2 ticks, car sans ce délai, les joueurs pourront prendre les items qui se trouvent dans ce coffre à l'aide d'un certain bug.

 

Pour terminer, nous plaçons un item dans le slot 1 (Qui est la 2e case en l’occurrence, car dans l'informatique, nous commençons toujours par le 0 donc le 0 = 1ère case) nous disons dans le coffre de quel joueur et l'item qui sera mis dans cette case. Nous donnons un nom à cet item (Encore une fois les codes de couleurs sont acceptés) et nous lui donnons un lore (Description sous le nom (codes de couleurs acceptés) les || sont utilisés pour passer des lignes).

 

La partie de code où il est écrit "to be unstealable" sert à nous dire ce que fait l'item dans ce coffre

 

Il existe différentes fonctions pour les items

 

- To be unstealable -> Le joueur ne pourra pas prendre l'item

- To close -> Fermera le coffre

- To close then run "commande" -> Exécutera la commande qui sera mise entre parenthèses (La console) et fermera le gui

- To run "commande" -> Exécutera la commande qui sera mise entre parenthèses (La console)

 

Les lambdas

 

Dans un gui, parfois, nous ne voulons pas que ce soit la console qui exécute la commande, mais plutôt le joueur et c'est là que les lambdas viennent en jeu

 

Pour déclarer un lamdas, rien de plus simple, au lieu de faire

 

to close then run "command", nous allons faire

 

to close then run

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Ouvrir un GUI dans un GUI

 

Dans un Gui, nous avons aussi parfois envie de faire qu'un item dans le Gui apporte à une autre page. Pour ce faire, nous avons un petit code à mettre dans le second Gui pour que la transition fonctionne. Je vais vous montrer directement un exemple, car une image vaut 1000 mots

 

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

L'utilisation avancé des GUIs:

 

Il existe une autre option pour faire des GUI qui est utilisé moins souvent, mais qui a certains avantages (permet de différencier le clique droit, le clic gauche et le clic du milieu)

 

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Dans ce code, nous ouvrons un coffre au joueur comme dans la première méthode, mais plutôt que de format une case, nous en faisons que de placer un item dans une case sans utiliser la méthode format. De cette façon, le joueur pourra prendre l'item. Par la suite, à l'aide de l'event on inventory click, nous détectons le type de clic (RIGHT, LEFT, MIDDLE) et nous exécutons le code voulu. Cette méthode nous permet de déterminer le type de clic qui a été utilisé pour chaque item et nous donne encore plus d'options pour réaliser nos idées <3

 

 

Bien optimiser son code.

 

Parfois, nous avons à remplir un coffre d'un certain objet et en programmation il existe de nombreux moyens d'optimiser son code. Lorsque nous avons à remplir notre coffre d'un certain item, nous n'avons qu'à utiliser ce code

 

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Dans ce code, nous mettons une variable à 0 et nous plaçons un bloc à cette case, par la suite nous ajoutons 1 à cette variable et nous plaçons un bloc à cette nouvelle case et ainsi de suite 27 fois. Pour déterminer le nombre de fois nécessaire, vous n'avez qu'à faire nombre de ligne * 9 et vous obtiendrez votre nombre (Dans notre cas 3*9 = 27)

 

Une autre technique pour placer des blocs répétitifs à plusieurs endroits sans avoir à refaire le même code 15x

 

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

 

Dans ce code, nous mettons les slots que nous voulons placer notre bloc dans une liste et par la suite nous regardons les valeurs de cette liste et plaçons un bloc à chacune de ces valeurs. Ces 2 méthodes sont très utiles pour optimiser vos codes ;)

 

Les GUIs animés

 

Nous pouvons aussi créer en skript des GUI qui sont animés. La méthode est un peu plus complexe, mais elle est quand même assez simple et très peu connu (Je crois que presque personne ne la connaît)

 

Je vais commencer par vous montrer le code et vous expliquer ensuite.

 

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

 

Dans ce code, nous ouvrons un coffre au joueur et nous partons une boucle while qui regarde à tous les 2 ticks si le nom de l'inventaire du joueur est le nom de l'inventaire que nous lui avons ouvert. Si c'est le cas, nous formatons les slots sinon nous arrêtons le code. À la fin de notre code, le wait 2 ticks représente le temps entre chaque actualisation du GUI. Plus le temps est haut, moins le serveur va lagguer et plus le temps est bas plus l'animation va sembler fluide.

 

Bon, je crois que j'ai pas mal fait le tour des GUI et je ne crois pas que je n'ai rien d'autre à dire. Si vous avez été capable de lire tout ceci, je vous félicite, vous êtes maintenant un maître incontesté des GUI et vous savez absolument tout

 

 

PS: Si j'ai oublié quelque chose, n'hésitez pas à me le dire dans les commentaires <3

 

Gros conseil : d'après ce que j'ai pu voir, tu utilise l'addon SkQuery (en fin, il me semble que c'est lui). Celui-ci possède beaucoup de problème par rapport aux gui. Tu aurais dû faire un tutoi sur l'addon TuSke qui est bien plus complet et qui possède presque aucune erreur sur le système de gui.

Partager ce message


Lien à poster
Partager sur d’autres sites

[quote=XTReMxLogik,

post: 94325, member: 5375]Bonjour,

Explication du probleme en "shéma":

 

JOUEUR #1 veux reload, ca ouvre le menu a tous les "op", JOUEUR #2 Lui veux pas reload alors clique sur la laine rouge (ligne 9), JOUEUR #3 Lui n' a plus la laine pour cliquer, donc lui ne peux pas voter a son tours :/

 

Comment est-ce que je pourrais regler ca ?

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Utilise l'addon TuSke

Partager ce message


Lien à poster
Partager sur d’autres sites
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.