blueybighat
Marangoz
- En iyi cevaplar
- 3
Merhaba değerli forum üyeleri , bugün /süre top ve /süre özelliği bulunan güzel kolay ve türevlerine benzemeyen bir skript paylaşıcam öncelikle 1 - 2 bilgi veriyim , skriptin çalışması için skript-mirror ve TuSKe adlı add-on gereklidir indirmek için
Eğer sunucu sürümünüz 1.8 gibi alt sürümler ise timestatistic: kısmını ellemeyin eğer 1.14.4 gibi sürümler ise PLAY_ONE_MINUTE olarak ayarlamanız gerekiyor
skript her saniye tüm oyuncuları kaydetmek yerine istatistikten verileri çekiyor bu sayede lag yapmıyor. neyse fazla uzatmadan kodu bırakıyım. iyi kullanımlar.
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
.
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
Eğer sunucu sürümünüz 1.8 gibi alt sürümler ise timestatistic: kısmını ellemeyin eğer 1.14.4 gibi sürümler ise PLAY_ONE_MINUTE olarak ayarlamanız gerekiyor
skript her saniye tüm oyuncuları kaydetmek yerine istatistikten verileri çekiyor bu sayede lag yapmıyor. neyse fazla uzatmadan kodu bırakıyım. iyi kullanımlar.
Java:
options:
topx: 9
timestatistic: PLAY_ONE_TICK
import:
org.bukkit.Statistic
players property total time:
return type: number
get:
return round(expression-1.getStatistic(Statistic.{@timestatistic})/20)
on skript load:
set {timelist::*} to sırala({time::*}, {@topx})
on skript unload:
set {timelist::*} to sırala({time::*}, {@topx})
every 30 minutes:
set {timelist::*} to sırala({time::*}, {@topx})
function formattedTime(süre: number) :: String:
return "&e%floor({_süre}/86400)% &7gün, &e%floor(mod({_süre},86400)/3600)% &7saat, &e%floor(mod({_süre},3600)/60)% &7dakika, &e%floor(mod({_süre},60))% &7saniye"
function sırala(x: objects, n: number) :: Objects:
loop {_n} times:
set {_maxValuetime} to -1
loop {_x::*}:
set {_time::*} to loop-value-2 split at "\\"
set {_time::2} to {_time::2} parsed as number
if {_time::2} > {_maxValuetime}:
set {_maxValuetime} to {_time::2}
set {_maxValues} to loop-value-2
add {_maxValues} to {_return::*}
remove {_maxValues} from {_x::*}
delete {_maxValues}
delete {_maxValuetime}
return {_return::*}
command /süre [<text>]:
trigger:
if arg 1 is not set:
set {_time} to total time of player
open virtual chest inventory with size 1 named "&cSüre Top" to player
make gui slot 0,1,2,3,5,6,7 and 8 of player with shiny lime stained glass pane named " " to nothing
make gui slot 4 of player with ("%player%" parsed as offline player)'s skull named "&6Oyunda kalma süreniz" with lore "","&7Oyunda toplamda",formattedTime({_time}) and "&7süre boyunca kalmışsınız." to nothing
set {time::%player%} to "%player%\\%{_time}%"
else if arg 1 is "top" or "sıralama" or "sırala":
open virtual chest inventory with size ceil({@topx}/9) named "&cSüre Top" to player
loop {timelist::*}:
set {_sıralama::*} to loop-value-1 split at "\\"
make gui slot {_n} otherwise 0 of player with ("%{_sıralama::1}%" parsed as offline player)'s skull named "&c%{_n}+1%. Kişi" with lore "", "&9%{_sıralama::1}% &7adlı oyuncu", "&6%formattedTime({_sıralama::2} parsed as number)%" and "&7kadar oyunda kalarak &3%{_n}+1%. &7sıraya çıkmıştır." to nothing
add 1 to {_n}
else if arg 1 is "yenile":
if player is op:
set {timelist::*} to sırala({time::*}, {@topx})
send "&aSistem yenilendi."
else:
send "&cYetkin yok."
Son düzenleme: