PK Mod Map Kontrolü (C++)

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 109

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
cmd_general.cpp

aratılır:

Kod:
Kod:
if (ch->GetLevel() < PK_PROTECT_LEVEL && mode != 0)
Altına eklenir:


Kod:
Kod:
if (GetMapIndex() == 113 || // engel 1 -- ox map isabrs             GetMapIndex() == 1453 || // engel 2 -- x             GetMapIndex() == 1453 || // engel 3 -- x        )     {         ch->ChatPacket(CHAT_TYPE_INFO, "Bu Mapda PK MOD Kullanamassiniz.");         return;     }



1N3L3j.png

PK Mod Map Kontrolü (C++)

Metin2 özel sunucularında geliştirme yaparken, PK (Player Killing) modunun aktif olduğu haritalarda oyuncuların birbirleriyle savaşabilmesi için özel kontrollerin sağlanması gerekir.
Bu kontrol mekanizması genellikle C++ tabanlı sunucu kaynak kodlarında geliştirilir ve PK modunun hangi haritalarda aktif olup olmayacağını belirlemek için kullanılır.

PK Mod Nedir?
PK mod, oyuncuların kendi seviyelerine veya diğer durumlarına bakmadan birbirlerini öldürebileceği bir sistemdir.
Bu mod, genellikle savaş sever oyuncuların tercih ettiği, yüksek riskli ancak yüksek ödüllü savaşların yapıldığı bir ortam sunar.

Harita Bazlı PK Kontrolü
PK modunun her haritada açık olmaması, sunucu yöneticilerinin stratejik planlamasına göre değişebilir.
Bazı haritalarda PK modu aktif edilirken, bazılarında pasif bırakılır.
Bu kontroller genellikle sunucu yapılandırma dosyalarında veya doğrudan C++ kodları üzerinde tanımlanır.

C++ Kaynak Kodunda Uygulama
Sunucu tarafında PK mod kontrolü yapabilmek için, öncelikle harita bazlı bir kontrol fonksiyonu oluşturulmalıdır.
Bu fonksiyon, oyuncunun bulunduğu haritanın PK moduna izin verip vermediğini kontrol eder.

Örnek bir fonksiyon şu şekilde olabilir:

bool IsPkMap(DWORD mapIndex)
{
static std::set allowedMaps = { 1, 2, 3, 15 }; // PK izni olan haritalar
return allowedMaps.find(mapIndex) != allowedMaps.end();
}

Bu fonksiyon, belirlenen harita indekslerinde PK modunun aktif olmasına izin verir.

Olası Hatalar ve Güvenlik
PK mod kontrolleri eksik uygulanırsa, güvenlik açıkları oluşabilir.
Örneğin, PK izni olmayan bir haritada PK yapılmasına izin verilirse, hileci oyuncular avantaj elde edebilir.
Bu nedenle, kontrol mekanizması güvenli ve doğru bir şekilde uygulanmalıdır.

Faydalı Kaynaklar
Metin2 özel sunucu geliştirme konusunda daha fazla bilgi almak isterseniz Metin2Lobby sitesini ziyaret edebilirsiniz.
Burada C++ sistemleri, kaynak kod örnekleri ve PK sistemleri hakkında detaylı içeriklere ulaşabilirsiniz.


PK Mod Map Control (C++)

When developing Metin2 private servers, special controls must be implemented to allow Player Killing (PK) mode on specific maps where players can fight each other.
This control mechanism is typically developed within C++ based server source codes and determines in which maps the PK mode will be active.

What is PK Mode?
PK mode is a system that allows players to kill each other regardless of their level or other conditions.
This mode offers a high-risk but rewarding environment, preferred by warlike players.

Map-Based PK Control
The PK mode does not necessarily need to be enabled on all maps and can vary according to strategic planning by server administrators.
While PK mode may be activated on some maps, it remains inactive on others.
These controls are usually defined in server configuration files or directly within C++ code.

Implementation in C++ Source Code
To implement PK mode control on the server side, a map-based control function should first be created.
This function checks whether the map where the player is located allows PK mode.

An example function might look like this:

bool IsPkMap(DWORD mapIndex)
{
static std::set allowedMaps = { 1, 2, 3, 15 }; // Maps where PK is allowed
return allowedMaps.find(mapIndex) != allowedMaps.end();
}

This function allows PK mode activation only on the specified map indices.

Potential Errors and Security
If PK mode controls are implemented incorrectly, security vulnerabilities may arise.
For instance, if PK is allowed in a map where it shouldn't be, cheaters might gain unfair advantages.
Therefore, the control mechanism must be securely and correctly applied.

Useful Resources
For more information about Metin2 private server development, you can visit Metin2Lobby.
You can find detailed content on C++ systems, source code examples, and PK systems.​
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt