Kadim Metin Taşı Skripti

skript
skriptNisan 20, 2026

Minecraft Skyblock Kadim Metin Taşı Skripti - Gelişmiş Rekabet Sistemi

Minecraft Skyblock sunucuları için oyuncular arasındaki rekabeti artıracak, Ağlayan Obsidyen (Crying Obsidian) temalı, optimize edilmiş ve profesyonel bir metin taşı skripti. Sunucunuzun ekonomisini dengelerken oyuncularınıza eğlenceli bir etkinlik alanı sunar.

Kadim Metin Taşı Sisteminin Özellikleri

  • Anti-Makro Koruması: Oyuncuların makro kullanarak haksız kazanç elde etmesini önlemek amacıyla 0.5 saniyelik vuruş sınırlaması mevcuttur.
  • Dinamik Can Göstergesi: Taşa vurulduğunda Action Bar üzerinde anlık olarak doluluk barı ve kalan can miktarı görüntülenir.
  • Gelişmiş Sıralama Sistemi: Metin taşı kırıldığında, taşa en çok hasar veren ilk 3 oyuncu chat üzerinde duyurulur.
  • Otomatik Yenilenme: Taş kırıldıktan 60 dakika sonra otomatik olarak belirlediğiniz koordinatta tekrar doğar ve tüm sunucuya duyuru yapar.
  • Şanslı Ödül Havuzu: Oyuncular taşa her vurduğunda düşük bir şansla değerli madenler kazanabilir.
  • Performans Dostu: Kod yapısı sunucu yormayacak şekilde, en güncel Skript standartlarına göre hazırlanmıştır.

Kullanıcı ve Yetkili Komutları

  • /metinyap - Baktığınız bloğu Kadim Metin noktası olarak tanımlar.
  • /metindogur - Bekleme süresini atlayarak metni anında canlandırır.

Kurulum Talimatları

  1. Sunucunuzda Skript eklentisinin yüklü olduğundan emin olun.
  2. /plugins/Skript/scripts klasörüne gidin ve metin.sk adında bir dosya oluşturun.
  3. Verilen kodları bu dosyaya yapıştırın ve kaydedin.
  4. Oyun içerisinden /sk reload metin.sk komutunu yazın.
  5. Metin taşının doğmasını istediğiniz bloğa bakarak /metinyap komutunu kullanın.

  
  options:
    metin_adi: &d&lᴋᴀᴅɪᴍ ᴍᴇᴛɪɴ
    metin_turu: crying obsidian
    can_sayisi: 50
    yenilenme_suresi: 60 minutes
    vurus_hizi: 0.5 seconds

# --- BAŞLANGIÇ AYARLARI VE KOMUTLAR ---

command /metinyap:
    permission: op
    trigger:
        set target block to {@metin_turu}
        set {metin::lokasyon} to location of target block
        set {metin::can::%{metin::lokasyon}%} to {@can_sayisi}
        delete {metin::vurma::%{metin::lokasyon}%::*}
        send "&d&l» {@metin_adi} &aBaşarıyla oluşturuldu ve kaydedildi!"
        play sound "block.respawn_anchor.set_spawn" with volume 1 and pitch 1 to player

command /metindogur:
    permission: op
    trigger:
        if {metin::lokasyon} is set:
            execute player command "metin_spawn_logic"
            send "&d&l» {@metin_adi} &eManuel olarak doğuruldu!"
        else:
            send "&c&l» &7Önce /metinyap ile bir taş belirlemelisin!"

command /metin_spawn_logic:
    executable by: console, player
    permission: op
    trigger:
        set block at {metin::lokasyon} to {@metin_turu}
        set {metin::can::%{metin::lokasyon}%} to {@can_sayisi}
        delete {metin::vurma::%{metin::lokasyon}%::*}
        broadcast ""
        broadcast "&d&lᴋᴀᴅɪᴍ ᴍᴇᴛɪɴ &8» &bGizemli taş tekrar belirdi!"
        broadcast "&7Konum: &f%x-coord of {metin::lokasyon}%, %y-coord of {metin::lokasyon}%, %z-coord of {metin::lokasyon}%"
        broadcast ""
        play sound "entity.wither.spawn" with volume 0.5 and pitch 1.5 to all players

# --- ANA SİSTEM ---

on break of {@metin_turu}:
    if {metin::can::%location of event-block%} is set:
        cancel event
        set {_loc} to location of event-block
        
        # Makro ve Hız Kontrolü
        set {_bekleme} to difference between {metin::son_vurus::%player%::%{_loc}%} and now
        if {_bekleme} is less than {@vurus_hizi}:
            stop
            
        set {metin::son_vurus::%player%::%{_loc}%} to now
        
        # Vuruş Kaydı
        remove 1 from {metin::can::%{_loc}%}
        add 1 to {metin::vurma::%{_loc}%::%player%}
        
        # Efektler (En Uyumlu Format)
        play sound "block.obsidian.break" with volume 0.4 and pitch 1.2 at {_loc}
        # Partikül hatası devam ederse alt satırı tamamen silebilirsin:
        play mob spawner flames at {_loc} 
        
        # Action Bar Can Barı
        set {_yuzde} to ({metin::can::%{_loc}%} / {@can_sayisi}) * 10
        set {_bar} to ""
        loop 10 times:
            if loop-number <= {_yuzde}:
                set {_bar} to "%{_bar}%&d|"
            else:
                set {_bar} to "%{_bar}%&8|"
        send action bar "{@metin_adi} &8[%{_bar}%&8] &b%{metin::can::%{_loc}%}%" to player

        # Ara Ödül Havuzu
        set {_sans} to random integer between 1 and 100
        if {_sans} <= 15:
            give 1 diamond to player
            send "&b&l» &7Metinden bir &bElmas &7fırladı!" to player
            play sound "entity.item.pickup" with volume 0.5 at player
            
        # --- METİN PARÇALANMA ANI ---
        if {metin::can::%{_loc}%} <= 0:
            set event-block to bedrock
            play sound "entity.zombie_villager.converted" with volume 1 and pitch 0.5 at {_loc}
            # Partikül hatası devam ederse alt satırı tamamen silebilirsin:
            play large smoke at {_loc}
            
            send "" to all players
            send "&8&m-------&d&l ᴋᴀᴅɪᴍ ᴍᴇᴛɪɴ sɪʀᴀʟᴀᴍᴀsɪ &8&m-------" to all players
            
            set {_n} to 1
            while {_n} <= 3:
                set {_max_vurus} to -1
                set {_kazanan} to "Yok"
                loop {metin::vurma::%{_loc}%::*}:
                    if loop-value > {_max_vurus}:
                        set {_max_vurus} to loop-value
                        set {_kazanan} to loop-index
                
                if {_kazanan} is not "Yok":
                    set {_p} to {_kazanan} parsed as offline player
                    send "&e%{_n}%. &f%{_p}% &8» &d%{_max_vurus}% vurus" to all players
                    
                    if {_n} is 1:
                        give 3 netherite scrap to {_p}
                        send "&d&l» &7Birinci olduğun için &5Kadim Kalıntı &7kazandın!" to {_p}
                        
                    delete {metin::vurma::%{_loc}%::%{_kazanan}%}
                    add 1 to {_n}
                else:
                    exit loop
            
            send "&8&m------------------------------------" to all players

            # Yenilenme Zamanlayıcısı
            delete {metin::vurma::%{_loc}%::*}
            wait {@yenilenme_suresi}
            if block at {_loc} is bedrock:
                execute console command "metin_spawn_logic"
  
  
/* pre kod alanı */ /* resimlere tıklanmayı yasaklama */