Aller au contenu
  • 0

Problème de cooldown avec une commande créée avec Skript


Question

Posté(e) (modifié)

Version de Minecraft : 1.20.1 (Paper)
Version de Skript : 2.7.3

Addons utilisés: Aucun pour ce skript, mais utilisation du plugin Essentials en parallèle (pour obtenir les bons items).

Type du skript : Commande créée avec Skript pour obtenir un kit (qui d'un point de vue joueur évolue), avec plusieurs argument dont seulement un doit être affecté par un cooldown.

---

Bonjour/Bonsoir à tous,

Je me permet de poster mon problème ici. Parce qu'à vrai dire, je sèche un peu pour trouver la solution malgré l'énorme doc SkriptLang...

J'ai créé une commande Skript, qui permet d'obtenir un certain kit Essentials, selon les permissions qu'à le joueur qui exécute la commande. Autrement dit, l'intitulé de la commande ne change pas, mais d'un point de vue joueur, l'effet qu'elle a en l'utilisant "évolue" selon ses avantages.
Le principe souhaité est totalement fonctionnel après tests. Cela convient à ce que je souhaite faire sur mon serveur.

Cette commande /guilde a plusieurs arguments disponibles :

  • aide (ou help) : Pour afficher une petite page d'aide pour que ce soit sympa
  • kit : Pour obtenir son kit

Ensuite, puisqu'il est préférable d'éviter le give facile, je souhaite mettre en place un cooldown sur l'argument "kit", mais pas sur les autres arguments qui ne font que de l'affichage pour "aider".

Et c'est là que je bloque. Le cooldown fonctionne super bien trop bien. Si j'utilise l'argument "kit", je ne peux pas utiliser dans la foulée l'argument "aide" et même chose inversement !

J'ai tenté d'utiliser "cancel cooldown" ou encore "uncancel cooldown" dans les conditions des arguments "d'affichage" seulement, mais je reste bloqué.

Voici le script en question ci-dessous (le cooldown montré ici est à 5 sec pour les tests. Le message d'erreur n'a juste pas été adapté). 

command /guilde <text>:
	usage: &8[<##F28834>HYTÉLIA&8] &cCommande incomplète ou incorrecte. Utilisation : /guilde <aide | kit> ou /hg <aide | kit>
	permission: hytelia.cmdguilde.usage
	permission message: &8[<##F28834>HYTÉLIA&8] &cVous n'avez pas accès à cette commande.
	aliases: /hg
	cooldown: 5 seconds
	cooldown message: &8[<##F28834>HYTÉLIA&8] &cVous ne pouvez utiliser cette commande qu'une fois toutes les 24 heures. Vous pourrez à nouveau l'utiliser dans &e%remaining time%&c.
	cooldown bypass: hytelia.kitguilde.bypasscooldown
	cooldown storage: {cooldown-cmdguilde::%player%}
	trigger:
		if arg-1 is not set:
			cancel the cooldown
			send "&8[<##F28834>HYTÉLIA&8] &cCommande incomplète. Veuillez préciser après la commande l'un des choix suivants :" to player
			send "&c aide" to player
			send "&c kit" to player
			uncancel the cooldown
		if arg-1 is not "aide" or "help" or "kit":
			cancel the cooldown
			send "&8[<##F28834>HYTÉLIA&8] &cCommande incorrecte. Veuillez préciser après la commande l'un des choix suivants :" to player
			send "&c▪ aide" to player
			send "&c▪ kit" to player
			uncancel the cooldown
		if arg-1 is "aide" or "help":
			cancel the cooldown
			send "&8[<##F28834>HYTÉLIA&8] <##7CBFCF>Utilisation de la commande /guilde (alias : /hg):" to player
			send "<##7CBFCF>▪ /guilde aide : Afficher cette page" to player
			send "<##7CBFCF>▪ /guilde kit : Obtenir son kit de guilde" to player
			uncancel the cooldown
		if arg-1 is "kit":
			if sender has permission "hytelia.kitguilde.tier1":
				make console execute command "/kit guilde-tier1 %player%"
			if sender has permission "hytelia.kitguilde.tier2":
				make console execute command "/kit guilde-tier2 %player%"
			if sender has permission "hytelia.kitguilde.tier4":
				make console execute command "/kit guilde-tier4 %player%"
			if sender has permission "hytelia.kitguilde.tier6":
				make console execute command "/kit guilde-tier6 %player%"
			if sender has permission "hytelia.kitguilde.tier8":
				make console execute command "/kit guilde-tier8 %player%"
			if sender has permission "hytelia.kitguilde.tier10":
				make console execute command "/kit guilde-tier10 %player%"

Ce que je souhaite faire est-il possible ? Savez-vous où je me plante ?

J'ajoute également ci-dessous le lien vers une vidéo du fonctionnement avec le blocage et les logs de la console au moment où j'utilise la commande Skript (depuis mon compte totalement déop). Y'a un avertissement que je comprends pas très bien qui s'affiche... Au cas où ce serait lié...

Vidéo : https://streamable.com/d4kfct

Logs :

[22:04:04 INFO]: TheBestMines issued server command: /guilde kit
[22:04:04 INFO]: [Skript]     Variable {cooldown-cmdguilde::TheBestMines} was not a date! You may be using this variable elsewhere. This warning is letting you know that this variable is now overridden for the command storage.
[22:04:04 INFO]: [Essentials] CONSOLE issued server command: /kit guilde-tier2 TheBestMines
[22:04:04 INFO]: Don du kit guilde-tier2 à ꨂTheBestMines.
[22:04:04 INFO]: [Skript]     Variable {cooldown-cmdguilde::TheBestMines} was not a date! You may be using this variable elsewhere. This warning is letting you know that this variable is now overridden for the command storage.
[22:04:06 INFO]: TheBestMines issued server command: /guilde aide

En vous remerciant par avance pour votre aide !

Bonne journée/soirée 

Modifié par TheBestMines

2 réponses à cette question

Messages recommandés

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.