PvP Toggle Sistemi Skripti — /pvp ile Aç Kapat
Oyuncuların isteğe bağlı PvP açıp kapatabildikleri bir sistem. Survival sunucularda çok kullanışlı: isteyen PvP yapar, istemeyen güvende kalır.
Özellikler
- /pvp — PvP durumunu aç/kapat
- PvP kapalıyken hasar almama
- Hasar vermeye çalışınca bildirim
- Admin PvP bypass
[*]Spawn bölgesinde otomatik PvP kapatma
Tam Skript Kodu
# pvp-toggle.sk
# PvP Açma/Kapatma Sistemi
options:
prefix: "&8[&c&lPvP&8] &r"
gecikme: 30
on damage of player:
attacker is a player
if attacker is victim:
stop
# Her ikisinden biri PvP kapalıysa hasarı iptal et
if {pvp.kapali::%victim's uuid%} is true:
cancel event
send "{@prefix}&c%victim% PvP'yi kapatmış!" to attacker
stop
if {pvp.kapali::%attacker's uuid%} is true:
cancel event
send "{@prefix}&cPvP'niz kapalı! Açmak için: &b/pvp" to attacker
stop
command /pvp:
trigger:
if {pvp.kapali::%player's uuid%} is true:
if {pvp.gecikme::%player's uuid%} is set:
set {_fark} to difference between now and {pvp.gecikme::%player's uuid%}
if {_fark} < {@gecikme} seconds:
set {_kalan} to {@gecikme} - (floor({_fark} / 1 second))
send "{@prefix}&cPvP'yi %{_kalan}% saniye sonra açabilirsiniz!" to player
stop
delete {pvp.kapali::%player's uuid%}
delete {pvp.gecikme::%player's uuid%}
send "{@prefix}&cPvP &aAÇILDI! &7Artık saldırıya açıksınız." to player
send action bar "&c⚔ PvP: AÇIK" to player
else:
set {pvp.kapali::%player's uuid%} to true
set {pvp.gecikme::%player's uuid%} to now
send "{@prefix}&aPvP &cKAPATILDI! &7Saldırılardan korunuyorsunuz." to player
send action bar "&a🛡 PvP: KAPALI" to player
command /pvpdurum [<player>]:
permission: pvp.durum
trigger:
set {_p} to arg-1 ? player
if {pvp.kapali::%{_p}'s uuid%} is true:
send "{@prefix}&f%{_p}% &8- &aPvP: KAPALI" to player
else:
send "{@prefix}&f%{_p}% &8- &cPvP: AÇIK" to player
command /pvpac <player>:
permission: pvp.admin
trigger:
delete {pvp.kapali::%arg-1's uuid%}
send "{@prefix}&a%arg-1% PvP'si açıldı." to player
if arg-1 is online:
send "{@prefix}&cAdmin tarafından PvP'niz açıldı!" to arg-1
# Spawn bölgesinde PvP otomatik kapat
on region enter:
region is "spawn"
if {pvp.kapali::%player's uuid%} is not true:
set {pvp.kapali::%player's uuid%} to true
send "{@prefix}&aSpawn bölgesinde PvP otomatik kapatıldı." to player
on region leave:
region is "spawn"
# Spawn'dan çıkınca PvP'yi tekrar açmak istiyorlarsa /pvp yazsınlar
send "{@prefix}&7Spawn'dan çıktınız. PvP durumunuz: &c%{pvp.kapali::%player's uuid%} is true ? "KAPALI" : "AÇIK"%" to player
WorldGuard Olmadan Spawn Kontrolü
on region enter WorldGuard gerektirir. WorldGuard yoksa location tabanlı kontrol:
every 5 seconds:
loop all players:
set {_loc} to loop-player's location
# Spawn koordinatları: X:0 Z:0 yarıçap:30
set {_dist} to distance between {_loc} and location(0, 64, 0, "world")
if {_dist} <= 30:
if {pvp.kapali::%loop-player's uuid%} is not true:
set {pvp.kapali::%loop-player's uuid%} to true
Yetkilendirme
/lp group default permission set pvp.durum true
/lp group admin permission set pvp.admin true
Sorularınız için bu konuya yazın!
💡 Etkileşim için giriş yap.