KARDINAL.
Bir Kömür Göründü Kaptanım!
- Katılım
- 16 Ekim 2019
- Mesajlar
- 108
- Elmaslar
- 40
- Puan
- 13.455
- Yaş
- 25
- Konum
- Diyarbakır
- Minecraft
- kardinal2121
Discord:
kardınal2121
Sunucunuzda oyuncuların birbirine ışınlanmasını sağlayan, basit ama temiz kodlanmış bir /tpa – /tpaccept sistemi arıyorsanız, bu skript tam size göre.
Skript, oyuncuya gelen TPA isteklerini UUID üzerinden saklar, böylece isim değişikliklerinden etkilenmez. Ayrıca SkBee ile gelen tıklanabilir KABUL ET butonu sayesinde oyuncular tek tıkla isteği kabul edebilir.
(Kendi sunucu sürümüne göre Skript ve SkBee’nin uyumlu sürümlerini indirmen yeterli.)
Skripti kullanırken geliştirmemi istediğiniz farklı bir yeri olursa, eklemek ya da çıkarmak istediğiniz bir özellik olursa belirtmeniz yeterli. Gelen isteklere göre güncelleme yapabilirim
Skript, oyuncuya gelen TPA isteklerini UUID üzerinden saklar, böylece isim değişikliklerinden etkilenmez. Ayrıca SkBee ile gelen tıklanabilir KABUL ET butonu sayesinde oyuncular tek tıkla isteği kabul edebilir.
Özellikler
- /tpa Oyuncu komutu ile ışınlanma isteği gönderme
- /tpaccept komutu ile gelen isteği kabul etme
- İstekler UUID üzerinden kaydedilir:
{tpa::hedefUUID} = bu oyuncuya kim tpa atmış (gönderenin UUID’si) - Hedef oyuncu çevrimiçi mi kontrolü
- Oyuncunun kendine tpa atmasını engelleme
- İstek gönderen oyuncu oyundan çıkarsa hata mesajı
- SkBee text component ile tıklanabilir [KABUL ET] butonu
Gerekli Pluginler
- Skript
- Önerilen: Skript 2.6+ (1.16+ sürümleri için)
- SkBee
- Text component ve click/hover eventleri için gerekli
- Sunucu Yazılımı:
(Kendi sunucu sürümüne göre Skript ve SkBee’nin uyumlu sürümlerini indirmen yeterli.)
Kurulum
- Gerekli pluginleri (Skript, SkBee) sunucunun plugins klasörüne at.
- Sunucuyu başlat/kapat (pluginler yüklensin).
- plugins/Skript/scripts klasörünün içine tpa.sk dosyasını at.
- Oyundayken /sk reload tpa.sk yaz veya konsoldan reload et.
- Sunucuda deneyerek çalıştığını teyit et:
- /tpa <oyuncu>
- Hedef oyuncu da /tpaccept veya tıklanabilir butonu kullanabilir.
Komutlar
- /tpa <oyuncu>
Işınlanma isteği gönderir. - /tpaccept
Sana gelen aktif tpa isteğini kabul eder.
Geri Bildirim / Geliştirme
Skripti kullanırken geliştirmemi istediğiniz farklı bir yeri olursa, eklemek ya da çıkarmak istediğiniz bir özellik olursa belirtmeniz yeterli. Gelen isteklere göre güncelleme yapabilirim
JavaScript:
# {tpa::hedefUUID} = bu oyuncuya kim tpa atmış (gönderenin UUID'si)
command /tpa [<player>]:
trigger:
if arg-1 is not set:
send "&cKullanım: /tpa <oyuncu>" to player
stop
set {_hedef} to arg-1
if {_hedef} is not online:
send "&cBu oyuncu çevrimdışı!" to player
stop
if {_hedef} = player:
send "&cKendine tpa atamazsın :)" to player
stop
set {tpa::%uuid of {_hedef}%} to uuid of player
send "&a%player% &7adlı oyuncu sana ışınlanmak istiyor." to {_hedef}
send "&7Kabul etmek için &e/tpaccept&7 yazabilir ya da alttaki yazıya tıklayabilirsin." to {_hedef}
set {_btn} to text component from "&a[&2KABUL ET&a]"
set hover event of {_btn} to a new hover event showing "&7Tıklayarak tpa isteğini kabul et."
set click event of {_btn} to a new click event to run command "/tpaccept"
send component {_btn} to {_hedef}
command /tpaccept:
trigger:
set {_hedefUUID} to uuid of player
if {tpa::%{_hedefUUID}%} is not set:
send "&cSana gelen aktif bir tpa isteği yok." to player
stop
set {_gonderenUUID} to {tpa::%{_hedefUUID}%}
delete {tpa::%{_hedefUUID}%}
loop all players:
if uuid of loop-player = {_gonderenUUID}:
set {_gonderen} to loop-player
stop loop
if {_gonderen} is not set:
send "&cİstek gönderen oyuncu oyundan çıkmış." to player
stop
teleport {_gonderen} to player
send "&aTpa isteğini kabul ettin. &7(%name of {_gonderen}% sana ışınlandı)" to player
send "&aTpa isteğin &7%player% &atarafından kabul edildi!" to {_gonderen}