Penkie Posté(e) le 21 septembre 2018 Posté(e) le 21 septembre 2018 (modifié) Bonjour! J'espère que vous allez tous très bien ? Aujourd'hui je fais une demande de skript! Et là voici: Description: Un skript qui montre combien d'heures on a passé sur le serveur au total (sois dans le tab, sois dans un scoreboard). Et ça pour tous les joueurs. Faisable? Infos: J'utilise Minecraft 1.12.2 avec la dernière version de skript (dev36 un truc dans le genre, je pense que vous voyez). J'ai très hâte d'avoir vos réponses ? Penkie. Modifié le 21 septembre 2018 par Penkie
Yghore Posté(e) le 22 septembre 2018 Posté(e) le 22 septembre 2018 (modifié) every 1 second: loop all players: add 1 to {timer.seconds::%loop-player%} if {timer.seconds::%loop-player%} = 60 set {timer.seconds::%loop-player%} to 0 add 1 to {timer.minutes::%loop-player%} if {timer.minutes::%loop-player%} = 60 set {timer.minutes::%loop-player%} to 0 add 1 to {timer.hours::%loop-player%} on join: if {timer.seconds::%loop-player%} is not set: set {timer.seconds::%loop-player%} to 0 if {timer.minutes::%loop-player%} is not set: set {timer.minutes::%loop-player%} to 0 if {timer.hours::%loop-player%} is not set: set {timer.hours::%loop-player%} to 0 A test, je te laisse faire le scoreboard Modifié le 22 septembre 2018 par Yghore
Penkie Posté(e) le 23 septembre 2018 Auteur Posté(e) le 23 septembre 2018 Okey merci beaucoup! Mais je pose une question, ça va pas faire lag le serveur? Et pour le scoreboard, je met genre every 5 seconds? Je sais pas si ça aussi ça peut causé des lags.
Yghore Posté(e) le 23 septembre 2018 Posté(e) le 23 septembre 2018 Oui, les every 1 second + le loop all players, oui mais il n'a pas beaucoup d'autre solutions peut être une boucle while ^^
Penkie Posté(e) le 23 septembre 2018 Auteur Posté(e) le 23 septembre 2018 Mmh mince ? Bon du coup je vais peut-être pas le faire alors, triste :c Merci quand même !
Yghore Posté(e) le 23 septembre 2018 Posté(e) le 23 septembre 2018 Voici quelque chose de plus opti je pense on join: while player is online: wait 1 second add 1 to {timer.seconds::%player%} if {timer.seconds::%player%} = 60 set {timer.seconds::%player%} to 0 add 1 to {timer.minutes::%player%} if {timer.minutes::%player%} = 60 set {timer.minutes::%player%} to 0 add 1 to {timer.hours::%player%} 2
noftaly Posté(e) le 23 septembre 2018 Posté(e) le 23 septembre 2018 c'est plus optimisé, mais tu peux aussi faire un truc du genre on join: set {lastco::%player%} to now on quit: add (difference between now and {lastco::%player%}) to {totalco::%player%} 1
Razo Posté(e) le 23 septembre 2018 Posté(e) le 23 septembre 2018 T'as oublié ça : on join: if {totalco::%player%} isn't set: set {totalco::%player%} to 0 second Mais sinon c'est beaucoup plus opti en effet ? 1
noftaly Posté(e) le 23 septembre 2018 Posté(e) le 23 septembre 2018 Il y a 1 heure, Razo a dit : T'as oublié ça : on join: if {totalco::%player%} isn't set: set {totalco::%player%} to 0 second Mais sinon c'est beaucoup plus opti en effet ? Pas bête x) Merci
Penkie Posté(e) le 26 septembre 2018 Auteur Posté(e) le 26 septembre 2018 Merci pour toutes vos réponses! Je vais tester ça ^^
Penkie Posté(e) le 26 septembre 2018 Auteur Posté(e) le 26 septembre 2018 Re! Du coup tout fonctionne! Mais j'ai encore une petite question. Comment je pourrais faire pour arrondir le numéro seconde, parce qu'il me met "5.63 seconds" par exemple. Et aussi, est-ce que c'est possible de traduire le "seconds", "hour" etc.. en français? Merci d'avance pour vos réponses ?
Yghore Posté(e) le 28 septembre 2018 Posté(e) le 28 septembre 2018 (modifié) set {_integer} to {totalco::%player%} parsed as integer je pense Modifié le 28 septembre 2018 par Yghore 1
noftaly Posté(e) le 29 septembre 2018 Posté(e) le 29 septembre 2018 (modifié) function SanctionTime(time: timespan) :: text: set {_time} to "%{_time}%" set {_words::*} to {_time} split at " " if {_words::2} is "second" or "seconds": set {_words::2} to "seconde%(""s"") if {_words::2} = ""seconds"", else """"%" else if {_words::2} is "minute" or "minutes": set {_words::2} to "minute%(""s"") if {_words::2} = ""minutes"", else """"%" else if {_words::2} is "hour" or "hours": set {_words::2} to "heure%(""s"") if {_words::2} = ""hours"", else """"%" else if {_words::2} is "day" or "days": set {_words::2} to "jour%(""s"") if {_words::2} = ""days"", else """"%" set {_result} to "%{_words::1}% %{_words::2}%" return {_result} Modifié le 29 septembre 2018 par noftaly
Messages recommandés