Çözüldü Biletli Nether Sistemi

  • Konuyu Başlatan Konuyu Başlatan Bloktopya
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 405
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Bloktopya

Somon Balığı Selam Vermeye Geldi
Katılım
24 Eylül 2024
Mesajlar
19
Elmaslar
3
Puan
410
Yaş
29
Konum
İstanbul
Merhabalar,


Nether dünyasına biletli ve süreli bir geçiş sistemi oluşturmak istiyorum. Oyuncular, yalnızca belirli bir süre geçerli olan biletlerle Nether'a erişim sağlayabilmeli.


Bu sistemi sağlayabilecek hazır bir plugin ya da skript öneriniz var mı? Ayrıca, aranızda bu sistemi ücretli olarak geliştirebilecek biri varsa iletişime geçmek isterim.


Yardımcı olabilecek herkese şimdiden teşekkür ederim.
Değerli MC-TR üyelerinin desteğini bekliyorum.
 
Merhaba, benimle iletişime geçebilirsiniz. Discord: bruhmettin_
 
Selam Dostum istersen yardimci olabilirm
 
Sorun çözülmediyse 10-20 dakikaya bir kod atarım.
 
Python:
options:
    netherTicketItemType: name tag
    netherTicketName: "<#ff3c3c>Nether Bileti"
    netherTicketLore: "<#CDCDCD>Nether dünyasına geçişini sağlayacak bir bilet.%nl%&eZamanında kullanman gerek!"



command /getNetherTicketItem:
    permission: op
    permission message: &cBu komuta iznin yok.
    trigger:
        give netherTicketItem() to player




local function netherTicketItem(duration: timespan = 1 day) :: item:
    set {_item} to {@netherTicketItemType}

    set name of {_item} to {@netherTicketName}
    set lore of {_item} to {@netherTicketLore}

    set {_expireTime} to now
    add {_duration} to {_expireTime}

    set string tag "expireTime" of custom nbt of {_item} to "%{_expireTime}%"

    return {_item}



local function getExpireDate(item: item) :: date:
    set {_dateStr} to string tag "expireTime" of custom nbt of {_item}

    set {_split::*} to {_dateStr} split at ","

    set {_dateSplit::*} to {_split::1} split at "."

    set {_day} to {_dateSplit::1} parsed as number
    set {_month} to {_dateSplit::2} parsed as number
    set {_year} to {_dateSplit::3} parsed as number

    set {_time} to {_split::2}

    set {_timeSplit::*} to {_time} split at ":"

    set {_hour} to {_timeSplit::1} parsed as number
    set {_minute} to {_timeSplit::2} parsed as number
    set {_second} to {_timeSplit::3} parsed as number

    return date({_year}, {_month}, {_day}, {_hour}, {_minute}, {_second})




on right click:
    if held item of player is a name tag:
        if isTicket(held item of player) is true:
            cancel event
            set held item of player to air

            if isExpired(held item of player) is true:
                send "&cBu biletin süresi tükenmiş!" to player
                play sound "block.note_block.bass" at pitch 0.5 to player

            else:
                teleport player to location(0,0,0,world "world_nether")



local function isExpired(item: item) :: boolean:
    return true if getExpireDate({_item}) < now
    return false



local function isTicket(item: item) :: boolean:
    return true if name of {_item} is {@netherTicketName}

Soruma cevap alamadığım için kodu tamamlayamadım. Kodun eksik noktaları var haberin olsun.
 
Bilet işe yararsa nether'a nasıl bir ışınlanma istiyorsun? Rastgele ışınlanma gibi bir özellik varsa atar mısın?
Rastgele evet burada ek anlatsam yanlış olur uğraşmış olursun fazladan
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst