Gaël Erhlich 256 Posté : 5 novembre 2016 Hey, souvent on voit des demandes d'aide qui consistent en un "ça marche pas, voici mon code". @PsYZiiK avait proposé Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. , mais chaque cas étant ce qu'il est, il est difficile d'en avoir un qui couvre vraiment tous ces cas. Aujourd'hui, je vous propose donc de trouver les problèmes de vos plugins pour vous en débarrasser vous-même et ainsi désengorger la section Aide et vous permettre de dire précisément où se situe votre problème aux gens qui vous aident. 1. Les messages d'erreur de Skript Ce qui est génial avec ces messages qui s'affichent quand on recharge un plugin Skript, c'est qu'ils sont (souvent) courts et simples à comprendre. Ils se présentent comme ceci : Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. La ligne C'est le plus important en fait et y'a plein de gens qui passent à côté en lisant leur message d'erreur. Et le principe est tout simple, évident même : c'est la ligne où Skript a trouvé une erreur en chargeant le plugin. Alors pas la peine de désespérer en cherchant d'où peut venir le problème quand vous avez un message d'erreur, c'est écrit exactement où vous devez regarder. Instruction mise en cause C'est juste un copier/coller de la ligne d'où vient le problème. Pour le coup, c'est une partie un peu inutile. Si vous avez le numéro de la ligne -ce qui est toujours le cas-, cette partie du message risque de vous servir rarement. Par contre, si la ligne en question est très longue, cette partie risque de prendre beaucoup de place et rendre le message un peu plus difficile à lire. Le plugin.sk C'est juste au cas où vous rechargez plusieurs plugins en même temps et que du coup, vous ne savez pas si l'erreur vient du premier, du deuxième ou du douzième. L'explication de l'erreur Ici, c'est ce qui va vous permettre, après avoir localisé le problème, de savoir ce qu'il est. Je vais développer un peu chacun d'eux plus loin. indentation error: expected X tabs, but found Y tabs Ce message est un peu particulier, parce qu'en général, il est présent plusieurs fois pour une seule erreur, mais il est très fréquent quand on débute. Il apparaît quand Skript trouve une incohérence dans les tabulations (tabs). Le cas le plus répandu, c'est quand on oublie de mettre deux points ":" à la fin d'une condition ou d'un événement. Dans ce cas, Skript considère la ligne de l'oubli comme une condition sans if ou un effet, deux cas où les lignes suivantes doivent être au même niveau que l'instruction en cause. Du coup, le fait que toutes les lignes suivantes soient décalées d'une tabulation fait que Skript les voit comme mal placées et signale une erreur pour chacune d'elles alors que la ligne où se situe le vrai problème n'est pas signalée par ce message. En revanche, la bonne ligne est souvent signalée par le message d'erreur suivant. Can't understand this condition/effect : Instruction Cette explication, c'est celle qui apparaît quand Skript ne reconnaît pas la syntaxe que vous avez utilisée dans une instruction sans deux points ":" à la fin. Le problème : - comme je disais au dessus, peut venir du fait qu'il manque les deux points ":", puisque Skript lit très différemment les instructions avec et sans. - mais le plus souvent, le problème est que la syntaxe n'est pas reconnue parce qu'elle est ajoutée par un add-on que vous n'avez pas installé ou qui n'est pas à la bonne version (ou de Skript qui n'est pas à la bonne version). Si vous ne savez pas de quel add-on vient une instruction, cherchez-la sur internet. - une autre cause récurrente. c'est que vous vous êtes juste trompé en écrivant l'instruction et que Skript ne comprend pas si c'est juste à peu près la bonne instruction. Dans ce cas, vérifiez la syntaxe là aussi en cherchant l'instruction sur internet. Le mot syntaxe comprend aussi les types d'arguments que vous utilisez. Si vous tentez de mettre potato là où Skript attendait un nombre, vous aurez le même message. Vous pouvez trouver la grande majorité des instructions et les add-ons dont elles dépendent sur Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. , ainsi que leur syntaxe, simplement en tapant le début dans le moteur de recherche en haut à droite. Empty configuration section! You might want to indent one or more of the subsequent lines to make them belong to this section or remove the colon at the end of the line if you don't want this line to start a section. Bon je sais, c'est long comme message, mais c'est très simple. Si vous avez une instruction qui finit par deux points ":", mais que la ligne en dessous n'a pas une tabulation en plus, le message apparaît pour dire qu'il faut soit retirer les deux points ":" soit ajouter la tabulation qui manque pour les instructions qui dépendent de celle qui pose problème. En général, on est tête en l'air et il fallait ajouter la tabulation. Beaucoup d'autres messages d'erreurs Il existe beaucoup d'autres erreurs, mais elles sont pour la plupart très simples à comprendre et ne nécessitent pas spécialement d'être développées. Si vous ne comprenez pas, un traducteur en ligne devrait faire l'affaire. Et si vous ne trouvez pas votre bonheur, vous avez toujours la possibilité de chercher votre erreur sur internet au cas où quelqu'un aurait eu le même problème et si vous êtes désespérés, vous pouvez poster un topic dans les demandes d'aide, où vous devrez donner l'erreur qui vous bloque, la partie du code liée, voire le code entier si vous n'êtes pas sûr d'avoir tous les éléments dans une partie réduite et dire ce que vous essayez de faire, puis tout ce que vous avez tenté pour résoudre le problème. 2. Les messages d'erreur Java Hors des messages d'erreur de Skript, on croise parfois d'autres messages qui proviennent des add-on ou de Skript directement. Les messages dans le tchat qui commencent par "An error occured while..." signalent qu'il y a un message d'erreur de ce type à lire dans la console, même si pas toujours. La difficulté de ces messages, c'est qu'ils sont longs et moins explicites. Dans cette partie, on va prendre un exemple très courant : [spoiler=An internal error occurred while checking for the latest version of Skript] Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. A noter que la plupart des informations sont présentes dans le début de l'erreur. On a donc ça (étalé sur deux lignes) : Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Le premier mot, c'est Skript, mais ça veut pas dire que le problème vient forcément du plugin Skript lui-même, donc on n'apprend pas grand chose. C'est la ligne qui suit les deux points qui est plus intéressante. Elle indique ce que le plugin cherchait à faire quand l'erreur est arrivée. Dans notre cas, Skript cherchait à vérifier si une nouvelle version n'était pas disponible. Dans ce cas-ci, puisque normalement, vous ne tournez pas sur la dernière version de Skript, cette erreur est sans importance et dans ce cas-ci, il vaut mieux désactiver le checking de nouvelle version dans la config' du plugin. Après, je suis pas forcément bien calé en java donc je vais pas trop insister sur cette partie, ça pourrait être cool que quelqu'un la fasse. Le mieux, si l'erreur est incompréhensible pour vous aussi, c'est de chercher le début sur Google avec des guillemets ("votre erreur"). 3. Ça marche pas, mais y'a pas de message d'erreur Agent 007, voici votre équipement pour cette mission : Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Ces outils, les plus élémentaires qui soient, permettent de localiser à peu près n'importe quel problème par logique. Une fois le problème repéré, on peut, au mieux le résoudre soi-même, au pire en donner tous les éléments dans une demande d'aide au lieu d'un "ça marche pas svp". L'intérêt donc des instructions énoncées au dessus, c'est qu'en les disposant un peu partout dans son code, on peut savoir ce qui se passe exactement lorsqu'on exécute son plugin, en regardant quels messages se sont affichés ou non. 9 Partager ce message Lien à poster Partager sur d’autres sites
Polymeth 223 Répondu : 5 novembre 2016 Vraiment très utile, je propose qu'il soit épinglé @Chronoos89 @Uneo7 pour vider un peu la section d'aide. :) Partager ce message Lien à poster Partager sur d’autres sites
WilliamEzzz 38 Répondu : 5 novembre 2016 Très utile, +1 @Polymeth Partager ce message Lien à poster Partager sur d’autres sites
GauvainWizard 189 Répondu : 5 novembre 2016 Salutations, Sujet très bien construit ! Je l'épingle. Gauvain Partager ce message Lien à poster Partager sur d’autres sites
Gaël Erhlich 256 Répondu : 5 novembre 2016 Dahah merci, mais du coup, puisque c'était la première partie et que c'est épinglé, je dois faire les suivantes sur le même topic ? xd Partager ce message Lien à poster Partager sur d’autres sites
GauvainWizard 189 Répondu : 5 novembre 2016 Dahah merci, mais du coup, puisque c'était la première partie et que c'est épinglé, je dois faire les suivantes sur le même topic ? xd Tu mettras tout les liens vers tes autres parties ici :) Partager ce message Lien à poster Partager sur d’autres sites
WilliamEzzz 38 Répondu : 5 novembre 2016 Ou édit ton message :) Partager ce message Lien à poster Partager sur d’autres sites
Gaël Erhlich 256 Répondu : 5 novembre 2016 Ou édit ton message :) C'est ça que je voulais dire par "sur le même topic". x) Partager ce message Lien à poster Partager sur d’autres sites
WilliamEzzz 38 Répondu : 5 novembre 2016 C'est ça que je voulais dire par "sur le même topic". x) Ah désolé, j'avais mal compris x) Partager ce message Lien à poster Partager sur d’autres sites
RanTheHorse 13 Répondu : 20 novembre 2016 J'ai jamais compris l'erreur "{var} is not a boolean yes/no" qui vient souvent quand on broadcast une variable (enfin pour moi). Partager ce message Lien à poster Partager sur d’autres sites
Gaël Erhlich 256 Répondu : 20 novembre 2016 J'ai jamais compris l'erreur "{var} is not a boolean yes/no" qui vient souvent quand on broadcast une variable (enfin pour moi). Dans quel code par exemple ? Partager ce message Lien à poster Partager sur d’autres sites
Snowach 288 Répondu : 23 novembre 2016 J'ai jamais compris l'erreur "{var} is not a boolean yes/no" qui vient souvent quand on broadcast une variable (enfin pour moi). Ça veut dire que la variable n'est pas définie sous true/false mais un autre truc. Partager ce message Lien à poster Partager sur d’autres sites
Joriis 267 Répondu : 17 décembre 2016 Très bon tutoriel ! Merci beaucoup :D Partager ce message Lien à poster Partager sur d’autres sites
Gaël Erhlich 256 Répondu : 17 décembre 2016 Très bon tutoriel ! Merci beaucoup :D De rien, mais c'est pas fini, le plus important devait être comment trouver les problèmes sans message d'erreur, mais j'ai pas la foi. xd Partager ce message Lien à poster Partager sur d’autres sites
funnyjokes 0 Répondu : 12 février 2019 Oh! This article has suggested to me many new ideas. I will embark on doing it. Hope you can continue to contribute your talents in this area. Thank you. Partager ce message Lien à poster Partager sur d’autres sites
Hytashi 0 Répondu : 1 juin 2019 C'est super sympa surtout pour les gens qui débutent comme moi Partager ce message Lien à poster Partager sur d’autres sites