Wafoux 37 Posté : 9 juillet 2018 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
noftaly 497 Répondu : 9 juillet 2018 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 Partager ce message Lien à poster Partager sur d’autres sites
Wafoux 37 Répondu : 9 juillet 2018 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
noftaly 497 Répondu : 9 juillet 2018 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é. 1 Partager ce message Lien à poster Partager sur d’autres sites
Wafoux 37 Répondu : 9 juillet 2018 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
noftaly 497 Répondu : 9 juillet 2018 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... 1 Partager ce message Lien à poster Partager sur d’autres sites
Wafoux 37 Répondu : 9 juillet 2018 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
noftaly 497 Répondu : 9 juillet 2018 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é. 1 Partager ce message Lien à poster Partager sur d’autres sites
Wafoux 37 Répondu : 9 juillet 2018 Ok, je comprends mieux pourquoi j'en avais jamais entendu parlé. Du coup je laisse ce post encore ouvert à toutes suggestions ! Merci encore à toi @noftaly Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 9 juillet 2018 Derien ! Partager ce message Lien à poster Partager sur d’autres sites
Wafoux 37 Répondu : 9 juillet 2018 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