Aller au contenu
Mastersfelix

Tutoriel - Les GUI de A à Z

Messages recommandés

Super ! Moi qui galérer avec les GUIs, je comprends mieux ! Merci !

P.S : Pour le "To close then run "commande". La commande est exécutée par la console ou le joueur ? Si c'est par la console, y a-t-il moyen de faire en sorte que cette commande soit exécutée par le joueur ?

 

P.S 2 : Pour le "To close then run "commande". Peut-on faire exécuter 2 commandes en même temps ?

Si oui, comment ?

 

Merci !

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
AU TOP!

 

Par contre le while (pas pour les gui pour tout) je n'ai jamais COMPRIS ! XD

TUTO =D

 

Une boucle while peut se traduire par tant et aussi longtemps que... et donc en l'occurence ici, tant et aussi longtemps que le nom du coffre est "tatata", exécute le code toute les 2 ticks et lorsque la condition arrête d'être vrai, elle sort de la boucle

 

 

et @PsYZiiK , j'ai oublié de parler des lambdas, ils peuvent être utilisé pour lancer un bout de code plutôt qu'une commande

Contenu masqué

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

Dans le code du haut, le joueur exécutera /spawn et la variable {_tp} sera set à true

Partager ce message


Lien à poster
Partager sur d’autres sites

Super tutoriel alors la vraiment chapeau, un des meilleures !

Juste un truck, il me semble que 1 ticks suffit, enfin moi j'ai toujours fait 1 ticks ^^

Sinon vraiment trés trés bon tutoriel !

Je te remercie

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Merci mais le while fait bug je pense tout les 2 tick ?

 

Hmm.. C'est possible, mais il me semble que le 2 ticks fonctionnait.. Je peux me tromper aussi, je ne suis pas parfait

 

Super tutoriel alors la vraiment chapeau, un des meilleures !

Juste un truck, il me semble que 1 ticks suffit, enfin moi j'ai toujours fait 1 ticks ^^

Sinon vraiment trés trés bon tutoriel !

Je te remercie

 

À ma connaissance, 1 tick n'est pas suffisant, mais bon je suis vieux et j'ai toujours mis 2 ticks peut-être qu'entre temps sa a changé je ne sais pas. Vous pouvez l'essayer, mais je ne promets pas que cela va fonctionner

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, j'ai une question :

En gros j'ai tenté de faire un GUI qui ouvre d'autres GUI dans le cas d'un Menu avec des sous-parties, mais quand j'ouvre un deuxieme gui et que je clique sur un item qui normalement enclenche une commande, il n'y a aucuns résultats, mais si j'ouvre directement le GUI, la commande s'exécute bien. Si j'ai mal expliqué dis le moi, et merci d'avance en espérant que tu connaisses la solution.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce que je te conseil, c'est que au lieu d'executer une commande dirrecetement dans le format tu fait:

Contenu masqué

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

  • J'aime 2

Partager ce message


Lien à poster
Partager sur d’autres sites
Ce que je te conseil, c'est que au lieu d'executer une commande dirrecetement dans le format tu fait:

Contenu masqué

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

Merci de l'aide ;)

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

 

En développement

 

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

Il y a moyen de mettre dans le gui des armures en cuir colorées ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Ce que je te conseil, c'est que au lieu d'executer une commande dirrecetement dans le format tu fait:

Contenu masqué

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

 

Perso moi ça marche pas '-'

Erreur: 'inventory' is not a slot

Partager ce message


Lien à poster
Partager sur d’autres sites
Bonjour, j'ai une question :

En gros j'ai tenté de faire un GUI qui ouvre d'autres GUI dans le cas d'un Menu avec des sous-parties, mais quand j'ouvre un deuxieme gui et que je clique sur un item qui normalement enclenche une commande, il n'y a aucuns résultats, mais si j'ouvre directement le GUI, la commande s'exécute bien. Si j'ai mal expliqué dis le moi, et merci d'avance en espérant que tu connaisses la solution.

 

Je dois faire la section c'est qu'il faut ajouter certaines lignes sinon le GUI ne s'ouvrira pas. Je vais faire la petite section qu'il me manque dans mon tutoriel bientôt.

 

EDIT: À non, j'ai juste oublié cette partie *.*

 

Il y a moyen de mettre dans le gui des armures en cuir colorées ?

 

Personnellement, je ne sais pas s'il existe des moyens plus simples, mais j'enregistre mon armure dans une variable et je format le slot avec cette variable

 

Perso moi ça marche pas '-'

Erreur: 'inventory' is not a slot

 

Tu as besoin de SkQuery pour utiliser les GUIs

Partager ce message


Lien à poster
Partager sur d’autres sites
Je dois faire la section c'est qu'il faut ajouter certaines lignes sinon le GUI ne s'ouvrira pas. Je vais faire la petite section qu'il me manque dans mon tutoriel bientôt.

 

EDIT: À non, j'ai juste oublié cette partie *.*

 

 

 

Personnellement, je ne sais pas s'il existe des moyens plus simples, mais j'enregistre mon armure dans une variable et je format le slot avec cette variable

 

 

 

Tu as besoin de SkQuery pour utiliser les GUIs

 

Oui oui j'ai SKQuery :)

Va voir ici mon erreur

Partager ce message


Lien à poster
Partager sur d’autres sites
Je dois faire la section c'est qu'il faut ajouter certaines lignes sinon le GUI ne s'ouvrira pas. Je vais faire la petite section qu'il me manque dans mon tutoriel bientôt.

 

EDIT: À non, j'ai juste oublié cette partie *.*

 

 

 

Personnellement, je ne sais pas s'il existe des moyens plus simples, mais j'enregistre mon armure dans une variable et je format le slot avec cette variable

 

 

 

Tu as besoin de SkQuery pour utiliser les GUIs

Merci beaucoup de ta réponse :D

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Salutations à tous !

 

J'ai un petit soucis concernant cette ligne :

if name of clicked item contains " allo ":

 

Je me permet alors de répondre à la suite de ce très bon tutoriel car j'ai une erreur que personne ne semble avoir (et ça pourra peut être en aider certains) :

Contenu masqué

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

 

Le "if name of clicked item contains" n'est tout simplement pas reconnu :/

J'ai bien SkQuery (j'ai du coup testé plusieurs versions, et toujours pareil).

Partager ce message


Lien à poster
Partager sur d’autres sites

Il me semble qu'il te faut d'autre addons essaye avec skrayfall ou bien wildskript sa prend peu de temps et peu marcher ;)

Edit : ton item rename peut avoir des espaces comme tu as mis ? :o c'est peut etre pour cela

Partager ce message


Lien à poster
Partager sur d’autres sites

Salutations @Mentosh !

Merci d'être venu à mon secours ah ah :D

 

En réalité j'ai déjà Wildskript, SkQuery, SkRayfall, TuSKe et SharpSk.

Concernant les espaces, c'était pour l'exemple en référence au tutoriel, j'ai remplacé cette valeur par le nom de mon item ;)

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.