- 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
Skript Kodu
/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:
Ç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ı.
Seçilen dünyalardayken actionbar olarak oksijen miktarı yazmakta (saniye başına 1-5 arası rastgele olacak şekilde oksijen azalır.)
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)
Oyuncu /oksijen komutu kullandığında sohbette sahip olduğu oksijeni görebilir.
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.
/oksijenadmin ekle Kaiys 100 komutu kullanıldığında oyuncu ve yetkiliye mesaj gelir (Kaiys oyuncu adıdır örnek olarak verilmiştir.)
/oksijenadmin sil Kaiys 100 komutu kullanıldığında oyuncu ve yetkiliye mesaj gelir (Kaiys oyuncu adıdır örnek olarak verilmiştir.)
/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.)
Seçilen dünyalardayken actionbar olarak oksijen miktarı yazmakta (saniye başına 1-5 arası rastgele olacak şekilde oksijen azalır.)
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)
Oyuncu /oksijen komutu kullandığında sohbette sahip olduğu oksijeni görebilir.
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.
/oksijenadmin ekle Kaiys 100 komutu kullanıldığında oyuncu ve yetkiliye mesaj gelir (Kaiys oyuncu adıdır örnek olarak verilmiştir.)
/oksijenadmin sil Kaiys 100 komutu kullanıldığında oyuncu ve yetkiliye mesaj gelir (Kaiys oyuncu adıdır örnek olarak verilmiştir.)
/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.)
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 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.)
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: