Configuration  Résolu \ Skript / - Comment mettre un laps de temps avant de refaire la commande.

Discussion dans 'Support serveur et plugins' créé par Wenuts, 20 Février 2018.

Statut de la discussion:
N'est pas ouverte pour d'autres réponses.
  1. Wenuts

    Wenuts Poseur de parquet

    Inscrit:
    22 Janvier 2018
    Messages:
    75
    J'aime reçus:
    0
    Bonjour, j'aimerais réussir a trouver comment pouvoir mettre un certain nombre de temps avant que le joueur puisse refaire ici chez moi la commande /dailybox.
    Avant de poster ce poste j'ai bien sure regarder sur d'autre forum tel que ici :

    https://skript-mc.fr/forum/threads/encore-moi-2-skripts.2509/

    ET ici :

    https://skript-mc.fr/forum/threads/délai-de-réutilisation-dune-commande.2759/

    Mais je n'y arrive toujours pas.
    Le give de la clé et le message que la console send au joueur marche parfaitement, c'est seulement le délai de combien de seconde doit se passer avant de pouvoir refaire la commande. Voila ma config skript :

    command /dailybox:
    trigger:
    make console execute command "/crate key %player% &eDailyBox"
    send "&7[&6&lXORUSE&7] &6Tu a bien reçu ta &eDailyBox &6!" to player
    set {_cooldown} to <number>
    loop {_cooldown} times:
    send "&6Un peux de patience petit coquin &d;)" to player
    wait 84600 second

    C'est cette partie la qui ne marche pas chez moi :

    set {_cooldown} to <number>
    loop {_cooldown} times:
    send "&6Un peux de patience petit coquin &d;)" to player
    wait 84600 second
     
  2. Alex Fatta

    Alex Fatta Commandant de la Flotte et de la Horde

    Inscrit:
    13 Août 2014
    Messages:
    1 271
    J'aime reçus:
    169
    Bonsoir !

    Essaies avec des ticks et non des secondes ;)

    AlexFatta
     
  3. Wenuts

    Wenuts Poseur de parquet

    Inscrit:
    22 Janvier 2018
    Messages:
    75
    J'aime reçus:
    0
    Je vient de changer les 'second' par ticks' mais cela ne marche pas...
    Quand je reload le skript une erreur apparaît :

    Empty configuration section! You might want o indent one or more of the subsequent lines to make them belong to this section or remove the colon at the end of the line if you don't want this line to start a section. (utile.sk, line 60: if {cooldown.%player%} is less than 86400 ticks:')
    indentation error: expected 8 spaces, but found 2 tabs (utile.sk, line 62: wait 86400 ticks')

    Voila c'est tout ce que j'ai comme erreur qui pourrait nous aider a trouver la solution ainsi que le problème, merci pour votre réponse.
     
  4. Krown0s

    Krown0s Développeur débutant :3

    Inscrit:
    29 Mai 2016
    Messages:
    84
    J'aime reçus:
    20
    Il te dit clairement qu'il faut que tu indentes certaines lignes. De plus, utilise la fonction "code" :
    mcfr.png

    Ce qui va permettre de voir ton code bien comme il le faut.
     
  5. Gaïa MMORPG

    Gaïa MMORPG Cueilleur de roses

    Inscrit:
    15 Avril 2016
    Messages:
    18
    J'aime reçus:
    2
    Bonsoir,

    Il est normal que ton skript ne fonctionne pas comme tu l'entends, tu ne dis à aucun moment donné que "la commande ne peut être exécutée si elle a déjà été exécutée il y a X temps"...

    Voici comment je lis la partie de ton code qui ne fonctionne pas :
    Code:
    set {_cooldown} to <number>
    Définit une variable locale *à cette commande* (si le joueur exécute la commande à nouveau, cette variable sera recréée, en parallèle et ainsi de suite). D'ailleurs, la syntaxe <number> est curieuse à cet endroit ; elle existe dans skript, mais ne peut pas être utilisé comme ça ! Il faut mettre un nombre fixe ou une variable ici.

    Code:
    loop {_cooldown} times:
    send "&6Un peux de patience petit coquin &d;)" to player
    wait 84600 second
    Cette partie va envoyer {_cooldown} fois le message spécifié au joueur ayant exécuté la commande, puis attendre 84600 secondes, {_cooldown} fois...
    Ça ne correspond pas à ce que tu recherches.

    Je te conseillerais plutôt de définir une variable (NON locale, donc sans mettre le "_" devant); par exemple {cooldown.%player's uuid%} et de la supprimer à la fin de ton temps d'attente prédéfini.
    Ensuite, tu vérifies au tout début de ta commande "if {cooldown.%player's uuid%} is set:" auquel cas tu annonces ton "send "&6Un peux de patience petit coquin &d;)" to player".

    J'espère que j'ai été clair.
    Bonne continuation !
     
  6. Wenuts

    Wenuts Poseur de parquet

    Inscrit:
    22 Janvier 2018
    Messages:
    75
    J'aime reçus:
    0
    Merci pour ton aide je vait tester ca.
     
  7. bic68

    bic68 Nouveau

    Inscrit:
    17 Février 2019
    Messages:
    10
    J'aime reçus:
    0
    alors ?
     
  8. Alex Fatta

    Alex Fatta Commandant de la Flotte et de la Horde

    Inscrit:
    13 Août 2014
    Messages:
    1 271
    J'aime reçus:
    169
    Bonjour !

    Ce topic date de 2018.... Il a sûrement trouvé la solution... Je signal à un modérateur qui viendra lock ce topic.

    AlexFatta
     
Statut de la discussion:
N'est pas ouverte pour d'autres réponses.

Partager cette page