Ox Mapında Canavara Dönüşmeyi Devre Dışı Bırakmak.

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

Admin

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

[File: Src/game/input_login.cpp]


Aratılır :

if (ch->GetHorseLevel() > 0)
{
DWORD pid = ch->GetPlayerID();
if (pid != 0 && CHorseNameManager::instance().GetHorseName(pid) == NULL)
db_clientdesc->DBPacket(HEADER_GD_REQ_HORSE_NAME, 0, &pid, sizeof(DWORD));
ch->SetHorseLevel(ch->GetHorseLevel());
ch->SkillLevelPacket();
}

Bu koddan önce eklenir :

#ifdef ENABLE_TRANSFORM_PLAYER_OX
if (ch->GetMapIndex() == OX_MAPINDEX)
{
if (ch->GetGMLevel() == GM_IMPLEMENTOR || GM_HIGH_WIZARD || GM_WIZARD)
{
return;
}

#ifdef ENABLE_TRANSFORM_PLAYER_MODERATOR
else if (ch->GetGMLevel() == GM_LOW_WIZARD) // Moderator
{
ch->AddAffect(AFFECT_POLYMORPH_OX, 0, 0, AFF_NONE, OX_TIME_AFFECT , 0, true, false);
ch->SetPolymorph(OX_MOBNAME_MODERATOR);
}
#endif

#ifdef ENABLE_TRANSFORM_PLAYER_VIP
else if (ch->GetGMLevel() == GM_VIP) // VIP
{
ch->AddAffect(AFFECT_POLYMORPH_OX, 0, 0, AFF_NONE, OX_TIME_AFFECT , 0, true, false);
ch->SetPolymorph(OX_MOBNAME_VIP);
}
#endif
else if (ch->GetGMLevel() == GM_PLAYER) // Player
{
ch->AddAffect(AFFECT_POLYMORPH_OX, 0, 0, AFF_NONE, OX_TIME_AFFECT , 0, true, false);
ch->SetPolymorph(OX_MOBNAME_PLAYER);
}
}
}
#endif

Arat :

else if (ch->GetMapIndex() == 113)
{
if (COXEventManager::instance().Enter(ch) == false)
{
if (ch->GetGMLevel() == GM_PLAYER)
ch->WarpSet(EMPIRE_START_X(ch->GetEmpire()), EMPIRE_START_Y(ch->GetEmpire()));
}
}
Sil ve komple değiştir alttakiylen:
#ifdef ENABLE_TRANSFORM_PLAYER_OX
#ifdef ENABLE_TRANSFORM_PLAYER_VIP
if (ch->GetGMLevel() == GM_PLAYER || ch->GetGMLevel() == GM_LOW_WIZARD || ch->GetGMLevel() == GM_VIP)
#else
if (ch->GetGMLevel() == GM_PLAYER || ch->GetGMLevel() == GM_LOW_WIZARD)
#endif
ch->SetPolymorph(0);
ch->RemoveAffect(AFFECT_POLYMORPH_OX); // Fix remove polymorph
#else
if (ch->GetGMLevel() == GM_PLAYER)
ch->WarpSet(EMPIRE_START_X(ch->GetEmpire()), EMPIRE_START_Y(ch->GetEmpire()));
}
#endif
[File: Src/game/affect.h]

AFFECT_BLEND,
O kodun öncesinde eklenir :

#ifdef ENABLE_TRANSFORM_PLAYER_OX
AFFECT_POLYMORPH_OX,
#endif

[File: Src/common/service.h]

Açılır ve eklenir :

#define ENABLE_TRANSFORM_PLAYER_OX
#define ENABLE_TRANSFORM_PLAYER_MODERATOR
//#define ENABLE_TRANSFORM_PLAYER_VIP
[File: Src/common/length.h]

Arat :


enum EJobs
{
JOB_WARRIOR,
JOB_ASSASSIN,
JOB_SURA,
JOB_SHAMAN,
JOB_MAX_NUM
};
O kodun öncesinde eklenir :

#ifdef ENABLE_TRANSFORM_PLAYER_OX
enum ETypeInformationsEventOx
{
OX_MOBNAME_PLAYER = 101,
OX_MOBNAME_MODERATOR = 102,
OX_MOBNAME_VIP = 103,
OX_MAPINDEX = 113,
OX_TIME_AFFECT = 60*60*24*7,
};
#endif
Bana değil asıl yapımcısına teşekkür etmeniz veya konuyu puan vermeniz yeterlidir :D
Asıl yapımcısı yukarıda yazmaktadır.
Kaynak veremem reklama girer!
Ox Mapında Canavara Dönüşmeyi Devre Dışı Bırakmak
Metin2 özel sunucularında oyun deneyimini şekillendiren birçok sistem bulunur. Bu sistemlerden biri de oyuncuların belirli haritalarda canavar formuna dönüşebilmesidir. Özellikle Ox Haritası gibi özel PvP alanlarında bu özellik dikkat çeker. Ancak bazı sunucu sahipleri, oyun içi dengeyi korumak ya da farklı bir oynanış tarzı sunmak adına bu dönüşüm özelliğini devre dışı bırakmayı tercih ederler. Bu yazıda, Metin2 özel sunucularında Ox Haritası'nda canavara dönüşüm sistemini nasıl devre dışı bırakabileceğinizi detaylı olarak ele alacağız.

Canavara Dönüşüm Sistemi Nedir?
Metin2 oyununda oyuncular, belirli eşyalar veya sistemler sayesinde canavar formuna geçebilir. Bu dönüşüm genellikle攻击力 ve savunma gibi istatistiklerde artış sağlar. Ox Haritası, bu tür dönüşümlerin serbestçe yapılabildiği, PvP savaşlarının yoğunlaştığı popüler bir haritadır. Ancak bu sistem bazı sunucularda dengeyi bozabilmektedir. Bu nedenle, bazı geliştiriciler bu özelliği sınırlamayı tercih eder.

Neden Canavara Dönüşüm Kapatılır?
Sunucu geliştiricileri, oyuncuların daha adil bir mücadele ortamında PvP yapabilmesini sağlamak için canavara dönüşüm sistemini kapatmayı düşünürler. Özellikle düşük seviye oyuncuların yüksek攻击力le donanmış canavar karakterler karşısında dezavantajlı olmasının önüne geçmek önemlidir. Ayrıca, bu tür sistemlerin滥用ı, oyun içi dengeyi ciddi şekilde etkileyebilir.

C++ Sunucu Kaynak Kodları Üzerinde Değişiklik Yapmak
Metin2 özel sunucularında, canavara dönüşüm sistemi genellikle game server kaynak kodları üzerinden yönetilir. Bu işlem için C++ bilgisi gerekir. Sunucu üzerinde yapılan değişiklikler, oyuncuların belirli haritalarda bu özelliği kullanmasını engeller. Öncelikle, ox_event.cpp veya benzeri dosyalarda, dönüşümün gerçekleştiği fonksiyonlar bulunur. Bu fonksiyonların Ox Haritası için çalışmasını engellemek üzere koşullar tanımlanabilir.

Python Arayüz ve Sunucu Taraması
Metin2 özel sunucularında Python tabanlı sistemler de kullanılır. Bu sistemler aracılığıyla da oyuncunun Ox haritasında dönüşüm yapmasını engelleyebilirsiniz. Py Root klasöründe bulunan character.py veya system.py gibi dosyalarda, dönüşüm komutlarını kontrol eden fonksiyonlar yer alır. Burada Ox Haritası için bir kontrol noktası eklenerek, dönüşüm iptal edilebilir.

Database Tabanlı Ayarlar
Bazı sunucular, dönüşüm sistemini DB üzerinden yönetir. Bu durumda, auth veya game veritabanında yer alan tablolarda, belirli haritalar için dönüşüm izni veren ayarlar vardır. Bu alanlara Ox Haritası için '0' değeri girilerek dönüşüm devre dışı bırakılabilir. Bu yöntem, sunucu tarafında kodlama yapmadan hızlıca uygulanabilir.

Hata Ayıklama ve Test Süreci
Değişikliklerin ardından mutlaka test yapılması gerekir. Sunucuda Ox haritasında bir karakterle giriş yapıp dönüşüm yapılmaya çalışılmalıdır. Eğer dönüşüm gerçekleşmiyorsa, değişiklikler başarılı olmuştur. Aksi halde, log dosyaları incelenerek hatalar düzeltilmelidir.

Sonuç
Metin2 özel sunucularında Ox Haritası'nda canavara dönüşüm özelliğini devre dışı bırakmak, oyun içi dengeyi korumanızı sağlar. Bu işlem, C++ veya Python tabanlı sistemler üzerinden yapılabilir. Veritabanı üzerinde de bu tür değişiklikler yapılabilir. Geliştiricilerin dikkat etmesi gereken en önemli konu, yapılan değişikliklerin sunucu performansını etkilememesi ve hata üretmemesidir. Bu sistemi doğru şekilde uygulamak, sunucunuzun kalitesini artıracaktır.


Disabling Monster Transformation on Ox Map
In Metin2 private servers, many systems shape the gaming experience. One of these systems allows players to transform into monster forms on certain maps. This feature stands out especially in special PvP areas like Ox Map. However, some server owners prefer to disable this transformation feature in order to maintain in-game balance or provide a different gameplay style. In this article, we will detail how to disable the monster transformation system on the Ox Map in Metin2 private servers.

What is the Monster Transformation System?
In Metin2, players can transform into monster forms via specific items or systems. This transformation generally increases stats such as攻击力 and defense. The Ox Map is a popular map where such transformations are freely performed and PvP battles intensify. However, this system can unbalance the game on certain servers, which is why some developers choose to limit this feature.

Why Disable Monster Transformation?
Server developers may decide to turn off the monster transformation system to ensure a fairer combat environment for players during PvP. It is important to prevent low-level players from being disadvantaged against high攻击力 monster characters. Additionally, misuse of such systems can seriously affect in-game balance.

Making Changes to C++ Server Source Codes
In Metin2 private servers, the monster transformation system is usually managed through game server source codes. This process requires knowledge of C++. Changes made on the server can prevent players from using this feature on specific maps. First, functions responsible for the transformation are located within files like ox_event.cpp or similar ones. Conditions can be defined to prevent these functions from working on the Ox Map.

Python Interface and Server Scanning
Python-based systems are also used in Metin2 private servers. Via these systems, you can prevent a player from transforming while on the Ox map. Files such as character.py or system.py located in the Py Root folder contain functions that control transformation commands. By adding a checkpoint here for the Ox Map, the transformation can be canceled.

Database-Based Settings
Some servers manage the transformation system through DB. In this case, tables within the auth or game database hold settings that allow transformation on specific maps. Entering '0' for the Ox Map in these fields disables transformation. This method can quickly be applied without coding on the server side.

Debugging and Testing Process
After making changes, testing must be done. Try logging into the Ox map with a character and attempt to transform. If no transformation occurs, the changes have been successful. Otherwise, logs should be reviewed and errors corrected.

Conclusion
Disabling the monster transformation feature on the Ox Map in Metin2 private servers helps maintain in-game balance. This action can be done via C++ or Python-based systems. Such modifications can also be made in the database. The most important thing for developers to consider is ensuring the changes do not affect server performance or cause errors. Implementing this system correctly will increase the quality of your server.
 

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

Benzer konular

Geri
Üst Alt