Olyno 196 Posté : 6 mars 2018 (modifié) Bonjour, dans ce tutoriel, je vais vous expliquer comment créer ses propres syntax skript tel que des effets, des conditions, des expressions, des types et des événements (pas encore disponible pour les types et éventements). Bien, commençons par savoir par quoi commencer : Qu'est-ce skript-mirror ? Pour résumer, skript-mirror est un addon vous permettant d'utiliser du java dans skript. Dans un premier temps, vous devrez télécharger l'addon skript-mirror qui est disponible sur le forum de skunity : Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Il vous suffit de le mettre dans votre dossier "plugins" et de relancer votre serveur. A la base, SkQuery permettait de faire ça à partir de fichiers skq mais ce système n'était plus à jour. Skript-mirror à donc remis à jour ce système mais de façon bien meilleur. Créer ses propres syntax: /!\ Attention /!\ Une partie de ce tutoriel ne sera que de la traduction du tutoriel de base pour créer ses propres syntax. /!\ Attention /!\ Tout les "return" dans les codes/exemples sont qu'à partir de la version 0.9+ de skript-mirror. Pensez donc à bien avoir la bonne version de celui-ci. Sinon, remplacer "return" par "continue". Vous pouvez créer des effets et des expressions personnalisés pour créer des blocs de code réutilisables. La syntaxe personnalisée peut être utilisée dans tous les scripts, mais elle ne peut être utilisée qu'après avoir été analysée, alors prenez soin de vous assurer que les scripts contenant des déclarations syntaxiques personnalisées sont chargés en premier. La syntaxe personnalisée présente quelques avantages par rapport aux fonctions Skript: * Ils ressemblent plus à d'autres effets Skript et expressions * Ils se comportent bien avec les retards et l'effet de changement tel que les wait.... Création d'effets personnalisés Les effets personnalisés peuvent être créés à l'aide de la syntaxe suivante: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Par exemple: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Cela crée un effet personnalisé pour dire "Hello world!" La syntaxe peut utiliser tous les éléments de pattern que Skript utilise, même les expressions imbriquées: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Les expressions peuvent être consultées avec la syntaxe suivante: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Pluraliser l'expression vous permet d'accepter plusieurs valeurs. Remarque, le code suivant utilise expressions-1 PAS expression-1. Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Si l'effet n'est pas terminé immédiatement (par exemple, il y a une attente ou un effet asynchrone), vous devez déclarer que l'effet a un délai avant que le délai ne soit exécuté. Vous devez également continuer (PAS arrêter) après que l'effet soit terminé pour indiquer que le code d'appel peut continuer. Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Pour les effets personnalisés, avoir un continue n'est nécessaire que pour les effets retardés. Création d'expressions personnalisées : Les expressions personnalisées sont créées de manière similaire. Les expressions doivent toujours se poursuivre, avec une valeur de retour optionnelle. Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. C'est une expression qui retourne toujours 6.28: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Si une expression a toujours la possibilité de renvoyer plusieurs valeurs, elle doit être définie comme telle: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Dans certains cas, vous aurez une expression qui renvoie plusieurs valeurs si plusieurs valeurs lui sont données et seulement une seule valeur si une seule valeur lui est donné. Vous pouvez préfixer ce paramètre par un $ pour indiquer que son montant détermine si l'expression peut renvoyer plusieurs valeurs. Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Il y a aussi un raccourci pour écrire les expressions de propriété sous forme de Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. et Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. . L'expression passée à %type% est toujours stockée dans l'expression-1 et toutes les expressions de <quoi> sont stockées dans les expressions suivantes. Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Création de conditions personnalisés: Les conditions personnalisées sont créées de même manière que les effets. Les conditions doivent toujours se poursuive. Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Utilisation concrète : Pour utiliser ces effets, conditions et expressions personnalisés, vous devez les mettre dans un second fichier nommé "!!!lenomquevoussouhaitez". Les 3 points d'exclamations permettent au fichier d'être chargé en premier. Les effets que vous utilisez directement dans un script doivent être en dehors de votre fichier contenant les syntax personnalisés. (Jusqu'à la version prochainement) Merci de m'avoir lu et j'espère avoir pu vous apprendre quelque chose. Scripts possédants ce système: - GameAPI : https://skript-mc.fr/forum/resources/gameapi.1294/ Pensez à me signaler les scripts possédant ce type de système pour que je puisse les ajouter à la liste /!\ Le tutoriel ci-dessus n'est valable que pour la version 0.9.0 de skript-mirror maximum /!\ Pour skript-mirror + 0.9.0, il y a quelques changements. Par exemple, pour récupéré la donnée d'un effet, il vous faudra utiliser "trigger", comme dans l'exemple suivant: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Pour les expressions, il vous faudra préciser le changer (add, remove, set...) dont get pour récupéré la valeur: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Si vous voulez changer la valeur d'une expression, tel que "set ceci est un test to "oh, ca a changé", il vous faudra utiliser cette méthode: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Enfin, le "return" ne doit etre utiliser uniquement pour les expressions. En ce qui concerne les conditions, il faut "continue" lorsque c'est vrai et ne rien faire lorsque c'est faux. Il faut utiliser "continue" dans les effets en cas de timer, tel que "wait 3 seconds" par exemple. Pour les conditions, il faudra utiliser "check", comme: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Rappel: La documentation officiel se trouve ici: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Modifié 12 septembre 2018 par AlexLew oublies 3 Partager ce message Lien à poster Partager sur d’autres sites
McLincoln2 30 Répondu : 10 mars 2018 Très utile merci :) 1 Partager ce message Lien à poster Partager sur d’autres sites
Mildojos 18 Répondu : 10 mars 2018 Très utile merci :) Pas faux mais cela n'a pas l'air de fonctionner en 1.12.2. x) Partager ce message Lien à poster Partager sur d’autres sites
Invité Répondu : 16 mars 2018 Tes explications restent cohérentes et adéquate à la situation, mais, juste, en aucun cas il y a l'utilisation de Java dans le code même avec l'utilisation de l'addon, si tu pouvais corriger celà ^^' Partager ce message Lien à poster Partager sur d’autres sites
Olyno 196 Répondu : 16 mars 2018 Tes explications restent cohérentes et adéquate à la situation, mais, juste, en aucun cas il y a l'utilisation de Java dans le code même avec l'utilisation de l'addon, si tu pouvais corriger celà ^^' Parce que ici tu apprends à créer des syntax, mais ce que j'ai dis est cohérent, tu peux utiliser du java dans le code Partager ce message Lien à poster Partager sur d’autres sites
Invité Répondu : 18 mars 2018 Tu peux me montrer un exemple ? Partager ce message Lien à poster Partager sur d’autres sites
Spartan9802 181 Répondu : 15 avril 2018 Voilà plusieurs exemples, l'addon utilise la reflection Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Partager ce message Lien à poster Partager sur d’autres sites
KyloRen3600 235 Répondu : 12 septembre 2018 Pour les effet il ne faut pas oublier le "trigger" Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 12 septembre 2018 Il y a 1 heure, KyloRen3600 a dit : Pour les effet il ne faut pas oublier le "trigger" Ah oui c'est vrai qu'il ne les a pas mis Partager ce message Lien à poster Partager sur d’autres sites
Olyno 196 Répondu : 12 septembre 2018 il y a une heure, noftaly a dit : Ah oui c'est vrai qu'il ne les a pas mis Il y a 3 heures, KyloRen3600 a dit : Pour les effet il ne faut pas oublier le "trigger" Merci de me l'avoir signalé, ca a été corrigé par la suite 1 Partager ce message Lien à poster Partager sur d’autres sites
Rémi 178 Répondu : 18 octobre 2018 Salut, Franchement, bien joué. Bien expliqué, bien détaillé, parfait ! 1 Partager ce message Lien à poster Partager sur d’autres sites