PythonNonPlayerModule.cpp aç
Kod:
static PyMethodDef s_methods[*] =[/FONT]
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ekle
Kod:
PyObject * nonplayerGetMonsterName(PyObject * poSelf, PyObject * poArgs)
Tıkla
Altına Ekle
-------------------------------------
root > uitarget.py
Kod:
def SetEnemyVID(self, vid)
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Değiştir.
---------------------
Aynı pyde
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ekle
-----------------------
Aynı pyde
Kod:
self.hpGauge = hpGauge
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ekle
Kod:
def Destroy(self):
arat
Kod:
self.hpText = None self.hpPercenttxt = None
ekle.
Kod:
def SetHP(self, hpPercentage)
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Değiştir.
İyi Forumlar.
Metin2 Lobby - Mobların Exp Lerini Görme
Metin2 özel sunucularında geliştirme yaparken bazı sistemlerin kullanıcı deneyimini artırmak için özelleştirilmesi gerekir. Bu sistemlerden birisi de oyuncuların moblardan alacağı EXP miktarını görebilmesidir. Bu özellik, oyuncuların hangi mobları daha verimli şekilde avlamaları gerektiğini belirlemelerine yardımcı olur. Bu yazıda, Metin2 özel sunucularında moblardan alınan EXP miktarının nasıl görülebileceği ve bu özelliğin nasıl geliştirilebileceği ele alınacaktır.
EXP Gösterimi Nedir?
EXP (Experience) yani tecrübe puanı, oyuncuların seviye atlaması için gereken temel unsurlardan biridir. Metin2'de her mobun bir.EXP değeri vardır ve bu değer, öldürüldüğünde oyuncuya kazandırdığı tecrübe puanını gösterir. Varsayılan sistemde bu bilgi oyunculara doğrudan gösterilmez. Ancak geliştirici olarak bu sistemi değiştirebilir ve moblara EXP değerlerini gösterecek şekilde özelleştirebilirsiniz.
Neden EXP Miktarı Görülmeli?
Oyuncuların hangi moblardan daha fazla EXP alabileceklerini bilmesi, oyun içi stratejilerini geliştirmelerine yardımcı olur. Özellikle yeni başlayan oyuncular için bu bilgi oldukça faydalıdır. Ayrıca, sunucu sahipleri oyun dengesini koruyabilmek adına hangi mobların ne kadar EXP verdiklerini takip edebilirler.
EXP Bilgilerinin Oyuncuya Gösterilmesi
Bu işlem için genellikle client tarafında değişiklik yapılması gerekir. UI Script dosyalarında (uiscript), mob adlarının üzerine gelindiğinde ya da sağ tıklanıldığında.EXP bilgisinin görüntülenebilmesi için arayüzde bir metin alanı oluşturulmalıdır. Bu alanın doğru verileri gösterebilmesi için game server tarafında gerekli verilerin gönderilmesi gerekir.
C++ Sunucu Tarafında Değişiklik
Game server tarafında.EXP bilgileri, karakterin mobu öldürdüğü anda hesaplanır. Bu bilginin istemciye gönderilmesi için özel bir paket tanımlanabilir. Paket yapısı, oyuncu tarafından bir mob öldürüldüğünde.EXP miktarının client tarafına gönderilmesini sağlar. Bu paketin doğru tanımlanması ve aktarılması, sistemin düzgün çalışması için kritiktir.
Python Arayüz Geliştirme
Client tarafında bu bilginin görüntülenmesi için Python tabanlı GUI (Graphical User Interface) kullanılır. Py Root dosyalarında, mobun.EXP bilgisi için bir metin kutusu tanımlanabilir. Bu kutu, mobun adının yanına ya da bir bilgi penceresi şeklinde gösterilebilir. Kullanıcı dostu bir arayüz tasarımı, bu sistemin daha etkili kullanılmasını sağlar.
Veritabanı (DB) Entegrasyonu
EXP değerleri, genellikle mobların veritabanında (db) tutulan verileriyle ilişkilidir. Mobların.EXP bilgileri, monstdropitem tablosunda veya mob_proto tablosunda tanımlanmıştır. Bu verilerin doğru şekilde okunup kullanıcıya gösterilmesi için DB tarafında sorgular düzenlenmelidir.
Sunucu Performansı Üzerindeki Etkisi
EXP bilgilerinin gösterilmesi, özellikle çok oyunculu sunucularda performans üzerinde küçük de olsa bir etkiye sahip olabilir. Her mobun.EXP verisinin istemciye gönderilmesi, veri trafiğini artırabilir. Bu nedenle, bu sistemin optimize edilmesi önemlidir. Paket boyutları minimize edilmeli ve veri akışı kontrol altında tutulmalıdır.
Sonuç
Metin2 özel sunucularında moblardan alınan.EXP miktarını göstermek, hem oyuncu deneyimini artıran hem de sunucu yöneticileri için değerli bir özelliktir. Bu özelliği uygulamak için hem client hem de server tarafında değişiklikler yapılmalıdır. C++, Python, veritabanı ve UI script gibi teknolojiler bir araya getirilerek bu sistem başarıyla entegre edilebilir. Metin2 Lobby olarak bu konuda size destek olmaya devam ediyoruz.
Metin2 Lobby - Seeing Mob EXP Values
When developing Metin2 private servers, certain systems need to be customized to enhance the user experience. One such system is enabling players to see the EXP amount they receive from mobs. This feature helps players decide which mobs are more efficient to hunt. In this article, we will discuss how to display EXP values from mobs in Metin2 private servers and how to develop this feature.
What is EXP Display?
EXP (Experience) points are one of the essential elements for players to level up. In Metin2, each mob has an EXP value that indicates the experience points gained upon killing it. By default, this information is not directly shown to players. However, as a developer, you can customize this system to display EXP values on mobs.
Why Should EXP Amounts Be Visible?
Knowing which mobs provide higher EXP can help players improve their in-game strategies. This information is particularly useful for newer players. Additionally, server owners can monitor how much EXP each mob provides to maintain game balance.
Displaying EXP Info to Players
This process usually requires modifications on the client side. Within UI script files (uiscript), a text area must be created to show EXP values when hovering over or right-clicking a mob. For this area to display correct data, the required information must be sent from the game server side.
Server-Side Changes with C++
On the game server side, EXP values are calculated when a character kills a mob. To send this data to the client, a custom packet can be defined. The structure of this packet ensures that the EXP amount is transmitted to the client when a player kills a mob. Proper definition and transmission of this packet are critical for the system to function correctly.
Python GUI Development
To display this information on the client side, a Python-based GUI (Graphical User Interface) is used. In Py Root files, a textbox can be defined to show the EXP value of a mob. This box can appear next to the mob's name or within an info window. A user-friendly interface design makes this system more effective.
Database (DB) Integration
EXP values are usually tied to the data stored in the database (db) about mobs. These values are typically defined in tables like monstdropitem or mob_proto. Proper queries must be set up in the DB to ensure these values are read and displayed to users accurately.
Impact on Server Performance
Displaying EXP values can have a minor impact on performance, especially in multiplayer servers. Sending EXP data for each mob to clients may increase data traffic. Therefore, optimizing this system is important. Packet sizes should be minimized, and data flow should be kept under control.
Conclusion
Displaying EXP amounts from mobs in Metin2 private servers is a valuable feature that enhances player experience and aids server administrators. Implementing this feature requires changes on both the client and server sides. Technologies such as C++, Python, databases, and UI scripts can be combined to successfully integrate this system. At Metin2 Lobby, we continue to support you in this area.
