Resimdede görüldüğü gibi damage gösterme fix.
Before.
Before.
After
Yapılış ;
root // uitarget.py açılır
Arat;
Kod:
def __LoadInformation_Default(self, race): self.AppendSeperator() self.AppendTextLine(localeInfo.TARGET_INFO_MAX_HP % str(nonplayer.GetMonsterMaxHP(race))) # calc att damage monsterLevel = nonplayer.GetMonsterLevel(race) fHitRate = self.__LoadInformation_Default_GetHitRate(race) iDamMin, iDamMax = nonplayer.GetMonsterDamage(race) iDamMin = int((iDamMin + nonplayer.GetMonsterST(race)) * 2 * fHitRate) + monsterLevel * 2 iDamMax = int((iDamMax + nonplayer.GetMonsterST(race)) * 2 * fHitRate) + monsterLevel * 2 iDef = player.GetStatus(player.DEF_GRADE) * (100 + player.GetStatus(player.DEF_BONUS)) / 100 fDamMulti = nonplayer.GetMonsterDamageMultiply(race) iDamMin = int(max(0, iDamMin - iDef) * fDamMulti) iDamMax = int(max(0, iDamMax - iDef) * fDamMulti) if iDamMin < 1: iDamMin = 1 if iDamMax < 5: iDamMax = 5 self.AppendTextLine(localeInfo.TARGET_INFO_DAMAGE % (str(iDamMin), str(iDamMax))) idx = min(len(self.EXP_BASE_LVDELTA) - 1, max(0, (monsterLevel + 15) - player.GetStatus(player.LEVEL))) iExp = nonplayer.GetMonsterExp(race) * self.EXP_BASE_LVDELTA[idx] / 100 self.AppendTextLine(localeInfo.TARGET_INFO_EXP % str(iExp))
Değiştir ;
Target Information Damage Gösterme Sorunu ve Çözümü
Metin2 özel sunucularında geliştirme yaparken karşılaşılan yaygın sorunlardan birisi, hedef bilgileri ekranında hasar miktarının doğru şekilde gösterilmemesidir. Bu durum oyuncu deneyimini ciddi şekilde etkileyebilir. Bu yazıda, Target Information Damage gösterimiyle ilgili yaşanabilecek sorunları ve çözüm önerilerini detaylıca ele alacağız.
Problemin Tanımı
Metin2 özel sunucularda genellikle Martysama veya diğer client src tabanlı sistemler kullanılır. Hasar bilgileri genellikle uiscript dosyalarında tanımlanır. Ancak bazen target information arayüzüne entegre edilen hasar göstergesi çalışmaz ya da eksik çalışabilir. Bu durumda, oyuncu saldırdığı hedefin sağlığını görsel olarak takip edemez ve ne kadar hasar verdiğini anlayamaz.
Olası Nedenler
Bu sorun birkaç farklı nedenden kaynaklanabilir:
- UIScript dosyasında eksik veya hatalı kodlama,
- Py Root veya Game tarafında gerekli veri aktarımının yapılmaması,
- Python GUI sistemlerinde tanımlanan değişkenlerin güncel olmaması,
- Client Src ile Server Src uyumsuzluğu.
Çözüm Adımları
Aşağıdaki adımlar, bu sorunu çözmek için izlenebilir:
1. Py Root klasöründe bulunan uiTarget.py dosyasını kontrol edin. Bu dosya, hedef bilgileri penceresinden sorumludur. Gerekirse, hasar verilerini alacak fonksiyonları tanımlayın veya mevcut olanları düzenleyin.
2. UIScript dosyasında, target_info_plus gibi isimler geçen GUI bileşenlerinde health_bar veya damage_text tanımlarının doğruluğundan emin olun.
3. Game sunucusunda C++ kaynak kod kısmında, hasar verilerinin doğru şekilde istemciye gönderildiğinden emin olun. Bu, genellikle Packet sistemleri üzerinden yapılır.
4. Eğer DB Core ile bir entegrasyon varsa, hasar verilerinin doğru şekilde veritabanına yazıldığını kontrol edin. Bu, debug süreçleri için önemlidir.
Geliştirme Ortamı Uyumlu mu?
Eğer Martysama veya başka bir source edit kullanıyorsanız, bu yapıların Metin2 Compile süreçlerinde uygun DLL veya EXE dosyalarının doğru derlenmesi gerekir. Özellikle client src ve server src uyumu sağlanmadığında, veri aktarımı sorunsuz gerçekleşmez.
Sonuç
Metin2 özel sunucularında target information sisteminin doğru çalışması, hem PvP hem de PvE deneyimi için kritik öneme sahiptir. Bu sistemin hasar verilerini doğru şekilde yansıtabilmesi için hem Python GUI hem de C++ sistem katmanlarında dikkatli kodlama yapılmalıdır. Bu tür küçük ama etkili düzeltmeler, sunucunuzun kalitesini artırmada büyük rol oynar.
Target Information Damage Display Issue and Fix
When developing Metin2 private servers, one of the common issues encountered is the incorrect display of damage values on the target information screen. This can significantly impact player experience. In this article, we will thoroughly examine potential problems related to Target Information Damage display and provide solution suggestions.
Problem Definition
In Metin2 private servers, usually Martysama or other client src based systems are used. Damage information is generally defined within uiscript files. However, sometimes the damage indicator integrated into the target information interface may not work or function incompletely. In such cases, players cannot visually track the health of their targets or see how much damage they have dealt.
Possible Causes
This issue may stem from several different reasons:
- Missing or incorrect coding in the UIScript file,
- Failure to perform necessary data transfers on the Py Root or Game side,
- Outdated variables defined in Python GUI systems,
- Incompatibility between Client Src and Server Src.
Solution Steps
The following steps can be followed to resolve this issue:
1. Check the uiTarget.py file located in the Py Root folder. This file is responsible for the target information window. If needed, define functions that fetch damage data or modify existing ones.
2. In the UIScript file, ensure that definitions like health_bar or damage_text in GUI components named target_info_plus are correct.
3. On the Game server, within the C++ source code section, make sure damage data is correctly sent to the client. This is typically done through Packet systems.
4. If there is integration with DB Core, verify that damage data is correctly written to the database. This is important for debugging processes.
Is Development Environment Compatible?
If you are using Martysama or another source edit, during Metin2 Compile processes, appropriate DLL or EXE files must be compiled correctly. When compatibility between client src and server src is not ensured, data transfer does not occur smoothly.
Conclusion
In Metin2 private servers, proper functioning of the target information system is critical for both PvP and PvE experiences. For this system to accurately reflect damage data, careful coding is required in both Python GUI and C++ system layers. Such small but effective fixes play a major role in enhancing your server's quality.
Kod:
def __LoadInformation_Default(self, race): self.AppendSeperator() self.AppendTextLine(localeInfo.TARGET_INFO_MAX_HP % str(nonplayer.GetMonsterMaxHP(race))) # calc att damage monsterLevel = nonplayer.GetMonsterLevel(race) fHitRate = self.__LoadInformation_Default_GetHitRate(race) iDamMin, iDamMax = nonplayer.GetMonsterDamage(race) iDamMin = int((iDamMin + nonplayer.GetMonsterST(race)) * 2 * fHitRate) + monsterLevel * 2 iDamMax = int((iDamMax + nonplayer.GetMonsterST(race)) * 2 * fHitRate) + monsterLevel * 2 iDef = player.GetStatus(player.DEF_GRADE) * (100 + player.GetStatus(player.DEF_BONUS)) / 100 fDamMulti = nonplayer.GetMonsterDamageMultiply(race) iDamMin = int(max(0, iDamMin) * fDamMulti) iDamMax = int(max(0, iDamMax) * fDamMulti) if iDamMin < 1: iDamMin = 1 if iDamMax < 5: iDamMax = 5 self.AppendTextLine(localeInfo.TARGET_INFO_DAMAGE % (str(iDamMin), str(iDamMax))) idx = min(len(self.EXP_BASE_LVDELTA) - 1, max(0, (monsterLevel + 15) - player.GetStatus(player.LEVEL))) iExp = nonplayer.GetMonsterExp(race) * self.EXP_BASE_LVDELTA[idx] / 100 self.AppendTextLine(localeInfo.TARGET_INFO_EXP % str(iExp))
Target Information Damage Gösterme Sorunu ve Çözümü
Metin2 özel sunucularında geliştirme yaparken karşılaşılan yaygın sorunlardan birisi, hedef bilgileri ekranında hasar miktarının doğru şekilde gösterilmemesidir. Bu durum oyuncu deneyimini ciddi şekilde etkileyebilir. Bu yazıda, Target Information Damage gösterimiyle ilgili yaşanabilecek sorunları ve çözüm önerilerini detaylıca ele alacağız.
Problemin Tanımı
Metin2 özel sunucularda genellikle Martysama veya diğer client src tabanlı sistemler kullanılır. Hasar bilgileri genellikle uiscript dosyalarında tanımlanır. Ancak bazen target information arayüzüne entegre edilen hasar göstergesi çalışmaz ya da eksik çalışabilir. Bu durumda, oyuncu saldırdığı hedefin sağlığını görsel olarak takip edemez ve ne kadar hasar verdiğini anlayamaz.
Olası Nedenler
Bu sorun birkaç farklı nedenden kaynaklanabilir:
- UIScript dosyasında eksik veya hatalı kodlama,
- Py Root veya Game tarafında gerekli veri aktarımının yapılmaması,
- Python GUI sistemlerinde tanımlanan değişkenlerin güncel olmaması,
- Client Src ile Server Src uyumsuzluğu.
Çözüm Adımları
Aşağıdaki adımlar, bu sorunu çözmek için izlenebilir:
1. Py Root klasöründe bulunan uiTarget.py dosyasını kontrol edin. Bu dosya, hedef bilgileri penceresinden sorumludur. Gerekirse, hasar verilerini alacak fonksiyonları tanımlayın veya mevcut olanları düzenleyin.
2. UIScript dosyasında, target_info_plus gibi isimler geçen GUI bileşenlerinde health_bar veya damage_text tanımlarının doğruluğundan emin olun.
3. Game sunucusunda C++ kaynak kod kısmında, hasar verilerinin doğru şekilde istemciye gönderildiğinden emin olun. Bu, genellikle Packet sistemleri üzerinden yapılır.
4. Eğer DB Core ile bir entegrasyon varsa, hasar verilerinin doğru şekilde veritabanına yazıldığını kontrol edin. Bu, debug süreçleri için önemlidir.
Geliştirme Ortamı Uyumlu mu?
Eğer Martysama veya başka bir source edit kullanıyorsanız, bu yapıların Metin2 Compile süreçlerinde uygun DLL veya EXE dosyalarının doğru derlenmesi gerekir. Özellikle client src ve server src uyumu sağlanmadığında, veri aktarımı sorunsuz gerçekleşmez.
Sonuç
Metin2 özel sunucularında target information sisteminin doğru çalışması, hem PvP hem de PvE deneyimi için kritik öneme sahiptir. Bu sistemin hasar verilerini doğru şekilde yansıtabilmesi için hem Python GUI hem de C++ sistem katmanlarında dikkatli kodlama yapılmalıdır. Bu tür küçük ama etkili düzeltmeler, sunucunuzun kalitesini artırmada büyük rol oynar.
Target Information Damage Display Issue and Fix
When developing Metin2 private servers, one of the common issues encountered is the incorrect display of damage values on the target information screen. This can significantly impact player experience. In this article, we will thoroughly examine potential problems related to Target Information Damage display and provide solution suggestions.
Problem Definition
In Metin2 private servers, usually Martysama or other client src based systems are used. Damage information is generally defined within uiscript files. However, sometimes the damage indicator integrated into the target information interface may not work or function incompletely. In such cases, players cannot visually track the health of their targets or see how much damage they have dealt.
Possible Causes
This issue may stem from several different reasons:
- Missing or incorrect coding in the UIScript file,
- Failure to perform necessary data transfers on the Py Root or Game side,
- Outdated variables defined in Python GUI systems,
- Incompatibility between Client Src and Server Src.
Solution Steps
The following steps can be followed to resolve this issue:
1. Check the uiTarget.py file located in the Py Root folder. This file is responsible for the target information window. If needed, define functions that fetch damage data or modify existing ones.
2. In the UIScript file, ensure that definitions like health_bar or damage_text in GUI components named target_info_plus are correct.
3. On the Game server, within the C++ source code section, make sure damage data is correctly sent to the client. This is typically done through Packet systems.
4. If there is integration with DB Core, verify that damage data is correctly written to the database. This is important for debugging processes.
Is Development Environment Compatible?
If you are using Martysama or another source edit, during Metin2 Compile processes, appropriate DLL or EXE files must be compiled correctly. When compatibility between client src and server src is not ensured, data transfer does not occur smoothly.
Conclusion
In Metin2 private servers, proper functioning of the target information system is critical for both PvP and PvE experiences. For this system to accurately reflect damage data, careful coding is required in both Python GUI and C++ system layers. Such small but effective fixes play a major role in enhancing your server's quality.
