Warp Sistemi Skripti — EssentialsX Olmadan Kendi Warp Sisteminiz
EssentialsX'in warp sistemi işlevsel ama özelleştirme konusunda kısıtlı. Bu konuda sıfırdan yazılmış, GUI destekli, tamamen ücretsiz bir warp sistemi skripti paylaşıyorum.
Gereksinimleri
- Skript 2.6.4+
- SkBee (GUI için önerilir, opsiyonel)
- Paper 1.17+
Tam Skript Kodu
# warp-sistemi.sk
# Kendi Warp Sisteminiz — Ücretsiz
# Komutlar: /setwarp /warp /delwarp /warplar
options:
maks-warp: 5
prefix: "&8[&b&lWarp&8] &r"
gecikme: 3
command /setwarp <text>:
permission: warp.olustur
trigger:
set {_isim} to arg-1
if length of {_isim} > 20:
send "{@prefix}&cWarp ismi en fazla 20 karakter olabilir!" to player
stop
if {_isim} contains " ":
send "{@prefix}&cWarp ismi boşluk içeremez!" to player
stop
set {warps.%{_isim}%.konum} to player's location
set {warps.%{_isim}%.sahip} to player's name
set {warps.%{_isim}%.tarih} to now
send "{@prefix}&aWarp oluşturuldu: &b%{_isim}%" to player
add {_isim} to {warps.liste::*}
command /warp <text>:
trigger:
set {_isim} to arg-1
if {warps.%{_isim}%.konum} is not set:
send "{@prefix}&cBu warp bulunamadı: &b%{_isim}%" to player
stop
if player has permission "warp.bypass":
teleport player to {warps.%{_isim}%.konum}
send "{@prefix}&a%{_isim}% warpına ışınlandınız!" to player
stop
send "{@prefix}&7%{@gecikme}% saniye sonra ışınlanıyorsunuz... Hareket etmeyin!" to player
set {_eski-konum} to player's location
wait {@gecikme} seconds
if player's location is {_eski-konum}:
teleport player to {warps.%{_isim}%.konum}
send "{@prefix}&a%{_isim}% warpına ışınlandınız!" to player
else:
send "{@prefix}&cHareket ettiğiniz için ışınlanma iptal edildi!" to player
command /warplar:
trigger:
if {warps.liste::*} is not set:
send "{@prefix}&7Henüz warp bulunmuyor." to player
stop
send "&b--- 🌀 Warp Listesi ---" to player
loop {warps.liste::*}:
set {_sahip} to {warps.%loop-value%.sahip} ? "Bilinmiyor"
send "&7• &b%loop-value% &8(&7Kuran: &f%{_sahip}%&8)" to player
send "&7Toplam: &b%size of {warps.liste::*}% warp" to player
command /delwarp <text>:
permission: warp.sil
trigger:
set {_isim} to arg-1
if {warps.%{_isim}%.konum} is not set:
send "{@prefix}&cBu warp zaten yok!" to player
stop
delete {warps.%{_isim}%.konum}
delete {warps.%{_isim}%.sahip}
delete {warps.%{_isim}%.tarih}
remove {_isim} from {warps.liste::*}
send "{@prefix}&aWarp silindi: &b%{_isim}%" to player
command /warpteleport <text> <player>:
permission: warp.admin
trigger:
if {warps.%arg-1%.konum} is not set:
send "{@prefix}&cWarp bulunamadı!" to player
stop
teleport arg-2 to {warps.%arg-1%.konum}
send "{@prefix}&a%arg-2% → %arg-1% warpına ışınlandı." to player
Yetki Sistemi
/lp group admin permission set warp.olustur true
/lp group admin permission set warp.sil true
/lp group admin permission set warp.admin true
/lp group vip permission set warp.bypass true
/lp group default permission set skript.warp true
Warp Listesi İyileştirmesi — Sayfalama
Warp sayısı arttıkça listeyi sayfalara bölmek isteyebilirsiniz:
command /warplar [<integer>]:
trigger:
set {_sayfa} to arg-1 ? 1
set {_toplam} to size of {warps.liste::*}
set {_sayfabasi} to ({_sayfa} - 1) * 10
send "&b--- Warplar (Sayfa %{_sayfa}%) ---" to player
loop 10 times:
set {_i} to loop-number + {_sayfabasi}
set {_warp} to {warps.liste::%{_i}%}
if {_warp} is set:
send "&7%{_i}%. &b%{_warp}%" to player
Sık Yapılan Hatalar
- Işınlanma anında ölüm: Warp konumunun güvenli olup olmadığını kontrol edin
- Liste çalışmıyor: {warps.liste::*} değişkeni boş olabilir, /setwarp ile ekleyin
[*]Gecikme çalışmıyor: wait komutu için Skript 2.6+ gerekli
Sorularınız için bu konuya yazın!
💡 Etkileşim için giriş yap.