Pardon, alors apprendre je ne sais pas — car c'est assez compliqué, mais voici la fonction et comment l'utiliser.
Voici la fonction
# =====> Retourner le temps restant
function timeLeft(difference: timespan, cooldown: timespan) :: text:
subtract {_difference} from {_cooldown}
set {_cooldown} to "%{_cooldown}%"
replace "second" with "seconde" in {_cooldown}
replace "minute" with "minute" in {_cooldown}
replace "hour" with "heure" in {_cooldown}
replace "day" with "jour" in {_cooldown}
replace "and" with "et" in {_cooldown}
set {_words::*} to {_cooldown} split at " "
if {_words::5} is set:
set {_words::1} to rounded down ("%{_words::1}%" parsed as number)
set {_words::4} to rounded down ("%{_words::4}%" parsed as number)
set {_result} to "%{_words::1}% %{_words::2}% %{_words::3}% %{_words::4}% %{_words::5}%"
else:
set {_words::1} to rounded down ("%{_words::1}%" parsed as number)
set {_result} to "%{_words::1}% %{_words::2}%"
return {_result}
Alors tu as juste a mettre ca au tout début de ton code.
Attention ! Quelle est ta version de skript ? (fait /ver skript) Si tu n'as pas 2.2 ou plus, alors donne moi ta version MC. Sinon c'est bon ?
Comment utiliser la fonction ??
Dans les exemples suivants, je vais prendre une commande ou l'arg-1 est le joueur, et l'arg-2 le temps de ban.
Alors il te faut 2 variables :
une variable quand le ban a commencé (donc tu set ta variable a "now" quand quelqu'un est banni. Exemple :
set {ban::%arg-1%::start} to now
une variable avec le temps du ban, ÉCRIS EN TIME SPAN. Donc par exemple, il faudra "2 days". Enfin le time span quoi. Donc days, hours, minutes, seconds (où les "s" sont facultatif). Exemple :
set {ban::%arg-1%::time} to arg-2
Si le temps n'est pas écris en time span, exemple : 2d, alors ca ne fonctionnera pas.
Ensuite, tu as juste a faire
timeLeft({ban::%arg-1%::start}, {ban::%arg-1%::time})
et ca te renverrai le temps restant, en temps "TIME SPAN". Exemple d'utilisation :
on connect:
if {ban::%player%} is true:
set {_tl} to timeLeft({ban::%player%::start}, {ban::%player%::time})
kick player due to "Tu es bannis ! Temps restant : %{_tl}%"
Si tu veux je pourrais te donner une fonction qui transformera le temps TIME SPAN en temps français, pour l'afficher a tes joueurs, et une fonction qui transformera le temps français en temps TIME SPAN pour que tes modos puissent marquer "/ban joueur 2d" par exemple, pour 2 jours ?
Aussi si tu n'as pas compris qqchose ou que tu as une erreur a cause de la fonction, dis le moi !
Crédits : cette fonction et les autres que je peux te passer si tu veux ne sont pas de moi, mais de PsyZiiK. Je les avait récupéré avant qu'il supprime zMod