Bulundu Minecraft sunucuma artı basma skripti istiyorum

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Quartness

Odunlara Vur Vur Vur!
Katılım
16 Kasım 2025
Mesajlar
25
Elmaslar
3
Puan
85
Yaş
26
Konum
KahramanMaraş
Merhaba arkadaşlar,


Sunucuma bir basit upgrade sistemi eklemek istiyorum ve bu konuda yardımınıza ihtiyacım var. Aşağıdaki özelliklerde bir Skript arıyorum:


  • Minecraft sürümü: 1.21.10
  • Skript sürümü: 2.12.2
  • Komut: /upgrade <level>
  • Oyuncu komutu kullandığında elindeki itemin leveli artsın.
  • Upgrade para karşılığında olsun. Örnek: /upgrade level 1 → “Bu işlem * dolar tutuyor, siparişi onaylıyor musun? Evet/Hayır” şeklinde bir onay mekanizması.
  • Oyuncu Evet veya Hayır yazdığında işlem gerçekleşsin veya iptal edilsin.
  • Basit ve bağımsız bir Skript olması yeterli, ek eklentilere çok bağlı olmasın.

Skript örnekleri veya yönlendirmeler paylaşabilirseniz çok sevinirim.


Teşekkürler!
 
Bu seviyelerin bir işlevi vs olacak mı? Olacaksa çok detaylı bir şey yazılması gerekir o da sunucuyu yorabilir.


Mantığı daha da açıklayıcı anlatmalısınız
 
ilk forumum o yüzden heyecanlıyım kusura bakmayın :D
Evet seviyelerin bir işlevi olacak. Level arttıkça itemin güçlenmesini istiyorum. Örneğin daha fazla hasar vurması, kırılmazlık/artı özellikler eklemesi veya kendi belirlediğim değerleri artırması gibi.

Sunucuyu yorması önemli değil
 
merhaba iyi günler hocam size bir skript yazdım hata veya eksik biryer görürseniz düzeltirim hemen deneyin

Upgrade Skript’in İçin Gerekenler

PluginGerekli mi?Açıklama
Skript 2.7.0✔️Temel sistem
Vault✔️Ekonomi bağlantısı için
EssentialsX Economy✔️Para sistemi oluşturur
SkBee❌Gerekli değil
skript-reflect❌Gerekli değil




JavaScript:
options:
    prefix: &8[&aUpgrade&8]&r
    base-cost: 100 # 1 level için temel fiyat (istediğin gibi değiştir)

command /upgrade [<number>]:
    permission: upgrade.use
    permission message: {@prefix} &cBu komutu kullanma iznin yok.
    trigger:
        if arg-1 is not set:
            send "{@prefix} &cKullanım: /upgrade <seviye>"
            stop

        set {_addLevels} to arg-1 parsed as integer
        if {_addLevels} <= 0:
            send "{@prefix} &cSeviye 1 veya daha büyük olmalı."
            stop

        if player's held item is air:
            send "{@prefix} &cElinde bir eşya olmalı."
            stop

        set {_item} to player's held item

        
        set {_current} to 0
        loop lore of {_item}:
            if loop-value starts with "&7Level: ":
                set {_line} to loop-value
                replace all "&7Level: " with "" in {_line}
                set {_current} to {_line} parsed as integer
                # Eski level satırını sil
                delete line loop-index of lore of {_item}

        set {_new} to {_current} + {_addLevels}

        # Fiyat hesapla (örnek: her level için {@base-cost})
        set {_cost} to {_addLevels} * {@base-cost}

        
        set {upgradePending.%player%::cost} to {_cost}
        set {upgradePending.%player%::add} to {_addLevels}

        send "{@prefix} &eBu işlem &6%{_cost}% &edolar tutuyor."
        send "{@prefix} &eOnaylıyor musun? &aEvet &eveya &cHayır &eyaz."

# Chat üzerinden Evet / Hayır onayı
on chat:
    if {upgradePending.%player%::cost} is set:
        cancel event
        set {_msg} to message

        # Küçük/büyük harf derdi olmasın diye hepsini küçük yap
        set {_msg} to lowercase({_msg})

        if {_msg} is "evet":
            set {_cost} to {upgradePending.%player%::cost}
            set {_add} to {upgradePending.%player%::add}

            if balance of player < {_cost}:
                send "{@prefix} &cYeterli paran yok! Gerekli: &6%{_cost}%"
                delete {upgradePending.%player%::*}
                stop

            remove {_cost} from balance of player

            set {_item} to player's held item

            if {_item} is air:
                send "{@prefix} &cElindeki eşya değiştiği için işlem iptal edildi."
                add {_cost} to balance of player
                delete {upgradePending.%player%::*}
                stop

            
            set {_current} to 0
            loop lore of {_item}:
                if loop-value starts with "&7Level: ":
                    set {_line} to loop-value
                    replace all "&7Level: " with "" in {_line}
                    set {_current} to {_line} parsed as integer
                    delete line loop-index of lore of {_item}

            set {_new} to {_current} + {_add}
            add "&7Level: %{_new}%" to lore of {_item}
            set player's held item to {_item}

            send "{@prefix} &aUpgrade başarılı! &eYeni level: &6%{_new}%"
            delete {upgradePending.%player%::*}

        else if {_msg} is "hayır":
            send "{@prefix} &cİşlem iptal edildi."
            delete {upgradePending.%player%::*}

        else:
            send "{@prefix} &eLütfen sadece &aEvet &eveya &cHayır &eyaz."
 
ss de görünen hataları çözdüm tekrar deneyin lütfen



JavaScript:
options:
    prefix: &8[&aUpgrade&8]&r
    base-cost: 100 # 1 level için fiyat

command /upgrade [<integer>]:
    permission: upgrade.use
    permission message: {@prefix} &cBu komutu kullanma iznin yok.
    trigger:
        if arg-1 is not set:
            send "{@prefix} &cKullanım: /upgrade <seviye>"
            stop

        set {_addLevels} to arg-1

        if {_addLevels} <= 0:
            send "{@prefix} &cSeviye 1 veya daha büyük olmalı."
            stop

        if player's held item is air:
            send "{@prefix} &cElinde bir eşya olmalı."
            stop

        set {_item} to player's held item

        # Mevcut leveli bul ve eski Level satırını lore'dan çıkar
        set {_current} to 0
        clear {_newLore::*}

        if lore of {_item} is set:
            loop lore of {_item}:
                if loop-value starts with "&7Level: ":
                    set {_line} to loop-value
                    replace all "&7Level: " with "" in {_line}
                    set {_current} to {_line} parsed as integer
                    # Bu satırı yeni lore listesine EKLEME
                else:
                    add loop-value to {_newLore::*}

        set {_new} to {_current} + {_addLevels}

        # Fiyat
        set {_cost} to {_addLevels} * {@base-cost}

        # Onay için geçici değişkenler
        set {upgradePending.%player%::cost} to {_cost}
        set {upgradePending.%player%::add} to {_addLevels}

        send "{@prefix} &eBu işlem &6%{_cost}% &edolar tutuyor."
        send "{@prefix} &eOnaylıyor musun? &aEvet &eveya &cHayır &eyaz."

on chat:
    if {upgradePending.%player%::cost} is set:
        cancel event

        set {_msg} to "%message%"

        # EVET DURUMU
        if {_msg} is "evet" or {_msg} is "Evet" or {_msg} is "EVET":
            set {_cost} to {upgradePending.%player%::cost}
            set {_add} to {upgradePending.%player%::add}

            if balance of player < {_cost}:
                send "{@prefix} &cYeterli paran yok! Gerekli: &6%{_cost}%"
                delete {upgradePending.%player%::*}
                stop

            if player's held item is air:
                send "{@prefix} &cElindeki eşya değiştiği için işlem iptal edildi."
                delete {upgradePending.%player%::*}
                stop

            remove {_cost} from balance of player

            set {_item} to player's held item

            # Mevcut leveli tekrar oku ve eski Level satırını sil
            set {_current} to 0
            clear {_newLore::*}

            if lore of {_item} is set:
                loop lore of {_item}:
                    if loop-value starts with "&7Level: ":
                        set {_line} to loop-value
                        replace all "&7Level: " with "" in {_line}
                        set {_current} to {_line} parsed as integer
                    else:
                        add loop-value to {_newLore::*}

            set {_new} to {_current} + {_add}

            # Yeni Level satırını ekle
            add "&7Level: %{_new}%" to {_newLore::*}
            set lore of {_item} to {_newLore::*}
            set player's held item to {_item}

            send "{@prefix} &aUpgrade başarılı! &eYeni level: &6%{_new}%"
            delete {upgradePending.%player%::*}

        # HAYIR DURUMU
        else if {_msg} is "hayır" or {_msg} is "Hayır" or {_msg} is "HAYIR" or {_msg} is "hayir":
            send "{@prefix} &cİşlem iptal edildi."
            delete {upgradePending.%player%::*}

        # Farklı bir şey yazarsa
        else:
            send "{@prefix} &eLütfen sadece &aEvet &eveya &cHayır &eyaz."
 
dene
Ekran görüntüsü 2025-12-06 fsdfdsfsdf211944.webp
dim hata verdi
 
beklettiğim için üzgünüm herşey hazır çalışıyor

Screenshot_6.webp



JavaScript:
options:
    prefix: &8[&aUpgrade&8]&r
    base-cost: 100

command /upgrade [<integer>]:
    trigger:
        if arg-1 is not set:
            send "{@prefix} &cKullanım: /upgrade <seviye>"
            stop

        set {_add} to arg-1
        if {_add} <= 0:
            send "{@prefix} &cSeviye 1 veya daha büyük olmalı."
            stop

        if player's held item is air:
            send "{@prefix} &cElinde bir eşya olmalı."
            stop

        set {_item} to player's held item

        # Mevcut leveli oku, eski Level satırını yeni lore listesine ekleme
        set {_current} to 0
        clear {_newLore::*}

        if lore of {_item} is set:
            loop lore of {_item}:
                set {_line} to loop-value
                if {_line} contains "Level:":
                    replace all "&7Level: " with "" in {_line}
                    set {_current} to {_line} parsed as integer
                else:
                    add {_line} to {_newLore::*}

        set {_new} to {_current} + {_add}

        set {_cost} to {_add} * {@base-cost}
        set {upgrade.%player%::cost} to {_cost}
        set {upgrade.%player%::add} to {_add}

        send "{@prefix} &eBu işlem &6%{_cost}% &edolar tutuyor."
        send "{@prefix} &eOnaylıyor musun? &aevet &eveya &chayır &eyaz."

on chat:
    if {upgrade.%player%::cost} is set:
        cancel event

        set {_msg} to message

        # ===== EVET =====
        if {_msg} is "evet":
            set {_cost} to {upgrade.%player%::cost}
            set {_add} to {upgrade.%player%::add}

            if balance of player < {_cost}:
                send "{@prefix} &cYeterli paran yok!"
                delete {upgrade.%player%::*}
                stop

            if player's held item is air:
                send "{@prefix} &cElindeki eşya değişti, işlem iptal edildi."
                delete {upgrade.%player%::*}
                stop

            remove {_cost} from balance of player

            set {_item} to player's held item

            # Level'i tekrar oku
            set {_current} to 0
            clear {_newLore::*}

            if lore of {_item} is set:
                loop lore of {_item}:
                    set {_line} to loop-value
                    if {_line} contains "Level:":
                        replace all "&7Level: " with "" in {_line}
                        set {_current} to {_line} parsed as integer
                    else:
                        add {_line} to {_newLore::*}

            set {_new} to {_current} + {_add}

            add "&7Level: %{_new}%" to {_newLore::*}
            set lore of {_item} to {_newLore::*}
            set player's held item to {_item}

            send "{@prefix} &aUpgrade başarılı! Yeni level: &6%{_new}%"
            delete {upgrade.%player%::*}
            stop

        # ===== HAYIR =====
        if {_msg} is "hayır":
            send "{@prefix} &cİşlem iptal edildi."
            delete {upgrade.%player%::*}
            stop

        if {_msg} is "hayir":
            send "{@prefix} &cİşlem iptal edildi."
            delete {upgrade.%player%::*}
            stop

        # Buraya kadar hiçbirine girmediyse geçersiz cevap
        send "{@prefix} &eLütfen sadece &aevet &eveya &chayır &eyaz."
 
sorun değil teşekkürler
 
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