angelus76 222 Posté : 25 septembre 2015 Salut a tous. Suite a une demande en message privée de @Silass_ qui avais un problème pour faire fonctionner les fonctions, je me suis rendue compte qu'il y avait très peut d'explication sur ce sujet, ou alors des exemples qui ne sont pas fonctionnel. j’étais tomber une fois ( rassurer vous je me suis pas fait mal :D ) sur un bon court tutoriel en anglais mais je ne le retrouve pas, je vais donc essayer de partager avec tous le monde ce que j'en avais compris. Tous d'abord ce que je vais utiliser c'est Skript 2.2 minimum et l'Addon SkQuery ( et oui c'est dans le titre ^^ ). La base d'une fonction: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. ont as d'abord " function " qui commence par dire a Skript /!\ ceci sera une fonction. Nom => c'est le nom de votre fonction, vous pouvez lui donner n'importe quel nom mais éviter les espaces et les accents. text => seras le type de retour de la fonction, cela peut être "player,number,text..." en gros les types que skript peut retournée. return => c'est ce que la fonction va retournée ( ici sa renvoie {_t} car le type de la fonction est "text"). Voici quelque exemples et leur explication. Imaginons une fonction qui permet d'envoyer un message a un joueur pour une commande de give. Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. ce Skript est volontairement absurde mais c'est pour l'exemple qui va venir ;) que constatons nous du skript ci-dessus ? 1 - ont vérifie plusieurs permission 2 - un message identique reviens "Give refusé" si je veux modifié le texte "Give refusé" il faut que je le modifie trois fois dans ce code et encore ici le Skript et très court, si il était plus long, ont risquerais d'en oublier un, de plus si je fait le même message pour différent kit, et bien il faudrait le modifié a d'autres endroit encore, donc comment faire pour rendre la modification du message "Give refusé" plus simple ? et bien avec une fonction ont peut je reprend le skript ci-dessus et j'ajoute une fonction. Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. voila si je veux modifier "Give refusé" je peut le faire dans la fonction et ce serras modifié partout dans mon code. bon ok c'est bien beau je vous ais balancer un bout de code mais l'avons nous compris ? au cas ou je vais le détailler ^^ function MsgGive(p: player, t: text): <= vous constaterais la disparition du type de retour, en effet il est possible de faire une fonction qui ne renvoie rien mais qui ce contente d’exécuter ce quelle as dedans. ont a déjà vue plus haut que MsgGive était le nom de la fonction p => est un nom de variable qui aura pour valeur un joueur de type "player" p peut être de n'importe quel nom, c'est a dire qu'ont peut faire aussi ceci function MsgGive(joueur: player, t: text): maintenant le nom de la variable est joueur et aura pour valeur un joueur "player" player étant le type que skript va interpréter t = > et bien comme pour p, mais cette fois ont auras une valeur de type "text" encore une fois, t peut avoir un autre nom comme "msg, texte, ... libreAvotreImagination" p et t étant des noms de variable, nous allons les réutiliser dans la fonction comme une variable temporaire. vous savez les variables {_variable} avec le _ ' tiret du 8 comme certain aime le dire :D ' ce qui donne {_p} et {_t}, qui aurons les valeur que vous aurais mie dans l'appelle de la fonction: MsgGive(player,"no") player étant le joueur qui a taper la commande, "no" étant une valeur texte. --------------------------------------------------------------------------------------------------------------------------- _______ Suite plus tard avec plus d'exemple sur type de retour de la fonction_____________ je finirais plus tard le reste du tutoriel, mais vous avez normalement de quoi commencer a comprendre ;) mais aussi, cela vous permet de me dire quelle sont les parties qui sont difficile a comprend afin que je puisse l'améliorer et rendre plus claire ce que j'ai écrit mais aussi ce qui va suivre ;) bien évidement, j'autorise le Staff a corriger mon écrit qui doit forcément contenir des fautes ( si vous pouviez juste me MP quelle était les fautes histoire de pouvoir m'améliorer en orthographe ;) ) 8 Partager ce message Lien à poster Partager sur d’autres sites
Whaxion 88 Répondu : 25 septembre 2015 Tuto génial ! Justement je me demandais comment fonctionnais les fonction ! Pour tout dire j'ai tout compris (en ayant codé pendant un peu moins d'un an en skript c'est logique mais je ne savais pas comment ca fonctionnais :/) Partager ce message Lien à poster Partager sur d’autres sites
Snowach 288 Répondu : 25 septembre 2015 WHAAAAAAT ! C'est du JAVA ? Ça ressemble, sinon très bon tutoriel mais j'ai rien compris x) C'est compliqué mais tu explique bien :) En fin de compte, je commence peu à peu de comprendre les fonctions. Partager ce message Lien à poster Partager sur d’autres sites
Im_PasteK 97 Répondu : 25 septembre 2015 WHAAAAAAT ! C'est du JAVA ? Ca ressemble, sinon très bon tuto mais j'ai rien compris x) C'est compliqué mais tu explique bien :) Non --' c'est skript ^^ Partager ce message Lien à poster Partager sur d’autres sites
angelus76 222 Répondu : 25 septembre 2015 WHAAAAAAT ! C'est du JAVA ? Ca ressemble, sinon très bon tuto mais j'ai rien compris x) C'est compliqué mais tu explique bien :) c'est du Skript ;) et non du JAVA :) en effet d'un langage a un autre, le codage est souvent ressemblent ;) quand tu dit c'est compliqué, c'est le tuto qui est difficile a comprendre ? car si c'est le cas hésite pas a me dire quelle sont les parties compliqué a comprendre pour que je les explique mieux ;) Partager ce message Lien à poster Partager sur d’autres sites
angelus76 222 Répondu : 25 septembre 2015 j'ai apporter une correction au tuto, en effet j'avais fait un exemple de tête qui retourner un Boolean, mais les fonction Skript ne retourne pas de boolean ^^ j'ai donc corriger le code et apporter une explication concernant les "return" des fonctions, je vais donc apporter plus tard l'explication des "return" sans faire d'erreur cette fois :D Partager ce message Lien à poster Partager sur d’autres sites
Snowach 288 Répondu : 25 septembre 2015 c'est du Skript ;) et non du JAVA :) en effet d'un langage a un autre, le codage est souvent ressemblent ;) quand tu dit c'est compliqué, c'est le tuto qui est difficile a comprendre ? car si c'est le cas hésite pas a me dire quelle sont les parties compliqué a comprendre pour que je les explique mieux ;) Tu expliques très très bien ^^ Partager ce message Lien à poster Partager sur d’autres sites
angelus76 222 Répondu : 25 septembre 2015 ok ^^ merci Partager ce message Lien à poster Partager sur d’autres sites
NelGossem_ 53 Répondu : 25 septembre 2015 J'avais déjà téléchargé 2/3 skripts ou je voyais des lignes de code comme ca mais je comprenais rien à ca . Maintenant c'est plus clair ! Merci ;) Partager ce message Lien à poster Partager sur d’autres sites
Tazmaik 0 Répondu : 10 octobre 2015 Bonjour :) serais t'il possible de précise quel version de skquery tu utilise parce ton code => Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. retourne ça au reload Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Skript Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Skquery 3.21.4 Partager ce message Lien à poster Partager sur d’autres sites
angelus76 222 Répondu : 10 octobre 2015 et avec Skript 2.2 ? car j'ai la même version pour SkQuery Partager ce message Lien à poster Partager sur d’autres sites
Tazmaik 0 Répondu : 10 octobre 2015 Effectivement avec la version pirate de Skript 2.2 les fonctions fonctionnes Peut etre serais t'il bien d'ajouter la version nécessaire de Skript dans les prérequit Aussi, existe t'il un post expliquant comment ce procurer Skrip 2.2 avec aussi tous les ajout que posède cette version? je me demande vraiment si il préférable ou non d'utiliser la version 2.2, si il ne peut pas avoir de problème de performance Partager ce message Lien à poster Partager sur d’autres sites
minouis55 46 Répondu : 15 octobre 2015 Super Tuto, j'en ferais sans doute une vidéo :) Partager ce message Lien à poster Partager sur d’autres sites
Bloubiboulga 18 Répondu : 19 octobre 2015 Effectivement avec la version pirate de Skript 2.2 les fonctions fonctionnes Peut etre serais t'il bien d'ajouter la version nécessaire de Skript dans les prérequit Aussi, existe t'il un post expliquant comment ce procurer Skrip 2.2 avec aussi tous les ajout que posède cette version? je me demande vraiment si il préférable ou non d'utiliser la version 2.2, si il ne peut pas avoir de problème de performance slt, je viens tout juste de télécharger Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. 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
Totueur 39 Répondu : 20 octobre 2015 Merci angelus , tu es vraiment très utilise dans cette communauté ^^ Partager ce message Lien à poster Partager sur d’autres sites
03maxime 12 Répondu : 25 octobre 2015 Merci très utile (dsl la discutions est vieille) Partager ce message Lien à poster Partager sur d’autres sites
Execut Design 31 Répondu : 25 novembre 2015 Enfaite ça sert à quoi une fonction du coup à part executer 2 choses en même temps ? Partager ce message Lien à poster Partager sur d’autres sites
minouis55 46 Répondu : 26 novembre 2015 A éviter de répéter une partie de ton skript, et donc de l'opti. Ca peut aussi servir à organiser ton skript :) 1 Partager ce message Lien à poster Partager sur d’autres sites
angelus76 222 Répondu : 27 novembre 2015 @Execut Design Je t'invite a lire une explication de l'utilité des fonction ici https://skript-mc.fr/forum/index.php?threads/lps-1-les-functions.2154/#post-22860 ;) Partager ce message Lien à poster Partager sur d’autres sites
Kwizzy 60 Répondu : 29 novembre 2015 Pour retourner une liste faites function name(var: type) :: textS : Il faut juste mettre un S (minuscule). Exemple : Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Et après pour set la variable faites : 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
Execut Design 31 Répondu : 29 novembre 2015 Ducoup, Quel est la Différence entre une function & un sub (avec un invoke) ? o_O :confused:o_O:eek::confused: 1 Partager ce message Lien à poster Partager sur d’autres sites
angelus76 222 Répondu : 2 avril 2016 fait ton propre avis https://skript-mc.fr/forum/threads/les-subs-fini-les-fonctions.4431/ 1 Partager ce message Lien à poster Partager sur d’autres sites
XxNatou2000xX 0 Répondu : 13 juillet 2016 OUai enfin SKquery est un peu intuile c'est pour racoursire ... je m'en passerai ^^ Partager ce message Lien à poster Partager sur d’autres sites
MeDrioX 11 Répondu : 25 septembre 2016 Si j'ai bien compris c'est pour raccourcir quand on tape ? par exemple Nan enfaite pas d'exemple on va me crashé dessus XD mais sa reviens au meme que les options ? [spoiler=EXEMPLE x)] 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
GauvainWizard 190 Répondu : 25 septembre 2016 Si j'ai bien compris c'est pour raccourcir quand on tape ? par exemple Nan enfaite pas d'exemple on va me crashé dessus XD mais sa reviens au meme que les options ? [spoiler=EXEMPLE x)] Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Ce n'est pas du tout un raccourci comme les options ^^ Partager ce message Lien à poster Partager sur d’autres sites