Aller au contenu
  • 0

Question

Posté(e)

Version de Minecraft : 1.19.2 et +
Version de Skript : 2.X.X

Addons utilisés:

Type du skript :

Description du script : Bonjours, je souhaite créer un /rename avec un cooldown de 2h mais je ne sais pas comment empêcher que le joueur refasse la commande et comment le rename dans le la tab

Voici mon code actuel il ne contient pas encore la façon dont il serait renommer. 

command /test2:
    trigger:
        send "Votre Pseudo est désormais changé" to player    
        set {nickcooldown.%player%} to false
        set {timer.%player%} to 120
        every minutes:
            remove 1 from {timer.%player%}
        if {timer.%player%} = 0:
            set {nickcooldown.%player%} to true
            send "Vous pouvez à nouveau changé de pseudo." to player
        if {nickcooldown.%player%} is false:
            cancel event
            send "&4Il vous reste {timer.%player%} minute à attendre." to player

Merci de bien vouloir m'expliquer après la résolution du problème car je souhaiterais en retenir quelque chose de ce code.


 

Faites une description détaillée de l'aide. 3 lignes ne sont pas suffisantes !

N'oubliez pas les formules de politesses et des bouts de codes que vous avez déjà regroupé, des screenshots des erreurs ainsi que tout le nécessaire qui peut contribuer à la résolution de votre problème.

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Salut 👋 ! Skript à déjà par défaut une fonctionnalité pour faire des commandes à cooldown.

Voici le format qu'une commande avec cooldown peut prendre

command /mycommand:
	cooldown: 10 seconds # La durée du cooldown
    cooldown message: &cTu dois patienter 10 secondes avant de pouvoir refaire la commande. # Le message à afficher si le joueur essaye de faire la commande alors que le cooldown est toujours présent
    cooldown bypass: bypass.cooldown # Facultatif: Si le joueur à cette permission, il ne sera pas affecté par le cooldown.
	trigger:
    	send "Tu as exécuté la commande" to player

Autrement, tu peux recoder toi même un système de cooldown comme ceci :

command /mycommand:
	trigger:
    	if difference between now and {cooldown::mycommand::%player%} >= 10 seconds: # Si la durée entre maintenant et la dernière fois que le joueur à fait la commande est supérieur à 10 seconde -> si le cooldown est dépassé.
        	clear {cooldown::mycommand::%player%}
        if {cooldown::mycommand::%player%} is not set:
        	send "Tu as exécuté la commande" to player
        else:
        	send "Tu dois patienter 10 secondes avant de pouvoir refaire cette commande" to player

 

  • 0
Posté(e)
Il y a 9 heures, TitiLaPierre a dit :

Salut 👋 ! Skript à déjà par défaut une fonctionnalité pour faire des commandes à cooldown.

Voici le format qu'une commande avec cooldown peut prendre


command /mycommand:
	cooldown: 10 seconds # La durée du cooldown
    cooldown message: &cTu dois patienter 10 secondes avant de pouvoir refaire la commande. # Le message à afficher si le joueur essaye de faire la commande alors que le cooldown est toujours présent
    cooldown bypass: bypass.cooldown # Facultatif: Si le joueur à cette permission, il ne sera pas affecté par le cooldown.
	trigger:
    	send "Tu as exécuté la commande" to player

Autrement, tu peux recoder toi même un système de cooldown comme ceci :


command /mycommand:
	trigger:
    	if difference between now and {cooldown::mycommand::%player%} >= 10 seconds: # Si la durée entre maintenant et la dernière fois que le joueur à fait la commande est supérieur à 10 seconde -> si le cooldown est dépassé.
        	clear {cooldown::mycommand::%player%}
        if {cooldown::mycommand::%player%} is not set:
        	send "Tu as exécuté la commande" to player
        else:
        	send "Tu dois patienter 10 secondes avant de pouvoir refaire cette commande" to player

 

Bonjour, merci de ta réponse, malheureusement le premier ne marche pas, cela n'empêche pas d'envoyer la commande dans le tchat, je peux directement la refaire. Ça ne dit pas qu'il y a, mais une erreur, mais ce que la commande est censée faire, ne le fais pas. Cela va de même pour le deuxième, il n'empêche pas d'exécuter de nouveau la commande.

 

  • 0
Posté(e)

Salut ! 👋

 

Pour la première commande, la ligne ajoute une permission qui permet de bypass la commande. Si tu es opérateur sur le serveur, tu as toutes les permissions et n'est donc pas affecté par le cooldown. Si tu veux que même les opérateurs soit affectés au cooldown, tu peux simplement supprimer cette ligne.

cooldown bypass: bypass.cooldown # Facultatif: Si le joueur à cette permission, il ne sera pas affecté par le cooldown.

Pour la seconde commande, c'est dû a un oubli de ma part. Voici le code corrigé :

command /mycommand:
	trigger:
		if difference between now and {cooldown::mycommand::%player%} >= 10 seconds: # Si la durée entre maintenant et la dernière fois que le joueur à fait la commande est supérieur à 10 seconde -> si le cooldown est dépassé.
			clear {cooldown::mycommand::%player%}
		if {cooldown::mycommand::%player%} is not set:
			set {cooldown::mycommand::%player%} to now # Il manquait cette ligne
			send "Tu as exécuté la commande" to player
		else:
			send "Tu dois patienter 10 secondes avant de pouvoir refaire cette commande" to player

 

  • J'aime 1
  • 0
Posté(e)
Il y a 2 heures, TitiLaPierre a dit :

Salut ! 👋

 

Pour la première commande, la ligne ajoute une permission qui permet de bypass la commande. Si tu es opérateur sur le serveur, tu as toutes les permissions et n'est donc pas affecté par le cooldown. Si tu veux que même les opérateurs soit affectés au cooldown, tu peux simplement supprimer cette ligne.


cooldown bypass: bypass.cooldown # Facultatif: Si le joueur à cette permission, il ne sera pas affecté par le cooldown.

Pour la seconde commande, c'est dû a un oubli de ma part. Voici le code corrigé :


command /mycommand:
	trigger:
		if difference between now and {cooldown::mycommand::%player%} >= 10 seconds: # Si la durée entre maintenant et la dernière fois que le joueur à fait la commande est supérieur à 10 seconde -> si le cooldown est dépassé.
			clear {cooldown::mycommand::%player%}
		if {cooldown::mycommand::%player%} is not set:
			set {cooldown::mycommand::%player%} to now # Il manquait cette ligne
			send "Tu as exécuté la commande" to player
		else:
			send "Tu dois patienter 10 secondes avant de pouvoir refaire cette commande" to player

 

Merci beaucoup, tu m'as beaucoup aidé.

 

 

  • 0
Posté(e) (modifié)

Aussi pour savoir est-ce que tu serais comment retirer les petits crochets lorsque nous sommes renommés dans le chat voici mon code avec un screen


command /nick [<text>]:
    trigger:
        if difference between now and {cooldown::mycommand::%player%} >= 20 seconds:
            clear {cooldown::mycommand::%player%}
        if {cooldown::mycommand::%player%} is not set:
            set {cooldown::mycommand::%player%} to now
        else:
            send "&c&lTu dois patienter 20 secondes avant de pouvoir refaire cette commande" to player
            stop
        if arg 1 is not set:
            send "&c&lUtilisation: /nick <text>"
        else:
            set display name of player to arg-1
            send "&6§lVotre pseudo à bien été changer !"
            stop
        if arg-1 is "clear":
            send "&6&lVotre pseudo à été clear"
            stop
 

Modifié par Benkuro11
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.