Un titre que l'on ne comprends pas ? C'est normal, vous êtes bien sur Skript School, la série de tutoriel afin d'apprendre à programmer Skript de A à Z. Je vous recommande, voire vous demande si vous n'avez aucune connaissances en skript d'aller voir les précédents Skript School (voir plus bas).
Je précise juste que, Skript School est adapté et fait pour les débutants. Pour le moment, si vous êtes bons en skript vous n'apprendez sûrement rien. Néanmoins, les prochains tutoriels passeront la barre au dessus niveau difficulté.
LES LISTES ET LES BOUCLES
Les bases
Premièrement, voyons les listes. Dans Skript School #3 nous avons pu découvrir les variables qui permettent de stocker une valeur. Désormais nous allons nous étendre un peu plus sur le sujet et allons stocker plusieurs valeurs dans une de ces variables, qui sera une liste.
Une liste se déclare de la même manière qu'une variable, mais avec ::* derrière.
{masuperbeliste::*}
Comme ton cerveau Bien sûr, je plaisante. Effectivement elle est vide, mais ça, c'est si vous le déclarez dans les Variables tout en haut. Maintenant, dans une commande ou un évènement, nous allons ajouter quelque chose - une valeur - à notre magnifique liste (qui peut être créer directement dans l'effect que nous allons voir)
Pour se faire, il suffit d'écrire ceci dans votre évènement ou votre commande.
add "Salut" to {masuperbeliste::*}
Pour ceux qui ont encore du mal, on va faire une décomposition très simple. "add [une valeur] to [liste]" ce qui, traduit littéralement, signifie "ajouter [une valeur] à [liste]" et maintenant vous devriez comprendre.
Evidemment. Dans notre liste, on peut ajouter plus qu'un string. On peut ajouter une variable simple, un chiffre, le nom d'un joueur, son uuid... tout. Voici quelques exemples
add uuid of player to {list::*}
add player to {list::*}
add "salut" to {list::*}
add 15 to {list::*}
Absolument, on peut mélanger un chiffre, un string, tout.
De cette manière, on peut retirer quelque chose d'une liste et la vider.
# Retire un élément de la liste
remove "salut" from {list::*}
# Vide la liste
clear {list::*}
L'affichage
Il y a plusieurs moyens d'afficher une liste. Élément par élément, ou tout d'un coup. Reprenons la liste {list::*} (le précédent exemple) pou cela.
Le plus simple, un affichage qui marche comme toutes les variables. Par exemple :
broadcast "%{list::*}%"
Si vous avez fait cela correctement, vous obtiendrez quelque chose de la sorte (pas les mêmes valeurs si vous n'avez pas repris la liste de l'exemple, évidemment)
Et la deuxième méthode consiste à afficher éléments par éléments. Pour cela nous allons utiliser une boucle, "loop". Je vais écrire le code puis expliquer.
loop {list::*}:
send "%loop-value%"
C'est très simple. Première ligne, on indique que l'on va faire une boucle pour la liste {list::*}. En quelque sorte, on dit à Skript : "Pour chaque élément de {list::*}:"
Ensuite on utilise send pour tester en utilisant loop-value. Loop-value correspond à la valeur - l'élément - de la boucle. Résumons simplement : "Pour chaque élément de {list::*}: envoyer message "élément""
Récupérer un élément précis
Pour cela, nous allons utiliser un index. L'index, c'est l'équivalent de loop-value, en chiffre et dans l'ordre d'ajout. Si s'ajoute "mdr", puis "lol", pour ensuite ajouter "rofl"à ma liste {uneliste;;*}, mdr aura l'index 1, lol l'index 2 et ainsi de suite.
Si je veux récupérer et afficher, par exemple, "lol", il me suffira de faire :
send "%{uneliste::2}%"
D'ailleus, on peut également loop l'index avec %loop-index%
Ainsi, on peut également modifier un élément précis.
set {uneliste::2} to "roflrofl"
Voilà, c'est tout pour ce (long) tutoriel, mais désormais les listes et vous ne font qu'un ! Si vous avez quelconque question, n'hésitez pas à me la poser, ou à venir me voir sur le Discord de Skript-MC, j'y suis très souvent.
Skript School #1 - Skript School #2 - Skript School #3 - Skript School #4