Aller au contenu

Romitou

Administrateur
  • Compteur de contenus

    580
  • Inscription

  • Dernière visite

  • Jours gagnés

    26
  • Crédits

    2,048 [Faire un don]

Avis posté(e)s par Romitou

  1. Skonnection

       8    0

    Bonjour, un add-on très bien réalisé et qui apporte de belles fonctionnalités !
    Je souhaite si possible aider à l'améliorer selon mes connaissances acquises lors de la réalisation d'un add-on :

    ➡️ Utiliser des expressions propriétaires lorsqu'il est possible
    Par exemple, pour l'expression ExprClientIP, je pense qu'il serait préférable d'utiliser une propriété, c'est-à-dire :

    [the] <value> of <owner>
    <owner>'s <value>

    Ici, le propriétaire étant clientsocket et la valeur l'IP. Pour cela tu peux utiliser une SimplePropertyExpression ainsi que la méthode register.

    ➡️ Améliorer les méthodes toString
    Afin de donner plus d'informations aux utilisateurs lorsque Skript utilisera cette méthode, je pense qu'il faudrait inclure les valeurs de l'expression directement dans le toString.
    Par exemple avec ExprServerPort :

        private Expression<AdaptServerSocket> server;    
    
        # ... </>
    
        @Override
        public @NotNull String toString(final @Nullable Event e, final boolean debug) {
            return "get server's port";
        }
        
        # Pourrait devenir :
    
        @Override
        public @NotNull String toString(final @Nullable Event e, final boolean debug) {
            return "get " + server.toString(e, debug) + "'s port";
        }


    ➡️ Possibles problèmes avec les patterns
    Par exemple avec le pattern de CondSocketConnected, il est de :

    %socket%[ is|'s] connect[ed]

    Les parenthèses signifient qu'il faut faire un choix entre plusieurs propositions, et les crochets représentent l'optionnalité de certaines parties de la syntaxe.
    Si tu souhaites donner le choix entre is et 's aux utilisateurs mais que ces choix soient optionnels, tu devrais utiliser : [(is|'s)].

    De plus, Skript gère les choix optionnels et les espaces, il n'est pas nécessaire d'inclure les espaces dans les optionnalités. Encore une fois ça n'engage que moi et ma façon de voir les choses, mais la syntaxe finale ressemblerait plutôt à :

    %socket% [(is|'s)] connect[ed]

    L'utilisateur sera toujours dans la possibilité d'utiliser if %socket% connected:.

    • J'aime 1

  2. Merci pour votre script, l'idée est plutôt bonne.
    J'ai très rapidement jeté un œil au code et il est visiblement très améliorable.

    1. Il est inutile d'ajouter un stop s'il n'y a plus aucun code après cela.
    2. Vous semblez utiliser du YAML et des variables ? 🧐
    3. Vous chargez plusieurs fois le même fichier, alors qu'il est déjà chargé.
    4. Vous récupérez les données du YAML pour les transformer en variables normales. C'est une perte d'intérêt.
    5. Je devine qu'il faut utiliser skript-mirror au vu du code ? Je vous conseillerai de l'ajouter dans votre présentation.
    6. Certaines fonctions sont inutiles. Pour rappel, le temps d'exécution d'une fonction est bien plus élevé qu'en le faisant directement dans le code. Vous pouvez donner plus d'intérêt à ces fonctions ou les supprimer.

    Dans l'ensemble votre code est bien construit, mais il y a quelques remarques que je vous ai faites.
    Cette note sera modifiée en cas de changement de votre script, n'hésitez pas à me mentionner 🙂

    • J'aime 1
  3. AutoAnnonce

       69    0

    Salut, merci pour ta ressource !
    J'ai quelques petites remarques le concernant.
     

    # Ligne 2:
    if file "plugins/Skript/Configs/AutoAnnonce.yml" doesn't exist:

    Cette ligne est inutile, car skript-yaml vérifie lui-même l’existence ou non du fichier.
    Dans le cas où tu veuilles écrire dans le fichier s'il n'est pas écrit, utilise une syntaxe propre à skript-yaml.
     

    # Ligne 9:
    save yaml "AutoAnnonce"

    Tu enregistres déjà ton fichier plus bas, il est donc aussi inutile de l'enregistrer. Si tu enregistres les données de base pour pouvoir les réutiliser juste en dessous dans le script, sache que skript-yaml garde le fichier en cache et les données resteront lisibles même si tu ne l'enregistres pas.
     

    # Ligne 18:
    loop 800000 times:

    Si je mets mon délai à une minute, ton script deviendra non fonctionnel au bout de 800 000 secondes (soit environ 9 jours). Pour contrer cela, utilise un while, beaucoup plus adéquat dans ce contexte.
     

    # Ligne 25:
    	else:
    		stop

    Dans ce cas, il est de même inutile d'indiquer un else, sachant qu'il ne va rien s'exécuter après. Ces deux lignes ne servent pas à grand chose.
     

        set {active} to skript-yaml value "AutoAnnonce" from "AutoAnnonce"
        set {prefixmessage} to skript-yaml value "PrefixMessage" from "AutoAnnonce"
        set {temps} to skript-yaml value "Time" from "AutoAnnonce"
        set {prefix} to skript-yaml value "Prefix" from "AutoAnnonce"
        set {message1} to skript-yaml value "Message1" from "AutoAnnonce"

    Certaines valeurs ne sont pas utilisées dans le reste de ton script. Transforme-les en variable temporaire, qui semble être plus adapté présentement.


    Dans l'ensemble, le script est bien réalisé et bien pensé, en se basant sur skript-yaml. Cependant, j'ai fait quelques remarques pour te permettre de l'améliorer. Ces remarques ne sont pas négatives, je tiens à préciser que je fais ceci pour améliorer ton script. De ce fait, je modifierai ma note ultérieurement si le script deviendra plus optimisé de mon point de vue. Si tu as des questions concernant mes remarques, n'hésite surtout pas à me demander, je t'aiderai avec plaisir. ^^
     

    • J'aime 1

  4. Super Skript, aucune erreur et fonctionnel en 1.12.2 !
    Comme dit dans la description, ça ne fonctionne pas parfaitement avec des têtes "colorées" :

    image.png.e34c2c0248bba8eaa97ff4eb074ba287.pngimage.png.e27536bba652894df164c16cab38619a.png

    Mais parfaitement fonctionnel avec une tête à 4 couleurs (blanc, gris, gris foncé, noir) !

    image.png.775b42a2b7edde8f1a9b0d29c74ac1a4.pngimage.png.123c8b82904629bff5684fafd5b5f1a5.png

    C'est déjà très impressionnant d'avoir fait ça en Skript (même quelques imperfections) !
    Merci pour ce Skript, noftaly (et à Rush²Fer) ! 😉 


  5. Skript simple mais efficace.
    Quelques remarques cette fois-ci :

    • On ne peut pas miner vers le bas si notre tête n'est pas inclinée, de même vers le haut (ne peut être résolu).
    • On ne reçoit rien des minerais minés (expliqué dans le descriptif)
    • L'usure de la pioche, elle n'est comptabilisée que comme si on minait 1 bloc, mais on en casse envrion 9 (= 9 points usure). ^^
      (Voici comment je pensais faire : https://gist.github.com/Romitou/e9551fd77330917086439d9bb6f5f35f)

    Tout ça pour dire que c'est du bon travail, le Skript est fidèle à sa description. Pour ce qui est de l'usure, peut-être que l'intérêt d'un hammer est que la durabilité soit comptée comme un bloc, je ne sais pas. Dans ce cas je modifierai ma note. ^^

    • J'aime 1

  6. Ce Skript est tellement bien fait !
    Je l'ai testé sur mon serveur et tout fonctionne correctement, je suis surtout impressionné par l'aléatoire et la diversité des structures ! 😉
    L'animation avec les petits blocs pendant la construction est géniale, ça apporte un gros plus ! 😛 
    En tout cas super Skript, je ne saurais pas le refaire !

    image.png


    (Je note les ressources non pas par leur facilité mais par la fidélité de la description au fonctionnement du Skript ^^ Seuls les points en gras sont comptabilisés comme négatifs.)

    • J'aime 1
×
×
  • 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.