[SK] Market - Geliştirilmiş

MeeRach

Vi3e
En iyi cevaplar
0
Selamlar, ben Miraç. Sizlere kodlamış olduğum market skriptini paylaşacağım.
Öncelikle şundan bahsedeyim, forumu uzun süredir takip etmiyorum paylaşılıp paylaşılmadığından haberim yok.
Mantık şöyle, oyuncu tabelaya sağ tıklayıp satın alma işlemine başlıyor.
Almak istediği miktarı sohbet penceresine yazdığında, yeterli parası ve yeterli boşluğu var ise işlem gerçekleşiyor.
Sol tıklandığında ise satış işlemi başlıyor, aynı şekilde çalışıyor. Tek farkı yeteri kadar eşyası varsa.
Market oluşturma işlemi için op olan bir oyuncu, şöyle yapmalı;
1. Satır: Market
2. Satır: Eşyanın skript aliases'indeki karşılığı
3. Satır: Oyuncunun eşyayı alacağı fiyat
4. Satır: Oyuncunun eşyayı satacağı fiyat
2. bir yöntem ise:
"sk.market" yetkisine sahip bir oyuncu, elinde eşya varken bir tabelaya bakıp;
/market <AlışFiyatı>, <SatışFiyatı>
komutunu girmelidir. Aradaki "," zorunludur.
Dipnot: Ben skripti kodladığım skript sürümü dev33'tür alt sürümlerde çalışmama şansı olabilir denemedim.
Uzatmadan kodu bırakayım şöyle;​
Kod:
options:
    p: &8[&4Market&8]
on sign change:
    if player is op:
        if line 1 is "Market":
            set line 1 to "{@p}"
            set line 2 to "%uncolored line 2%"
            set line 3 to "&c&lAlış &7- &9%line 3%"
            set line 4 to "&6&lSatış &7- &9%line 4%"
            send "{@p} &7Market oluşturuldu."
        else:
            set line 1 to "%colored line 1%"
            set line 2 to "%colored line 2%"
            set line 3 to "%colored line 3%"
            set line 4 to "%colored line 4%"
    else:
        if line 1 is "{@p}":
            create safe explosion of power 4 at player
            stop
on quit:
    delete {market::%player%::isim}
    delete {market::%player%::işlem}
    delete {market::%player%::fiyat}
on rightclick on a sign:
    if line 1 of clicked block is "{@p}":
        if line 3 of clicked block contains "Alış":
            set {market::%player%::item} to line 2 parsed as item type
            set {_split::*} to split (uncolored line 3) at "Alış - "
            set {market::%player%::fiyat} to "%last element of {_split::*}%" parsed as number
            set {market::%player%::işlem} to "alış"
            send "{@p} &a%line 2% &7isimli eşyayı satın almak istiyorsunuz.%nl%&6Adet miktarı&7: &c%{market::%player%::fiyat}%&fTL%nl%&8* &7Almak istediğin miktarı sohbet penceresine yaz!%nl%&8* &7İşlemi iptal etmek için sohbet penceresine &7""&a-&7"" yaz."
on leftclick on a sign:
    if line 1 of clicked block is "{@p}":
        if line 4 of clicked block contains "Satış":
            cancel event
            set {market::%player%::item} to line 2 parsed as item type
            set {_split::*} to split (uncolored line 4) at "Satış - "
            set {market::%player%::fiyat} to "%last element of {_split::*}%" parsed as number
            set {market::%player%::işlem} to "satış"
            send "{@p} &a%line 2% &7isimli eşyayı satmak istiyorsunuz.%nl%&6Adet miktarı&7: &c%{market::%player%::fiyat}%&fTL%nl%&8* &7Satmak istediğin miktarı sohbet penceresine yaz!%nl%&8* &7İşlemi iptal etmek için sohbet penceresine &7""&a-&7"" yaz."
command /market [<int>, ][<int>]:
    permission: sk.market
    trigger:
        if targeted block is sign:
            if arg-1 is set:
                if arg-2 is set:
                    set line 1 of targeted block to "{@p}"
                    set line 2 of targeted block to "%tool of player%"
                    set line 3 of targeted block to "&c&lAlış &7- &9%arg-1%"
                    set line 4 of targeted block to "&6&lSatış &7- &9%arg-2%"
                    send "{@p} &7Market oluşturuldu."        
            else:
                send "{@p} &7Kullanım: &c/market &%random integer between 1 and 9%<AlışFiyatı>&7, &%random integer between 1 and 9%<SatışFiyatı>"
        else:
            send "{@p} &7Baktığınız blok bir tabela değil."
on chat:
    cancel event
    if {market::%player%::işlem} is "alış":
        if message contains "-":
            delete {market::%player%::item}
            delete {market::%player%::fiyat}
            delete {market::%player%::işlem}
            send "{@p} &7İşlem iptal edildi."
        else:
            if balance of player is greater than {market::%player%::fiyat}:
                set {_miktar} to message
                if {_miktar} parsed as integer is integer:
                    set {_miktar} to message parsed as integer
                    if player has enough space for ({_miktar}) of {market::%player%::item}:
                        if balance of player is greater than {_miktar}*{market::%player%::fiyat}:
                            remove {_miktar} * {market::%player%::fiyat} from player's balance
                            send "{@p} &a%{market::%player%::item}% &7eşyasından &6%{_miktar}% &7adet &c%{_miktar}*{market::%player%::fiyat}% &7fiyatıyla alındı."
                            give {_miktar} of {market::%player%::item} to player
                            delete {market::%player%::item}
                            delete {market::%player%::fiyat}
                            delete {market::%player%::işlem}
                        else:
                            send "{@p} &7Yetersiz bakiye.%nl%&8* &3%{_miktar}% &7adet &a%{market::%player%::item}% &7eşyasını almak için &6%{_miktar} * {market::%player%::fiyat}% &7bakiyenizin olması gereklidir.%nl%&8* &7İşlemi iptal etmek için sohbet penceresine &7""&a-&7"" yaz."
                    else:
                        send "{@p} &3%{_miktar}% &7adet &a%{market::%player%::item}% &7eşyasını almak için envanterinizde yeteri kadar boşluk yok.%nl%&8* &7İşlemi iptal etmek için sohbet penceresine &7""&a-&7"" yaz."
                else:
                    send "{@p} &7Geçersiz mesaj, tekrar deneyin."
            else:
                send "{@p} &7Yetersiz bakiye.%nl%&8* &a%{market::%player%::item}% &7eşyasını almak için &6%{_miktar} * {market::%player%::fiyat}% &7bakiyenizin olması gereklidir.%nl%&8* &7İşlemi iptal etmek için sohbet penceresine &7""&a-&7"" yaz."
    else if {market::%player%::işlem} is "satış":
        if message contains "-":
            delete {market::%player%::item}
            delete {market::%player%::fiyat}
            delete {market::%player%::işlem}
            send "{@p} &7İşlem iptal edildi."
        else:
            set {_miktar} to message
            if {_miktar} parsed as integer is integer:
                set {_miktar} to message parsed as integer
                if {_miktar} is less than 2305:
                    if player has ({_miktar}) of {market::%player%::item} in his inventory:
                        add {_miktar} * {market::%player%::fiyat} to player's balance
                        send "{@p} &a%{market::%player%::item}% &7eşyasından &6%{_miktar}% &7adet &c%{_miktar}*{market::%player%::fiyat}% &7fiyatıyla satıldı."
                        remove {_miktar} of {market::%player%::item} from player
                        delete {market::%player%::item}
                        delete {market::%player%::fiyat}
                        delete {market::%player%::işlem}
                    else:
                        send "{@p} &3%{_miktar}% &7adet &a%{market::%player%::item}% &7eşyasını satmak için envanterinizde yeteri kadar eşya yok.%nl%&8* &7İşlemi iptal etmek için sohbet penceresine &7""&a-&7"" yaz."
                else:
                    send "{@p} &7Geçersiz miktar. Miktar sayısı &c2304&7'ten büyük olamaz!"
            else:
                send "{@p} &7Geçersiz mesaj, tekrar deneyin."
 
Son düzenleme:

Mrtol

Taş Madencisi
En iyi cevaplar
5
ellerinize sağlık miraç efendi gayet güzel olmuş

alıntı diyenlere saçmaladıkları için teşekkürler
 
Üst