Sol Reklam

Skript Paylaşımı Oksijen Skripti 1.8 - 1.16.5

Durum
Mesaj gönderimine kapalı.

Kaiys

Zombi Geldi, Beni Yedi

Discord:

kaiys

Katılım
10 Mayıs 2021
Mesajlar
239
Elmaslar
107
Puanlar
2.850
Yaş
19
Son Güncelleme Tarihi #10 Ağustos 2022

Selamlar, ben Kaiys bugün bir oksijen skripti yazdım.
Çalışma mantığı seçtiğiniz dünyaya gidildiğinde oksijen kaskı ile oksijen gereksinimi istiyor, eğer oksijen kaskı veya oksijen yoksa oyuncuya körlük, zayıflık, yavaşlık gibi etkliler veriyor ayrıca eğer oyuncu inatla o dünyada kalırsa ölüyor.
Bu fikri 1.16.4 sürümü yeni çıktığında bir sunucuda görmüştüm, hala aktif mi bilmiyorum eğer hala aktifse ve kaldırmamı isterseniz yazmanız yeterlidir.
Öyleyse Görseller
Oksijen kaskı istediğiniz gibi oyuncu kafasını isim ile değişebileceğiniz şekilde ayarlı.
oksijen_kaski.png

oksijen_kaski_2.png

Seçilen dünyalardayken actionbar olarak oksijen miktarı yazmakta (saniye başına 1-5 arası rastgele olacak şekilde oksijen azalır.)
oksijen_miktari.png

oksijenin_bitti.png


kask_takili_degil.png

Oksijen bittiğinde veya oksijen kaskı kullanılmadığında efektler gelir, oyuncu hasar alır (aldığı hasar zehir değildir direkt kalbi gidiyor yani ölebilir)
efektler.png

Oyuncu /oksijen komutu kullandığında sohbette sahip olduğu oksijeni görebilir.
oksijen_komut.png


oksijen_miktari_sohbet.png

Oksijen tüpü oyuncuların kullanımına göre hazırlandı, para çeki gibi direkt olarak oksijeni fiziksel hale çevirebilirler, başka oyuncularla takas yapabilir, satabilirler.
oksijen_tupu komut.png

oksijen_tupu -.png

oksijen_tupu +.png

oksijen_tupu.png
oksijen_tupu_kullanim.png

admin komutlari.png

/oksijenadmin ekle Kaiys 100 komutu kullanıldığında oyuncu ve yetkiliye mesaj gelir (Kaiys oyuncu adıdır örnek olarak verilmiştir.)

oksijen_admin_ekleme.png

/oksijenadmin sil Kaiys 100 komutu kullanıldığında oyuncu ve yetkiliye mesaj gelir (Kaiys oyuncu adıdır örnek olarak verilmiştir.)
oksijen_admin_silme.png

/oksijenadmin gör Kaiys komutu kullanıldığında, kullanan yetkili oyuncunun oksijen miktarını görebilir.
(Kaiys oyuncu adıdır örnek olarak verilmiştir.)
oksijen_admin_gör.png
Skript Kodu
Kod:
variables:
    {oksijen::%player%} = 0
    {oa::%player%} = false

options:
    dunya1: world_nether #Eğer dünya adınız farklıysa buradan değiştirmeyi unutmayın.
    dunya2: bos #Eğer başka bir dünyada çalışmasını istemiyorsanız adını bos yapın.
    dunya3: bos  #Eğer başka bir dünyada çalışmasını istemiyorsanız adını bos yapın.
    oksijen_miktari_mesaj: &b&lOksijen Miktarın: &f%{oksijen::%player%}% #Dünya değiştikten sonra gelen mesaj
    oksijen_kaski_mesaj: &cOksijen kaskın takılı değil #Dünya değiştikten sonra oksijen kaskı takılı değilse gelen mesaj
    oksijen_mesaj: &bOksijen miktarın: &f%{oksijen::%player%}% #/oksijen yazınca gelen mesaj
    oksijen_bitti: &cOksijenin Bitti! #Oksijen bittikten sonra gelecek olan mesaj
    oksijen_tupu: &9Oksijen Tüpü
    oksijen_tupu_aciklama: &8Sağ tıklayarak oksijen tüpündeki oksijeni alabilrsin.

function efektler(p: player):
    apply slowness 2 to {_p} for 2 second
    apply blindness 2 to {_p} for 2 second
    apply poison 2 to {_p} for 2 second
    apply weakness 2 to {_p} for 2 second
    apply nausea 2 to {_p} for 2 second
    apply mining fatigue 2 to {_p} for 2 second
    damage {_p} by 1 hearts
    remove regeneration from {_p}
    remove fire resistance from {_p}
    remove resistance from {_p}
    remove absorption from {_p}
on join:
    if player's world is "{@dunya1}" or "{@dunya2}" or "{@dunya3}":
        set {oa::%player%} to true
on quit:
    set {oa::%player%} to false
on player world change:
    if player's world is "{@dunya1}" or "{@dunya2}" or "{@dunya3}":
        set {oa::%player%} to true
        while {oa::%player%} is true:
            wait 2 second
            if {oksijen::%player%} > 0:
                if display name of player's helm is "&9Oksijen Kaskı":
                    set {_o} to a random integer between 2 and 10
                    remove {_o} from {oksijen::%player%}
                    if {oksijen::%player%} < 0:
                        set {oksijen::%player%} to 0
                        set action bar of player to "{@oksijen_miktari_mesaj}"
                    else:
                        set action bar of player to "{@oksijen_miktari_mesaj}"
                else:
                    efektler(player)
                    set action bar of player to "{@oksijen_kaski_mesaj}"
            else:
                set {oksijen::%player%} to 0
                efektler(player)
                set action bar of player to "{@oksijen_bitti}"
    else:
        set {oa::%player%} to false
command /oksijen:
    trigger:
        if {oksijen::%player%} < 0:
            set {oksijen::%player%} to 0
        send "{@oksijen_mesaj}"
command /oksijenadmin [<text>] [<player>] [<integer>]:
    permission: oksijen.admin
    permission message: Yetkin yok.
    trigger:
        if arg 1 is "ver" or "add" or "ekle" or "+":
            if arg 2 is set:
                if arg 3 is set:
                    add arg 3 to {oksijen::%arg-2%}
                    send "&f&l%arg-2% &aadlı oyuncuya &f&l%arg-3% &amiktarında oksijen eklediniz." to player
                    send "&f&l%player% &aadlı yetkili size &f&l%arg-3% &amiktarında oksijen ekledi." to arg-2
        else if arg 1 is "sil" or "remove" or "kaldır" or "-":
            if arg 2 is set:
                if arg 3 is set:
                    remove arg 3 from {oksijen::%arg-2%}
                    send "&f&l%arg-2% &cadlı oyuncunun &f&l%arg-3% &cmiktarında oksijenini sildiniz." to player
                    send "&f&l%player% &cadlı yetkili sizin &f&l%arg-3% &cmiktarında oksijeninizi sildi." to arg-2
        else if arg 1 is "gör":
            if arg 2 is set:
                send "&f&l%arg-2% &aadlı oyuncunun oksijeni: &f&l%{oksijen::%arg-2%}%"
        else:
            send "&bKOMUTLAR"
            send "&9/oksijenadmin ekle [isim] [miktar]"
            send "&9/oksijenadmin sil [isim] [miktar]"
            send "&9/oksijenadmin gör [isim]"
            send "&bKOMUTLAR"
command /oksijenesya:
    permission: oksijen.admin
    permission message: Yetkin yok.
    trigger:
        give 1 of skull of "YoMamasMC" parsed as offline player named "&9Oksijen Kaskı" to player
rightclick with exp bottle of unbreaking 1:
    cancel event
    if name of player's held item contains "{@oksijen_tupu}":
        if lore of player's held item contains "{@oksijen_tupu_aciklama}":
            set {oksijen_tupu_e::*} to name of the player's held item split at "{@oksijen_tupu}}"
            replace all "{@oksijen_tupu}" in {oksijen_tupu_e::1} with ""
            replace all " " in {oksijen_tupu_e::1} with ""
            set {oksijen_tupu_b} to "%{oksijen_tupu_e::1}%" parsed as an integer
            set {oksijen::%player%} to {oksijen::%player%} + {oksijen_tupu_b}
            remove 1 of tool from tool
            send "&e%{oksijen_tupu_b}% &aMiktarında oksijen tüpü kullandın. Mevcut oksijenin: &e%{oksijen::%player%}%"
            stop

command /oksijentupu [<integer>]:
    trigger:
        if arg 1 is set:
            if arg-1 is greater than 0:
                if {oksijen::%player%} >= arg-1:
                    send "&e%arg-1% &aMiktarında oksijen tüpü ürettiniz."
                    remove arg-1 from {oksijen::%player%}
                    set {_item} to exp bottle of unbreaking 1 named "%arg-1% {@oksijen_tupu}"
                    set line 1 of lore of {_item} to "{@oksijen_tupu_aciklama}"
                    give {_item} to player
                else:
                    send "&e%arg-1% &cMiktarında oksijeniniz bulunmamaktadır."
                    stop
            else:
                send "&c0'dan daha büyük sayı girmelisin."
                stop
        else:
            send "&eKomut kullanımı: &b/oksijentupu <miktar> &eşeklindedir."
            stop
Kod:
options:
    dunya1: world_nether #Eğer dünya adınız farklıysa buradan değiştirmeyi unutmayın.
    dunya2: bos #Eğer başka bir dünyada çalışmasını istemiyorsanız adını bos yapın.
    dunya3: bos  #Eğer başka bir dünyada çalışmasını istemiyorsanız adını bos yapın.
    oksijen_miktari_mesaj: &b&lOksijen Miktarın: &f%{oksijen::%uuid of player%}% #Dünya değiştikten sonra gelen mesaj
    oksijen_kaski_mesaj: &cOksijen kaskın takılı değil #Dünya değiştikten sonra oksijen kaskı takılı değilse gelen mesaj
    oksijen_mesaj: &bOksijen miktarın: &f%{oksijen::%uuid of player%}% #/oksijen yazınca gelen mesaj
    oksijen_bitti: &cOksijenin Bitti! #Oksijen bittikten sonra gelecek olan mesaj
    oksijen_tupu: &9Oksijen Tüpü
    oksijen_tupu_aciklama: &8Sağ tıklayarak oksijen tüpündeki oksijeni alabilrsin.
    oksijen_admin_ekleme_admin_mesaj: &f&l%arg-2% &aadlı oyuncuya &f&l%arg-3% &amiktarında oksijen eklediniz.
    oksijen_admin_ekleme_oyuncu_mesaj: &f&l%player% &aadlı yetkili size &f&l%arg-3% &amiktarında oksijen ekledi.
    oksijen_admin_silme_admin_mesaj: &f&l%arg-2% &cadlı oyuncunun &f&l%arg-3% &cmiktarında oksijenini sildiniz.
    oksijen_admin_silme_oyuncu_mesaj: &f&l%player% &cadlı yetkili sizin &f&l%arg-3% &cmiktarında oksijeninizi sildi.
    oksijen_admin_gor_mesaj: &f&l%arg-2% &aadlı oyuncunun oksijeni: &f&l%{oksijen::%uuid of arg-2%}%
    oksijen_tupu_kullanim_mesaj: &e%{oksijen_tupu_b}% &aMiktarında oksijen tüpü kullandın. Mevcut oksijenin: &e%{oksijen::%uuid of player%}%
    oksijen_tupu_uretim_mesaj: &e%arg-1% &aMiktarında oksijen tüpü ürettiniz.
    oksijen_tupu_yetersiz_oksijen: &e%arg-1% &cMiktarında oksijeniniz bulunmamaktadır.
    oksijen_tupu_negatif_deger: &c0'dan daha büyük sayı girmelisin.

function efektler(p: player):
    apply slowness 2 to {_p} for 2 second
    apply blindness 2 to {_p} for 2 second
    apply poison 2 to {_p} for 2 second
    apply weakness 2 to {_p} for 2 second
    apply nausea 2 to {_p} for 2 second
    apply mining fatigue 2 to {_p} for 2 second
    damage {_p} by 1 hearts
    remove regeneration from {_p}
    remove fire resistance from {_p}
    remove resistance from {_p}
    remove absorption from {_p}
on join:
    if player's world is "{@dunya1}" or "{@dunya2}" or "{@dunya3}":
        set {oa::%uuid of player%} to true
    else:
        set {oa::%uuid of player%} to false
    if {oksijen::%uuid of player%} is not set:
        set {oksijen::%uuid of player%} to 0
on quit:
    set {oa::%uuid of player%} to false
on player world change:
    if player's world is "{@dunya1}" or "{@dunya2}" or "{@dunya3}":
        set {oa::%uuid of player%} to true
        while {oa::%uuid of player%} is true:
            wait 2 second
            if {oksijen::%uuid of player%} > 0:
                if display name of player's helm is "&9Oksijen Kaskı":
                    set {_o} to a random integer between 2 and 10
                    remove {_o} from {oksijen::%uuid of player%}
                    if {oksijen::%uuid of player%} < 0:
                        set {oksijen::%uuid of player%} to 0
                        send action bar "{@oksijen_miktari_mesaj}" to player
                    else:
                        send action bar "{@oksijen_miktari_mesaj}" to player
                else:
                    efektler(player)
                    send action bar "{@oksijen_kaski_mesaj}" to player
            else:
                set {oksijen::%uuid of player%} to 0
                efektler(player)
                send action bar "{@oksijen_bitti}" to player
    else:
        set {oa::%uuid of player%} to false
command /oksijen:
    trigger:
        if {oksijen::%uuid of player%} < 0:
            set {oksijen::%uuid of player%} to 0
        send "{@oksijen_mesaj}"
command /oksijenadmin [<text>] [<player>] [<integer>]:
    permission: oksijen.admin
    permission message: Yetkin yok.
    trigger:
        if arg 1 is "ver" or "add" or "ekle" or "+":
            if arg 2 is set:
                if arg 3 is set:
                    add arg 3 to {oksijen::%uuid of arg-2%}
                    send "{@oksijen_admin_ekleme_admin_mesaj}" to player
                    send "{@oksijen_admin_ekleme_oyuncu_mesaj}" to arg-2
        else if arg 1 is "sil" or "remove" or "kaldır" or "-":
            if arg 2 is set:
                if arg 3 is set:
                    remove arg 3 from {oksijen::%uuid of arg-2%}
                    send "{@oksijen_admin_silme_admin_mesaj}" to player
                    send "{@oksijen_admin_silme_oyuncu_mesaj}" to arg-2
        else if arg 1 is "gör":
            if arg 2 is set:
                send "{@oksijen_admin_gor_mesaj}"
        else:
            send "&bKOMUTLAR"
            send "&9/oksijenadmin ekle [isim] [miktar]"
            send "&9/oksijenadmin sil [isim] [miktar]"
            send "&9/oksijenadmin gör [isim]"
            send "&bKOMUTLAR"
command /oksijenesya:
    permission: oksijen.admin
    permission message: Yetkin yok.
    trigger:
        give 1 of skull of "YoMamasMC" parsed as offline player named "&9Oksijen Kaskı" to player
    
rightclick with potion:
    if custom model data of player's held item is 1:
        cancel event
        if lore of player's held item contains "{@oksijen_tupu_aciklama}":
            set {oksijen_tupu_e::*} to name of the player's held item split at "{@oksijen_tupu}}"
            replace all "{@oksijen_tupu}" in {oksijen_tupu_e::1} with ""
            replace all " " in {oksijen_tupu_e::1} with ""
            set {oksijen_tupu_b} to "%{oksijen_tupu_e::1}%" parsed as an integer
            set {oksijen::%uuid of player%} to {oksijen::%uuid of player%} + {oksijen_tupu_b}
            remove 1 of tool from tool
            send "{@oksijen_tupu_kullanim_mesaj}"
            stop

command /oksijentupu [<integer>]:
    trigger:
        if arg 1 is set:
            if arg-1 is greater than 0:
                if {oksijen::%uuid of player%} >= arg-1:
                    send "{@oksijen_tupu_uretim_mesaj}"
                    remove arg-1 from {oksijen::%uuid of player%}
                    give potion named "%arg-1% {@oksijen_tupu}" with lore "{@oksijen_tupu_aciklama}" with custom model data 1 to player
                else:
                    send "{@oksijen_tupu_yetersiz_oksijen}"
                    stop
            else:
                send "{@oksijen_tupu_negatif_deger}"
                stop
        else:
            send "&eKomut kullanımı: &b/oksijentupu <miktar> &eşeklindedir."
            stop
/oksijenesya ve /oksijenadmin komutlarının çalışması için oksijen.admin yetkisi gerekmektedir.
/oksijenesya komutu oksijen kaskını verir.

Gerekli Eklentiler:
Skript

1.8 İçin
skRayFall Eklentisi gereklidir.

Skript 1.8.8 ve 1.16.5 sürümünde denenmiştir, üst sürümler için net bir şey söyleyemem.
1.16.5 ile 1.8 sürümü arasındaki farklar:
1.16.5 Sürümü premium sunuculara uygun olarak hazırlanmıştır, eğer sunucunuz premium ise uuid üzerine kayıt yapıldığı için isim değişiklikleri veri kaybına sebep olmaz.
1.16.5 Sürümünde Potion adlı herhangi bir şekilde komutsuz elde edilemeyen bir eşya üzerine oksijen tüpü eklenmiştir, bu eşya 1.8 sürümünde Xp Şişesidir.
1.16.5 Sürümünde oyunda görebildiğiniz tüm yazılar en üstte bulunan options: kısmından düzenlenebilir, 1.8 sürümünde ise tüm yazılar olmasada çoğu yazı düzenlenebilir. (options bölümünü kullanmayıp direkt yazıyı editleyebilirsiniz.)
 
Son düzenleme:

benibilenbilir

Java / Skripter

Discord:

! metemoii#9257

Katılım
10 Temmuz 2019
Mesajlar
702
Elmaslar
414
Puanlar
5.825
Yaş
19
Yer
İstanbul
Minecraft
Mete
Çok güzel olmuş ellerine sağlık :-)
 

Kaiys

Zombi Geldi, Beni Yedi

Discord:

kaiys

Katılım
10 Mayıs 2021
Mesajlar
239
Elmaslar
107
Puanlar
2.850
Yaş
19
Yorumun için teşekkür ederim
 

Artiex

The unique power of fire!

Discord:

Artiex#4349

Katılım
6 Şubat 2021
Mesajlar
318
Elmaslar
196
Puanlar
4.370
Yer
Adana/Sarıçam
Minecraft
zTugraa
Çok güzel ve yenilikçi bir skript olmuş.
 

muratbaba12310

Birisi mi Spawnlandı?

Discord:

Gravtiy#0008

Katılım
12 Mart 2020
Mesajlar
7
Elmaslar
4
Puanlar
3.745
Yaş
25
Yer
esenyurt
Minecraft
Gravtiys
bu skripti satsan bence kaar ederdirin süper bişi
 

Kaiys

Zombi Geldi, Beni Yedi

Discord:

kaiys

Katılım
10 Mayıs 2021
Mesajlar
239
Elmaslar
107
Puanlar
2.850
Yaş
19

yunanmadenci

Eküidistans

Discord:

yunanmadenci

Katılım
28 Şubat 2022
Mesajlar
807
Elmaslar
328
Puanlar
3.580
Yaş
18
Yer
İzmir, Selçuk
Minecraft
yunanmadenci
Selam, skRayFall'ı action bar için kullanmışsınız lâkin send action bar "MC-TR" to player şeklinde addonsuz olarak Skript içinde bulunduğunu belirtmek isterim. skRayFall kullanmayın, kullandırtmayın. Mantığınızı beğendim lâkin variable kullanmak, silmek, false olarak ayarlamak yerine metadata kullanabilirsiniz. Metadata değerleri sunucu kapandığında silinir ve bu şekilde değişkenlerin oluşturduğu lagları önler.
 

yunanmadenci

Eküidistans

Discord:

yunanmadenci

Katılım
28 Şubat 2022
Mesajlar
807
Elmaslar
328
Puanlar
3.580
Yaş
18
Yer
İzmir, Selçuk
Minecraft
yunanmadenci
Ek olarak şu satırı uzun tutmuşsunuz.
JavaScript:
on join:
    if player's world is "{@dunya1}" or "{@dunya2}" or "{@dunya3}":
        set {oa::%player%} to true
Bu şekilde değiştirerek satırları indirgerseniz Skript daha hızlı çalışacaktır:
JavaScript:
join:
    set metadata "OKSIJEN" of player to true if player's world is "{@dunya1}" or "{@dunya2}" or "{@dunya3}"
 

Kaiys

Zombi Geldi, Beni Yedi

Discord:

kaiys

Katılım
10 Mayıs 2021
Mesajlar
239
Elmaslar
107
Puanlar
2.850
Yaş
19
Selam, skRayFall'ı action bar için kullanmışsınız lâkin send action bar "MC-TR" to player şeklinde addonsuz olarak Skript içinde bulunduğunu belirtmek isterim. skRayFall kullanmayın, kullandırtmayın. Mantığınızı beğendim lâkin variable kullanmak, silmek, false olarak ayarlamak yerine metadata kullanabilirsiniz. Metadata değerleri sunucu kapandığında silinir ve bu şekilde değişkenlerin oluşturduğu lagları önler.
Ek olarak şu satırı uzun tutmuşsunuz.
JavaScript:
on join:
    if player's world is "{@dunya1}" or "{@dunya2}" or "{@dunya3}":
        set {oa::%player%} to true
Bu şekilde değiştirerek satırları indirgerseniz Skript daha hızlı çalışacaktır:
JavaScript:
join:
    set metadata "OKSIJEN" of player to true if player's world is "{@dunya1}" or "{@dunya2}" or "{@dunya3}"
Metadata değerini yalnızca vanillagui üzerinde denedim bu şekilde kullanıldığıyla ilgili fikrim yoktu kesinlikle araştıracağım. Yorumun ve önerilerin için teşekkürler.
 

Freya

Odunlara Vur Vur Vur!

Discord:

Freya#6284

Katılım
5 Mayıs 2022
Mesajlar
31
Elmaslar
8
Puanlar
135
Yaş
24
Yer
İstanbul
Minecraft
Freya
Gayet başarılı fakat mesajlardaki renk uyumu ve kalın kelimeler pek göze hitap etmiyor onun dışında güzel bir paylaşım emeğinize sağlık iyi forumlar :)
 

CengizTate

No ex no next for me money is the best
Minexa
Emekli
Sunucu Sahibi

Discord:

nkys.dev

Katılım
11 Aralık 2021
Mesajlar
245
Elmaslar
128
Puanlar
2.905
Yer
Türkiye
Discord İzni
Minecraft
CengizTate
Çok güzel bir skript, ellerine sağlık fakat birazdaha geliştirebilirdin
 

BlackKpoT

İlim Sahibi Olmak İsteyen
Emektar
Hosting Görevlisi

Discord:

BlackKpoT#3087

Katılım
3 Şubat 2015
Mesajlar
1.044
Elmaslar
541
Puanlar
16.750
Yer
Türkiye
Minecraft
BlackKpoT
Çok güzel bir skript, ellerine sağlık fakat birazdaha geliştirebilirdin
Böyle bir yorum yazmak yerine kendisine geliştirmesi gereken yerleri söylemen yazar için iyi olacaktır, bir faydası yok. Eline sağlık Emir çok iyi.
 

Kaiys

Zombi Geldi, Beni Yedi

Discord:

kaiys

Katılım
10 Mayıs 2021
Mesajlar
239
Elmaslar
107
Puanlar
2.850
Yaş
19
Gayet başarılı fakat mesajlardaki renk uyumu ve kalın kelimeler pek göze hitap etmiyor onun dışında güzel bir paylaşım emeğinize sağlık iyi forumlar :)
Açıkçası renklerle aram pek iyi değil :D hemen hemen tüm yazılar düzenlenebiliyor o yüzden sorun olacağını düşünmüyorum
Çok güzel bir skript, ellerine sağlık fakat birazdaha geliştirebilirdin
Teşekkürler
Böyle bir yorum yazmak yerine kendisine geliştirmesi gereken yerleri söylemen yazar için iyi olacaktır, bir faydası yok. Eline sağlık Emir çok iyi.
Eyvallah BlackKpoT adam <3
 

BuckSho

Odunlara Vur Vur Vur!
Katılım
27 Ocak 2021
Mesajlar
42
Elmaslar
17
Puanlar
2.020
Yaş
19
Yer
Kocaeli
ellerine sağlık
 
Durum
Mesaj gönderimine kapalı.
Neden altınlarını Discord sunucumuzda kazmıyorsun? TIKLA VE KATIL!
Yukarı