Skocz do zawartości
  • 0

Skrypt na czas gry


luki112

Pytanie

14 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
on join:
	while player is online:
		wait 1 minute
		add 1 to {m::online::%player%}
		if {m::online::%player%} >= 60:
			remove 60 from {m::online::%player%}
			add 1 to {h::online::%player%}
			if {h::online::%player%} >= 24:
				remove 24 from {h::online::%player%}
				add 1 to {d::online::%player%}

command /online <offlineplayer>:
	usage: &7/online [gracz]
	trigger:
		if arg 1 is not set:
			send "&aSpędziłeś na serwerze: &e%{d::online::%player%}% dni, %{h::online::%player%}% godzin, {m::online::%player%} minut" to player
		else:
			if arg 1 is not player:
				send "&cNie znaleziono gracza!" to player
			else:
				send "&aGracz &2%arg 1% &aspędził na serwerze: &e%{d::online::%arg 1%}% dni, %{h::online::%arg 1%}% godzin, %{m::online::%arg 1%}% minut" to player

takie coś wystarczy?

PS mogę jeszcze dodać permisjię do sprawdzania czasu spędzonego na serwerze innych graczy

Edytowane przez hbrt
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
on join:
	set {dateJoin::%player%} to now
		

on placeholderapi placeholder request for prefix "player":
	if identifier is "time":
		set {_time} to difference between {dateJoin::%player%} and now
		set result to "%{_time}%"
	if identifier is "date":
		set result to "%{dateJoin::%player%}%"

wymagany skript-placeholders

placeholdery:
player_time - zwraca czas od dolaczenia
player_date - zwraca date dolaczenia

Spoiler

  

Teraz, CoFFeIN04 napisał:

a placeholder gdzie?

 

W Skript wystarczy sprawdzić https://docs.skunity.com/syntax/search/id:5254

Jest to łączny czas przez który grał gracz a nie czas przez który jest online.

 

Edytowane przez xAxee
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 godzinę temu, xAxee napisał:
on join:
	set {dateJoin::%player%} to now
		

on placeholderapi placeholder request for prefix "player":
	if identifier is "time":
		set {_time} to difference between {dateJoin::%player%} and now
		set result to "%{_time}%"
	if identifier is "date":
		set result to "%{dateJoin::%player%}%"

wymagany skript-placeholders

placeholdery:
player_time - zwraca czas od dolaczenia
player_date - zwraca date dolaczenia

  Pokaż ukrytą zawartość

  

Jest to łączny czas przez który grał gracz a nie czas przez który jest online.

 

Niestety nie działa, znaczy działa ale w jakimś dziwnego pokazuje bo pokazuje tą liczbe "48000" a chciałbym żeby pokazywało tak "10d 10h 10m" coś takiego

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, luki112 napisał:

Niestety nie działa, znaczy działa ale w jakimś dziwnego pokazuje bo pokazuje tą liczbe "48000" a chciałbym żeby pokazywało tak "10d 10h 10m" coś takiego

w ogóle to ma być łączny czas spedzony na serwerze czy czas online obecnie?

on placeholderapi placeholder request for prefix "player":
	if identifier is "time":
		set {_text} to "%player's time played%"
		replace all " days" and " day" with "d" in {_text}
		replace all " hours" and " hour" with "h" in {_text}
		replace all " minutes" and " minute" with "m" in {_text}
		replace all " seconds" and " second" with "s" in {_text}
		set result to "%{_text}%"

czas jest pobierany z statystyk gracza

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Godzinę temu, xAxee napisał:

w ogóle to ma być łączny czas spedzony na serwerze czy czas online obecnie?

on placeholderapi placeholder request for prefix "player":
	if identifier is "time":
		set {_text} to "%player's time played%"
		replace all " days" and " day" with "d" in {_text}
		replace all " hours" and " hour" with "h" in {_text}
		replace all " minutes" and " minute" with "m" in {_text}
		replace all " seconds" and " second" with "s" in {_text}
		set result to "%{_text}%"

czas jest pobierany z statystyk gracza

https://imgur.com/a/cMa8syC Teraz tak wyświetla, możesz zrobić tak żeby nie było "and" i zamiast 8,25 żeby było 8h 25 min. I w ogóle nie wiem czy to dobrze liczy, bo ma być czas liczony od kiedy gracz wszedł na serwer i tylko jeśli on będzie online to ma liczyć jak wyjdzie to ma się zatrzymać.

Edytowane przez luki112
Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
Teraz, luki112 napisał:

https://imgur.com/a/cMa8syC Teraz tak wyświetla, możesz zrobić tak żeby nie było "and" i zamiast 8,25 żeby było 8h 25 min. I w ogóle nie wiem czy to dobrze liczy, bo ma być czas liczony od kiedy gracz wszedł na serwer i tylko jeśli on będzie online to ma liczyć jak wyjdzie to ma się zatrzymać.

czas jest pobierany z statystyk wiec jest dobry

on placeholderapi placeholder request for prefix "player":
	if identifier is "time":
		set {_text} to "%player's time played%"
		replace all " days" and " day" with "d" in {_text}
		replace all " hours" and " hour" with "h" in {_text}
		replace all " minutes" and " minute" with "m" in {_text}
		replace all " seconds" and " second" with "s" in {_text}
		replace all " and" with ", " in {_text}
		set result to "%{_text}%"

8.25h to nie 8h i 25min i raczej nie bede tego zmieniac bo za duzo roboty.

Edytowane przez xAxee
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

zawsze można użyć funkcji takiej:

function getTimeString(time: timespan) :: string:
    set {_hours} to floor({_time}.getMilliSeconds() / 3600000)
    set {_minutes} to floor(mod({_time}.getMilliSeconds() / 60000, 60))
    set {_seconds} to floor(mod({_time}.getMilliSeconds() / 1000, 60))
    set {_hours} to "%{_hours}%" if {_hours} is greater than 9 else ("0%{_hours}%")
    set {_minutes} to "%{_minutes}%" if {_minutes} is greater than 9 else ("0%{_minutes}%")
    set {_seconds} to "%{_seconds}%" if {_seconds} is greater than 9 else ("0%{_seconds}%")
    return "%{_hours}%::%{_minutes}%::%{_seconds}%"
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
14 godzin temu, xAxee napisał:

czas jest pobierany z statystyk wiec jest dobry

on placeholderapi placeholder request for prefix "player":
	if identifier is "time":
		set {_text} to "%player's time played%"
		replace all " days" and " day" with "d" in {_text}
		replace all " hours" and " hour" with "h" in {_text}
		replace all " minutes" and " minute" with "m" in {_text}
		replace all " seconds" and " second" with "s" in {_text}
		replace all " and" with ", " in {_text}
		set result to "%{_text}%"

8.25h to nie 8h i 25min i raczej nie bede tego zmieniac bo za duzo roboty.

Dobra już niech tak będzie, dzięki wielkie. Temat do zamknięcia.

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...