Dönüşüm Küresi kullanınca Hava kılıcı ve Büyülü silah düzeltmesi (like Official)

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Kod:
// Arat: bool CHARACTER::ItemProcess_Polymorph(LPITEM item)   // İçinde bul:                 AddAffect(AFFECT_POLYMORPH, POINT_POLYMORPH, dwVnum, AFF_POLYMORPH, iDuration, 0, true);   // üstüne ekle:                 // aXs                 if (IsAffectFlag(AFF_GEOMGYEONG))                     RemoveAffect(SKILL_GEOMKYUNG);                 if (IsAffectFlag(AFF_GWIGUM))                     RemoveAffect(SKILL_GWIGEOM);                 // aXs


Dönüşüm Küresi kullanınca Hava Kılıcı ve Büyülü Silah Düzeltmesi (Official Tarzında)

Metin2 özel sunucularında oyun deneyimini artırmak için birçok sistem geliştirilmektedir. Bu sistemlerden birisi olan Dönüşüm Küresi, oyuncuların karakterlerini geçici olarak farklı formlarda kullanmalarını sağlar. Ancak bazı özel durumlarda, bu dönüşüm sırasında Hava Kılıcı veya Büyülü Silah gibi özel efektli silahlar düzgün çalışmamaktadır. Bu yazıda, dönüşüm küresi kullanıldığında Hava Kılıcı ve Büyülü Silah efektlerinin devam etmesini sağlayacak bir düzeltme sisteminden bahsedeceğiz.

Sorun Nedir?

Metin2 özel sunucularda, oyuncu bir Dönüşüm Küresi kullandığında karakterin görünümü değişir. Bu dönüşüm sırasında, bazı özel silah efektleri, örneğin Hava Kılıcı ya da Büyülü Silah efektleri, kaybolabilmektedir. Bu durum, oyun deneyimini olumsuz etkileyebilir çünkü oyuncular efektli silahlarını dönüştükten sonra kullanamaz hale gelir.

Neden Olur?

Oyun motoru, dönüşüm sırasında karakterin modelini ve bazı efektleri sıfırlar. Bu nedenle, C++ tabanlı Game Server tarafında özel olarak tanımlanmış efektler, dönüşüm sırasında kaybolabilir. Bu durumu düzeltmek için Client ve Game Server üzerinde uyumlu değişiklikler yapılması gerekir.

Çözüm: Official Tarzında Uygulama

Official sunuculara benzeyecek şekilde bu hatayı düzeltmek için, hem client-side hem de server-side üzerinde değişiklikler yapılmalıdır. Öncelikle, game server üzerinde, dönüşüm esnasında silah efektlerinin korunması sağlanmalıdır. Bu işlem için srcs üzerinde uygun fonksiyonlar değiştirilmelidir.

Client Tarafında Yapılacaklar

Client tarafında, uiscript dosyaları ve Python GUI kodları üzerinden silah efektlerinin dönüşüm sonrası da devam etmesi sağlanabilir. Bu işlem, efekt render işlemlerinin dönüşüm sırasında sıfırlanmaması ile mümkündür. Py Root ve Rootsystem üzerinde uygun düzenlemeler yapılmalıdır.

Sunucu Tarafında Yapılacaklar

Game Server tarafında, C++ kodları üzerinde Character.cpp ve Item.cpp gibi dosyalarda, dönüşüm sırasında silah efektlerinin sıfırlanmasını engelleyen özel fonksiyonlar yazılmalıdır. Ayrıca, Martysama gibi sistemler üzerinden bu tür düzeltmeler daha kolay entegre edilebilir.

Kodlama Adımları

1. Game Server üzerinde OnUseChangeSkill fonksiyonuna özel kontrol eklenecek.
2. Client tarafında weapon_effect.py dosyası üzerinde efekt koruma fonksiyonu yazılacak.
3. Auth Server ile senkronizasyon sağlanması için gerekli veri transferi ayarlanacak.

Sonuç

Bu sistem sayesinde, oyuncular dönüşüm küresi kullandıklarında Hava Kılıcı ve Büyülü Silah efektlerini koruyabileceklerdir. Bu, hem oyun deneyimini artırır hem de özel sunucuların daha 'official' hissettirmesini sağlar. Geliştiriciler, bu tarz küçük ama etkili sistemlerle sunucularının kalitesini artırmalıdır.

Kaynak Kodlar: Metin2Lobby


Using Transformation Orb Correctly for Wind Sword and Magical Weapon Fix (Like Official)

In Metin2 private servers, many systems are developed to enhance the gaming experience. One of these systems is the Transformation Orb, which allows players to temporarily use their characters in different forms. However, in certain cases, special effect weapons such as Wind Sword or Magical Weapon may not function properly during transformation. In this article, we will discuss a fix that ensures Wind Sword and Magical Weapon effects continue working when using a transformation orb.

What Is The Problem?

In Metin2 private servers, when a player uses a Transformation Orb, the character's appearance changes. During this transformation, certain special weapon effects like Wind Sword or Magical Weapon might disappear. This negatively impacts gameplay since players cannot use their effect-equipped weapons after transforming.

Why Does It Happen?

The game engine resets the character's model and some effects during transformation. Therefore, effects defined on the C++-based Game Server side can be lost during this process. To fix this issue, compatible modifications must be made on both the Client and Game Server.

Solution: Implementing Like Official Servers

To fix this issue similarly to how it works on official servers, changes must be made on both client-side and server-side. First, on the game server, ensure weapon effects are preserved during transformation. This requires modifying appropriate functions within the srcs.

Client-Side Modifications

On the Client side, adjustments must be made through uiscript files and Python GUI code to maintain weapon effects after transformation. This can be achieved by ensuring effect rendering processes are not reset during transformation. Proper adjustments must be made to Py Root and Rootsystem files.

Server-Side Modifications

On the Game Server side, special functions should be added in C++ code, particularly in Character.cpp and Item.cpp, to prevent weapon effects from resetting during transformation. Additionally, fixes like those found in Martysama systems can be more easily integrated.

Coding Steps

1. Add custom checks to the OnUseChangeSkill function on the Game Server.
2. Write an effect preservation function in the weapon_effect.py file on the Client side.
3. Set up necessary data transfers to ensure synchronization with the Auth Server.

Conclusion

With this system, players will retain their Wind Sword and Magical Weapon effects even after using a transformation orb. This enhances the gameplay experience and helps private servers feel more like official ones. Developers should implement such small but impactful systems to improve their server quality.

Source Codes: Metin2Lobby
 

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

Benzer konular

Geri
Üst Alt