Aller au contenu

Skript de "LifeTime"


Messages recommandés

Posté(e) (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é par Penkie
Posté(e) (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é par Yghore
Posté(e)

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.

Posté(e)

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%}

 

  • J'aime 2
Posté(e)

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%}

 

  • J'aime 1
Posté(e)

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 ?

  • J'aime 1
Posté(e)
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

Posté(e)

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 ? 

Posté(e) (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é par noftaly
  • Rush2Fer a verrouillé ce sujet
  • Rush2Fer déverrouillé et verrouillé ce sujet
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.