Kaiys
Zombi Geldi, Beni Yedi
- Katılım
- 10 Mayıs 2021
- Mesajlar
- 234
- Elmaslar
- 107
- Puan
- 6.850
- Yaş
- 21
Discord:
kaiys
Selamlar, sizlere kendimi geliştirme amaçlı yapmış olduğum ilk skriptim olan süreli uçma skriptini paylaşacağım
Eğer bir hata bulursanız veya öneriniz olursa lütfen yazınız benim için oldukça önemli.
Umarım işinize yarar :)
:Komutlar:
/ucus
/ucus ac
/ucus kapat
/ucus sure
/ucuscekiyaz <miktar> #Herhangi bir süre kısıtlaması yok, sürelerin hepsi saniye cinsindendir. Oyuncular kendi aralarında satış-takas yapabilir sıkıntı çıkmayacaktır.
/ucus ekle <isim> <miktar> #Admin komutudur sureliucus.admin yetkisi gerekmektedir. Komut kullanıldığında oyuncunun mevcut olan uçuş süresinin üzerine süre ekler.
/ucus ayarla <isim> <miktar> #Admin komutudur sureliucus.admin yetkisi gerekmektedir. Komut kullanıldığında oyuncunun uçuş süresi miktara eşitlenir.
:Skript:
:Ekstra:
Sunucudan çıkınca uçuş otomatik olarak kapatılır ve süre durur.
Eğer çek ismini değiştirmek isterseniz 12. Satırda bulunan kısmı değiştirmeniz yeterlidir.
Aynı şekilde çek açıklamasını değiştirmek isterseniz 13. Satırı değiştirmeniz gerekir.
/ucus yazınca çıkan menüde camlar bulunmakta cam isimlerini 14. Satırdan değiştire bilirsiniz.
Eğer bir hata bulursanız veya öneriniz olursa lütfen yazınız benim için oldukça önemli.
Umarım işinize yarar :)
:Komutlar:
/ucus
/ucus ac
/ucus kapat
/ucus sure
/ucuscekiyaz <miktar> #Herhangi bir süre kısıtlaması yok, sürelerin hepsi saniye cinsindendir. Oyuncular kendi aralarında satış-takas yapabilir sıkıntı çıkmayacaktır.
/ucus ekle <isim> <miktar> #Admin komutudur sureliucus.admin yetkisi gerekmektedir. Komut kullanıldığında oyuncunun mevcut olan uçuş süresinin üzerine süre ekler.
/ucus ayarla <isim> <miktar> #Admin komutudur sureliucus.admin yetkisi gerekmektedir. Komut kullanıldığında oyuncunun uçuş süresi miktara eşitlenir.
:Skript:
Kod:
on join:
set {ucabilirmi.%player%} to 0
if player is flying:
disable flight to event-player
on quit:
set {ucabilirmi.%player%} to 0
if player is flying:
disable flight to event-player
options:
cek_adi: &6Süreli Uçuş Çeki #Çek üzerinde uçuş süresi miktarından sonra yazan kısmı buradan değiştirebilirsin. NOT: Eğer kullanım anında değişim kararı alırsanız eski uçuş çekleri bozulur. Örn. Rengi yeşil olan yazıyı turuncu yaparsanız, ismi yeşil olan uçuş çeki çalışmayacaktır.
cek_aciklama: &6SunucuAdı→ &7Süreli Uçuş Çekini kullanmak için sağ tıklayın. #Çek üzerine geldiğimizde yazan açıklama kısmını buradan değiştirebilirsin. NOT: Eğer kullanım anında değişim kararı alırsanız eski uçuş çekleri bozulur.
menu_cam_adi: &2SUNUCU ADI #/ucus yazıldığında gelen menüdeki camların adını buradan değiştirebilirsin.
variables:
{ucmasure.%player%} = 0
{ucabilirmi.%player%} = 0
command /ucus [<text>] [<player>] [<integer>]:
description: Süreli uçma komutunun asıl komutudur.
trigger:
if arg 1 is not "ac" or "kapat" or "ekle" or "sure" or "bilgi" or "ayarla":
send ""
send ""
send "&8----------------------------------"
send "&6/ucus &eSüreli uçuş genel menüsünü açar."
send "&6/ucus ac &eSüreli uçuşu aktif eder."
send "&6/ucus kapat &eSüreli uçuşu kapatır."
send "&6/ucus sure &eSüreli uçuşu süreni görmeni sağlar."
send "&6/ucuscekiyaz <miktar> &eBelirtilen miktarda cek yazar. Sağ tıklayınca bulunan miktar kadar süre eklenir."
send "&6/ucus ekle <oyuncuadı> <miktar> &eYetkiye sahipsen ismi girilen kişiye belirtilen miktarda süre verilir."
send "&6/ucus ayarla <oyuncuadı> <miktar> &eYetkiye sahipsen ismi girilen kişinin süresi miktara eşitlenir."
send "&8----------------------------------"
stop
if arg 1 is "bilgi":
send ""
send ""
send "&8----------------------------------"
send "&6/ucus &eSüreli uçuş genel menüsünü açar."
send "&6/ucus ac &eSüreli uçuşu aktif eder."
send "&6/ucus kapat &eSüreli uçuşu kapatır."
send "&6/ucus sure &eSüreli uçuşu süreni görmeni sağlar."
send "&6/ucuscekiyaz <miktar> &eBelirtilen miktarda cek yazar. Sağ tıklayınca bulunan miktar kadar süre eklenir."
send "&6/ucus ekle <oyuncuadı> <miktar> &eYetkiye sahipsen ismi girilen kişiye belirtilen miktarda süre verilir."
send "&6/ucus ayarla <oyuncuadı> <miktar> &eYetkiye sahipsen ismi girilen kişinin süresi miktara eşitlenir."
send "&8----------------------------------"
stop
if arg 1 is "ayarla":
if player has permission "sureliucus.admin":
if arg 2 is set:
if arg 3 is set:
set {ucmasure.%arg-2%} to args 3
send "&a%arg-2% &ekişisinin süresi &a%arg 3% &eolarak ayarlandı."
message "&a%player% &eadlı yetkili süreni &a%arg 3% &eolarak ayarladı." to arg-2
else:
send "Komut doğru kullanımı: &6/ucus ayarla <isim> <miktar>"
stop
else:
send "Komut doğru kullanımı: &6/ucus ayarla <isim> <miktar>"
stop
else:
send "&4Komutu kullanmak için gerekli yetkiye sahip değilsin."
stop
if arg 1 is not set:
open chest with 1 rows named "&6Süreli Uçuş Menüsü" to player
format slot 2 of player with emerald named "&aUçuşumu Aktif Et" to close then run [execute player command "/ucus ac"]
format slot 6 of player with redstone named "&cUçuşumu Deaktif Et" to close then run [execute player command "/ucus kapat"]
format slot 4 of player with feather named "&eUçuş Süren: &a%{ucmasure.%player%}%" to be unstealable
format slot 0 of player with light gray stained glass pane named "{@menu_cam_adi}" to be unstealable
format slot 1 of player with light gray stained glass pane named "{@menu_cam_adi}" to be unstealable
format slot 3 of player with light gray stained glass pane named "{@menu_cam_adi}" to be unstealable
format slot 5 of player with light gray stained glass pane named "{@menu_cam_adi}" to be unstealable
format slot 7 of player with light gray stained glass pane named "{@menu_cam_adi}" to be unstealable
format slot 8 of player with light gray stained glass pane named "{@menu_cam_adi}" to be unstealable
if arg 1 is "ac":
if arg 2 is set:
send "&eKomut doğru kullanımı: &6/ucus ac"
stop
if arg 3 is set:
send "&eKomut doğru kullanımı: &6/ucus ac"
stop
if {ucmasure.%player%} is less than 1:
send "&8Uçma süren en az 1 olmalı. Sahip olduğun uçma süresi: &e%{ucmasure.%player%}%"
stop
if player's flight mode is true:
send "&4Zaten uçuyorsun."
stop
if {ucmasure.%player%} is greater than 0:
set {ucabilirmi.%player%} to 1
if {ucabilirmi.%player%} is 1:
if player's flight mode is false:
enable flight to event-player
send "&6&l%player% &9Uçuş'un aktif edildi." to player
play raw sound "random.levelup" at player with pitch 1 volume 0.3
while {ucabilirmi.%player%} is equal to 1:
if {ucabilirmi.%player%} is equal to 1:
while {ucmasure.%player%} is greater than 0:
wait 1 second
remove 1 from {ucmasure.%player%}
if {ucmasure.%player%} is equal to 10:
send "&6&l%player% &9Uçuş sürenin bitmesine &a10 &9saniye kaldı." to player
if {ucmasure.%player%} is less than 1:
send "&6&l%player% &9Uçuş süren bitti." to player
set {ucabilirmi.%player%} to 0
if {ucabilirmi.%player%} is 0:
disable flight to event-player
stop
if arg 1 is "kapat":
if arg 2 is set:
send "&eKomut doğru kullanımı: &6/ucus kapat"
stop
if arg 3 is set:
send "&eKomut doğru kullanımı: &6/ucus kapat"
stop
if player's flight mode is false:
send "&4Zaten uçamıyorsun."
if player's flight mode is true:
set {ucabilirmi.%player%} to 0
disable flight to event-player
send "&6&l%player% &9Uçuş'un deaktif edildi." to player
stop
if arg 1 is "ekle":
if player has permission "sureliucus.admin":
if args 2 is set:
if args 3 is set:
set {ucmasure.%arg-2%} to {ucmasure.%arg-2%} + args 3
send "&a%arg-2% &ekişisine &a%arg-3% &emiktarında süre eklendi"
message "&a%player% &eadlı yetkili sana &a%arg-3% &emiktarında süre ekledi." to arg-2
stop
else:
send "&eKomut doğru kullanımı: &6/ucus ekle <isim> <miktar>"
stop
else:
send "&eKomut doğru kullanımı: &6/ucus ekle <isim> <miktar>"
stop
else:
send "&4Komutu kullanmak için gerekli yetkiye sahip değilsin."
stop
if arg 1 is "sure":
if arg 2 is set:
send "&eKomut doğru kullanımı: &6/ucus sure"
stop
if arg 3 is set:
send "&eKomut doğru kullanımı: &6/ucus sure"
stop
send player title "&6Uçuş Süresi" with subtitle "&eUçuş Süren: &a%{ucmasure.%player%}%" for 5 second
stop
command /ucuscekiyaz [<integer>]:
description: Süreli uçma komutunun çek komutudur.
trigger:
if arg 1 is set:
if arg-1 is greater than 0:
if {ucmasure.%player%} is greater than or equal to arg-1:
send "&e%arg-1% &aSüreli bir Uçuş Çeki yazdınız."
remove arg-1 from {ucmasure.%player%}
give 1 feather named "%arg-1% {@cek_adi}" with lore "{@cek_aciklama}" to player
else:
send "&e%arg-1% &cMiktarında süreniz bulunmamaktadır."
stop
else:
send "&c0'dan daha büyük sayı girmelisin."
stop
else:
send "&eKomut kullanımı: &b/ucuscekiyaz <miktar> &eşeklindedir."
stop
rightclick with feather:
if name of player's held item contains "{@cek_adi}":
if lore of player's held item contains "{@cek_aciklama}":
set {ucus_ceki::*} to name of the player's held item split at "{@cek_adi}"
replace all " " in {ucus_ceki::1} with ""
set {ucus_cek} to "%{ucus_ceki::1}%" parsed as an integer
set {ucmasure.%player%} to {ucmasure.%player%} + {ucus_cek}
remove held item from player
send "&e%{ucus_cek}% &aSüreli bir çek kullandın. Mevcut süren: &e%{ucmasure.%player%}%"
stop
else:
send "&4Eğer eşyayı isimlendirmek gibi bir akıllılık denememişsen yetkiliye bildir."
send "&4Hata sebebi: Eski açıklaması olan eşyaya sahipsin. Yenisi ile değiştirilmesi lazım."
stop
:Ekstra:
Sunucudan çıkınca uçuş otomatik olarak kapatılır ve süre durur.
Eğer çek ismini değiştirmek isterseniz 12. Satırda bulunan kısmı değiştirmeniz yeterlidir.
Aynı şekilde çek açıklamasını değiştirmek isterseniz 13. Satırı değiştirmeniz gerekir.
/ucus yazınca çıkan menüde camlar bulunmakta cam isimlerini 14. Satırdan değiştire bilirsiniz.