Aller au contenu

Tutoriel Skript | Les loop-number en application


Utile?  

9 membres ont voté

  1. 1. Utile?

    • Merci, cela m'est très utile!
      4
    • Bof, je ne m'en servirais pas
      0
    • Je connaissais déjà, mais bravo pour les explications!
      3
    • Sa sert à rien, t'es nul è_é
      2


Messages recommandés

Posté(e)

Bonjour à tous, voici mon 2ème tutoriel, certes court, mais qui permettra de raccourcir le code de certains utilisateurs de GUI.

 

I. Ce qui est requis

- Une bonne connaissance du Skript, pour la compréhension du code.

- Un skript incluant un GUI.

- L'addon skQuery 3 en plus de Skript, et d'autres selon votre code.

 

II. Les modèles et cas d'application

Dans ce tutoriel, nous verrons 1 méthode d'applications de ces loop-number (proposez d'autres cas d'applications en commentaire!)

Il faut savoir que, personnellement, les loop-number sont juste un moyen de raccourcir un peu le code, et d'avoir aussi un code plus "clair" et plus "simple"

 

III. Commençons!

Voici une image du résultat voulu:

1442088520-capture.png

Et ici son code:

command /gadgets:
   trigger:
       wait 0.5 ticks
       open chest with 3 rows named "<gold><bold>Gadgets" to player
       wait 1 tick
       format slot 0 of player with light green stained glass pane named "." to close
       format slot 1 of player with light green stained glass pane named "." to close
       format slot 2 of player with light green stained glass pane named "." to close
       format slot 3 of player with light green stained glass pane named "." to close
       format slot 4 of player with light green stained glass pane named "." to close
       format slot 5 of player with light green stained glass pane named "." to close
       format slot 6 of player with light green stained glass pane named "." to close
       format slot 7 of player with light green stained glass pane named "." to close
       format slot 8 of player with light green stained glass pane named "." to close
       format slot 9 of player with light green stained glass pane named "." to close
       format slot 17 of player with light green stained glass pane named "." to close
       format slot 18 of player with light green stained glass pane named "." to close
       format slot 19 of player with light green stained glass pane named "." to close
       format slot 20 of player with light green stained glass pane named "." to close
       format slot 21 of player with light green stained glass pane named "." to close
       format slot 22 of player with light green stained glass pane named "." to close
       format slot 23 of player with light green stained glass pane named "." to close
       format slot 24 of player with light green stained glass pane named "." to close
       format slot 25 of player with light green stained glass pane named "." to close
       format slot 26 of player with light green stained glass pane named "." to close
       format slot 10 of player with feather named "&3Gadget : &bFlyer" with lore "&bTu peux voler plus haut que les oiseaux !" to close then run [make player execute command "/givegadgets plume"]
       format slot 12 of player with firework rocket named "&3Gadget : &bFireworker" with lore "&bAccroché à un feu d'artifice, tu t'amuse !" to close then run [make player execute command "/givegadgets firework"]
       format slot 14 of player with snowball named "&3Gadget : &bIceRunner" with lore "&bCréé tes ponts en glace grâce à une boule de neige !" to close then run [make player execute command "/givegadgets icerunner"]           
       format slot 16 of player with snow named "&3Gadget : &bSnowRoad" with lore "&bTu dépose de la neige en dessous de toi !" to close then run [make player execute command "/givegadgets snowtoggle"]

 

Voici le résultat en le compressant par la méthode du loop-number:

command /gadgets:
   trigger:
       wait 0.5 ticks
       open chest with 3 rows named "<gold><bold>Gadgets" to player
       wait 1 tick
       format slot 0 of player with light green stained glass pane named "." to close
       loop 26 times:
           if loop-number <= 9:
               format slot loop-number of player with light green stained glass pane named "." to close
           if loop-number >= 17:
               format slot loop-number of player with light green stained glass pane named "." to close
       format slot 10 of player with feather named "&3Gadget : &bFlyer" with lore "&bTu peux voler plus haut que les oiseaux !" to close then run [make player execute command "/givegadgets plume"]
       format slot 12 of player with firework rocket named "&3Gadget : &bFireworker" with lore "&bAccroché à un feu d'artifice, tu t'amuse !" to close then run [make player execute command "/givegadgets firework"]
       format slot 14 of player with snowball named "&3Gadget : &bIceRunner" with lore "&bCréé tes ponts en glace grâce à une boule de neige !" to close then run [make player execute command "/givegadgets icerunner"]           
       format slot 16 of player with snow named "&3Gadget : &bSnowRoad" with lore "&bTu dépose de la neige en dessous de toi !" to close then run [make player execute command "/givegadgets snowtoggle"]

 

Vous n'avez pas compris? Normal, en fait, on commence par loop 26 fois soit le nombre de slots du GUI au total:

loop 26 times:

Donc, à ce moment là, skript va commencer par définir le loop-number à 1, exécuter le code, redéfinir le loop-number à 2 et ré-exécuter le code autant de fois que inscrit.

Nous, nous mettons un condition:

if loop-number <= 9:

En gros, si le loop-number est plus petit (<) ou égal à 9, on execute le code qui suit soit:

format slot loop-number of player with light green stained glass pane named "." to close

Ce code, une fois exécuté avec un loop-number inférieur ou égale à 9, va définir les slots de la 1er ligne et le 1er slot de la 2ème ligne en une vitre de couleur verte. Pourquoi cette condition? Tout simplement car dans le cas contraire on aurai un GUI remplit de vitre...

 

Puis nous re-faisons le même code, mais cette fois si pour la ligne du bas, donc on inverse le signe (<= en >=):

loop 26 times:
    if loop-number >= 17:
       format slot loop-number of player with light green stained glass pane named "." to close

Ici, si le loop-number est supérieur ou égal à 17 soit le dernier slot de la 2ème ligne du GUI, on mets une vitre verte.

Et voilà! Vous avez le même résultat mais avec un code beaucoup plus court!

 

C'est tout ce que j'ai comme idée à propos des loop-number, n'hésitez pas à donner vos idées dans les commentaires!

  • J'aime 1

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
×
×
  • 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.