Salut à toi et bienvenue sur ce tutoriel !
Dans ce post je vais te faire découvrir ou t'apprendre les listes.
Premièrement, une liste est un "tableau", ou vous renseignez une id et une valeur (donnée). Je vous montrerai :
I. Représentation codée d'une liste
II. Comment add une donnée à votre tableau
III. Comment delete une donnée de votre tableau
IV. Comment lister votre tableau
V. Conditions de listes
VI. Comment générer une entrée aléatoire de votre tableau
VIII. Comment supprimer votre tableau
IX. Conclusion
I. Représentation codée d'une liste.
Pour utiliser une liste dans votre code, une liste se présente comme cela:
{liste::*} -> Comme une variable, a laquelle on ajoute "::" après la premiere "partie" de variable, qui ici est "liste". Si l'on met une étoile ("*"), toutes vos entrées (chaque ligne du tableau, pour reprendre la représentation) sont concernées.
Si l'on met {liste::uneentrée}, alors c'est votre entrée "uneentrée" qui sera concernée.
II. Ajout de donnée à un tableau.
Premièrement, nous allons ajouter une entrée à notre tableau. Pas besoin d'un effet pour créer ce tableau, il existe a partir du moment ou vous ajoutez une entrée.
Exemple : j'ajoute une entrée de type texte à mon tableau (liste):
Cela donne ( en ligne d'effet ) :
add "Hello" to {mots::*}
Donc ici, on créer une nouvelle ligne avec comme valeur "Hello".
III. Retirer une donnée d'un tableau
Ensuite, nous allons retirer une entrée à notre tableau. Pour retirer cette entrée, nous allons faire:
Cela donne (en ligne d'effet )
remove "Hello" from {mots::*}
Comme cela, on retire la ligne qui porte la valeur "Hello" dans la liste "mots".
IV. Lister notre tableau
Ici, en reprenant toujours en encore notre même liste "mots", nous voulons lister, simplement ce tableau.
Comment allez vous me dire ?
Je vais vous montrer 2 types d'affichage de listes.
La première, la plus simple, comme mon ami @imSizk vous l'a sûrrement expliquée, est, l'affichage comme une variable :
send "%{mots::*}%
Une méthode plus poussée, que j'utilise utilise la notion de loop. Je ne l'ai pas encore expliquée mais ne cherchez pas, lisez juste ce que je vous dit ;)
Donc, pour listez correctement notre tableau, on va utiliser le loop.
Cela se déroule sous cette forme :
loop {mots::*}:
send "%loop-index% -> %loop-value%"
De cette manière, on va nous dire "numéro de la ligne -> valeur de la ligne"
V. Génération aléatoire d'une ligne de la liste
Pour générer quelque chose d'aléatoire, il vous suffit d'avoir cet effet :
set {_donneealéatoire} to a random element of {mots::*}
Ici on met la variable temporaire "donnealéatoire" sur un élément aléatoire de la liste "mots".
VI. Conditions de liste
Pour les conditions de liste, certains mon posés la question : "C'est bien les listes, mais comment je fais pour savoir si une donnée est déjà mise dans la liste ?".
Donc je vais vous répondre ici ! :
Pour voir si une donnée est déjà rentrée, une donnée ajoutée à la liste est "mise" dans la liste, donc elle "existe" dans la liste. Pour ce faire voici une condition :
if {mots::Hello} is set:
send "Hello"
Chose très bête hein ^^ Mais vous pouvez remplacer le "Hello" dans la condition par un "%arg-1%" s'il s'agit d'une commande.
VII. Supprimer une liste
Après tout ça et en chapitre "final" du tutoriel, je vous propose de voir un effet qui vous permettre de remettre à zéro une liste.
Voici l'effet concerné :
clear {mots::*}
L'effet "clear" vous permet de nettoyer votre liste. Et, comme je vous l'ai dit précédemment, une liste sans ligne est une liste nule, donc inexistante, donc elle est supprimée !
VIII. Conclusion
Les listes sont, pour moi une des choses les plus importantes dans Skript, vous pouvez ajouter des informations, les récupérer les supprimer, etc... (Je vous invite à voir l'algorithme conçu à l'ajout automatique de données dans une liste en cliquant ici)
Merci à vous d'avoir suivi ce tutoriel, n'hésitez pas à mettre un like pour m'encourager à vous faire des tutos complets ! :)
Cordialement,
Hugo / Azen.