Aller au contenu
Wafoux

Les every [time] et les reloads

Messages recommandés

Hello !

J'ai un petit problème quand au temps avec Skript et le serveur.

Je vous explique: comme beaucoup de plugins, de variables etc... J'ai besoin de vérifier certaines conditions. Par exemple, si j'effectue la commande:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Avec quelle condition je regarde si on est arrivé à {variable.de.temps} ? Donc aujourd'hui, on est le 9 juillet 2018 et la variable est le 16 juillet 2018.

Mais par exemple, j'aimerais faire quelque chose de spécifique avec la condition:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Comme ça je sais que nous serons le 16 juillet 2018.

(C'est compliqué tout ça !)

Bref ! Tout ça pour en venir au problème suivant:

  • Quel évènement utilisé pour vérifier la condition ?
  • Si c'est un Every [time] (par exemple every day, every minute, etc...), comment faire pour que ce soit régulier ? En effet, si on reload/redémarre le serveur le every [time] se reloadera au chargement du script. (Je n'ai pas tester pour every day... Mais je suppose qu'il faut attendre 24 heures et non minuit par exemple.)

Merci à tous pour vos réponses !

Ah, et si jamais je suis tout à jour, voici mes versions:

  • Spigot 1.12.2
  • Skript dev36
  • Tous les principaux add-ons à jour pour ces 2 versions ci-dessus (en prenant en compte les forks)

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, noftaly a dit :

Tu veux faire un cooldown pour ta commande en gros, non ?

Et sinon pour les every %timespan% il n'y a pas moyen qu'ils continuent meme avec un reload

Ouais effectivement on pourrait parler de cooldown, ça devrait être ça.

Et sinon, si j'ai bien compris du moment que c'est reload les %timespan% sont arrêtés et reload au moment du reload ? (Ça fait beaucoup de reload tout ça x)

Partager ce message


Lien à poster
Partager sur d’autres sites

Si c'est un cooldown que tu veux, alors tu as juste a mettre avant le trigger 

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Et sinon, pour ta question. Quand ya un reload du script/du serveur, les waits sont arrêtés, et les every aussi. Seulement les every recommencent quand le skript est de nouveau chargé. 

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok, yes alors c'est cool tu viens de me faire apprendre un truc en Skript que je n'avais jamais vu auparavant ? Poce bleu !

(Et sinon cooldown storage ça sert à quoi ?)

Mais sinon, quand je parlais de cooldown c'était pas forcément avec une commande, du genre par exemple un évènement programmable au bout de 7 jours. (Du genre pluie de cadeau dans 7 jours !) Comment faire pour que cette pluie de cadeau soit vraiment dans 7 jours à l'instant où j'effectue le script ? 

Partager ce message


Lien à poster
Partager sur d’autres sites

Tant mieux si je t'ai appris qqchose ?

Cooldown storage est facultatif mais préférable, il sert a stocker le temps restant (je crois). Comme ca quand le serveur redémarre (on en revient au problème des waits etc) le cooldown peut recontinuer et fonctionner. Et puis comme ca tu peux aussi l'utiliser dans des messages, comme dans le "cooldown message".

Pour faire ce genre de chose il faut avoir recours a des méthodes pas très optimisé. Perso j'aurai fait comme ca:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

On peut peut être simplifier en enlevant la ligne "set {_now} to now" et en mettant "now" dans la condition, sans passer par des variables.
En tout cas il faut SkUtilities, et la si le serveur s'arrête c'est pas gênant car on va reprendre le check toutes les heures.

Et garde en tête que c'est surement pas la seule méthode mais que c'est aussi une des pires...

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci encore, c'est ce que je pensais, mais il me manquait juste la condition "%day of month from date {_now}%".

Pourquoi tu dis que c'est pas optimisé ? C'est un every hour mais ça reste quand même mieux qu'un every tick x)

Et sinon, tu sais depuis quand (si non, t'inquiète j'irais demander à Google) on a les cooldown sur message/commandes ? C'est excellent et à l'époque, quand j'avais commencé à script on était obligé de faire avec des variables, et tout et tout... bref ! C'était pas top.

Partager ce message


Lien à poster
Partager sur d’autres sites

Derien pour la syntaxe ?

C'est sur que c'est mieux qu'un every tick: loop all players:, mais bon, ca reste un "every".

Et les syntaxes des cooldowns c'est depuis dev-33

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.
 ?

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 4 heures, noftaly a dit :

%day of month from date {_now}%

Par contre, en essayant le code j'ai vraiment pas compris à quoi ça correspond ? Ça me donne des nombres mais qui n'ont (à ce que je vois) aucun rapport avec la date actuelle... Tu peux m'expliquer ?

Partager ce message


Lien à poster
Partager sur d’autres sites
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.