Safarival Posté(e) le 26 avril 2018 Posté(e) le 26 avril 2018 (modifié) Bonjour, Quelque infos: - Version du serveur : 1.8 - Version du plugin skript : 2.2 - Addon skUtilities : 0.9.2 Je n'arrive pas à faire en sorte que lorsque un joueur meurt sa affiche l'outils avec lequel il est mort en détaille. Voiçi mon code de base : Code: on command "/test": set {_day} to "%day name from date now%" send "&bnous sommes {_day}" Le code en lui même n'a aucune érreur mais si je fait la command /test sa va me marquer &bnous sommes Mercredi même si nous sommes jeudi et si je refait la commande 1 minute / 30 seconde après sa va me mettre que l'on est Vendredi ... Conclusion sa ne m'affiche le vrai jour que 1 fois sur 7. Merci d'avance pour vos réponses :). Cordialement, Safarival Modifié le 26 avril 2018 par Invité
lazerda456 Posté(e) le 26 avril 2018 Posté(e) le 26 avril 2018 (modifié) Tu dois mettre sa command /date: trigger: . message "%now%" Le seul problème c'est que tu auras la date plus l'heure et l'année mais en anglais :/ Modifié le 26 avril 2018 par Invité
Safarival Posté(e) le 26 avril 2018 Auteur Posté(e) le 26 avril 2018 oui mais le truc c'est que je veut mettre le NOM DU JOUR dans le message et en français. Et j'ai vu qu'il était possible avec l'addon Skutilities et c'est vrai seulement le jour change toutes les secondes... :(
lazerda456 Posté(e) le 26 avril 2018 Posté(e) le 26 avril 2018 (modifié) Oui mais je crois que skutilities compte les jours minecraft ... Si tu veux tu peux prendre les jours d'un "API" (site internet) Modifié le 26 avril 2018 par Invité
Message populaire McLincoln2 Posté(e) le 26 avril 2018 Message populaire Posté(e) le 26 avril 2018 (modifié) Je vais te le faire, sans aucune API hihi:p:p Testé, aucun add-on nécessaire: function G(MM:number,DD:number,YY:number) :: number: if {_MM} > 2: set {_y} to {_YY} set {_m} to {_MM} if {_MM} is 1 or 2: set {_y} to {_YY}-1 set {_m} to {_MM}+12 set {_B} to 0 if {_YY} > 1582: if {_MM} > 10: if {_DD} > 15: set {_A} to floor({_y}/100) set {_B} to 2-{_A}+floor({_A}/4) return floor(365.25*{_y})+floor(30.6001*({_m}+1))+{_DD}+1720994.5+{_B} function JJour(JJ:number) :: string: set {_a} to {_JJ}+1.5 set {_r} to {_a}-7 while {_r} > 7: remove 7 from {_r} set {_d::*} to "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" and "Dimanche" return {_d::%{_r}%} on command: if command is "jour": cancel event set {_a::*} to arguments split by " " if {_a::1} is set: if {_a::2} parsed as number is set: if {_a::3} parsed as number is set: # /MM /DD /YY if {_a::1} parsed as number is smaller or equal to 12: send "%JJour(G({_a::1} parsed as number,{_a::2} parsed as number,{_a::3} parsed as number))%" else: set {_n} to "%now%" set {_t::*} to first element of {_n} split by " " split by "/" loop {_t::*}: set {_t::%loop-index%} to loop-value parsed as number if loop-index parsed as number is 1: set {_t::%loop-index%} to {_t::%loop-index%}+1 if loop-index parsed as number is 3: set {_t::%loop-index%} to {_t::%loop-index%}+2000 execute player command "/jour %{_t::2}% %{_t::1}% %{_t::3}%" Je demande pas souvent des "likes" mais ca fait plaisir quand on se casse la tête pendant plusieurs minutes. ;) [Fusion de deux messages] Modifié le 27 avril 2018 par Vengelis_ 5
lazerda456 Posté(e) le 26 avril 2018 Posté(e) le 26 avril 2018 (modifié) Testé, aucun add-on nécessaire: function Julien(MM:number,DD:number,YY:number) :: number: if {_MM} > 2: set {_y} to {_YY} set {_m} to {_MM} if {_MM} is 1 or 2: set {_y} to {_YY}-1 set {_m} to {_MM}+12 set {_B} to 0 if {_YY} > 1582: if {_MM} > 10: if {_DD} > 15: set {_A} to floor({_y}/100) set {_B} to 2-{_A}+floor({_A}/4) return floor(365.25*{_y})+floor(30.6001*({_m}+1))+{_DD}+1720994.5+{_B} function JJour(JJ:number) :: string: set {_a} to {_JJ}+1.5 set {_r} to {_a}-7 while {_r} > 7: remove 7 from {_r} set {_d::*} to "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" and "Dimanche" return {_d::%{_r}%} on command: if command is "jour": cancel event set {_a::*} to arguments split by " " if {_a::1} is set: if {_a::2} parsed as number is set: if {_a::3} parsed as number is set: # /MM /DD /YY if {_a::1} parsed as number is smaller or equal to 12: send "%JJour(Julien({_a::1} parsed as number,{_a::2} parsed as number,{_a::3} parsed as number))%" else: set {_n} to "%now%" set {_t::*} to first element of {_n} split by " " split by "/" loop {_t::*}: set {_t::%loop-index%} to loop-value parsed as number if loop-index parsed as number is 1: set {_t::%loop-index%} to {_t::%loop-index%}+1 if loop-index parsed as number is 3: set {_t::%loop-index%} to {_t::%loop-index%}+2000 execute player command "/jour %{_t::2}% %{_t::1}% %{_t::3}%" Je demande pas souvent des "likes" mais ca fait plaisir quand on se casse la tête pendant plusieurs minutes. ;) Pourquoi la fonction s'appelle Julien xD c'est ton prénom ? Modifié le 26 avril 2018 par Invité
McLincoln2 Posté(e) le 26 avril 2018 Posté(e) le 26 avril 2018 (modifié) Pourquoi la fonction s'appelle Julien xD c'est ton prénom ? Très bonne question, c'est le jour julien dans le calendrier grégorien. J'ai changé et j'ai mis "G" comme "Grégorien" et "JJour" c'est comme "Jour Julien". Ici. Modifié le 26 avril 2018 par Invité 1
Safarival Posté(e) le 26 avril 2018 Auteur Posté(e) le 26 avril 2018 Par contre comment je doit faire si je veut que quand j'éxecute la command /test si il est lundi sa envoie un send au joueur il est lundi si il est mardi send "il est mardi"... stp Mais sinon je n'est aucune erreur donc gg à toi je te mais un j'aime dès que j'ai la réponse :)
McLincoln2 Posté(e) le 26 avril 2018 Posté(e) le 26 avril 2018 C'est déjà le cas, limite changer le message et puis c'est tout. send "Il est %JJour(Julien({_a::1} parsed as number,{_a::2} parsed as number,{_a::3} parsed as number))%" 1
Safarival Posté(e) le 26 avril 2018 Auteur Posté(e) le 26 avril 2018 (modifié) si je marque : send "il est %JJour(G({_a::1} parsed as number,{_a::2} parsed as number,{_a::3} parsed as number))%" Il faut que je fasse ex: /jour 1 2 3 et sa va me mettre il est <none>. Conclusion: 1) Le send ne fonctionne pas. et 2) je veut faire juste /jour pour que sa me marque le jour et pas /jour 1 2 3. Modifié le 26 avril 2018 par Safarival
Safarival Posté(e) le 27 avril 2018 Auteur Posté(e) le 27 avril 2018 es que tu peut me passer le skript ou il y a même la commande /calendrier stp ?
McLincoln2 Posté(e) le 27 avril 2018 Posté(e) le 27 avril 2018 options: gui name: <MM>/<YY> <M> function G(MM:number,DD:number,YY:number) :: number: if {_MM} >= 3: set {_z} to {_YY} else if {_MM} is 1 or 2: set {_z} to {_YY}-1 set {_A} to floor(23*{_MM}/9) set {_B::*} to floor({_z}/4), floor({_z}/100) and floor({_z}/400) if {_MM} is 1 or 2: set {_D} to {_A}+{_DD}+4+{_YY}+{_B::1}-{_B::2}+{_B::3} else: set {_D} to {_A}+{_DD}+4+{_YY}+{_B::1}-{_B::2}+{_B::3}-2 return mod({_D},7) function JDay(JJ:number) :: string: set {_d::*} to "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" and "Dimanche" if {_JJ} is 0: set {_JJ} to 7 return {_d::%{_JJ}%} function MMonth(MM:number) :: string: set {_m::*} to "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre" and "Décembre" return {_m::%{_MM}%} function isB(YY:number) :: boolean: if mod({_YY},4) != 0: return false else if mod({_YY},100) != 0: return true else if mod({_YY},400) != 0: return false else: return true function nbMY(MM:number,YY:number) :: number: set {_n::*} to 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 and 31 if isB({_YY}) is true: set {_n::2} to {_n::2}+1 return {_n::%{_MM}%} on command: if command is "jour": cancel event set {_a::*} to arguments split by " " if {_a::1} is set: if {_a::2} parsed as number is set: if {_a::3} parsed as number is set: # /MM /DD /YY if {_a::1} parsed as number is smaller or equal to 12: send "%JDay(G({_a::1} parsed as number,{_a::2} parsed as number,{_a::3} parsed as number))% %{_a::2}% %MMonth({_a::1} parsed as number)% %{_a::3}%" to player else: set {_n} to "%now%" set {_t::*} to first element of {_n} split by " " split by "/" set {_t::1} to {_t::1} parsed as number set {_t::2} to {_t::2} parsed as number set {_t::3} to {_t::3} parsed as number+2000 execute player command "/jour %{_t::2}% %{_t::1}% %{_t::3}%" else if command is "calendrier": cancel event set {_a::*} to arguments split by " " if {_a::1} is set: if {_a::2} parsed as number is set: # /MM /YY set {_MM} to {_a::1} parsed as number set {_YY} to {_a::2} parsed as number set {_i::*} to "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" and "Dimanche" loop all numbers between 1 and nbMY({_MM},{_YY}): set {_N} to loop-number loop {_i::*}: if loop-value-2 is JDay(G({_MM},{_N},{_YY})): add {_N} to {_i::%loop-index%::*} set {_NAME} to "{@gui name}" replace all "<M>" with "%MMonth({_MM})%" in {_NAME} if {_MM} is smaller than 10: replace all "<MM>" with "0%{_MM}%" in {_NAME} else: replace all "<MM>" with "%{_MM}%" in {_NAME} replace all "<YY>" with "%{_YY}%" in {_NAME} open virtual chest inventory with size 6 named "%{_NAME}%" to player loop 7 times: loop {_i::%loop-value%::*}: if loop-value-2 is 1: set {_S} to loop-value-1 loop {_i::%loop-value%::*}: if loop-value-2 parsed as number - {_S} < 0: format gui slot loop-value-1 + (loop-index parsed as number-1) * 9 of player with loop-value-2 of glass pane named "%{_i::%loop-value-1%}% %loop-value-2%" else: format gui slot loop-value-1 + loop-index parsed as number * 9 of player with loop-value-2 of glass pane named "%{_i::%loop-value-1%}% %loop-value-2%" if {_MM} is not 1: format gui slot 45 of player with paper named "§fMois précédent" to run player command "/%command% %{_MM}-1% %{_YY}%" if {_MM} is not 12: format gui slot 53 of player with paper named "§fMois suivant" to run player command "/%command% %{_MM}+1% %{_YY}%" else: format gui slot 53 of player with paper named "§fMois suivant" to run player command "/%command% 1 %{_YY}+1%" stop format gui slot 45 of player with paper named "§fMois précédent" to run player command "/%command% 12 %{_YY}-1%" format gui slot 53 of player with paper named "§fMois suivant" to run player command "/%command% %{_MM}+1% %{_YY}%" else: execute player command "/calendrier" else: set {_n} to "%now%" set {_t::*} to first element of {_n} split by " " split by "/" set {_t::2} to {_t::2} parsed as number set {_t::3} to {_t::3} parsed as number+2000 execute player command "/calendrier %{_t::2}% %{_t::3}%" Plus besoin de faire (J+1). 1
Vengelis_ Posté(e) le 27 avril 2018 Posté(e) le 27 avril 2018 Je vais te le faire, sans aucune API hihi:p:p Testé, aucun add-on nécessaire: function G(MM:number,DD:number,YY:number) :: number: if {_MM} > 2: set {_y} to {_YY} set {_m} to {_MM} if {_MM} is 1 or 2: set {_y} to {_YY}-1 set {_m} to {_MM}+12 set {_B} to 0 if {_YY} > 1582: if {_MM} > 10: if {_DD} > 15: set {_A} to floor({_y}/100) set {_B} to 2-{_A}+floor({_A}/4) return floor(365.25*{_y})+floor(30.6001*({_m}+1))+{_DD}+1720994.5+{_B} function JJour(JJ:number) :: string: set {_a} to {_JJ}+1.5 set {_r} to {_a}-7 while {_r} > 7: remove 7 from {_r} set {_d::*} to "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" and "Dimanche" return {_d::%{_r}%} on command: if command is "jour": cancel event set {_a::*} to arguments split by " " if {_a::1} is set: if {_a::2} parsed as number is set: if {_a::3} parsed as number is set: # /MM /DD /YY if {_a::1} parsed as number is smaller or equal to 12: send "%JJour(G({_a::1} parsed as number,{_a::2} parsed as number,{_a::3} parsed as number))%" else: set {_n} to "%now%" set {_t::*} to first element of {_n} split by " " split by "/" loop {_t::*}: set {_t::%loop-index%} to loop-value parsed as number if loop-index parsed as number is 1: set {_t::%loop-index%} to {_t::%loop-index%}+1 if loop-index parsed as number is 3: set {_t::%loop-index%} to {_t::%loop-index%}+2000 execute player command "/jour %{_t::2}% %{_t::1}% %{_t::3}%" Je demande pas souvent des "likes" mais ca fait plaisir quand on se casse la tête pendant plusieurs minutes. ;) [Fusion de deux messages] Attention au doubles postes @McLincoln2 !
Safarival Posté(e) le 28 avril 2018 Auteur Posté(e) le 28 avril 2018 options: gui name: <MM>/<YY> <M> function G(MM:number,DD:number,YY:number) :: number: if {_MM} >= 3: set {_z} to {_YY} else if {_MM} is 1 or 2: set {_z} to {_YY}-1 set {_A} to floor(23*{_MM}/9) set {_B::*} to floor({_z}/4), floor({_z}/100) and floor({_z}/400) if {_MM} is 1 or 2: set {_D} to {_A}+{_DD}+4+{_YY}+{_B::1}-{_B::2}+{_B::3} else: set {_D} to {_A}+{_DD}+4+{_YY}+{_B::1}-{_B::2}+{_B::3}-2 return mod({_D},7) function JDay(JJ:number) :: string: set {_d::*} to "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" and "Dimanche" if {_JJ} is 0: set {_JJ} to 7 return {_d::%{_JJ}%} function MMonth(MM:number) :: string: set {_m::*} to "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre" and "Décembre" return {_m::%{_MM}%} function isB(YY:number) :: boolean: if mod({_YY},4) != 0: return false else if mod({_YY},100) != 0: return true else if mod({_YY},400) != 0: return false else: return true function nbMY(MM:number,YY:number) :: number: set {_n::*} to 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 and 31 if isB({_YY}) is true: set {_n::2} to {_n::2}+1 return {_n::%{_MM}%} on command: if command is "jour": cancel event set {_a::*} to arguments split by " " if {_a::1} is set: if {_a::2} parsed as number is set: if {_a::3} parsed as number is set: # /MM /DD /YY if {_a::1} parsed as number is smaller or equal to 12: send "%JDay(G({_a::1} parsed as number,{_a::2} parsed as number,{_a::3} parsed as number))% %{_a::2}% %MMonth({_a::1} parsed as number)% %{_a::3}%" to player else: set {_n} to "%now%" set {_t::*} to first element of {_n} split by " " split by "/" set {_t::1} to {_t::1} parsed as number set {_t::2} to {_t::2} parsed as number set {_t::3} to {_t::3} parsed as number+2000 execute player command "/jour %{_t::2}% %{_t::1}% %{_t::3}%" else if command is "calendrier": cancel event set {_a::*} to arguments split by " " if {_a::1} is set: if {_a::2} parsed as number is set: # /MM /YY set {_MM} to {_a::1} parsed as number set {_YY} to {_a::2} parsed as number set {_i::*} to "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" and "Dimanche" loop all numbers between 1 and nbMY({_MM},{_YY}): set {_N} to loop-number loop {_i::*}: if loop-value-2 is JDay(G({_MM},{_N},{_YY})): add {_N} to {_i::%loop-index%::*} set {_NAME} to "{@gui name}" replace all "<M>" with "%MMonth({_MM})%" in {_NAME} if {_MM} is smaller than 10: replace all "<MM>" with "0%{_MM}%" in {_NAME} else: replace all "<MM>" with "%{_MM}%" in {_NAME} replace all "<YY>" with "%{_YY}%" in {_NAME} open virtual chest inventory with size 6 named "%{_NAME}%" to player loop 7 times: loop {_i::%loop-value%::*}: if loop-value-2 is 1: set {_S} to loop-value-1 loop {_i::%loop-value%::*}: if loop-value-2 parsed as number - {_S} < 0: format gui slot loop-value-1 + (loop-index parsed as number-1) * 9 of player with loop-value-2 of glass pane named "%{_i::%loop-value-1%}% %loop-value-2%" else: format gui slot loop-value-1 + loop-index parsed as number * 9 of player with loop-value-2 of glass pane named "%{_i::%loop-value-1%}% %loop-value-2%" if {_MM} is not 1: format gui slot 45 of player with paper named "§fMois précédent" to run player command "/%command% %{_MM}-1% %{_YY}%" if {_MM} is not 12: format gui slot 53 of player with paper named "§fMois suivant" to run player command "/%command% %{_MM}+1% %{_YY}%" else: format gui slot 53 of player with paper named "§fMois suivant" to run player command "/%command% 1 %{_YY}+1%" stop format gui slot 45 of player with paper named "§fMois précédent" to run player command "/%command% 12 %{_YY}-1%" format gui slot 53 of player with paper named "§fMois suivant" to run player command "/%command% %{_MM}+1% %{_YY}%" else: execute player command "/calendrier" else: set {_n} to "%now%" set {_t::*} to first element of {_n} split by " " split by "/" set {_t::2} to {_t::2} parsed as number set {_t::3} to {_t::3} parsed as number+2000 execute player command "/calendrier %{_t::2}% %{_t::3}%" Plus besoin de faire (J+1). Merci pour ce code mais il m'indique 8 erreur alors peut tu me dire quel est ta version de skript stp ? et ce que tu a comme addons ? Merci pour le temp que tu prend pour moi :) Cordialement, Safarival.
McLincoln2 Posté(e) le 28 avril 2018 Posté(e) le 28 avril 2018 Merci pour ce code mais il m'indique 8 erreur alors peut tu me dire quel est ta version de skript stp ? et ce que tu a comme addons ? Merci pour le temp que tu prend pour moi :) Cordialement, Safarival. TuSKe suffit amplement.
Safarival Posté(e) le 28 avril 2018 Auteur Posté(e) le 28 avril 2018 (modifié) J'avais supprimer Tuske il y a quelque jour, Donc j'ai re installer Tuske et quand je fait /sk reload jour.sk, il y a une erreur dans ma console qui viens du skript que tu ma passer: [16:30:38 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'sk' in plugin Skript v2.2-SNAPSHOT at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[minecraft_server.jar:git-Spigot-2ec6f06-7722428] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[minecraft_server.jar:git-Spigot-2ec6f06-7722428] at org.bukkit.craftbukkit.v1_8_R2.CraftServer.dispatchCommand(CraftServer.java:646) ~[minecraft_server.jar:git-Spigot-2ec6f06-7722428] at net.minecraft.server.v1_8_R2.PlayerConnection.handleCommand(PlayerConnection.java:1139) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at net.minecraft.server.v1_8_R2.PlayerConnection.a(PlayerConnection.java:974) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at net.minecraft.server.v1_8_R2.PacketPlayInChat.a(PacketPlayInChat.java:45) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at net.minecraft.server.v1_8_R2.PacketPlayInChat.a(PacketPlayInChat.java:1) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at net.minecraft.server.v1_8_R2.PlayerConnectionUtils$1.run(SourceFile:13) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_91] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_91] at net.minecraft.server.v1_8_R2.SystemUtils.a(SourceFile:60) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at net.minecraft.server.v1_8_R2.MinecraftServer.A(MinecraftServer.java:712) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at net.minecraft.server.v1_8_R2.DedicatedServer.A(DedicatedServer.java:368) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at net.minecraft.server.v1_8_R2.MinecraftServer.z(MinecraftServer.java:651) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java:554) [minecraft_server.jar:git-Spigot-2ec6f06-7722428] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91] Caused by: java.lang.IllegalAccessError: tried to access method ch.njol.skript.SkriptEventHandler.addSelfRegisteringTrigger(Lch/njol/skript/lang/Trigger;)V from class com.github.tukenuke.tuske.manager.gui.v2.TriggerUnregisterListener at com.github.tukenuke.tuske.manager.gui.v2.TriggerUnregisterListener.register(TriggerUnregisterListener.java:29) ~[?:?] at com.github.tukenuke.tuske.manager.gui.v2.SkriptGUIEvent.register(SkriptGUIEvent.java:50) ~[?:?] at com.github.tukenuke.tuske.manager.gui.v2.SkriptGUIEvent.<init>(SkriptGUIEvent.java:32) ~[?:?] at com.github.tukenuke.tuske.manager.gui.v2.SkriptGUIEvent.getInstance(SkriptGUIEvent.java:24) ~[?:?] at com.github.tukenuke.tuske.sections.gui.EffFormatGUI.init(EffFormatGUI.java:106) ~[?:?] at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:244) ~[?:?] at ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:171) ~[?:?] at ch.njol.skript.lang.Statement.parse(Statement.java:60) ~[?:?] at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:650) ~[?:?] at ch.njol.skript.lang.TriggerSection.<init>(TriggerSection.java:56) ~[?:?] at ch.njol.skript.lang.Conditional.<init>(Conditional.java:46) ~[?:?] at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:736) ~[?:?] at ch.njol.skript.lang.Loop.<init>(Loop.java:68) ~[?:?] at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:686) ~[?:?] at ch.njol.skript.lang.Loop.<init>(Loop.java:68) ~[?:?] at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:686) ~[?:?] at ch.njol.skript.lang.TriggerSection.<init>(TriggerSection.java:56) ~[?:?] at ch.njol.skript.lang.Conditional.<init>(Conditional.java:46) ~[?:?] at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:736) ~[?:?] at ch.njol.skript.lang.TriggerSection.<init>(TriggerSection.java:56) ~[?:?] at ch.njol.skript.lang.Conditional.<init>(Conditional.java:46) ~[?:?] at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:736) ~[?:?] at ch.njol.skript.lang.TriggerSection.<init>(TriggerSection.java:56) ~[?:?] at ch.njol.skript.lang.Conditional.<init>(Conditional.java:46) ~[?:?] at ch.njol.skript.lang.Conditional.loadElseIf(Conditional.java:96) ~[?:?] at ch.njol.skript.ScriptLoader.loadItems(ScriptLoader.java:724) ~[?:?] at ch.njol.skript.ScriptLoader.loadScript(ScriptLoader.java:510) ~[?:?] at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:245) ~[?:?] at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:199) ~[?:?] at ch.njol.skript.Skript.reload(Skript.java:639) ~[?:?] at ch.njol.skript.SkriptCommand.onCommand(SkriptCommand.java:130) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[minecraft_server.jar:git-Spigot-2ec6f06-7722428] ... 15 more et en jeu sa me marque : An internal error occurred while attempting to perform this command. Modifié le 28 avril 2018 par Safarival
Safarival Posté(e) le 1 mai 2018 Auteur Posté(e) le 1 mai 2018 (modifié) Je vais te le faire, sans aucune API hihi:p:p Testé, aucun add-on nécessaire: function G(MM:number,DD:number,YY:number) :: number: if {_MM} > 2: set {_y} to {_YY} set {_m} to {_MM} if {_MM} is 1 or 2: set {_y} to {_YY}-1 set {_m} to {_MM}+12 set {_B} to 0 if {_YY} > 1582: if {_MM} > 10: if {_DD} > 15: set {_A} to floor({_y}/100) set {_B} to 2-{_A}+floor({_A}/4) return floor(365.25*{_y})+floor(30.6001*({_m}+1))+{_DD}+1720994.5+{_B} function JJour(JJ:number) :: string: set {_a} to {_JJ}+1.5 set {_r} to {_a}-7 while {_r} > 7: remove 7 from {_r} set {_d::*} to "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" and "Dimanche" return {_d::%{_r}%} on command: if command is "jour": cancel event set {_a::*} to arguments split by " " if {_a::1} is set: if {_a::2} parsed as number is set: if {_a::3} parsed as number is set: # /MM /DD /YY if {_a::1} parsed as number is smaller or equal to 12: send "%JJour(G({_a::1} parsed as number,{_a::2} parsed as number,{_a::3} parsed as number))%" else: set {_n} to "%now%" set {_t::*} to first element of {_n} split by " " split by "/" loop {_t::*}: set {_t::%loop-index%} to loop-value parsed as number if loop-index parsed as number is 1: set {_t::%loop-index%} to {_t::%loop-index%}+1 if loop-index parsed as number is 3: set {_t::%loop-index%} to {_t::%loop-index%}+2000 execute player command "/jour %{_t::2}% %{_t::1}% %{_t::3}%" Je demande pas souvent des "likes" mais ca fait plaisir quand on se casse la tête pendant plusieurs minutes. ;) [Fusion de deux messages] Un grand merci à toi pour ce skript qui MARCHE :) ! Je passe ce sujet en résolu :) Cordialement, Safarival. Modifié le 1 mai 2018 par Invité
Messages recommandés