Belirli Kanallarda (CH) PvP Devre Dışı Bırakma

Aethre

www.pvpers.gg
Katılım
19 Haz 2024
Konular
383
Mesajlar
477
Beğeniler
789
GG Coin
14,220
Ticaret Değeri - 0%
0   0   0
Discord
pvpers.gg
Metin2 Kanalda PvP Engelleme

Bu küçük ekleme, sunucuda (core üzerinde) DISABLE_PVP: 1 satırı yer aldığı sürece:
  • Damage engeli: İki oyuncu birbirine vuruş yaptığında hasar 0’a düşer; ekrandaki “Miss” animasyonu isteğe bağlı olarak gösterilir.
  • PK Modu kilidi: Oyuncuların PK modunu Peace (Barış) dışındaki modlara (Serbest, Lonca vb.) geçirmesi engellenir.
  • Irk (Reich) hasarı kapanır: Irk bonusu devre dışıdır, böylece farklı ırklar da birbirine zarar veremez.
  • Sunucu‑genel değil core‑genel: Aynı makinedeki başka kanallarda PvP serbest kalabilir; sadece ilgili konfigürasyona sahip core(kanal) etkilenir.
Bu sayede etkinlik veya barışçıl alanlar ayrı kanallara taşınarak oyuncu öldürme tamamen devre dışı bırakılabilir.



Kod Değişiklikleri

config.cpp
Gizlenmiş içeriği görüntüleyebilmek için Giriş Yap ya da Kayıt Ol
Bu işlem, 15 saniyeden az sürer.

config.h
Kod:
// mevcut:
extern int test_server;
// altına ekle:
extern int disable_pkmode;

char_battle.cpp
bool CHARACTER::Damage(LPCHARACTER pAttacker, int dam, EDamageType type) içinde:
Gizlenmiş içeriği görüntüleyebilmek için Giriş Yap ya da Kayıt Ol
Bu işlem, 15 saniyeden az sürer.

Aynı dosyada
void CHARACTER::SetPKMode(BYTE bPKMode) içinde:
Kod:
// mevcut:
if (bPKMode == PK_MODE_GUILD && !GetGuild())
    bPKMode = PK_MODE_FREE;

// altına ekle:
if (disable_pkmode && bPKMode != PK_MODE_PEACE)
    bPKMode = PK_MODE_PEACE;

channel.conf (veya ilgili core config’i)
Kod:
DISABLE_PVP: 1


Not: Kod, yalnızca disable_pkmode değişkeni 1 olduğunda devreye girer; aynı makinadaki diğer core’lar etkilenmez. Dilersen farklı haritalar veya ek koşullar için genişletebilirsin.
 
harika rehber teşekkürler üstad bazı serverlere lazım olur etkinlik vs. için
 
Geri
Üst Alt