Skript Paylaşımı Ücretli ve Ses Efektli XP Saklama Skripti

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

FurkanMRL

Bir Kömür Göründü Kaptanım!
Sunucu Sahibi
Katılım
26 Ocak 2016
Mesajlar
123
Elmaslar
56
Puan
13.670
Yaş
26
Minecraft
FurkanMRL

Discord:

furkanmrl

Merhabalar,
Forumda güncel ve düzgün çalışan bir XP saklama Skripti bulamadığımdan ötürü kendi yazdığım Skripti paylaşmak istedim.
Anlayacağınız üzere bu sistem, oyuncuların XP'lerini saklayıp şişeye çevirebilmelerini sağlıyor. Eğer oyuncu belirlediğiniz miktarda paraya sahip değilse
XP saklayamaz.



Komutlar & Özellikler
/xpsakla (Miktar) - Belirttiğiniz miktarda XP'yi şişeler
Ses Efektleri bulunur.
Skript'in 2.8.4 sürümü ile kodlanmıştır.


Screenshot_9.png

Screenshot_11.png




Kod:
options:
    prefix: &6 хᴘ &8▸ &7
    fiyat: 1000
    paraBirimi: ₺

command /xpsakla <int>:
    usage: &7 Kullanım &e/xpsakla (miktar) &f- &7Fiyat: &e{@fiyat} &6{@paraBirimi}
    trigger:
        if player's level < arg-1:
            send "{@prefix}Yeterli xp yok"
        else:
            if player's balance >= {@fiyat}:
                subtract {@fiyat} from player's balance
                set {_xp} to arg-1
                remove {_xp} from player's level
                send "&6 хᴘ &8▸ &eXP Şişeye depolandı!"
                play "ENTITY_PLAYER_LEVELUP" to player at volume 20
                give 1 experience bottle named "<##fff757> Depolanmış Seviye Şişesi" with lore "", "<##dbdbce> Barındırılan Seviye: &f%{_xp}%", "", "<##dbdbce> Şişeleyen: &f%player%" and "" to player
            else:
                send ""
                send "{@prefix}Yeterli paran yok XP saklamak için gerekli olan &e{@fiyat} &6{@paraBirimi}"
                send ""
                play "BLOCK_NOTE_BLOCK_IRON_XYLOPHONE" to player at volume 20

on rightclick with experience bottle:
    if name of player's tool is "<##fff757> Depolanmış Seviye Şişesi":
        cancel event
        set {_lore::*} to split line 2 of lore of item at "<##dbdbce> Barındırılan Seviye: &f"
        remove 1 of player's tool from player's tool
        set {_lore::2} to {_lore::2} parsed as number
        add {_lore::2} to player's level
        play "ENTITY_PLAYER_LEVELUP" to player at volume 20
        stop


Kod:
options:
    prefix: &6 хᴘ &8▸ &7
    fiyat: 30
    paraBirimi: ₺

command /xpsakla <int>:
    usage: &7 Kullanım &e/xpsakla (miktar) &f- &7Seviye başı fiyat: &e{@fiyat} &6{@paraBirimi}
    trigger:
        if player's level < arg-1:
            send "{@prefix}Yeterli xp yok"
        else:
            set {_xp} to arg-1
            set {_cost} to ({_xp} * {@fiyat})
            if player's balance >= {_cost}:
                subtract {_cost} from player's balance
                set {_xp} to arg-1
                remove {_xp} from player's level
                send "&6 хᴘ &8▸ &eXP Şişeye depolandı!"
                play "ENTITY_PLAYER_LEVELUP" to player at volume 20
                give 1 experience bottle named "<##fff757> Depolanmış Seviye Şişesi" with lore "", "<##dbdbce> Barındırılan Seviye: &f%{_xp}%", "", "<##dbdbce> Şişeleyen: &f%player%" and "" to player
            else:
                send ""
                send "{@prefix}Yeterli paran yok XP saklamak için gerekli olan: &e%{_cost}% &6{@paraBirimi}"
                send ""
                play "BLOCK_NOTE_BLOCK_IRON_XYLOPHONE" to player at volume 20

on rightclick with experience bottle:
    if name of player's tool is "<##fff757> Depolanmış Seviye Şişesi":
        cancel event
        set {_lore::*} to split line 2 of lore of item at "<##dbdbce> Barındırılan Seviye: &f"
        remove 1 of player's tool from player's tool
        set {_lore::2} to {_lore::2} parsed as number
        add {_lore::2} to player's level
        play "ENTITY_PLAYER_LEVELUP" to player at volume 20
        stop
 
Son düzenleme:
Başarılı bir konu olmuş, çoğu sunucularda iş göreceği kesin.
 
Son düzenleme:
tam ihtiyacım olan şey valla teşekkürler hocam
 
withdraw varken neden skript olduğunu anlatabilir misiniz?
1. Öncelikle sunucumda sadece XP saklama sistemine ihtiyacım vardı.

2. Kendi isteklerime göre tamamen özelleştirebileceğim bir sistem yapmak istedim.

3. Ağır bir skript değil, sunucuyu yoracak herhangi bir işlem bulundurmuyor.

4. Tamamen keyfi olarak yazdım ve ihtiyacı olanlar için paylaştım.

Ek olarak da sürekli eklenti güzellemesi yapmayın, evet doğrudur eklentiler skriptlere göre daha performanslı olur ancak böyle basit şeyler için eklenti kullanmıyorum ve herhangi bir zararını daha görmedim. Yorumunuz için teşekkürler.
 
Sadece xp kullanımı isteyenler için çok güzel olmuş eline sağlık
 
bence gayet güzel olmus kullanabilirim başarılar
 
Tek eksisi xp yerine direkt level olarak vermesi, 30 levele ulaşmak 1 levele ulaşmaktan daha zor o levele ulaşmak için gereken xp farkından dolayı, fakat bu skript ile kendini 1 level yapıp depolayıp 30 levele kolayca ulaşabilirsin çünkü direkt level olarak veriyor. (30 kere 1 level olmak level 30 olmaktan daha kolay)
33 Levelsin diyelim 3 levelini şişeleyip 0 seviyede birine verince ona da 3 level gelmesi emek kaybı, çünkü sen 30 levelden 33 levele gelmek için, 0 levelden 3 levele gelmekten daha fazla xp kasmış oluyorsun her levelde gereken xp arttığı için 30 level ile 33 level arasındaki xp farkını 0 levelli biri alsa 10 levele ulaşır normalde
 
Son düzenleme:
Tek eksisi xp yerine direkt level olarak vermesi, 30 levele ulaşmak 1 levele ulaşmaktan daha zor o levele ulaşmak için gereken xp farkından dolayı, fakat bu skript ile kendini 1 level yapıp depolayıp 30 levele kolayca ulaşabilirsin çünkü direkt level olarak veriyor. (30 kere 1 level olmak level 30 olmaktan daha kolay)
33 Levelsin diyelim 3 levelini şişeleyip 0 seviyede birine verince ona da 3 level gelmesi emek kaybı, çünkü sen 30 levelden 33 levele gelmek için, 0 levelden 3 levele gelmekten daha fazla xp kasmış oluyorsun her levelde gereken xp arttığı için 30 level ile 33 level arasındaki xp farkını 0 levelli biri alsa 10 levele ulaşır normalde
Bulduğunuz hatayı engellemek adına gecikme ve 15 LVL üstü XP şişelerini saklama gibi özellikler getirilebilir aslında ama değindiğiniz noktada haklısınız.
 
Tek eksisi xp yerine direkt level olarak vermesi, 30 levele ulaşmak 1 levele ulaşmaktan daha zor o levele ulaşmak için gereken xp farkından dolayı, fakat bu skript ile kendini 1 level yapıp depolayıp 30 levele kolayca ulaşabilirsin çünkü direkt level olarak veriyor. (30 kere 1 level olmak level 30 olmaktan daha kolay)
33 Levelsin diyelim 3 levelini şişeleyip 0 seviyede birine verince ona da 3 level gelmesi emek kaybı, çünkü sen 30 levelden 33 levele gelmek için, 0 levelden 3 levele gelmekten daha fazla xp kasmış oluyorsun her levelde gereken xp arttığı için 30 level ile 33 level arasındaki xp farkını 0 levelli biri alsa 10 levele ulaşır normalde
Bu sorunun farkındaydım, XP saklama ücreti koymamın asıl sebeplerinden biride aslında bu durumdu. Sunucu ekonominizi dikkate alarak bir XP saklama fiyatı belirlerseniz, oyuncular düşünmeden XP saklama olayına girişemez ve hızlı seviye kasma olayı bir nebzede olsa zorlaşır.

Sonuç olarak söylediğinizde haklısınız, eğer ileride güncellemeyi düşünürsem dediğiniz için bir çözüm üretmeye çalışacağım.

Değerli yorumunuz için teşekkürler.
 
Bulduğunuz hatayı engellemek adına gecikme ve 15 LVL üstü XP şişelerini saklama gibi özellikler getirilebilir aslında ama değindiğiniz noktada haklısınız.
Değerli yorumunuz için teşekkürler, güncelleme getirirsem önerinizi dikkate alacağım.
 
Seviye başı fiyatlandırma olan sürümünü de ekledim. Böylece fiyat saklayacağı XP miktarına göre değişir.
 
Gayet güzel gözüken bir skript olmuş emeğinize sağlık :heart:
 
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