Menü
💬 Forum 🛒 Mağaza ⛏️ Sunucular ⚔️ Klanlar 📰 Blog 🏆 Liderlik 👥 Üyeler 🎖️ Rütbeler
1 üye online 👥 12 toplam üye 📝 Bugün 51 konu 💬 Bugün 51 mesaj

Skript ile Ücretsiz PvP Açma/Kapatma Sistemi — Toggle PvP

orginscorel · 2 saat önce · 1 gönderi · 1 görüntülenme
#1

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!

Cevap yazabilmek için giriş yap.