Gelişmiş Kan Efekti Skripti (GUI destekli)

Sezdolonoid400

Demir Madencisi
En iyi cevaplar
0
Selam arkadaşlar. Neyse konuya dönelim sıkıldım hep böyle konuşmaktan :D
Önceden bir Kan Efekti skripti paylaşmıştım. Ama pek tutulmamıştı, çok eksikleri vardı. Şimdi bu eksikleri çok aza indirerek ve ek özellikler getirerek size yeniden paylaşıyorum.
İlk başta sizi /kanefekti komutumuzla tanıştırayım. /kanefekti komutu kan efektinizi açmanızı/kapamanızı ve kan düzeyini ayarlamanızı sağlar. Kan düzeyi derken kan düzeyi ne? Ona sonra değineceğiz. Komut kullanımı (efekt.ayarla yetkisi gerektirir):


Bu komutu kullandık. Sonra nolacak karşımıza bir menü gelecek! Bu menüde kan efektini kimlere açacağınızı belirliyeceksiniz. Ya herkese açık olarak ayarlarsınız yada özel yetkilere sahip kişilere açarsınız. Örneğin sadece VIP ve üstünün kan efektini kullanmasını istiyorsunuz. Özel yetkiye sahip olan kişilere kan efektini açın ve VIP'lere şu yetkiyi verin: kan.efekti. Özel yetkiye sahip olan kişilere kan efektini açarsanız sadece kan.efekti yetkisi olan kişiler kan efektini kullanabilecektir:



Sonra önceden bahsettiğimiz kan düzeyi ayarlamaya geçelim. Zaten çoğunuz anlamışsınızdır, kan efektinde kanın ne kadar çıkacağını belirliyorsunuz. 1'den 5'e kadar ayarlayabileceğiniz bu kan düzeyinde 1 en düşük, 5 ise en büyük düzeydir:






Kan düzeyinizide ayarladıktan sonra artık kan efekti hazır! Hazır olduğunu anlamak için bir örnek verelim: Örneğin bir herkese açık ve kan düzeyini 2 ayarladık. Hazır olduğunda karşımıza şöyle bir yazı gelecek:


Artık kan efekti eğlencesinin tadını çıkarabilirsiniz! Okuduğunuz için teşekkürler.

Özellikler:
Komutlar:
/kanefekti <ac/kapat>: Kan efektini açıp kapatır.
Yetkiler:
efekt.ayarla: /kanefekti komutunu kullanmanızı sağlar.
kan.efekti: Ozel yetkiye sahip olanlara açık yaptığınızda sadece bu yetkiye sahip olan kişiler kan efektini çıkarabilir.
Yapımcı:
Sezdolonoid400
Gerekli Pluginler:
Skript
SkQuery
Son olarak kod:


Kod:
on join:
    if {bitti} is less than 1:
        set {bitti} to 1
        set {kanacik} to 0
        set {ozelkanacik} to 0


command /kanefekti <text>:
    permission: efekt.ayarla
    permission message: &4Buna yetkiniz yok.
    trigger:
        if arg 1 is "ac":
            if {kanacik} is greater than 0:
                send "&c&lKan efekti zaten acik!" to player
            else:
                if {ozelkanacik} is greater than 0:
                    send "&c&lKan efekti zaten acik!" to player
                else:
                    wait 3 tick
                    open chest with 5 rows named "&c&lKan Efekti" to player
                    format slot 20 of player with red wool named "&c&lHerkese Acik" with lore "&cHerkese acik yapmak icin tiklayiniz." to close then run "herkeseacik %player%"
                    format slot 24 of player with red wool named "&c&lSadece ozel yetkisi olanlara acik" with lore "&cSadece ozel yetkisi olanlara acik yapmak icin tiklayiniz." to close then run "ozelyetki %player%"
        else:
            if arg 1 is "kapat":
                if {kanacik} is greater than 0:
                    set {kanacik} to 0
                    set {ozelkanacik} to 0
                    send "&c&lKan efekti kapatildi" to player
                else:
                    if {ozelkanacik} is greater than 0:
                        set {kanacik} to 0
                        set {ozelkanacik} to 0
                        send "&c&lKan efekti kapatildi" to player
                    else:
                        send "&c&lKan efekti zaten kapali!" to player
command /ozelyetki <player>:
    executable by:console
    trigger:
        wait 3 tick
        open chest with 5 rows named "&c&lKan Efekti" to arg 1
        format slot 20 of arg 1 with red wool named "&c&lKan seviyesi 1" with lore "&c&lEn dusuk &ckan efekti seviyesi.||&cAcmak icin tiklayin" to close then run "kanozelbir %arg 1%"
        format slot 21 of arg 1 with red wool named "&c&lKan seviyesi 2" with lore "&c&lDusuk &ckan efekti seviyesi.||&cAcmak icin tiklayin" to close then run "kanozeliki %arg 1%"
        format slot 22 of arg 1 with red wool named "&c&lKan seviyesi 3" with lore "&c&lOrta &ckan efekti seviyesi.||&cAcmak icin tiklayin" to close then run "kanozeluc %arg 1%"
        format slot 23 of arg 1 with red wool named "&c&lKan seviyesi 4" with lore "&c&lYuksek &ckan efekti seviyesi.||&cAcmak icin tiklayin" to close then run "kanozeldort %arg 1%"
        format slot 24 of arg 1 with red wool named "&c&lKan seviyesi 5" with lore "&c&lEn yuksek &ckan efekti seviyesi.||&cAcmak icin tiklayin" to close then run "kanozelbes %arg 1%"        


command /herkeseacik <player>:
    executable by:console
    trigger:
        wait 3 tick
        open chest with 5 rows named "&c&lKan Efekti" to arg 1
        format slot 20 of arg 1 with red wool named "&c&lKan seviyesi 1" with lore "&c&lEn dusuk &ckan efekti seviyesi.||&cOyuncu miktari yuksekse cok az miktarda lag &c&lyapabilir.||&c(sunucu ramine bagli)||" to close then run "kanbir %arg 1%"
        format slot 21 of arg 1 with red wool named "&c&lKan seviyesi 2" with lore "&c&lDusuk &ckan efekti seviyesi.||&cOyuncu miktari yuksekse az miktarda lag &c&lyapabilir.||&c(sunucu ramine bagli)" to close then run "kaniki %arg 1%"
        format slot 22 of arg 1 with red wool named "&c&lKan seviyesi 3" with lore "&c&lOrta &ckan efekti seviyesi.||&cOyuncu miktari yuksekse bir miktar lag &c&lyapabilir.||&c(sunucu ramine bagli)" to close then run "kanuc %arg 1%"
        format slot 23 of arg 1 with red wool named "&c&lKan seviyesi 4" with lore "&c&lYuksek &ckan efekti seviyesi.||&cOyuncu miktari yuksekse lag &c&lyapabilir.||&c(sunucu ramine bagli)" to close then run "kandort %arg 1%"
        format slot 24 of arg 1 with red wool named "&c&lKan seviyesi 5" with lore "&c&lEn yuksek &ckan efekti seviyesi.||&cOyuncu miktari yuksekse yuksek miktarda lag &c&lyapabilir.||&c(sunucu ramine bagli)" to close then run "kanbes %arg 1%"


command /kanbir <player>:
    executable by:console 
    trigger:
        set {kanacik} to 1
        set {kanduzeyi1} to 1
        set {kanduzeyi2} to 0
        set {kanduzeyi3} to 0
        set {kanduzeyi4} to 0
        set {kanduzeyi5} to 0
        send "&cKan efekti &c&lherkese acik &colarak ayarlandi ve kan duzeyi &c&l1&c'e ayarlandi!" to arg 1

command /kaniki <player>:
    executable by:console 
    trigger:
        set {kanacik} to 1
        set {kanduzeyi1} to 0
        set {kanduzeyi2} to 1
        set {kanduzeyi3} to 0
        set {kanduzeyi4} to 0
        set {kanduzeyi5} to 0
        send "&cKan efekti &c&lherkese acik &colarak ayarlandi ve kan duzeyi &c&l2&c'e ayarlandi!" to arg 1

command /kanuc <player>:
    executable by:console 
    trigger:
        set {kanacik} to 1
        set {kanduzeyi1} to 0
        set {kanduzeyi2} to 0
        set {kanduzeyi3} to 1
        set {kanduzeyi4} to 0
        set {kanduzeyi5} to 0
        send "&cKan efekti &c&lherkese acik &colarak ayarlandi ve kan duzeyi &c&l3&c'e ayarlandi!" to arg 1

command /kandort <player>:
    executable by:console 
    trigger:
        set {kanacik} to 1
        set {kanduzeyi1} to 0
        set {kanduzeyi2} to 0
        set {kanduzeyi3} to 0
        set {kanduzeyi4} to 1
        set {kanduzeyi5} to 0
        send "&cKan efekti &c&lherkese acik &colarak ayarlandi ve kan duzeyi &c&l4&c'e ayarlandi!" to arg 1

command /kanbes <player>:
    executable by:console 
    trigger:
        set {kanacik} to 1
        set {kanduzeyi1} to 0
        set {kanduzeyi2} to 0
        set {kanduzeyi3} to 0
        set {kanduzeyi4} to 0
        set {kanduzeyi5} to 1
        send "&cKan efekti &c&lherkese acik &colarak ayarlandi ve kan duzeyi &c&l5&c'e ayarlandi!" to arg 1

command /kanozelbir <player>:
    executable by:console 
    trigger:
        set {ozelkanacik} to 1
        set {kanozelduzeyi1} to 1
        set {kanozelduzeyi2} to 0
        set {kanozelduzeyi3} to 0
        set {kanozelduzeyi4} to 0
        set {kanozelduzeyi5} to 0
        send "&cKan efekti &c&lozel yetkiye sahip olanlara acik &colarak ayarlandi ve kan duzeyi &c&l1&c'e ayarlandi!" to arg 1

command /kanozeliki <player>:
    executable by:console 
    trigger:
        set {ozelkanacik} to 1
        set {kanozelduzeyi1} to 0
        set {kanozelduzeyi2} to 1
        set {kanozelduzeyi3} to 0
        set {kanozelduzeyi4} to 0
        set {kanozelduzeyi5} to 0
        send "&cKan efekti &c&lozel yetkiye sahip olanlara acik &colarak ayarlandi ve kan duzeyi &c&l2&c'e ayarlandi!" to arg 1

command /kanozeluc <player>:
    executable by:console 
    trigger:
        set {ozelkanacik} to 1
        set {kanozelduzeyi1} to 0
        set {kanozelduzeyi2} to 0
        set {kanozelduzeyi3} to 1
        set {kanozelduzeyi4} to 0
        set {kanozelduzeyi5} to 0
        send "&cKan efekti &c&lozel yetkiye sahip olanlara acik &colarak ayarlandi ve kan duzeyi &c&l3&c'e ayarlandi!" to arg 1

command /kanozeldort <player>:
    executable by:console 
    trigger:
        set {ozelkanacik} to 1
        set {kanozelduzeyi1} to 0
        set {kanozelduzeyi2} to 0
        set {kanozelduzeyi3} to 0
        set {kanozelduzeyi4} to 1
        set {kanozelduzeyi5} to 0
        send "&cKan efekti &c&lozel yetkiye sahip olanlara acik &colarak ayarlandi ve kan duzeyi &c&l4&c'e ayarlandi!" to arg 1

command /kanozelbes <player>:
    executable by:console 
    trigger:
        set {ozelkanacik} to 1
        set {kanozelduzeyi1} to 0
        set {kanozelduzeyi2} to 0
        set {kanozelduzeyi3} to 0
        set {kanozelduzeyi4} to 0
        set {kanozelduzeyi5} to 1
        send "&cKan efekti &c&lozel yetkiye sahip olanlara acik &colarak ayarlandi ve kan duzeyi &c&l5&c'e ayarlandi!" to arg 1




on damage:
    attacker is a player
    if {ozelkanacik} is greater than 0:
        if attacker have permission "kan.efekti":
            if {kanozelduzeyi5} is greater than 0:
                spawn 500 of particle blockcrack_152_0 at victim
            else:
                if {kanozelduzeyi4} is greater than 0:
                    spawn 400 of particle blockcrack_152_0 at victim
                else:
                    if {kanozelduzeyi3} is greater than 0:
                        spawn 300 of particle blockcrack_152_0 at victim
                    else:
                        if {kanozelduzeyi2} is greater than 0:
                            spawn 250 of particle blockcrack_152_0 at victim
                        else:
                            if {kanozelduzeyi1} is greater than 0:
                                spawn 100 of particle blockcrack_152_0 at victim
    else:
        if {kanacik} is greater than 0:        
            if {kanduzeyi5} is greater than 0:
                spawn 500 of particle blockcrack_152_0 at victim
            else:
                if {kanduzeyi4} is greater than 0:
                    spawn 400 of particle blockcrack_152_0 at victim
                else:
                    if {kanduzeyi3} is greater than 0:
                        spawn 300 of particle blockcrack_152_0 at victim
                    else:
                        if {kanduzeyi2} is greater than 0:
                            spawn 250 of particle blockcrack_152_0 at victim
                        else:
                            if {kanduzeyi1} is greater than 0:
                                spawn 100 of particle blockcrack_152_0 at victim

İyi günler.
 

MhaWTHoR

Obsidyen Madencisi
En iyi cevaplar
1
Bir sürü komut yazmışsın çok göz kirliliği yapıyor ve israf.
Hepsini tek komutta toplayabilirdin ve şunu da söylemek istiyorum;
Sunucunun rami 5.seviyeyi kaldıracak kadar yeterli olsa bile bu particlelar oyuncuların bilgisayarını kastıracaktır.
O yüzden spawnlanan particleları azaltmanı öneririm.
 

Sezdolonoid400

Demir Madencisi
En iyi cevaplar
0
Bir sürü komut yazmışsın çok göz kirliliği yapıyor ve israf.
Hepsini tek komutta toplayabilirdin ve şunu da söylemek istiyorum;
Sunucunun rami 5.seviyeyi kaldıracak kadar yeterli olsa bile bu particlelar oyuncuların bilgisayarını kastıracaktır.
O yüzden spawnlanan particleları azaltmanı öneririm.
Ben koddaki göz kirliliğini hiç önemsemiyorum ama israf olduğu konusunda haklısın gibi aklıma bi tek böyle yapmak geliyor.
Particle 5. seviyede olsa bile oyuncuların oyununu kastıracak kadar fazla olduğunu düşünmüyorum.
 

AdexTR

Muvaffakiyetsizleştiriveremeyebileceklerimizdenmiş
Emekli
En iyi cevaplar
112
Bir parça uzun olmuş ama güzel. Emeğinize sağlık. Video iyi olabilirdi fakat yapılamıyorsa, yan hesaba vurarak çıkan kanları gösterebilirsiniz, haricinde zaten video olmasa bile sorun yok aslında. Güzel çalışma, iyi oyunlar.
 

MhaWTHoR

Obsidyen Madencisi
En iyi cevaplar
1
Ben koddaki göz kirliliğini hiç önemsemiyorum ama israf olduğu konusunda haklısın gibi aklıma bi tek böyle yapmak geliyor.
Particle 5. seviyede olsa bile oyuncuların oyununu kastıracak kadar fazla olduğunu düşünmüyorum.
Bir pvp sunucuda kullanıldığını düşün sunucunun rami yeterli olduğu için 5.seviye kan kullanılıyor.
5-6 Kişi birbirine vurduğunda sistemi düşük olanların vay haline.
 

Bartuzen

Bedrock Kaşifi
En iyi cevaplar
0
Ben koddaki göz kirliliğini hiç önemsemiyorum ama israf olduğu konusunda haklısın gibi aklıma bi tek böyle yapmak geliyor.
Particle 5. seviyede olsa bile oyuncuların oyununu kastıracak kadar fazla olduğunu düşünmüyorum.
Şöyle yaparsın:
Kod:
command kanseviye <int>:
 trigger:
  arg 1 is between 1 and 5
  set {kanseviye} to arg 1
{kanseviye} kan seviyesi oluyor. Bide kan gözükmesini de şöyle yapabilirdin:
Kod:
spawn {kanseviye}*100 of particle blockcrack_152_0 at victim
 
Son düzenleme:
Üst