Merhabalar ben Hüseyin Urdoğan Moblarda level gösterimini para ile satılıyormuş galiba onuda paylaşalım dedim. :f11:
Client dosyalarınızdan Userinterface klasörüne giriniz.
PythonNonPlayer.h açın:
Bu yöntem altında GetMonsterName, aşağıdakini Ekle:
PythonNonPlayer.cpp açın:
Sadece ekleyin aşağıda şu:
InstanceBase.cpp açın:
Aşağıdakine göre arama:
değiştirin:
Ve Ardından Build Edebilirsiniz Bukadar.
Kanıt ;
- Hüseyin Urdoğan -
Moblarda Level Gösterimi Ayarlama [ C++ ]
Metin2 özel sunucularında oyun deneyimini artırmak adına geliştiriciler birçok görsel ve mekanik değişiklik yapabilir. Bu değişikliklerden birisi de mobların (NPC’lerin) level gösterimini ayarlamaktır. Genellikle varsayılan sistemde mobların level bilgisi oyuncuya gösterilmez; ancak bazı özel PvP sunucularda veya belirli oyun tarzları için bu bilgi oldukça değerlidir. Bu yazıda, C++ tabanlı Metin2 sunucu kaynak kodlarında moblara level bilgisi eklemeyi ve bu bilginin istemcide nasıl gösterileceğini anlatacağız.
Moblarda Level Gösterimi Nedir?
Moblar genellikle sadece isimleriyle ve bazen can barlarıyla tanımlanırlar. Ancak bazı durumlarda, özellikle yüksek seviye PvP sunucularında, mobların hangi levelde olduğu bilgisi önem kazanabilir. Bu sayede oyuncular, mobun zorluğunu daha kolay anlayabilir ve stratejilerini buna göre şekillendirebilir. Level gösterimi, mobun adının hemen yanında veya alt satırda belirtilerek sağlanabilir.
Sunucu Tarafında C++ Kodlama
Öncelikle, mobların level bilgisinin doğru şekilde sunucu tarafında tutulduğundan emin olmalıyız. Bu bilgi genellikle mob_proto tablosunda bulunur. Eğer bu tabloya level sütunu eklenmemişse, önce bu işlem yapılmalıdır. Daha sonra, bu bilgi oyun sırasında mob nesnesi oluşturulurken yüklenmelidir. Sunucu kaynak kodlarında, genellikle CInstanceBase::SetNameString gibi fonksiyonlar kullanılır. Burada, ismin yanına level bilgisi eklenebilir.
İstemci Tarafında Gösterim
İstemci tarafında level bilgisinin görünmesi için UI dosyalarında değişiklik yapılması gerekir. Bu işlem genellikle uiscript dosyaları aracılığıyla yapılır. Oyuncunun mobun ismini gördüğü alana, level bilgisinin de eklenebilmesi için bir label tanımlanır. Bu label, sunucudan gelen veriye göre dinamik olarak güncellenir. Örneğin, mob ismi 'Dragon' ve leveli 75 ise, ekranda 'Dragon [Level: 75]' şeklinde görünebilir.
Python ve Py Root Entegrasyonu
Python tabanlı sistemlerle çalışan bazı Metin2 sunucularında, level gösterimi için py root üzerinden UI güncellemeleri yapılabilir. Bu sistemde, sunucudan gelen level verisi Python tarafında işlenerek istemciye yansıtılır. Bu tür entegrasyonlar, daha esnek ve modüler yapılar sunar. Özellikle GUI sistemleri ile uyumlu çalışması için Py GUI kullanılarak daha estetik ve kullanıcı dostu arayüzler geliştirilebilir.
DB ve Game Sunucusu Bağlantısı
Level bilgisi veritabanında tutulduğu için, DB sunucusu ile game sunucusu arasında bu bilginin doğru aktarılması gerekir. Game sunucusu, mob bilgilerini DB'den çekerken level alanını da okumalıdır. Bu veri, istemciye gönderilirken isimle birlikte aktarılır. Bu nedenle, hem DB core hem de game core üzerinde değişiklikler yapılabilir.
Sistem Testi ve Hata Ayıklama
Değişiklikler tamamlandıktan sonra, sistemin doğru çalışıp çalışmadığı test edilmelidir. Mobların level bilgilerinin doğru şekilde gösterildiğinden emin olunmalıdır. Ayrıca, farklı level aralıklarında performans sorunları olup olmadığı kontrol edilmelidir. Bu tür hata ayıklama işlemleri, sunucu stabilitesi açısından kritiktir.
Sonuç
Moblarda level gösterimi, Metin2 özel sunucularında kullanıcı deneyimini ciddi anlamda artırabilecek küçük ama etkili bir özelliktir. C++ tabanlı sunucu geliştirme bilgisiyle bu özellik kolayca entegre edilebilir. Ancak dikkatli kodlama ve test süreçleri bu özelliğin doğru çalışması için şarttır. Bu yazıda anlatılan adımlar takip edilerek, Metin2 PvP sistemlerinde güçlü bir görsel geliştirme yapılabilir.
Adjusting Monster Level Display in Client [C++]
In Metin2 private servers, developers often implement visual and mechanical modifications to enhance the gameplay experience. One such modification is adjusting monster level display. In default systems, monsters usually do not show their level to players; however, on certain PvP-focused private servers, this information can be very valuable. This article explains how to add level information to monsters within C++ based Metin2 server sources and how this information is displayed on the client side.
What Is Monster Level Display?
Monsters are typically identified only by their names and health bars. However, especially in high-level PvP servers, knowing the level of a monster becomes important. This allows players to better assess the difficulty and adjust their strategies accordingly. The level display can appear next to or below the monster's name.
Server-Side C++ Coding
Firstly, ensure that the monster level information is properly stored on the server-side, usually located in the mob_proto table. If the level column does not exist in this table, it must be added. Then, this data should be loaded during the creation of the monster instance. Within the server source code, functions like CInstanceBase::SetNameString may be used to append the level to the monster's name.
Client-Side Display
To show the level information on the client, UI files need to be modified. This is commonly done through uiscript files. A label needs to be defined in the area where the monster's name appears, which will dynamically update based on the received data from the server. For example, if the monster's name is 'Dragon' and its level is 75, it might appear as 'Dragon [Level: 75]' on screen.
Python and Py Root Integration
For Metin2 servers utilizing Python-based systems, UI updates for level display can be handled via py root. In such systems, level data from the server is processed by Python before being sent to the client. These integrations provide more flexible and modular structures. Additionally, Py GUI can be used to create more aesthetic and user-friendly interfaces, especially when working with GUI systems.
DB and Game Server Connection
Since level data is stored in the database, it must be correctly transferred between the DB and game servers. When the game server retrieves monster data from the DB, it must also read the level field. This data is transmitted to the client alongside the monster's name. Therefore, modifications may be required on both the DB core and game core levels.
System Testing and Debugging
After implementing changes, the system must be thoroughly tested to ensure proper functionality. It's essential to verify that monster level information displays correctly. Additionally, performance issues across different level ranges should be checked. Such debugging processes are critical for server stability.
Conclusion
Displaying monster levels is a small but impactful feature that can significantly improve the user experience in Metin2 private servers. With knowledge of C++ server-side development, this feature can be easily integrated. However, careful coding and testing are crucial for ensuring correct operation. Following the steps outlined in this article, a powerful visual enhancement can be implemented in Metin2 PvP systems.
Client dosyalarınızdan Userinterface klasörüne giriniz.
PythonNonPlayer.h açın:
Bu yöntem altında GetMonsterName, aşağıdakini Ekle:
Kod:
BYTE GetMobLevel(DWORD dwVnum);
Sadece ekleyin aşağıda şu:
Kod:
BYTE CPythonNonPlayer::GetMobLevel(DWORD dwVnum) { const CPythonNonPlayer::TMobTable * c_pTable = GetTable(dwVnum); if (!c_pTable) return 0; return c_pTable->bLevel; }
InstanceBase.cpp açın:
Aşağıdakine göre arama:
Kod:
m_dwLevel = c_rkCreateData.m_dwLevel;
değiştirin:
Kod:
if (GetInstanceType() == CActorInstance::TYPE_ENEMY) m_dwLevel = CPythonNonPlayer::Instance().GetMobLevel(GetRace()); else m_dwLevel = c_rkCreateData.m_dwLevel;
Ve Ardından Build Edebilirsiniz Bukadar.
Kanıt ;
- Hüseyin Urdoğan -
Moblarda Level Gösterimi Ayarlama [ C++ ]
Metin2 özel sunucularında oyun deneyimini artırmak adına geliştiriciler birçok görsel ve mekanik değişiklik yapabilir. Bu değişikliklerden birisi de mobların (NPC’lerin) level gösterimini ayarlamaktır. Genellikle varsayılan sistemde mobların level bilgisi oyuncuya gösterilmez; ancak bazı özel PvP sunucularda veya belirli oyun tarzları için bu bilgi oldukça değerlidir. Bu yazıda, C++ tabanlı Metin2 sunucu kaynak kodlarında moblara level bilgisi eklemeyi ve bu bilginin istemcide nasıl gösterileceğini anlatacağız.
Moblarda Level Gösterimi Nedir?
Moblar genellikle sadece isimleriyle ve bazen can barlarıyla tanımlanırlar. Ancak bazı durumlarda, özellikle yüksek seviye PvP sunucularında, mobların hangi levelde olduğu bilgisi önem kazanabilir. Bu sayede oyuncular, mobun zorluğunu daha kolay anlayabilir ve stratejilerini buna göre şekillendirebilir. Level gösterimi, mobun adının hemen yanında veya alt satırda belirtilerek sağlanabilir.
Sunucu Tarafında C++ Kodlama
Öncelikle, mobların level bilgisinin doğru şekilde sunucu tarafında tutulduğundan emin olmalıyız. Bu bilgi genellikle mob_proto tablosunda bulunur. Eğer bu tabloya level sütunu eklenmemişse, önce bu işlem yapılmalıdır. Daha sonra, bu bilgi oyun sırasında mob nesnesi oluşturulurken yüklenmelidir. Sunucu kaynak kodlarında, genellikle CInstanceBase::SetNameString gibi fonksiyonlar kullanılır. Burada, ismin yanına level bilgisi eklenebilir.
İstemci Tarafında Gösterim
İstemci tarafında level bilgisinin görünmesi için UI dosyalarında değişiklik yapılması gerekir. Bu işlem genellikle uiscript dosyaları aracılığıyla yapılır. Oyuncunun mobun ismini gördüğü alana, level bilgisinin de eklenebilmesi için bir label tanımlanır. Bu label, sunucudan gelen veriye göre dinamik olarak güncellenir. Örneğin, mob ismi 'Dragon' ve leveli 75 ise, ekranda 'Dragon [Level: 75]' şeklinde görünebilir.
Python ve Py Root Entegrasyonu
Python tabanlı sistemlerle çalışan bazı Metin2 sunucularında, level gösterimi için py root üzerinden UI güncellemeleri yapılabilir. Bu sistemde, sunucudan gelen level verisi Python tarafında işlenerek istemciye yansıtılır. Bu tür entegrasyonlar, daha esnek ve modüler yapılar sunar. Özellikle GUI sistemleri ile uyumlu çalışması için Py GUI kullanılarak daha estetik ve kullanıcı dostu arayüzler geliştirilebilir.
DB ve Game Sunucusu Bağlantısı
Level bilgisi veritabanında tutulduğu için, DB sunucusu ile game sunucusu arasında bu bilginin doğru aktarılması gerekir. Game sunucusu, mob bilgilerini DB'den çekerken level alanını da okumalıdır. Bu veri, istemciye gönderilirken isimle birlikte aktarılır. Bu nedenle, hem DB core hem de game core üzerinde değişiklikler yapılabilir.
Sistem Testi ve Hata Ayıklama
Değişiklikler tamamlandıktan sonra, sistemin doğru çalışıp çalışmadığı test edilmelidir. Mobların level bilgilerinin doğru şekilde gösterildiğinden emin olunmalıdır. Ayrıca, farklı level aralıklarında performans sorunları olup olmadığı kontrol edilmelidir. Bu tür hata ayıklama işlemleri, sunucu stabilitesi açısından kritiktir.
Sonuç
Moblarda level gösterimi, Metin2 özel sunucularında kullanıcı deneyimini ciddi anlamda artırabilecek küçük ama etkili bir özelliktir. C++ tabanlı sunucu geliştirme bilgisiyle bu özellik kolayca entegre edilebilir. Ancak dikkatli kodlama ve test süreçleri bu özelliğin doğru çalışması için şarttır. Bu yazıda anlatılan adımlar takip edilerek, Metin2 PvP sistemlerinde güçlü bir görsel geliştirme yapılabilir.
Adjusting Monster Level Display in Client [C++]
In Metin2 private servers, developers often implement visual and mechanical modifications to enhance the gameplay experience. One such modification is adjusting monster level display. In default systems, monsters usually do not show their level to players; however, on certain PvP-focused private servers, this information can be very valuable. This article explains how to add level information to monsters within C++ based Metin2 server sources and how this information is displayed on the client side.
What Is Monster Level Display?
Monsters are typically identified only by their names and health bars. However, especially in high-level PvP servers, knowing the level of a monster becomes important. This allows players to better assess the difficulty and adjust their strategies accordingly. The level display can appear next to or below the monster's name.
Server-Side C++ Coding
Firstly, ensure that the monster level information is properly stored on the server-side, usually located in the mob_proto table. If the level column does not exist in this table, it must be added. Then, this data should be loaded during the creation of the monster instance. Within the server source code, functions like CInstanceBase::SetNameString may be used to append the level to the monster's name.
Client-Side Display
To show the level information on the client, UI files need to be modified. This is commonly done through uiscript files. A label needs to be defined in the area where the monster's name appears, which will dynamically update based on the received data from the server. For example, if the monster's name is 'Dragon' and its level is 75, it might appear as 'Dragon [Level: 75]' on screen.
Python and Py Root Integration
For Metin2 servers utilizing Python-based systems, UI updates for level display can be handled via py root. In such systems, level data from the server is processed by Python before being sent to the client. These integrations provide more flexible and modular structures. Additionally, Py GUI can be used to create more aesthetic and user-friendly interfaces, especially when working with GUI systems.
DB and Game Server Connection
Since level data is stored in the database, it must be correctly transferred between the DB and game servers. When the game server retrieves monster data from the DB, it must also read the level field. This data is transmitted to the client alongside the monster's name. Therefore, modifications may be required on both the DB core and game core levels.
System Testing and Debugging
After implementing changes, the system must be thoroughly tested to ensure proper functionality. It's essential to verify that monster level information displays correctly. Additionally, performance issues across different level ranges should be checked. Such debugging processes are critical for server stability.
Conclusion
Displaying monster levels is a small but impactful feature that can significantly improve the user experience in Metin2 private servers. With knowledge of C++ server-side development, this feature can be easily integrated. However, careful coding and testing are crucial for ensuring correct operation. Following the steps outlined in this article, a powerful visual enhancement can be implemented in Metin2 PvP systems.
