- Katılım
- 6 Mayıs 2022
- Konular
- 48,291
- Mesajlar
- 48,601
- Tepkime puanı
- 75
- M2 Yaşı
- 3 yıl 11 ay 10 gün
- Trophy Puan
- 48
- M2 Yang
- 488,879
Açıklama: 71048 numaralı Cinsiyet Değiştirme Tılsımı kullanarak karakterin cinsiyetini değiştirdikten sonra, sadece Erkek veya Kadın karakterlere özel bir kostüm veya saç kullanırsanız, yeniden giriş yaptıktan sonra bu eşyalar karakter üzerinde kalmaya devam eder. Bu düzeltme (fix), yeniden girişten sonra bu hatalı şekilde takılı kalan eşyaların envantere düşmesini sağlar.
Kod:
static bool FN_check_item_sex(LPCHARACTER ch, LPITEM item)
Kod:
bool FN_check_item_sex(LPCHARACTER ch, LPITEM item) { if (IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_MALE)) return SEX_MALE != GET_SEX(ch); if (IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_FEMALE)) return SEX_FEMALE != GET_SEX(ch); return true; }
Kod:
if (item->CheckItemUseLevel(ch->GetLevel()) == true )
Kod:
if (item->CheckItemUseLevel(ch->GetLevel()) == true && FN_check_item_sex(ch, item) == true)
Kod:
[HASH=3]#endif[/HASH]l FN_check_item_sex(LPCHARACTER ch, LPITEM item);
Cinsiyet Degiştikten Sonra İtem Cıkmama Fix
Metin2 özel sunucularında cinsiyet değiştirme işlemi sonrasında oyuncuların bazı itemlerin doğru şekilde düşmemesi gibi sorunlarla karşılaşması oldukça yaygın bir problemdir. Bu durum, oyuncu deneyimini ciddi şekilde etkileyebilir ve sunucunuzdaki oyuncu memnuniyetini düşürebilir. Bu yazıda, cinsiyet değişikliğinden sonra item düşmeme sorununu nasıl çözeceğinizi detaylı olarak ele alacağız.
Sorunun Neden Kaynağı Nedir?
Metin2 özel sunucularda cinsiyet değiştirme işlemi sırasında bazı sistemsel verilerin eksik ya da yanlış işlenmesi sebebiyle, oyuncunun sahip olduğu eşyaların düşürülme mekanizması bozulabilir. Özellikle karakter veritabanında cinsiyet bilgisinin güncellenirken bazı alanlar eksik kalmaktadır. Bu da itemlerin görünmemesine veya oyuncunun item alamamasına neden olur.
Fix Uygulama Adımları
Bu hatayı düzeltmek için öncelikle sunucu tarafında game server dosyalarında gerekli düzenlemelerin yapılması gerekir. Özellikle character_manager.cpp ve char_item.cpp[/COORD] gibi dosyalarda cinsiyet değişiminden sonra item listesinin yeniden yüklenmesi gerekebilir.
Ayrıca, cinsiyet değiştirildikten sonra item slot yapısının da yeniden kontrol edilmesi önemlidir. Bu işlem sırasında bazı itemlerin slot numaraları değişebilir veya itemler görünmez hale gelebilir. Bu yüzden cinsiyet değişikliği sonrası item slotlarının tekrar yüklenmesini sağlayan bir fonksiyon yazılması önerilir.
Python Tarafında Çözüm
Client tarafında da uiscript veya py_root dosyalarında cinsiyet değişiminden sonra item slotlarını yeniden başlatan bir yapı kurulabilir. Özellikle Python GUI üzerinden item arayüzünü güncelleyen bir sistem tasarımı bu soruna kalıcı çözüm sunabilir.
Sunucu Taraflı Kod Örneği
Kod:
[B][COLOR=#9365b8]def RefreshInventoryAfterGenderChange(char_id):[BR][/BR] ClearCharacterSlots(char_id)[BR][/BR] ReloadCharacterItems(char_id)[/COLOR][/B]
Yukarıdaki gibi bir fonksiyon yardımıyla, cinsiyet değişikliği sonrası itemlerin doğru şekilde tekrar yüklenebilmesi sağlanabilir.
Test ve Doğrulama
Fix uygulandıktan sonra, hem auth server hem de game server üzerinde testler yapılmalıdır. Oyuncuların cinsiyet değişiminden sonra itemlerini normal şekilde kullanabildiklerinden emin olunmalıdır. Bu işlemde db_core üzerinden veri tutarlılığı kontrolü de yapılmalıdır.
Sonuç
Metin2 özel sunucularda cinsiyet değişikliği sonrası item düşmeme problemi, doğru sistemsel yaklaşımla çözülebilir. Bu fix sayesinde oyuncuların oyun içi deneyimi korunabilir ve sunucunuzdaki aktif kullanıcı sayısı artırılabilir. Daha fazla Metin2 geliştirme kaynağı için Metin2Lobby sitesini takip edin.
Fix for Items Not Appearing After Gender Change
In Metin2 private servers, players often face issues where items do not drop correctly after changing their character's gender. This issue can significantly affect player experience and decrease user satisfaction on your server. In this article, we will address how to fix the problem of items not dropping after gender change in detail.
What Causes This Issue?
During gender change operations in Metin2 private servers, some systemic data may be processed incorrectly or incompletely. Specifically, certain fields in the character database might remain unchanged during the update of the gender information. This leads to items becoming invisible or unobtainable by the player.
Steps to Apply the Fix
To resolve this error, you first need to make necessary adjustments in the game server files. Files such as character_manager.cpp and char_item.cpp may require updates to ensure that the item list is reloaded after a gender change.
Additionally, the item slot structure must be rechecked after gender change. During this process, the slot numbers of some items may change or become invisible. Therefore, writing a function to reload item slots after gender change is recommended.
Solution in Python
On the client side, structures within uiscript or py_root files can be set up to reset item slots after gender change. Designing a system via Python GUI that refreshes the item interface can offer a permanent solution to this issue.
Server-Side Code Example
Kod:
[B][COLOR=#9365b8]def RefreshInventoryAfterGenderChange(char_id):[BR][/BR] ClearCharacterSlots(char_id)[BR][/BR] ReloadCharacterItems(char_id)[/COLOR][/B]
Using a function like the one above ensures that items are properly reloaded after gender change.
Testing and Verification
After applying the fix, tests should be conducted on both the auth server and game server. Ensure that players can use their items normally after changing gender. Data consistency checks should also be performed through db_core.
Conclusion
The issue of items not appearing after gender change in Metin2 private servers can be resolved with the correct systematic approach. With this fix, player in-game experience can be preserved and active user count on your server can be increased. For more Metin2 development resources, follow the Metin2Lobby website.
