Aller au contenu
Voserv

Créer des menus améliorés

Messages recommandés

Bonjour,

 

Voici un petit tutoriel pour créer des menus améliorés avec Skript. Qu'est-ce qu'un menu amélioré ? vous allez le voir ci-dessous mais d'abord nous allons voir ensemble la construction basique d'un menu.

Ce tutoriel n'est compréhensible que pour ceux qui connaissent la base de création d'un gui.

 

La construction basique et que la majorité connaissent est d'utiliser le format slot. Nous allons garder cette technique, voici donc un menu basique.

Contenu masqué

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

 

Ceci est la construction basique quand vous voulez créer un objet dans un inventaire qu'on ne puisse pas utiliser. Mais imaginons que vous voulez faire que ce même objet exécute une commande, la majorité utilisera [make player execute command "/blabla"] comme ci dessous:

Contenu masqué

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

 

Ainsi, lorsque le joueur cliquera sur l'objet, il verra la commande /blabla exécutée. Mais ce système possède un défaut. Imaginons que vous vouliez faire des menus où le joueur est obligé de passer par le menu, mais que si cela s'exécute via une commande, le joueur, s'il trouve la commande pourra exécuter l'action sans aller via votre menu. Vous allez me dire qu'il est possible de mettre une condition dans la commande pour détecter l'inventaire etc. mais c'est fastidieux pour ce que c'est non ?

 

Il existe donc une solution simple, et qui permet aussi de nouvelles fonctionnalités. Vous allez devoir utiliser tout d'abord l'addon nommé SkMorkaz. Cet addon vous donne accès à un nouvel évènement:

Contenu masqué

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

 

Cet évènement vous permet de détecter lorsqu'un joueur clique sur un objet dans un inventaire. Cet évènement sera très utile pour éviter que le joueur n'exécute une action hors du menu désiré.

Imaginons que vous voulons faire que lorsque un joueur clique sur un objet nommé "stone", cela lui retourne un message "ça marche !", nous allons donc faire ceci:

Contenu masqué

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

 

Ainsi, lorsque le joueur cliquera sur un objet nommé "stone", cela va lui renvoyer un message. Pour détecter le menu où se trouve le joueur, il suffit d'ajouter cette ligne:

Contenu masqué

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

 

Et grâce à cela, vous pouvez éviter que des joueurs exécutent des actions hors des menus. De plus, le fait de pouvoir détecter les clics sur les items permet bien d'autres choses !

Mais cet évènement n'est pas seulement pratique, il permet aussi d'ajouter une nouvelle fonctionnalité qui est impossible avec le "to run" avec le "format slot". Vous pouvez ajouter la fonctionnalité de détecter les clics droits, clics gauches etc. pour permettre à un objet d'avoir plusieurs fonctions selon le clic.

 

Vous allez avoir besoin de l'addon Skellet. Cette condition est assez compliquée dans le sens où il y a un bon nombre de variantes en fonction de vos addons. Voici l'exemple extrait de Skunity:

Contenu masqué

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

 

Et voici ci-dessous tous les différents types de clics disponibles, leur écriture change en fonction des addons que vous utilisez, vous avez la liste extraite de Skunity ci-dessous:

[spoiler=TYPES DE CLICS]CONTROL_DROP

Holding Ctrl while pressing the "Drop" key (defaults to Q).

CREATIVE

Any action done with the Creative inventory open.

DOUBLE_CLICK

Pressing the left mouse button twice in quick succession.

DROP

The "Drop" key (defaults to Q).

LEFT

The left (or primary) mouse button.

MIDDLE

The middle mouse button, or a "scrollwheel click".

NUMBER_KEY

One of the number keys 1-9, correspond to slots on the hotbar.

RIGHT

The right mouse button.

SHIFT_LEFT

Holding shift while pressing the left mouse button.

SHIFT_RIGHT

Holding shift while pressing the right mouse button.

UNKNOWN

A type of inventory manipulation not yet recognized by Bukkit.

WINDOW_BORDER_LEFT

Clicking the left mouse button on the grey area around the inventory.

WINDOW_BORDER_RIGHT

Clicking the right mouse button on the grey area around the inventory.

 

If you're using Bensku's edit these will be your click types:

 

left mouse button, left mouse button with shift, right mouse button, right mouse button with shift, window border using right mouse button, window border using left mouse button, middle mouse button, number key, double click using mouse, drop key, drop key with control, creative action, unknown

 

 

Ainsi, en fonction de l'addon utilisé, il vous suffira d'intégrer une condition pour détecter le clic. Imaginons que j'utilise le premier exemple, donc si Bensku et Umbaska ne sont pas installés, il me suffira d'ajouter la condition ci-dessous et de mettre comme clic LEFT par exemple, pour savoir si le joueur fait un clic gauche:

Contenu masqué

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

 

 

Ce tutoriel est maintenant terminé et j'espère qu'il vous sera utile à créer des menus performants et avec plus de fonctionnalités ! :)

Partager ce message


Lien à poster
Partager sur d’autres sites
Bonjour,

 

Voici un petit tutoriel pour créer des menus améliorés avec Skript. Qu'est-ce qu'un menu amélioré ? vous allez le voir ci-dessous mais d'abord nous allons voir ensemble la construction basique d'un menu.

Ce tutoriel n'est compréhensible que pour ceux qui connaissent la base de création d'un gui.

 

La construction basique et que la majorité connaissent est d'utiliser le format slot. Nous allons garder cette technique, voici donc un menu basique.

Contenu masqué

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

 

Ceci est la construction basique quand vous voulez créer un objet dans un inventaire qu'on ne puisse pas utiliser. Mais imaginons que vous voulez faire que ce même objet exécute une commande, la majorité utilisera [make player execute command "/blabla"] comme ci dessous:

Contenu masqué

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

 

Ainsi, lorsque le joueur cliquera sur l'objet, il verra la commande /blabla exécutée. Mais ce système possède un défaut. Imaginons que vous vouliez faire des menus où le joueur est obligé de passer par le menu, mais que si cela s'exécute via une commande, le joueur, s'il trouve la commande pourra exécuter l'action sans aller via votre menu. Vous allez me dire qu'il est possible de mettre une condition dans la commande pour détecter l'inventaire etc. mais c'est fastidieux pour ce que c'est non ?

 

Il existe donc une solution simple, et qui permet aussi de nouvelles fonctionnalités. Vous allez devoir utiliser tout d'abord l'addon nommé SkMorkaz. Cet addon vous donne accès à un nouvel évènement:

Contenu masqué

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

 

Cet évènement vous permet de détecter lorsqu'un joueur clique sur un objet dans un inventaire. Cet évènement sera très utile pour éviter que le joueur n'exécute une action hors du menu désiré.

Imaginons que vous voulons faire que lorsque un joueur clique sur un objet nommé "stone", cela lui retourne un message "ça marche !", nous allons donc faire ceci:

Contenu masqué

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

 

Ainsi, lorsque le joueur cliquera sur un objet nommé "stone", cela va lui renvoyer un message. Pour détecter le menu où se trouve le joueur, il suffit d'ajouter cette ligne:

Contenu masqué

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

 

Et grâce à cela, vous pouvez éviter que des joueurs exécutent des actions hors des menus. De plus, le fait de pouvoir détecter les clics sur les items permet bien d'autres choses !

Mais cet évènement n'est pas seulement pratique, il permet aussi d'ajouter une nouvelle fonctionnalité qui est impossible avec le "to run" avec le "format slot". Vous pouvez ajouter la fonctionnalité de détecter les clics droits, clics gauches etc. pour permettre à un objet d'avoir plusieurs fonctions selon le clic.

 

Vous allez avoir besoin de l'addon Skellet. Cette condition est assez compliquée dans le sens où il y a un bon nombre de variantes en fonction de vos addons. Voici l'exemple extrait de Skunity:

Contenu masqué

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

 

Et voici ci-dessous tous les différents types de clics disponibles, leur écriture change en fonction des addons que vous utilisez, vous avez la liste extraite de Skunity ci-dessous:

[spoiler=TYPES DE CLICS]CONTROL_DROP

Holding Ctrl while pressing the "Drop" key (defaults to Q).

CREATIVE

Any action done with the Creative inventory open.

DOUBLE_CLICK

Pressing the left mouse button twice in quick succession.

DROP

The "Drop" key (defaults to Q).

LEFT

The left (or primary) mouse button.

MIDDLE

The middle mouse button, or a "scrollwheel click".

NUMBER_KEY

One of the number keys 1-9, correspond to slots on the hotbar.

RIGHT

The right mouse button.

SHIFT_LEFT

Holding shift while pressing the left mouse button.

SHIFT_RIGHT

Holding shift while pressing the right mouse button.

UNKNOWN

A type of inventory manipulation not yet recognized by Bukkit.

WINDOW_BORDER_LEFT

Clicking the left mouse button on the grey area around the inventory.

WINDOW_BORDER_RIGHT

Clicking the right mouse button on the grey area around the inventory.

 

If you're using Bensku's edit these will be your click types:

 

left mouse button, left mouse button with shift, right mouse button, right mouse button with shift, window border using right mouse button, window border using left mouse button, middle mouse button, number key, double click using mouse, drop key, drop key with control, creative action, unknown

 

 

Ainsi, en fonction de l'addon utilisé, il vous suffira d'intégrer une condition pour détecter le clic. Imaginons que j'utilise le premier exemple, donc si Bensku et Umbaska ne sont pas installés, il me suffira d'ajouter la condition ci-dessous et de mettre comme clic LEFT par exemple, pour savoir si le joueur fait un clic gauche:

Contenu masqué

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

 

 

Ce tutoriel est maintenant terminé et j'espère qu'il vous sera utile à créer des menus performants et avec plus de fonctionnalités ! :)

 

Selon mon point de vue, ton tutoriel n'est pas très intéressant. Je m'explique :

- Tu utilises SkQuery or ce n'est pas du tout le meilleur addon pour faire des menus guis. Le plus performant reste et restera sûrement TuSke.

- Plusieurs tutoriels existe déjà sur ce sujet dont 1 de ma part. Tu ne parle en aucun cas de nos tuto.

- Ton titre est "Créer des menus améliorés" or je ne vois pas en quoi ton tutoriel explique comment faire de meilleurs menus. TuSke est très intéressant.

 

Par contre point positif :

 

- Tu as expliqué l’événement "on click" et préciser les clicks... ce que personnellement je n'ai pas très souvent vu.

 

Bonne continuation.

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Selon mon point de vue, ton tutoriel n'est pas très intéressant. Je m'explique :

- Tu utilises SkQuery or ce n'est pas du tout le meilleur addon pour faire des menus guis. Le plus performant reste et restera sûrement TuSke.

- Plusieurs tutoriels existe déjà sur ce sujet dont 1 de ma part. Tu ne parle en aucun cas de nos tuto.

- Ton titre est "Créer des menus améliorés" or je ne vois pas en quoi ton tutoriel explique comment faire de meilleurs menus. TuSke est très intéressant.

 

Par contre point positif :

 

- Tu as expliqué l’événement "on click" et préciser les clicks... ce que personnellement je n'ai pas très souvent vu.

 

Bonne continuation.

 

Je rejoins ce que à dit Alexlew, mais merci du tutoriel :)

Partager ce message


Lien à poster
Partager sur d’autres sites

moi quand je mets:

command /menu:

   trigger:

        wait 1 tick

        open chest with 3 rows named "Test"

        wait 1 tick

ça me mets chest is not an entity type

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 12 heures, Axesnos a dit :

moi quand je mets:

command /menu:

   trigger:

        wait 1 tick

        open chest with 3 rows named "Test"

        wait 1 tick

ça me mets chest is not an entity type

 

rajoute 'to player' après le 'open chest with 3 rows named "Test"'

 

Je suis d'accord avec tout ce qui est dit au dessus, les différents types de click sont très intéressants.

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.