• Oyun bölümlerine 1 ay içinde en çok konu açan üyemize 100 TL ödül verilecektir. Detaylar için tıklayın

Online Süre Skripti

  • Konuyu Başlatan
  • Moderatör
  • #1

Sabinushka

Plugin/Manager
Onursal
Katılım
22 Eyl 2019
Mesajlar
104
Tepkime puanı
9
Puanları
18
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
Bu linki görmek için izniniz yok Giriş yap veya üye ol.
.
Bu linki görmek için izniniz yok 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.

Kod:
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."

137441


137442


137443
 

Titania

"Beni görmek demek, behemahal yüzümü görmek değild
Kayıtlı Üye
Katılım
24 Ara 2013
Mesajlar
10,636
Tepkime puanı
17
Puanları
38
Yaş
19
Eline sağlık dostum
 

Bu çeriği görüntüleyen kullanıcılar (Kullanıcı: 0, Ziyaretçi: 1)

Sponsor Reklamlar

     
Üst