noftaly 497 Posté : 17 novembre 2017 Salut à tous ! J'ai un peu besoin d'aide ^^ Je suis à la recherche d'un algorithme qui calcule le premier jour d'un mois (pour savoir par exemple si le 1 février 2017 était un lundi, mardi, mercredi etc...) J'ai cherché, et j'ai principalement trouvé des algorithmes en C ou C++, mais je ne comprends pas totalement ce langage... J'ai du moins réussi a trouver cet algorithme : [spoiler=Algorithme] Que j'ai traduit en skript : [spoiler=Algorithme] Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Mais malheureusement il ne fonctionne pas tout le temps... (et je n'ai pas vérifié si il fonctionnait avec les années bissextiles...) Donc si quelqu'un pouvait me le corriger ou m'en donner un qui fonctionne, je le prend à coeur-joie ! Merci d'avance Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 18 novembre 2017 Personne ? :'( Partager ce message Lien à poster Partager sur d’autres sites
KyloRen3600 235 Répondu : 20 novembre 2017 Salut ! Spécial comme requête... Peut-être existe il une api en ligne qui donne un jour lorsque l'on rentre une date ? Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 21 novembre 2017 Je ne sais pas... j'ai pas trouvé, mais je pense que ca doit exister ! Je sais que mon OS (macOS) a une fonction, que l'on peut récupérer, mais pas en skript... Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 25 novembre 2017 Bon du coup j'imagine que ce n'est pas possible en skript ^^ Dommage j'avais fait un skript de calendrier :) (enfin j'avais commencé) Je vous mets le code, et si vous l'utilisez quelquepart, citez-moi svp, parce que j'ai mis beaucoup de temps (pas trop pour le script, mais surtout pour toute la recherche) Ce n'est pas du tout le code finis, donc il y a plein de message de debug etc... Si quelqu'un trouve quand même la solution pour le premier jour d'un mois, je suis bien évidemment toujours prenneur ! EDIT: ups, j'ai laissé les syntaxes de mon add-ons, donc il faudra que vous remplaciez les "bc" par "broadcast" Partager ce message Lien à poster Partager sur d’autres sites
SlySharp 24 Répondu : 25 novembre 2017 Il y a une erreur dans ta traduction : le a = .. ce n'est pas des crochets/parenthèses mais une fonction = fonction partie entière (E[x]). E[x] = n avec n<=x<n+1, n étant un entier relatif. C'est pour ça que dans l'exemple il trouve que E[(14-8)/12) = 0 14-8 = 6 __ 6/12 = 0.5 la partie entière de 0.5 est bien 0. Je ne sais pas si la fonction Partie entière est déjà programmée dans Skript, mais tu peux l'avoir en faisait: Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Et pour tous les autres calculs qui suivent c'est toujours la même chose : fonction E[x] Voila voila :D Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 25 novembre 2017 Je n'ai pas tout compris ^^ je suis en seconde, alors j'ai vu les fonctions, les fonctions dans les graphiques etc, etc, mais la je t'avoues que je ne comprends pas tout xD EDIT: Du coup, par exemple, quand il y a marqué [y/4], ca veut dire que c'est (année - ( (14 / mois) / 12) ) / 4 Partager ce message Lien à poster Partager sur d’autres sites
SlySharp 24 Répondu : 25 novembre 2017 Je n'ai pas tout compris ^^ je suis en seconde, alors j'ai vu les fonctions, les fonctions dans les graphiques etc, etc, mais la je t'avoues que je ne comprends pas tout xD Ok ok je vois, je vais t'expliquer ça plus simplement alors ahah ! En gros, dans tes calculs, tu as : Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Mais dans ton image qui explique les calculs à faire, ce n'est pas juste des crochets, mais une fonction : la fonction "Partie entière". Cette fonction, elle renvoie l'entier le plus proche et inférieur au nombre que tu lui donnes. Avec des exemples pour que ça soit plus explicite : E[0.5] = 0 car 0 est la "partie entière" de 0.5 E[0.7] = 0 E[1.2] = 1 E[5] = 5 E[5.99999999] = 5 Pour les nombres négatifs c'est un peu plus chaud, mais t'en as pas besoin là. Et pour trouver ce nombre entier, qu'on va appeler " n ", on le trouve comme ça : n <= x < n+1 Et ça, en version Skript, tu l'as à peu près comme ça : Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Et voilà, le {_n} remplace le {_base} Et pour toutes les autres fractions en bas, c'est la même chose qu'il faut faire. Si c'est toujours pas assez clair, hésites pas x) ! Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 25 novembre 2017 set {_n} to a random integer between {_x}-0.9999 and {_x} Mais si j'ai bien compris, pour ca on peut pas faire Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. ? c'est pas plus simple ? Partager ce message Lien à poster Partager sur d’autres sites
Xelef 75 Répondu : 25 novembre 2017 Bonjour bonjour, Je viens de refaire ta fonction et tout semble marcher, je t'envois ça et tu me dis si cela te convient ;) Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. EDIT : Aïe, les années bissextiles ne sont pas prises en compte... Bon j'y retourne voir comment gérer ça :mad: Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 25 novembre 2017 Bonjour bonjour, Je viens de refaire ta fonction et tout semble marcher, je t'envois ça et tu me dis si cela te convient ;) Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. wow merci beaucoup ^^ Je ne sais pas si ca fonctionne (je ne peux pas tester actuellement), mais si ca fonctionne c'est super ! Partager ce message Lien à poster Partager sur d’autres sites
SlySharp 24 Répondu : 25 novembre 2017 Mais si j'ai bien compris, pour ca on peut pas faire Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. ? c'est pas plus simple ? Ah peut être, je connais pas ce code ahah Partager ce message Lien à poster Partager sur d’autres sites
SlySharp 24 Répondu : 25 novembre 2017 Bonjour bonjour, Je viens de refaire ta fonction et tout semble marcher, je t'envois ça et tu me dis si cela te convient ;) Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. EDIT : Aïe, les années bissextiles ne sont pas prises en compte... Bon j'y retourne voir comment gérer ça :mad: Il y a pas un pb ? : Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Et sinon que fait le code ceil ? Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 25 novembre 2017 Il y a pas un pb ? : Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Et sinon que fait le code ceil ? C'est l'inverse de floor. Floor prend le nombre en dessous, par exemple floor(3,93) = 3 mais ceil(3,93) = 4 Et le :: text: est normal. Vu que c'est une fonction avec return, cet ajout va dire que le return est de type text Partager ce message Lien à poster Partager sur d’autres sites
SlySharp 24 Répondu : 25 novembre 2017 C'est l'inverse de floor. Floor prend le nombre en dessous, par exemple flormor(3,93) = 3 mais ceil(3,93) = 4 Et le :: text: est normal. Vu que c'est une fonction avec rerurn, cet ajout va dire que le rerurn est de type text Ok bah la fonction partie entière que je te disais en gros c'est flormor, si tu veux utiliser l'algo que t'as envoyé en premier, tu peux essayer avec Ah ok, c'est la première fois que je vois une fonction avec return, je me disais aussi que ça devait bien exister ! Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 25 novembre 2017 Sauf que c'est floor() ^^ pardon, c'est le correcteur automatique de mon tel qui faisait des siennes ^^ Et oui, les fonctions avec return sont très cool : tuto de @GauvainWizard : https://skript-mc.fr/forum/threads/7866/ d'ailleurs : floor comme sol (en bas), ceil comme plafond (en haut) :) petit moyen mnémotechnique 1 Partager ce message Lien à poster Partager sur d’autres sites
Xelef 75 Répondu : 25 novembre 2017 Attends arrêtez tout, je vais le refaire en entier l'algo, parce que là y'a vraiment trop d'erreurs de ma part :eek: Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 25 novembre 2017 Ok xD Merci beaucoup sinon ^^ Partager ce message Lien à poster Partager sur d’autres sites
KyloRen3600 235 Répondu : 25 novembre 2017 Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. skutilities peut récupérer "day name" send "%day name from date now%" Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 26 novembre 2017 Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. skutilities peut récupérer "day name" send "%day name from date now%" Ouais je l'avais vu, mais j'arrive pas à trouver la bonne syntaxe à mettre dans %now%. J'ai essayer tout les trucs possibles, avec des parsed etc mais je trouve pas... Ça fonctionne que quand on met now Partager ce message Lien à poster Partager sur d’autres sites
KyloRen3600 235 Répondu : 26 novembre 2017 Contenu masqué Réagissez ou répondez à ce message afin de consulter le contenu masqué. Pas très joli le code mais dans l'idée c'est ça Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 26 novembre 2017 Tu l'a testé ? Parce que moi ça ne fonctionnait pas ça... (Et je ne peux pas tester... ) Partager ce message Lien à poster Partager sur d’autres sites
KyloRen3600 235 Répondu : 26 novembre 2017 Moi ça marche ça me dit bien "MONDAY" Partager ce message Lien à poster Partager sur d’autres sites
noftaly 497 Répondu : 26 novembre 2017 Ok bah cool alors !! merci beaucoup <3 Partager ce message Lien à poster Partager sur d’autres sites