[FIX] Sol üstte gözükmeyen "Ejderha Tanrı Saldırısı" düzenlemesi.

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

Admin

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

Ne yapılırsa yapılsın, düzelmeyen bir sorun çünkü konularda belirtilen çözümler benim gibi bir çok kullanıcının Clientinde olan farklı bir problemden kaynaklanıyor.

Çözüm için aşağıdaki yolu takip edelim.

Item_proto (SQL ya da TXT fark etmez) açtığımızda Ejderha Tanrı Saldırısı eşyalı itemin 86 numaralı efekti verdiğini görüyoruz.

155901_8621893cd86877f2ae12c4c6145327fd.png


GameSRC/Common/Length.h'ı açtığımızda ise 86. numaranın aslında ATT_BONUS ya da ATT_MALLBONUS olmadığını görüyoruz.

155903_f7224795d843daaa02c8402766f7f758.png


ClientSRC/UserInterface/PythonPlayerModule.cpp içerisinde de bu APPLY_COSTUME_ATTR_BONUS, isimli efektimizin tanımlanmadığından dolayı bu sorunu yaşadığımızı artık anlayabiliyoruz.

Hadi şimdi bunu tanımlayalım.

ClientSRC/UserInterface/PythonPlayerModule.cpp

Kod:
----------- Arat     PyModule_AddIntConstant(poModule, "ENERGY_END_TIME",        POINT_ENERGY_END_TIME); ---------- Altına Ekle     PyModule_AddIntConstant(poModule, "POINT_COSTUME_ATTR_BONUS", POINT_COSTUME_ATTR_BONUS);     PyModule_AddIntConstant(poModule, "POINT_MAGIC_ATT_BONUS_PER", POINT_MAGIC_ATT_BONUS_PER);     PyModule_AddIntConstant(poModule, "POINT_MELEE_MAGIC_ATT_BONUS_PER", POINT_MELEE_MAGIC_ATT_BONUS_PER);

ClientSRC/UserInterface/Packet.h

Kod:
-- Arat     POINT_ENERGY_END_TIME = 129,         -- Point'lerin olduğu en son satıra ekle     POINT_COSTUME_ATTR_BONUS,     POINT_MAGIC_ATT_BONUS_PER,     POINT_MELEE_MAGIC_ATT_BONUS_PER,

Örnek

155905_121d6b65fc20d23cfe0ead1bd4437d02.png



Root/Uiaffectshower.py

Kod:
-- Arat             MALL_DESC_IDX_START+player.POINT_MALL_ATTBONUS : (localeInfo.TOOLTIP_MALL_ATTBONUS_STATIC, "icon/item/71028.tga",), -- Bulamazsan Bunu Arat             MALL_DESC_IDX_START+player.POINT_ATT_BONUS : (localeInfo.TOOLTIP_MALL_ATTBONUS_STATIC, "icon/item/71028.tga",), -- Altına Ekle                         MALL_DESC_IDX_START+player.POINT_MELEE_MAGIC_ATT_BONUS_PER : (localeInfo.TOOLTIP_MALL_ATTBONUS_STATIC, "icon/item/71028.tga",),

Hiç biri olmadı ise 86 numaralı value'yi 64 de yapabilirsiniz.
Bundan sonrası sizinle ilgili bir problem olduğu anlamına geliyor çünkü.

Kanıt :

155907_a0d75203b4ecf74358fba3da039c5779.png

Metin2 Özel Sunucularında karşılaşılan yaygın sorunlardan birisi, kullanıcı arayüzünde belirli görsellerin ya da efektlerin doğru şekilde görünmemesidir. Bu durum genellikle özel sistemlerin yanlış entegrasyonundan veya UI dosyalarındaki küçük hatalardan kaynaklanabilir. Bu makalemizde, Sol Üstte Gözükmemeye Başlayan 'Ejderha Tanrı Saldırısı' Düzenlemesi konusunu detaylıca ele alacağız. Bu sorun özellikle PvP sunucularında aktif olan sistemlerde daha sık görülmektedir. Bu tür özel sistemlerin doğru çalışması, hem oyun deneyimini artırır hem de oyuncu memnuniyetini olumlu yönde etkiler.

Sorun Nedir?

Metin2 özel sunucularında, 'Ejderha Tanrı Saldırısı' gibi özel PvP etkinlikleri sırasında bazı görsel efektlerin veya bilgilendirme metinlerinin sol üst köşede gözükmesi beklenir. Ancak bazı durumlarda bu görsel bildirim ya tamamen yoktur ya da yanlış bir pozisyonda yer alır. Bu durum, oyuncuların olaylardan haberdar olamamasına neden olabilir. Özellikle turnuvalar ya da zaman sınırlı aktivitelerde bu durum ciddi bir dezavantaj yaratır.

Olası Nedenler

Bu sorun genellikle aşağıdaki sebeplerden birinden kaynaklanmaktadır:

- UI dosyalarında pozisyon tanımlamalarının eksik ya da yanlış olması.
- Uiscript veya root klasöründeki Python dosyalarında eksik veya hatalı kod blokları.
- Client ve sunucu arasında senkronizasyon eksikliği.
- Martysama veya diğer kaynaklarda yapılan özel düzenlemelerin çakışması.

Çözüm Adımları

Öncelikle, 'Ejderha Tanrı Saldırısı' bildirimlerinin hangi dosya üzerinden yönetildiğini belirlememiz gerekir. Genellikle bu dosyalar uiscript klasöründe yer alır. Örneğin, DragonSoulWindow.py veya benzeri isimler taşıyan dosyalar incelenmelidir. Ardından aşağıdaki adımları izleyin:

1. Pozisyon Ayarlarını Kontrol Et: Sol üst köşede gözükmesi gereken arayüz öğesinin koordinatlarının doğru olduğundan emin olun. Genellikle bu değerler X=0, Y=0 civarında ayarlanır.

2. Python Kodlarını İnceleyin: py root klasöründe yer alan ilgili Python dosyasında, bildirimin gösterilip gösterilmediğini kontrol edin. Eğer if koşulu veya show() fonksiyonu eksikse, bu durumda arayüzde gözükmez.

3. Sunucu Taraflı Kodları Gözden Geçirin: Game server üzerinde ilgili sistem tetiklendiğinde, istemciye doğru mesajların gönderildiğinden emin olun. Bu genellikle src klasöründe yer alan C++ dosyalarında tanımlanır.

4. Martysama veya Diğer Paketlerle Uyum: Eğer özel bir paket veya tema kullanıyorsanız, bu paketin UI dosyalarının ana yapıyla çakışmadığından emin olun. Bazı temalar, bildirim alanlarını farklı konumlara taşımış olabilir.

Ekstra İpuçları

- Oyunun derlenme sürecinde hata alınıp alınmadığını kontrol edin. Compile esnasında ortaya çıkan hatalar, UI öğelerinin düzgün çalışmamasına neden olabilir.
- Eğer Python GUI ile çalışan bir yapı varsa, PyGUI veya Tkinter[/CR] gibi kütüphanelerin doğrudan etkileşimi olabilir. Ancak bu Metin2 için genellikle önerilmez.

Sonuç

Metin2 özel sunucularında 'Ejderha Tanrı Saldırısı' bildirimi gibi sistemsel olaylar, oyuncu katılımını artırmak ve oyun içi etkinlikleri organize etmek açısından kritik öneme sahiptir. Sol üst köşede gözükmesi gereken bu bildirimin eksik kalması, kullanıcı deneyimini ciddi şekilde etkileyebilir. Bu nedenle, hem client hem de server tarafında gerekli kontrolleri yaparak, bu tür sorunları minimuma indirmek önemlidir. Yazılım geliştirme süreçlerinde dikkat edilmesi gereken detaylar, genellikle bu tarz küçük ama büyük etkiler yaratan sorunlardır.


In Metin2 Private Servers, one of the common issues encountered is certain visuals or effects not appearing correctly on the user interface. This issue usually stems from incorrect integration of custom systems or minor errors in UI files. In this article, we will examine in detail the problem where the 'Dragon God Attack' modification does not appear in the top-left corner. This issue occurs more frequently in PvP-oriented servers where special systems are active. Correct operation of such custom systems enhances both gameplay experience and player satisfaction.

What Is The Problem?

In Metin2 private servers, during events like 'Dragon God Attack', visual effects or notifications are expected to appear in the top-left corner of the screen. However, sometimes these visual notifications either do not appear at all or are displayed in an incorrect position. This can prevent players from being aware of ongoing events, especially during tournaments or time-limited activities, which can create a significant disadvantage.

Possible Causes

This issue typically stems from one of the following reasons:

- Missing or incorrect position definitions in UI files.
- Missing or erroneous code blocks in Python files located in the uiscript or root folder.
- Lack of synchronization between client and server.
- Conflicts caused by custom modifications from sources like Martysama or other packages.

Solution Steps

Firstly, we need to identify which file manages the 'Dragon God Attack' notifications. Usually, these files are located within the uiscript folder. For example, files named DragonSoulWindow.py or similar should be examined. Then follow the steps below:

1. Check Position Settings: Ensure that the coordinates for the UI element supposed to appear in the top-left corner are set correctly. These values are usually around X=0, Y=0.

2. Examine Python Code: Check the relevant Python file located in the py root folder to ensure the notification is actually being shown. If an if condition or show() function is missing, the UI element will not appear.

3. Review Server-Side Code: Ensure that the correct messages are sent to the client when the related system is triggered on the game server. This is usually defined in C++ files located in the src folder.

4. Compatibility with Martysama or Other Packages: If you're using a custom package or theme, make sure its UI files do not conflict with the main structure. Some themes might relocate notification areas to different positions.

Additional Tips

- Check whether any compilation errors occurred during the build process. Errors during compile may cause UI elements to malfunction.
- If the system uses Python GUI, libraries like PyGUI or Tkinter might interfere directly; however, these are generally not recommended for Metin2.

Conclusion

Systemic events like the 'Dragon God Attack' notification in Metin2 private servers are critically important for increasing player engagement and organizing in-game activities. Missing notifications that should appear in the top-left corner can significantly impact user experience. Therefore, performing necessary checks on both client and server sides to minimize such issues is essential. The details to pay attention to during software development processes often result in small but impactful problems like these.
 

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

Benzer konular

Geri
Üst Alt