char_item.cpp
void CHARACTER::SetWear
içerisinde
if (!item && bCell == WEAR_WEAPON)
{
if (IsAffectFlag(AFF_GWIGUM))
RemoveAffect(SKILL_GWIGEOM);
if (IsAffectFlag(AFF_GEOMGYEONG))
RemoveAffect(SKILL_GEOMKYUNG);
}
sil
bool CHARACTER::CanUnequipNow(
if (item->GetType() == ITEM_WEAPON)
{
if (IsAffectFlag(AFF_GWIGUM))
RemoveAffect(SKILL_GWIGEOM);
if (IsAffectFlag(AFF_GEOMGYEONG))
RemoveAffect(SKILL_GEOMKYUNG);
}
içine ekle
Metin2 Oyununda Işınlanma Sonrası Silahların Sönmemesi Nasıl Sağlanır?
Metin2 özel sunucularında geliştirme yapan geliştiricilerin sık karşılaştığı sorunlardan birisi, karakterin ışınlanması sonrasında hava kılıcı veya büyülü silah gibi efektlerin sönmesidir. Bu durum oyuncu deneyimini ciddi şekilde etkileyebilir. Bu yazıda, ışınlanınca hava kılıcı ve büyülü silah sönmesin sorununa yönelik çözümleri C++ tabanlı sistemler üzerinden detaylı olarak ele alacağız.
Orijinal Kaynak Kodda Neden Bu Sorun Yaşanır?
Metin2'nin orijinal yapısında, karakterin konumu değiştiğinde bazı görsel efektlerin yeniden başlatılması amaçlanmıştır. Bu sebeple ışınlanma gibi ani konum değişikliklerinde hava kılıcı, silah efekti gibi görsel ögeler otomatik olarak kapatılır. Bu davranış, istemci tarafında çalışan sistemlerden kaynaklanmaktadır. Özellikle client src üzerinde yapılan düzenlemelerle bu durum kontrol altına alınabilir.
C++ Tabanlı Çözüm: Hava Kılıcı Efektini Koruma
Bu işlemi gerçekleştirmek için game server üzerinde bazı değişiklikler yapılması gerekir. İlk olarak, char.cpp dosyasında bulunan ışınlanma fonksiyonları incelenmelidir. Burada SetPos() fonksiyonu çağrıldığında, karakterin efektlerini koruyacak şekilde yeniden başlatan özel bir mekanizma eklenmelidir. Bu işlem için SendAddFlyTargetEffect fonksiyonunun tekrar çağrılması önemlidir.
Ayrıca, Python GUI üzerinden kontrol edilen bazı efektlerin de korunması için uiscript dosyalarında gerekli düzenlemeler yapılmalıdır. Örneğin, py root içinde tanımlanan efekt atamaları, konum değişikliği sonrası da aktif kalacak şekilde yeniden yapılandırılmalıdır.
Yan Etkiler ve Dikkat Edilmesi Gerekenler
Bu tür değişikliklerin bazı yan etkileri olabilir. Örneğin, hava kılıcı efekti sürekli açık kalıyorsa, sunucuda fazladan trafik oluşabilir. Ayrıca, bazı özel efektlerin diğer karakterler tarafından yanlışlıkla görülmeleri gibi durumlar da meydana gelebilir. Bu nedenle, efektlerin sadece ilgili karaktere özel olarak korunması önemlidir.
Martysama ve Diğer Geliştirici Kaynakları
Metin2 özel sunucu geliştirme konusunda uzman isimlerden biri olan Martysama'nın sağladığı source edit örnekleri, bu tür işlemlerde büyük kolaylık sağlar. Aynı zamanda, db core ve game core üzerinde yapılan küçük değişikliklerle, bu efektlerin daha stabil çalışması sağlanabilir. Metin2Lobby olarak biz de bu konularda sizlere destek sunmaya devam ediyoruz.
Sonuç
Işınlanma esnasında hava kılıcı ve büyülü silah efektlerinin sönmemesi için hem client hem de server tarafında uygun ayarlamalar yapılması gerekir. Bu işlem, kullanıcı deneyimini artırmak için önemli bir adımdır. Uygun C++ sistem bilgisiyle bu tür geliştirmeler kolaylıkla yapılabilir. Geliştiricilerin dikkat etmesi gereken temel konu, bu değişikliklerin sunucu performansını etkilememesi için optimize edilmesidir.
How to Prevent Weapon Effects from Disappearing After Teleportation in Metin2?
One of the common issues encountered by developers working on Metin2 private servers is that visual effects like aura swords or magical weapons disappear after a character teleports. This can significantly impact player experience. In this article, we will examine solutions to ensure the aura sword and magical weapon effects do not turn off after teleportation, focusing on C++ based systems.
Why Does This Problem Occur in the Original Source Code?
In the original structure of Metin2, certain visual effects are designed to reset when the character's position changes. Therefore, during sudden location changes such as teleportation, visual elements like aura swords and weapon effects are automatically turned off. This behavior stems from client-side systems and can be controlled with modifications made to client src.
C++ Based Solution: Preserving Aura Sword Effects
To implement this, certain changes must be made on the game server. First, teleportation functions within char.cpp should be reviewed. When the SetPos() function is called, a custom mechanism must be added to restart character effects properly. It is crucial to call the SendAddFlyTargetEffect function again to maintain the effect.
Additionally, for effects controlled via Python GUI, necessary adjustments must be made in uiscript files. For example, effect assignments defined in py root should be restructured to remain active even after a location change.
Side Effects and Important Considerations
Such changes may have side effects. For instance, if aura sword effects remain active continuously, additional traffic could occur on the server. Also, there might be cases where other players incorrectly see these effects. Therefore, it is important to ensure that effects are preserved only for the relevant character.
Martysama and Other Developer Resources
Martysama, one of the well-known names in Metin2 private server development, provides helpful source edit examples for such tasks. Moreover, small adjustments to db core and game core can help these effects run more stably. At Metin2Lobby, we continue to provide support on these topics.
Conclusion
To prevent aura swords and magical weapon effects from disappearing during teleportation, appropriate adjustments must be made on both the client and server sides. This step is vital for enhancing user experience. With proper C++ system knowledge, such improvements can be implemented easily. Developers should ensure these modifications are optimized to avoid impacting server performance.
void CHARACTER::SetWear
içerisinde
if (!item && bCell == WEAR_WEAPON)
{
if (IsAffectFlag(AFF_GWIGUM))
RemoveAffect(SKILL_GWIGEOM);
if (IsAffectFlag(AFF_GEOMGYEONG))
RemoveAffect(SKILL_GEOMKYUNG);
}
sil
bool CHARACTER::CanUnequipNow(
if (item->GetType() == ITEM_WEAPON)
{
if (IsAffectFlag(AFF_GWIGUM))
RemoveAffect(SKILL_GWIGEOM);
if (IsAffectFlag(AFF_GEOMGYEONG))
RemoveAffect(SKILL_GEOMKYUNG);
}
içine ekle
Metin2 Oyununda Işınlanma Sonrası Silahların Sönmemesi Nasıl Sağlanır?
Metin2 özel sunucularında geliştirme yapan geliştiricilerin sık karşılaştığı sorunlardan birisi, karakterin ışınlanması sonrasında hava kılıcı veya büyülü silah gibi efektlerin sönmesidir. Bu durum oyuncu deneyimini ciddi şekilde etkileyebilir. Bu yazıda, ışınlanınca hava kılıcı ve büyülü silah sönmesin sorununa yönelik çözümleri C++ tabanlı sistemler üzerinden detaylı olarak ele alacağız.
Orijinal Kaynak Kodda Neden Bu Sorun Yaşanır?
Metin2'nin orijinal yapısında, karakterin konumu değiştiğinde bazı görsel efektlerin yeniden başlatılması amaçlanmıştır. Bu sebeple ışınlanma gibi ani konum değişikliklerinde hava kılıcı, silah efekti gibi görsel ögeler otomatik olarak kapatılır. Bu davranış, istemci tarafında çalışan sistemlerden kaynaklanmaktadır. Özellikle client src üzerinde yapılan düzenlemelerle bu durum kontrol altına alınabilir.
C++ Tabanlı Çözüm: Hava Kılıcı Efektini Koruma
Bu işlemi gerçekleştirmek için game server üzerinde bazı değişiklikler yapılması gerekir. İlk olarak, char.cpp dosyasında bulunan ışınlanma fonksiyonları incelenmelidir. Burada SetPos() fonksiyonu çağrıldığında, karakterin efektlerini koruyacak şekilde yeniden başlatan özel bir mekanizma eklenmelidir. Bu işlem için SendAddFlyTargetEffect fonksiyonunun tekrar çağrılması önemlidir.
Ayrıca, Python GUI üzerinden kontrol edilen bazı efektlerin de korunması için uiscript dosyalarında gerekli düzenlemeler yapılmalıdır. Örneğin, py root içinde tanımlanan efekt atamaları, konum değişikliği sonrası da aktif kalacak şekilde yeniden yapılandırılmalıdır.
Yan Etkiler ve Dikkat Edilmesi Gerekenler
Bu tür değişikliklerin bazı yan etkileri olabilir. Örneğin, hava kılıcı efekti sürekli açık kalıyorsa, sunucuda fazladan trafik oluşabilir. Ayrıca, bazı özel efektlerin diğer karakterler tarafından yanlışlıkla görülmeleri gibi durumlar da meydana gelebilir. Bu nedenle, efektlerin sadece ilgili karaktere özel olarak korunması önemlidir.
Martysama ve Diğer Geliştirici Kaynakları
Metin2 özel sunucu geliştirme konusunda uzman isimlerden biri olan Martysama'nın sağladığı source edit örnekleri, bu tür işlemlerde büyük kolaylık sağlar. Aynı zamanda, db core ve game core üzerinde yapılan küçük değişikliklerle, bu efektlerin daha stabil çalışması sağlanabilir. Metin2Lobby olarak biz de bu konularda sizlere destek sunmaya devam ediyoruz.
Sonuç
Işınlanma esnasında hava kılıcı ve büyülü silah efektlerinin sönmemesi için hem client hem de server tarafında uygun ayarlamalar yapılması gerekir. Bu işlem, kullanıcı deneyimini artırmak için önemli bir adımdır. Uygun C++ sistem bilgisiyle bu tür geliştirmeler kolaylıkla yapılabilir. Geliştiricilerin dikkat etmesi gereken temel konu, bu değişikliklerin sunucu performansını etkilememesi için optimize edilmesidir.
How to Prevent Weapon Effects from Disappearing After Teleportation in Metin2?
One of the common issues encountered by developers working on Metin2 private servers is that visual effects like aura swords or magical weapons disappear after a character teleports. This can significantly impact player experience. In this article, we will examine solutions to ensure the aura sword and magical weapon effects do not turn off after teleportation, focusing on C++ based systems.
Why Does This Problem Occur in the Original Source Code?
In the original structure of Metin2, certain visual effects are designed to reset when the character's position changes. Therefore, during sudden location changes such as teleportation, visual elements like aura swords and weapon effects are automatically turned off. This behavior stems from client-side systems and can be controlled with modifications made to client src.
C++ Based Solution: Preserving Aura Sword Effects
To implement this, certain changes must be made on the game server. First, teleportation functions within char.cpp should be reviewed. When the SetPos() function is called, a custom mechanism must be added to restart character effects properly. It is crucial to call the SendAddFlyTargetEffect function again to maintain the effect.
Additionally, for effects controlled via Python GUI, necessary adjustments must be made in uiscript files. For example, effect assignments defined in py root should be restructured to remain active even after a location change.
Side Effects and Important Considerations
Such changes may have side effects. For instance, if aura sword effects remain active continuously, additional traffic could occur on the server. Also, there might be cases where other players incorrectly see these effects. Therefore, it is important to ensure that effects are preserved only for the relevant character.
Martysama and Other Developer Resources
Martysama, one of the well-known names in Metin2 private server development, provides helpful source edit examples for such tasks. Moreover, small adjustments to db core and game core can help these effects run more stably. At Metin2Lobby, we continue to provide support on these topics.
Conclusion
To prevent aura swords and magical weapon effects from disappearing during teleportation, appropriate adjustments must be made on both the client and server sides. This step is vital for enhancing user experience. With proper C++ system knowledge, such improvements can be implemented easily. Developers should ensure these modifications are optimized to avoid impacting server performance.
