Minecraft Air-Drop Skripti | En gelişmiş Air-Drop skripti!

Nothingkat

Forum Yazarı
Forum Yazarı
Katılım
1 Haz 2019
Mesajlar
9
Beğeni
1
Puanları
10
Minecraft AirDrop Skripti | En gelişmiş airdrop skripti!

AirDrop konusunda minecraftta sağlam bir eklenti veya skript bulamadım, bu nedenle bir AirDrop skripti kodladım.
Bugsuz bir sistem hazırlamak zor oldu. Ancak sonunda bitirebildim. Birinin ihtiyacı olur diye paylaşmaya karar verdim.
((1.12.2 Paperspigot sunucuda denenmiştir. Ve hatasız bir şekilde çalışmaktadır.))

Gerekenler:

Skript, SkQuery, SkRayFall

Özellikler
- Bugsuzdur, airdroplar yeryüzüne düşer. Abuk sabuk yerlere düşmezler.
- Sadece "default" haritaya göre ayarlıdır, yani düz haritalarda v.s kullanılamaz.
- Bir airdrop düştüğünde title olarak ve mesaj olarak bildirim gönderir.
- Sandığa sağ tıklandığında sandık kaybolur, içindekiler yere düşer.
- Bol bol efektlerle hazırlanmıştır, ayrıca birçok title mesajı bulunur.
- Sandığın içindeki eşyaları şansla kendinize göre ayarlayabilirsiniz.
- Yazdığınız sürede otomatik olarak düşer. Örneğin her 10 dakikada bir düşer.

Komutlar
/drop sandıklar:Henüz açılmamış sandıkların koordinatlarını gösterir.
/drop sıfırla: Henüz açılmamış sandıkları kaldırır, içlerini boşaltır.

Kod:
options:
    prefix: &6Drop #Skriptin prefixi
    sure: 15 #Kaç dakikada bir düşsün
    dunya: world #AirDropların düşeceği dünyanın adı (klasik dünya tipi olmalıdır.)

function Kalp(l: location):
    show 1 Cloud particles at {_l} offset by 0, -1.0, 0
    show 1 Cloud particles at {_l} offset by 0, 0, 0
    show 1 Cloud particles at {_l} offset by 0, 1.0, 0

on load:
    set {dunya::drop} to "{@dunya}"
    {sayac::drop} is not set:
        set {sayac::drop} to 0

command /drop [<text>]:
    trigger:
        if arg 1 is "sandıklar":
            loop {sandık::drop::*}:
                send "{@prefix}: &7Buradan sandıkları görebilirsiniz."
                wait a seconds
                send "&f%{dunya::drop}% %loop-value%"
        if arg 1 is "sıfırla":
            if player is op:
                clear {sandık::drop::*}
                send "{@prefix}: &7Açılmayan sandıkların tamamının içleri boşaltıldı." to executor
            
every minute:
    add 1 to {sayac::drop}
    if {sayac::drop} >= {@sure}:
        set {sayac::drop} to 0
        loop 62 times:
            set {_konumlar::*} to location at random integer between -999 and 999, 128, random integer between -999 and 999 in world "{@dunya}"
            wait a tick
        wait 1 second
        loop {_konumlar::*}:
            if block 0 above loop-value's location is air:
                set {_konum} to block 0 above loop-value's location
                while {_konum} is air:
                    y-coordinate of {_konum} > 1:
                        set {_konum1} to block 1 above 0 east of {_konum}
                        set block at {_konum1} to air
                        set {_konum} to block 1 below 0 east of {_konum}
                set block 1 above {_konum} to chest
                set {_konum::konum} to location at x-coordinate of {_konum}, y-coordinate of {_konum}+1, z-coordinate of {_konum} in world "{@dunya}"
                set {sandık::drop::%{_konum::konum}%} to {_konum::konum}
                loop players:
                    send loop-player title "&6Bir sandık düştü!" with subtitle "&f%x-coordinate of {_konum}% %y-coordinate of {_konum}% %z-coordinate of {_konum}%" for 3 seconds
                    send "{@prefix}: &7Bir sandık &f%x-coordinate of {_konum}% %y-coordinate of {_konum}% %z-coordinate of {_konum}% &7konumuna düştü!" to loop-player

on rightclick on chest:
    if {sandık::drop::%location of event-block%} is set:
        loop players:
            set {sandık::drop::%location of event-block%} to location of block below event-block
            send loop-player title "&6Bir sandık açıldı!" with subtitle "&f%{sandık::drop::%location of event-block%}%" for 3 seconds
            send "{@prefix}: &f%{sandık::drop::%location of event-block%}% &7konumundaki bir sandık açıldı!" to loop-player
            set block {sandık::drop::%location of event-block%} to air
        if chance of 6%:
            set {drop} to {sandık::drop::%location of event-block%}
            add 0.5 to y-coordinate of {drop}
            drop 64 diamond at {drop}
            delete {drop}
            send "{@prefix}: &7Sandıktan &b64 Elmas &7buldun!"
        else if chance of 14%:
            set {drop} to {sandık::drop::%location of event-block%}
            add 0.5 to y-coordinate of {drop}
            drop 64 diamond at {drop}
            delete {drop}
            send "{@prefix}: &7Sandıktan &b64 Elmas &7buldun!"
        else if chance of 50%:
            set {drop} to {sandık::drop::%location of event-block%}
            add 0.5 to y-coordinate of {drop}
            drop 64 diamond at {drop}
            delete {drop}
            send "{@prefix}: &7Sandıktan &b64 Elmas &7buldun!"
        else if chance of 10%:
            set {drop} to {sandık::drop::%location of event-block%}
            add 0.5 to y-coordinate of {drop}
            drop 64 diamond at {drop}
            delete {drop}
            send "{@prefix}: &7Sandıktan &b64 Elmas &7buldun!"
        else if chance of 10%:
            set {drop} to {sandık::drop::%location of event-block%}
            add 0.5 to y-coordinate of {drop}
            drop 64 diamond at {drop}
            delete {drop}
            send "{@prefix}: &7Sandıktan &b64 Elmas &7buldun!"
        delete {sandık::drop::%location of event-block%}
        loop 11 times:
            Kalp(location of event-block)
            wait a tick
 
Üst