Enfaite pour faire court, visiblement quand tu achètes ton grade, et bien la commande semble s'effectuée dans tous les cas.
4 solutions possibles:
Passer par ce que gères Chestcommand, c'est à dire Vault (car du coup il n'y aura pas de soucis d'argent), et donc modifier le code de façon à ce qu'on n'ait pas une variable {coins.%player%} mais qu'on passe directement avec Vault (voir ce qu'on peut faire ici: https://skript-mc.fr/doc/skript/Expressions#money) Ceci viendrait donc à changer le code et à enlever la variable {coins.%player%}
Garder ChestCommand et la variable {coins.%player%}, mais on modifie le code du YML de chestcommand pour arriver à modifier la variable {coins.%player%}, mais j'ai aucune idée de comment il faudrait faire
On enlève Chestcommand, qu'on remplace par les GUI de Tuske (https://skript-mc.fr/forum/threads/les-gui-avec-tuske-avec-la-v2.11800/)
Ajout d'une commande spécifique à un ajout de grade (par exemple /grades) qui aurait la syntaxe suivante:
command /grades <player> <text>:
trigger:
if arg 1 and arg 2 are set:
if {coins.%player%} - 1000 < 0:
send "Impossible ! Le joueur n'a pas assez d'argent."
else:
make console execute command "/manuadd arg-1 arg-2"
remove 1000 from {coins.%arg-1%}
Le code est bien évidemment à changer, mais pour faire court il permettrait juste de rankup un joueur après vérification de son argent
PS: Penses à mettre un petit j'aime à ceux qui t'aident, ça fait super plaisir :)