Aller au contenu

[Cooldown] Cooldown de 1 jour sur une commande


Messages recommandés

Posté(e)

Version: 1.8

Type: Cooldown sur une commande

 

Description:

Bonjour,

Pour le grade vip de mon serveur je souhaiterais qu'il puisse avoir une luckyKey chaque jours. Pour cela il faudrait que avec la commande par exemple: "/dailyKey" exécute cette commande: "/crate givekey <player> CSGOKey 1" dans la console une fois par jours.

 

Je m'explique:

 

Joueur -> /dailyKey

exécute la commande: /crate givekey <player> CSGOKey 1 dans la console

Message: Tu as reçu ta clé !

 

Joueur -> /dailyKey

Message: Tu dois attend 23:40:03 secondes pour pouvoir avoir une nouvelle Dailykey

 

Permission: dailyKey.use

 

Permissioin admin: DailyKey.Bypass (Supprime le cooldown)

 

Merci de ton aide !

Posté(e)

La difficulté de ce genre de Skript c'est que le serveur doit pouvoir continuer le skript même lorsque le joueur est déconnecté. Il faut donc passer par une liste.

 

Le problème de la liste et qu'il faut que chaque joueur ne puisse être ajouté qu'une seule fois à cette liste sinon ça faussera le reste du plugin en leur permettant d'avoir plus rapidement la récompense (le seul évènement qui empêche d’éventuels doublons est le on first join:)

 

Malgré tout, voici le code que je viens de faire. En espérant qu'il fonctionne correctement !!

 

on first join:
   add player to {list.players::*}
   set {key.%player%} to 0

every 60 seconds:
   loop {list.players::*}:
       add 1 to {key.%loop-value%}

command /dailykey:
   permission: dailyKey.use
   trigger:
       if player has permission "dailyKey.bypass":
           add feather named "&2luckykey" to player
           stop

       if {key.%player%} is less than 1440:
           set {minimum.%player%} to -1440
           add {minute.%player%} to {minimum.%player%}
           message "&c[DailyKey] &r: Il vous reste &c%{minimum.%player%}% minute(s) &ra attendre avant de pouvoir reutiliser cette commande."

       if {key.%player%} is greater than 1440:
           set {key.%player%} to 0
           add feather named "&2luckykey" to player

Posté(e)
La difficulté de ce genre de Skript c'est que le serveur doit pouvoir continuer le skript même lorsque le joueur est déconnecté. Il faut donc passer par une liste.

 

Le problème de la liste et qu'il faut que chaque joueur ne puisse être ajouté qu'une seule fois à cette liste sinon ça faussera le reste du plugin en leur permettant d'avoir plus rapidement la récompense (le seul évènement qui empêche d’éventuels doublons est le on first join:)

 

Malgré tout, voici le code que je viens de faire. En espérant qu'il fonctionne correctement !!

 

on first join:
   add player to {list.players::*}
   set {key.%player%} to 0

every 60 seconds:
   loop {list.players::*}:
       add 1 to {key.%loop-value%}

command /dailykey:
   permission: dailyKey.use
   trigger:
       if player has permission "dailyKey.bypass":
           add feather named "&2luckykey" to player
           stop

       if {key.%player%} is less than 1440:
           set {minimum.%player%} to -1440
           add {minute.%player%} to {minimum.%player%}
           message "&c[DailyKey] &r: Il vous reste &c%{minimum.%player%}% minute(s) &ra attendre avant de pouvoir reutiliser cette commande."

       if {key.%player%} is greater than 1440:
           set {key.%player%} to 0
           add feather named "&2luckykey" to player

 

Tout d'abord merci pour ce code.

Il y a quelque soucis; quand le joueur à la permission: /dailyKey.use la commande /dailykey ne lui donne rien

en revanche si il y les 2 permissions: dailykey.use et dailykey.bypass ça fonctionne

 

Je me ré explique:

dailykey.use = /dailykey -> avec un cooldown de 24H

 

Dailykey.bypass = /dailykey -> Sans cooldown (donc commande admin)

 

Ensuite à la place de give une plume il faudrait que sa exécute la commande suivante: /crate givekey pseudo CSGOKey 1

 

Merci

Posté(e)

Demande traitée ^_^ !

 

Description :

 

Lorsqu'un joueur exécutera la commande /DailyKey (s'il a la permission bien sûr), la console lui donnera une clé et il recevra un message. Il y aura comme tu l'as demandé un délai de 1 jour sur la commande. Si un joueur tente d'effectuer la commande alors que le délai n'est pas encore passé, il recevra un message lui disant combien de temps il reste.

 

Les administrateurs (ceux qui ont la permission <DailyKey.ByPass>) n'auront pas de délai et pourront utiliser la commande tout le temps.

 

Commandes :

 

>> /DailyKey : DailyKey.Use

 

Configuration :

 

Le script intègre un fichier <Config.yml> dans le dossier <plugins/DailyKey> où tu pourras configurer le script comme tu veux.

 

En voici un aperçu :

 

Prefix: '§8[§bDailyKey§8]'

Permissions:
 Use-Command: 'DailyKey.Use'
 ByPass-Delay: 'DailyKey.ByPass'

Delay: '1 Day'
# Délai pour l'utilisation de la commande /DailyKey ! A mettre en anglais !

Messages:
 Permission-Error: '&cErreur : Vous n''avez pas la permission !'
 Key-Receive: '&aVous avez récupéré votre clé !'
 Key-Delay: '&cErreur : Patiente encore &b{TIMELEFT} &c!'

>> Si cela t'as aidé, n'hésite pas à aimer !

 

>> Si tu n'as pas Skript & ses ADD-ONS à jour, ils sont dans ma signature ;) !

 

>> Si tu as un bug, merci de suivre cette procédure !

  • 2 semaines après...
Posté(e)
Demande traitée ^_^ !

 

Description :

 

Lorsqu'un joueur exécutera la commande /DailyKey (s'il a la permission bien sûr), la console lui donnera une clé et il recevra un message. Il y aura comme tu l'as demandé un délai de 1 jour sur la commande. Si un joueur tente d'effectuer la commande alors que le délai n'est pas encore passé, il recevra un message lui disant combien de temps il reste.

 

Les administrateurs (ceux qui ont la permission <DailyKey.ByPass>) n'auront pas de délai et pourront utiliser la commande tout le temps.

 

Commandes :

 

>> /DailyKey : DailyKey.Use

 

Configuration :

 

Le script intègre un fichier <Config.yml> dans le dossier <plugins/DailyKey> où tu pourras configurer le script comme tu veux.

 

En voici un aperçu :

 

Prefix: '§8[§bDailyKey§8]'

Permissions:
 Use-Command: 'DailyKey.Use'
 ByPass-Delay: 'DailyKey.ByPass'

Delay: '1 Day'
# Délai pour l'utilisation de la commande /DailyKey ! A mettre en anglais !

Messages:
 Permission-Error: '&cErreur : Vous n''avez pas la permission !'
 Key-Receive: '&aVous avez récupéré votre clé !'
 Key-Delay: '&cErreur : Patiente encore &b{TIMELEFT} &c!'

>> Si cela t'as aidé, n'hésite pas à aimer !

 

>> Si tu n'as pas Skript & ses ADD-ONS à jour, ils sont dans ma signature ;) !

 

>> Si tu as un bug, merci de suivre cette procédure !

Bonjour / Bonsoir

Tout d'abord désolé de la réponde tardive !

 

J'ai téléchargé le skript, j'ai testé et... j'ai explosé de joie quand j'ai vu que ça fonctionnait parfaitement !

Donc un grand merci à toi ! As-tu un site ? Ou quelque chose qui pourrait te faire de la pub que je peux mettre sur mon serveur ?

Dans tout les cas, Merci !

×
×
  • 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.