Sieve Skript | v1.0 | Can sıkıntısından yaptığım bir skript :p

na2000

Altın Madencisi
Mesajlar
355
En iyi cevaplar
22
Beğeniler
129
Puanları
890
Ruh hali
SIEVE SKRIPT

Giriş
Öncelikle, bu skripti başlıkta da dediğim gibi sıkıntıdan yazdım.
O yüzden "Çok gereksiz!", "İşe yaramaz bir skript!" gibi yorumlar da bulunmazsanız sevinirim.
Zaten herhangi bir amacı yok. İsteyen kullansın diye paylaşıyorum.
Herhangi bir ücreti yok tamamen ücretsiz kodu aşağıda bulabilirsiniz.
İstiyorsanız alıp, geliştirip, paylaşabilirsiniz herhangi bir şey demem.
Herhangi bir sorunuz/sorununuz varsa discord'dan veya yorum olarak yazabilirsiniz.
(Discord: Lil.Sosig#7850)

Bu skript ne işe yarıyor?
Sieve adlı item'a gravel (çakıl taşı) veya sand (kum) ile sağ tıklandığında
içinden rasgele bir item düşüyor.
Sieve adlı item'a dedim çünkü item'ı değiştirebiliyorsunuz.
Sieve şu an Hopper (Huni) olarak ayarlı.
Diğer ayarlardan Ayarlar da bahsedeceğim.

Tavsiyelerim
Bu skripti EmekSkyblock sunucularında kullanmanızı tavsiye ederim.
Ayrıca bu skript 1.8.x sürümünde test edilmiştir üst versiyonlarda çalışmayabilir.
O yüzden 1.8.x üstü bir versiyonda kullanmanızı tavsiye etmem.
Tabii ki seçim size kalmış bunlar sadece tavsiyelerim

Ayarlar
İtemlar'ın şanslarını oyundan ayarlayabilirsiniz. Geri kalan ayarlar dosyadan yapılmaktadır.
Kod:
options:
    p: &eSieve &8> #Prefix
    h: &eSieve #Hologram
    s: hopper #Sieve bloğu
    h2: true #Hologramı açar/kapar.
    #true = açık / false = kapalı


variables:
    #Elmas
    {sieve::item::1} = diamond #itemın adı
    {sieve::chance::1} = 5 #şans
    {sieve::min::1} = 1 #minimum miktar
    {sieve::max::1} = 2 #maximum miktar
    #Demir
    {sieve::item::2} = iron ingot #itemın adı
    {sieve::chance::2} = 40 #şans
    {sieve::min::2} = 1 #minimum miktar
    {sieve::max::2} = 2 #maximum miktar
    #Altın
    {sieve::item::3} = gold ingot #itemın adı
    {sieve::chance::3} = 30 #şans
    {sieve::min::3} = 1 #minimum miktar
    {sieve::max::3} = 2 #maximum miktar
Ayarların nasıl yapıldığını Nasıl yapılır? da göstereceğim.
Ayrıca ayarlar bölümü zaten skriptin içindedir bu kısmı almanıza gerek yok!
(Bilmeyenler için söylüyorum.)

Nasıl yapılır?
Kod:
options:
    p: &eSieve &8> #Prefix
    h: &eSieve #Hologram
    s: hopper #Sieve bloğu
    h2: true #Hologramı açar/kapar.
    #true = açık / false = kapalı

Bu kısımdan değiştireceğiz.

Sieve İtem'ını Değiştirme
s: hopper Yazan yerde hopper yerine istediğiniz item'ı girebilirsiniz.
Örn: s: stone yaparsanız sieve bloğu taş olarak ayarlanır.

Sieve Hologram Değiştirme
h: &eSieve yazan yerden değiştirebilirsiniz.
&eSieve yerine ne girerseniz o görünür.
Örn: h: &bDeneme yazarssanız hologram Deneme olarak görünür.

Sieve Prefix Değiştirme
p: &eSieve &8> yazan yerden değiştirebilirsiniz.
&eSieve &8> yerine ne girerseniz o görünür.
Örn: p: &bDeneme &8-> yazarsanız her mesajın prefixinde o görünür.

Hologram Açma / Kapama
h2: true yazan yere true ya da false yazarsanız açıp kapayabilirsiniz.
true: açık / false: kapalı
Örn: h2: false yazarsanız hologramlar görünmez.

Kod:
variables:
    #Elmas
    {sieve::item::1} = diamond #itemın adı
    {sieve::chance::1} = 5 #şans
    {sieve::min::1} = 1 #minimum miktar
    {sieve::max::1} = 2 #maximum miktar
    #Demir
    {sieve::item::2} = iron ingot #itemın adı
    {sieve::chance::2} = 40 #şans
    {sieve::min::2} = 1 #minimum miktar
    {sieve::max::2} = 2 #maximum miktar
    #Altın
    {sieve::item::3} = gold ingot #itemın adı
    {sieve::chance::3} = 30 #şans
    {sieve::min::3} = 1 #minimum miktar
    {sieve::max::3} = 2 #maximum miktar

Gelişmiş Ayarları buradan değiştireceğiz.

Max. - Min. Miktar Ayarlama
{sieve::min::(sayı)} = 1 yazan yerden minimum miktar değiştiriliyor.
1 yerine ne yazarsanız minimum miktar o olur.
(sayı) yazdım orada item'ın sıra numarası yazacak.
Elmas: 1 / Demir: 2 / Altın: 3
Zaten yerleri yazıyor.
Maksimum miktar ise {sieve::max::(sayı)} = 2 kısmından ayarlanıyor.
Minimum la gene aynı şekilde.

Not: Şansları ellemeyiniz! Şanslar oyundan ayarlanmaktadır!
(Sadece kendi eklediğiniz itemların şanslarını dosyadan ayarlayınız!)

Yeni İtem Ekleme
Elmas - Altın - Demir 'den herhangi birini kopyalayıp en sonuncu item'ın altına aynı hizada olacak şekilde yapıştırın.
Daha sonra yazan sayılar yerine en son girilen sayının bir büyüğünü yazın.
Örn: En sonuncu item'ın sayısı 3 ise {sieve::item::(sayı)} yerinde ki sayı kısmına 4 girin.
(Aynı şeyi diğer değişkenler için de yapınız!)
Daha sonra şansını ve miktarını giriniz.
(Min. ve Max. miktarı yukarıda anlattım zaten girersiniz.)
İtem'ın adını ingilizce olarak {sieve::item::(sayı)} = nın yanına giriniz.
Örn: {sieve::item::4} = emerald oluşturduğumuz eşyayı zümrüt olarak ayarladım.

Komutlar Ve Permission
sieve2.PNG
Permission: sieve.admin

KOD
Kod:
options:
    p: &eSieve &8> #Prefix
    h: &eSieve #Hologram
    s: hopper #Sieve bloğu
    h2: true #Hologramı açar/kapar.
    #true = açık / false = kapalı


variables:
    #Elmas
    {sieve::item::1} = diamond #itemın adı
    {sieve::chance::1} = 5 #şans
    {sieve::min::1} = 1 #minimum miktar
    {sieve::max::1} = 2 #maximum miktar
    #Demir
    {sieve::item::2} = iron ingot #itemın adı
    {sieve::chance::2} = 40 #şans
    {sieve::min::2} = 1 #minimum miktar
    {sieve::max::2} = 2 #maximum miktar
    #Altın
    {sieve::item::3} = gold ingot #itemın adı
    {sieve::chance::3} = 30 #şans
    {sieve::min::3} = 1 #minimum miktar
    {sieve::max::3} = 2 #maximum miktar


on place of {@s}:
    if name of player's held item contains "&eSieve":
        set {_loc} to event-location
        add {_loc} to {sieve::loc::*}
        if {@h2} is true:
            create holo object "{@h}" with id "%{_loc}%" at location 1.5 meters above event-location
        
on break of {@s}:
    loop {sieve::loc::*}:
        if event-location is loop-value:
            cancel event
            if player's gamemode is not creative:
                drop 1 of {@s} named "&eSieve" at event-location
            remove event-location from {sieve::loc::*}
            set block at event-location to air   
            delete holo object "%event-location%"

on right click on {@s}:
    loop {sieve::loc::*}:
        if event-location is loop-value:
            cancel event
            if player's held item is sand or gravel:
                remove 1 of player's held item from player's inventory
                loop {sieve::item::*}:
                    set {_1} to (loop-index-2 parsed as a integer)
                    set {_f} to a random integer between 0 to {_1}
                if {_f} is not 0:
                    chance of {sieve::chance::%{_f}%}%:
                        set {_item} to {sieve::item::%{_f}%}
                        if {sieve::min::%{_f}%} is 1:
                            set {_r} to a random integer between 0 to {sieve::max::%{_f}%}
                            if {_r} is 0:
                                set {_r} to 1
                        else:
                            set {_r} to a random integer between {sieve::min::%{_f}%} to {sieve::max::%{_f}%}
                    else:
                        set {_f} to a random integer between 0 to 13
                        if {_f} is 0 or 1:
                            set {_r} to a random integer between 1 to 3
                            set {_item} to stone
                        else if {_f} is 2 or 3:
                            set {_r} to a random integer between 1 to 4
                            set {_item} to gunpowder
                        else if {_f} is 4:
                            set {_r} to 1
                            set {_item} to pumpkin seeds
                        else if {_f} is 11:
                            set {_r} to 1
                            set {_item} to seeds named "&aÇimen Tohumu" with lore "&7Sağ tıkladığın toprağı çimene çevirir.||||&c&oBu tohum ekilemez!"
                        else if {_f} is 5 or 6:
                            set {_r} to 1
                            set {_item} to gold nugget
                        else if {_f} is 7:
                            set {_r} to 1
                            set {_item} to bone
                    give player {_r} of {_item}

on right click on farmland:
    if name of player's held item contains "&aÇimen Tohumu":
        cancel event

on right click on dirt:
    if name of player's held item contains "&aÇimen Tohumu":
        cancel event
        if player's gamemode is not creative:
            remove 1 of player's held item from player's inventory
        drawPlanet particle1 "redstone", RGB 0, 255, 10, particle2 "redstone", RGB2 5, 255, 20, center event-location, id "%event-location%", radius .25, density 150, precision 100, bumpHeight .25, visibleRange 30, tps 1, second 2   
        wait 2 second
        set block at event-location to grass block
        stopEffect "%event-location%"

command /sieve [<text>] [<number>]:
    aliases: elek
    trigger:
        if arg 1 is set:
            if arg 1 is "help":
                send ""
                send "                 &r&8[--- &6&lSIEVE &8---]"
                send "&e/sieve help &8> &7Sieve yardım menüsü."
                send "&e/sieve [item] [şans] &8> &7Şansları ayarlar."
                send "&e/sieve şans&7(&6lar&7) &8> &7Şansları listeler."
                send "&e/sieve al &8> &71 adet Sieve alır."
                send "                 &r&8[--- &6&lSIEVE &8---]"
                send ""
            else:
                if arg 1 is "diamond" or "elmas":
                    if player has permission "sieve.admin":
                        if arg 2 is set:
                            if arg 2 is greater than -1:
                                if arg 2 is less than 100:
                                    set {sieve::chance::1} to arg 2
                                    send "{@p} &bElmas &7çıkma şansı &e%{sieve::chance::1}% &7olarak ayarlandı!"
                                else:
                                    send "{@p} &7Girilen değer 100'den daha büyük!"
                            else:
                                send "{@p} &7Girilen değer 0'dan daha küçük!"
                        else:
                            send "{@p} &7Lütfen bir değer giriniz!"
                    else:
                        send "{@p} &cYetkiniz yok!"
                else if arg 1 is "gold" or "altın" or "altin" or "gold_ingot" or "gold ingot":
                    if player has permission "sieve.admin":
                        if arg 2 is set:
                            if arg 2 is greater than -1:
                                if arg 2 is less than 100:
                                    set {sieve::chance::3} to arg 2
                                    send "{@p} &6Altın &7çıkma şansı &e%{sieve::chance::3}% &7olarak ayarlandı!"
                                else:
                                    send "{@p} &7Girilen değer 100'den daha büyük!"
                            else:
                                send "{@p} &7Girilen değer 0'dan daha küçük!"
                        else:
                            send "{@p} &7Lütfen bir değer giriniz!"
                    else:
                        send "{@p} &cYetkiniz yok!"
                else if arg 1 is "iron" or "demır" or "demir" or "iron_ingot" or "iron ingot":
                    if player has permission "sieve.admin":
                        if arg 2 is set:
                            if arg 2 is greater than -1:
                                if arg 2 is less than 100:
                                    set {sieve::chance::2} to arg 2
                                    send "{@p} &fDemir &7çıkma şansı &e%{sieve::chance::2}% &7olarak ayarlandı!"
                                else:
                                    send "{@p} &7Girilen değer 100'den daha büyük!"
                            else:
                                send "{@p} &7Girilen değer 0'dan daha küçük!"
                        else:
                            send "{@p} &7Lütfen bir değer giriniz!"
                    else:
                        send "{@p} &cYetkiniz yok!"
                else if arg 1 is "şans" or "chance" or "sans" or "sanslar" or "şanslar" or "chances":
                    send ""
                    send "&8[--- &a&lŞanslar &8---]"
                    loop {sieve::chance::*}:
                        send "&6%{sieve::item::%loop-index%}% &8-> &e%loop-value%%%"
                    send "&c&o%%100 olsa bile kesin olarak çıkmazlar!"
                    send ""
                else if arg 1 is "al":
                    if player has permission "sieve.admin":
                        give player 1 of {@s} named "&eSieve"
                    else:
                        send "{@p} &cYetkiniz yok!"
                else:
                    send "{@p} &7Komut bulunamadı! &e/sieve help"
        else:
            execute player command "sieve help"


Test edilen versiyon: 1.8.x
Test edilen skript versiyonları: 2.1.2 ve 2.2dev36
Gereksinimler: Skript, skDragon, HolographicDisplays
skDragon ve Holographic Displays zorunlu değildir!
Onlar yokken birkaç hata verebilir fakat sorunsuz çalışır!
(Onlar sadece particle ve hologramlar için gereklidir.)

Ayrıca burada yazan gereksinimlerden %100 emin değilim.
Server'da bir sürü addon var fakat yukarıda yazdıklarım dışında bir şey gerektirdiğini sanmıyorum!
Server'da bulunan diğer addonlar:
SharpSK, Skellet, skQuery, skRayFall, WildSkript, SkStuff, skript-yaml, WolvSK

NOT: Bu skripte herhangi bir güncelleme getirmeyi düşünmüyorum. Ayrıca yukarıda bahsettim ama tekrardan söylüyorum
"Gereksiz bir skript olmuş!", "Oldukça saçma!" gibi yorumlarda bulunmayınız, bu skripti sıkıntıdan yaptım
yani herhangi bir işlevi yok sadece kullanmak isteyen olur diye paylaşıyorum!

! KIRMIZI YAZILARI OKUYUNUZ VE KONUYU OKUMADAN YORUM YAPMAYINIZ !

Discord:
Lil.Sosig#7850
Herhangi bir sorunuz varsa discord'dan yazabilirsiniz.
Ayrıca discord'dan skript önerisinde bulunursanız sevinirim ^^
 


na2000

Altın Madencisi
Mesajlar
355
En iyi cevaplar
22
Beğeniler
129
Puanları
890
Ruh hali
Konuda bahsetmeyi unutmuşum bir de yeni bir item ekliyor (Bu item Sieve'den düşüyor.)
İtem'ın adı Çimen Tohumu, sağ tıkladığınız bloğu çimene çeviriyor. (Sadece toprakta çalışıyor. Ayrıca ekilemiyor.)
 

Üst