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:.
Ce Skript sera sûrement très utile aux débutants, celui-ci vous permettra de facilement protéger les comptes ayant un grade élevé.
Je ne sais pas si celui est bypassable mais étant donné qu'il utilise le code A2F, cela m'étonnerais.
Quelques petites choses sont tout de même à revoir :
- Améliorer l'optimisation.
-> Au lieu de créer 2 commandes distinctes, une pour les ADMINS et l'autre pour les JOUEURS, ce serait mieux de tout regrouper en 1 seule commande.
-> Ou alors, tout mettre dans un GUI pour une meilleure gestion de son A2F.
- Améliorer la clarté du code.
-> Il n'est pas très facile d'aller faire des modifications dans ton code, rien n'est ordonné, c'est très brouillon enfaite.
- Ajouter un système de configuration.
-> Fais cela dans un fichier .YML ou directement dans les options du Skript. Cela nous permettra de modifier les messages, ... à notre guise.
En conclusion, ce Skript est génial, c'est une superbe idée.
Malgré que je le trouve un peu "vide", pas beaucoup de possibilité.
--------------------------------------------------------------------------------
Voici quelques notes :
- Originalité : 4.2/5
- Utilité : 4.6/5
- Propreté (Clarté) : 3.1/5
- Optimisation : 4.8/5
- Total : 16.7/20 (8.35/10)
Le skript et tres bien mais se pendant je me retrouve avec beaucoup d'erreur car je suspose le script et pas apdates en 1.16 ! esce-que sa serait possible d'update le skript en 1.16 svp?
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.