Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 15/03/2019 dans toutes les zones

  1. 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.
    1 point
  2. Bonjour/bonsoir ! Dans les dernières versions de Skript se trouve une nouvelle fonctionnalité assez utile, permettant d'utiliser le format JSON dans des messages de manière à mon goût très simple et plus pratique qu'avec json.sk. ➤ Qu'est ce qu'un message contentant du 'json' ? Comment en faire via Skript ? Le json est un format permettant de stocker des données, et n'est pas utilisé que par Minecraft. Dans Minecraft, il permet entre autres d'envoyer des messages en couleur, contenant des commandes cliquables, des infobulles, et autres choses que l'on verra par la suite. Pour l'utiliser directement dans minecraft, il faut se servir de la commande "/tellraw", une commande à la syntaxe très restrictive et compliquée à utiliser. C'est le mode de fonctionnement de l'API json.sk. L'inconvénient est qu'avec ceci, il est difficile (impossible ?) d'envoyer plusieurs formats différents sur la même ligne, par exemple 2 commandes cliquables sur 2 portions de textes différentes de la même ligne. De plus cela envoie dans la console le log de la commande tellraw. Il existe aussi une syntaxe contenue dans SkQuery permettant d'envoyer des messages json, pouvant contenir plusieurs formats, mais cette syntaxe reste assez restrictive elle aussi, et nécessite l'addon. ➤ La nouvelle méthode Depuis longtemps il existe dans skript des bouts de codes intégrable directement dans l'effet "message/send", permettant de faire la mise en forme : message "<red><bold>Message en rouge et en gras<reset> en blanc <green> en vert" Ils sont très peu utilisés, car il est bien plus simple de se servir de "&4 , &l , &2 , &r , ...". Mais c'est avec des balises de ce type que l'on va intégrer des commandes/tooltip à nos messages. Voici les 4 balises disponibles : <url:url>texte cliquable, ouvre la fenêtre 'Êtes vous sûr de vouloir ouvrir..'<reset> <command:/commande>texte cliquable, exécute la commande<reset> <suggest command:commande>texte cliquable, écrit la commande dans la barre de tchat<reset> <tooltip:texte de la tooltip>Quand on passe la souris sur le texte, affiche la tooltip<reset> Et voici quelques exemples d'utilisations et le résultat en jeu: [spoiler=Exemples] #1 message "<command:/say J'ai cliqué><tooltip:§4Allez, clique%nl%§2§lSteuplé%nl%&1 :)>Passe ta souris....<reset>" #2 message "<url:https://skript-mc.fr/forum><tooltip:Cliquer ici pour ouvrir%nl%le magnifique forum>Ouvrir le forum skript-mc.fr<reset>" #3 message "<tooltip:Clique pour faire /say Bonsoir><command:/say bonsoir>clic ?<reset>%nl%<tooltip:Clique pour préparer la commande /say><suggest command:/say >ou bien ici ?<reset>" [spoiler=Résultats](Après avoir cliqué sur le message) #1 [ATTACH=full]7864[/ATTACH] J'ai sauté quelques lignes pour ne pas cacher le texte, mais normalement il n'y a pas de saut de ligne. On remarque que dans les tooltips, le code couleur doit être mit avec le symbole § et non &, si vous écrivez le texte directement. Néanmoins si le texte de la tooltip est stocké dans une variable, alors le caractère & fonctionnera. Exemple : set {_tooltip} to "&1Bonsoir" message "<tooltip:%{_tooltip}%>Bonjour<reset>" affichera bien Bonsoir en bleu dans la tooltip. #2 [ATTACH=full]7867[/ATTACH] et au clic : [ATTACH=full]7868[/ATTACH] [spoiler=Résultats] #3 [ATTACH=full]7866[/ATTACH] Juste pour montrer qu'il est possible de faire plusieurs commandes dans le même message, sur plusieurs parties de textes différentes. C'est bien sûr aussi possible avec les url. ➤ Remarques ● Certaines combinaisons de formatage ne sont pas possibles, si elles sont mises sur la même portion de texte: - commande + commande suggérée - commande + url - commande suggérée + url ● Ils n'est pas possible d'associer plus d'un format du même type à la même portion de texte. Par exemple, les codes suivants ne fonctionneront que partiellement : message "<command:/say premier message><command:/say 2eme message>clic<reset> -> n'exécute que la 2eme commande message "<tooltip:premiere><tooltip:deuxième><tooltip:troisième>texte<reset>" -> n'affiche que la 3ème tooltip etc.. ● Les caractères < et > écrits dans l'un des formatages le fera boguer. Je n'ai personnellement pas trouvé d'autre moyen que de les remplacer par un caractère unicode comme ➤ ou ▶ ● Les commandes cliquables et les commandes suggérées ne peuvent pas faire plus de 100 caractères, sinon seuls les 100 premiers caractères seront exécutés. ● Placer le symbole § dans une commande cliquable fera kick le client, avec l'erreur "illegal characters in chat". Si vous placez un § dans une commande suggérée, la couleur sera bien appliquée dans le tchat, mais le joueur sera kick s'il exécute la commande, avec la même erreur. ● Les urls doivent commencer par "http(s)://", sinon le texte ne sera pas cliquable ● Ces formats ne sont pas utilisables avec l'effet broadcast Je rappelle qu'il faut avoir une version assez récente de skript, prenez les dernières releases de Bensku pour être sûr, et parce que c'est bien d'être à jour ;) Pour info, cette fonctionnalité a été ajoutée dans la dev26. Voilà, en espérant que ça vous sera utile :)
    1 point
  3. T'as testé avec "explosion" entre guillemet ?
    1 point
  4. Si j'ai bien compris: on death of player: loop all players: if loop-player's world is "tntwars": teleport loop-players to world "world" # ou make loop-players execute command "hub" make console execute command "tntrepair map1"
    1 point
  5. Ça fait longtemps qu'on t'as pas vu sur discord 😕
    1 point
  6. La réponse est sans doute là 😂
    0 point
×
×
  • 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.