<blockquote data-attributes="member: 296675" data-quote="Leons1997" data-source="post: 20427187" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
for client:
Duygu Kullanırken Item Bloklama, Silah, Effect ve Skillerin Gözükmemesi (Like Official)
Metin2 özel sunucularında yetenekli geliştiricilerin dikkat ettiği önemli konulardan birisi, oyuncu deneyimini artırmak için resmi sunucuların sunduğu görsel kaliteyi yakalamaktır. Özellikle PvP sistemlerinde veya duygusal etkileşimlerde, bazı öğelerin (örneğin silahlar, efektler, item bloklamalar) görünmemesi istenebilir. Bu durum hem estetik hem de oyun içi denge açısından önemlidir. Bu yazıda, Duygu kullanırken item bloklama, silah, efekt ve skillerin gözükmemesi konusunu detaylı olarak ele alacağız.
Duygu Sistemi Nedir?
Metin2'de duygular, karakterlerin belirli animasyonları yapmasını sağlar. Örneğin sevinç, üzüntü, öfke gibi duygular karakterin görsel olarak ifade edilmesini sağlar. Ancak bu animasyonlar sırasında bazı durumlarda silah, efekt ya da item bloklaması gibi öğelerin görünmemesi istenir. Bu özellikle PvP esnasında karakterin net bir şekilde görülmesi için kritiktir.
Problemin Kaynağı
Normalde Metin2 özel sunucularında duygular aktifken silah ve efektler hâlâ ekranda kalır. Bu durum, oyuncuların birbirlerini net görememesine neden olabilir. Bu da PvP maçlarında adaletsiz avantajlara yol açabilir. Ayrıca bazı geliştiriciler, karakterin duygusal anlatımını daha net göstermek isteyebilir. Bu durumda silah ve diğer objelerin gizlenmesi gerekebilir.
Geliştirme Ortamında Çözüm
Metin2 özel sunucularında bu problemi çözmek için genellikle C++ tabanlı client-side değişiklikler yapılır. Geliştiriciler, karakterin duygusal anlatımına özel bir fonksiyon yazarak, bu esnada silah, efekt ve item bloklaması gibi öğelerin geçici olarak gizlenmesini sağlayabilirler. Bu işlem için root ve uiscript dosyalarında değişiklik yapılması gerekir.
Silah Gizleme (Weapon Hide)
Silah gizleme işlemi için C++ tarafında bir kontrol mekanizması oluşturulur. Duygu başlatıldığında, silah modeli ve efektleri geçici olarak görünmez hale getirilir. Bu işlem, karakterin animasyonuna entegre edilir ve duygusal animasyon bitene kadar silah ekranı terkeder. Bu yöntem, martysama ve benzeri sistemlerde yaygın olarak kullanılır.
Item Bloklama ve Efektlerin Kontrolü
Benzer şekilde item bloklama efektleri de duygu esnasında devre dışı bırakılabilir. Bu işlem için Python tabanlı sistemlerde py root üzerinde değişiklikler yapılır. Duygu başlatıldığında, item bloklama efektleri geçici olarak kapatılır. Bu sayede karakterin animasyonu net bir şekilde izlenebilir.
Skill Efektlerinin Gizlenmesi
Skill efektleri de duygusal animasyon esnasında görünmemelidir. Bu, oyuncuların net bir şekilde duygusal durumu görebilmesi için önemlidir. Geliştiriciler, skill efektlerini duygusal animasyon süresince devre dışı bırakan bir sistem tasarlayabilir. Bu sistem, game server programming süreçleriyle entegre çalışır.
Sonuç
Metin2 özel sunucularında duygusal animasyon esnasında item bloklama, silah ve skill efektlerinin gizlenmesi, kullanıcı deneyimini ciddi anlamda artırır. Bu işlem, C++ ve Python tabanlı sistemlerle kolayca entegre edilebilir. Bu tür geliştirmeler, sunucunuzun kalitesini artırarak oyuncuların dikkatini çekebilir. Metin2lobby.com olarak, bu tür gelişmiş sistemlerin uygulanmasında yardımcı olmaya devam ediyoruz.
Hiding Items, Weapons, Effects and Skills While Emoting (Like Official)
One of the key concerns for skilled developers on Metin2 private servers is achieving the visual quality offered by official servers to enhance the player experience. Especially during PvP systems or emotional interactions, it may be desirable for certain elements such as weapons, effects, or item blocks not to appear. This approach is important both aesthetically and in terms of game balance. In this article, we will examine in detail how to hide items, weapons, effects, and skills while emoting.
What is the Emotion System?
In Metin2, emotions allow characters to perform specific animations. For example, joy, sadness, anger are expressed visually through character animations. However, during these animations, sometimes it might be desired that items like weapons, effects, or item blocking do not appear. This is particularly critical during PvP matches to ensure clear visibility of the characters.
The Root of the Problem
Normally, in Metin2 private servers, weapons and effects remain visible even during emotion animations. This can cause players to not see each other clearly, which may lead to unfair advantages during PvP matches. Additionally, some developers might want to emphasize the emotional expression of the character more clearly. In such cases, hiding weapons and other objects becomes necessary.
Solution in Development Environment
To solve this issue in Metin2 private servers, usually C++-based client-side modifications are applied. Developers can write custom functions to temporarily hide weapons, effects, and item blocks during emotional expressions. This process requires modifications in root and uiscript files.
Weapon Hiding
To implement weapon hiding, a control mechanism must be built into the C++ side. When an emotion starts, the weapon model and its effects become temporarily invisible. This integration occurs within the character animation and lasts until the emotional animation ends. This method is commonly used in systems like martysama.
Controlling Item Blocking and Effects
Similarly, item blocking effects can also be disabled during emotional animations. This is achieved by modifying py root files in Python-based systems. When an emotion begins, item blocking effects are temporarily turned off, allowing the character's animation to be viewed clearly.
Hiding Skill Effects
Skill effects should also not appear during emotional animations. This ensures that players can clearly observe the emotional state of the character. Developers can design a system that temporarily disables skill effects during the duration of emotional animations. This system works integrated with game server programming processes.
Conclusion
Hiding item blocks, weapons, and skill effects during emotional animations in Metin2 private servers significantly enhances user experience. These modifications can be easily integrated using C++ and Python-based systems. Implementations like these can increase the quality of your server and attract more attention from players. At Metin2lobby.com, we continue to assist in implementing such advanced systems.
Kod:
// herhangi public: classının içine ekleyin: bool isOnEmotion; // Arat: LPEVENT m_pkWarpEvent; // Altına ekle: LPEVENT m_emotionEvent;
Kod:
// Arat: m_iAlignment = 0; // Üstüne ekle: isOnEmotion = false;
Kod:
// Arat: if (DestCell.IsEquipPosition()) // Fonksiyon içine ekle: if (isOnEmotion) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("MOTION_CHANGE_BLOCK")); return false; } // Arat: if (count == 0 || count >= item->GetCount() || !item->IsStackable() || IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_STACK)) // Fonksiyon içine ekle: if (isOnEmotion) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("MOTION_CHANGE_BLOCK")); return false; } // Arat: bool CHARACTER::UnequipItem(LPITEM item) // Altına ekle: if (isOnEmotion) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("MOTION_CHANGE_BLOCK")); return false; } // Arat: bool CHARACTER::EquipItem(LPITEM item, int iCandidateCell) // Altına ekle: if (isOnEmotion) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("MOTION_CHANGE_BLOCK")); return false; }
Kod:
// Arat: #include "wedding.h" // Altına ekle: #include "config.h" // Arat: ACMD(do_emotion) // Üstüne ekle: EVENTINFO(block_changeweapon) { LPCHARACTER me; LPCHARACTER target; block_changeweapon() : me(NULL) , target(NULL) { } }; EVENTFUNC(block_changeweapon_event) { block_changeweapon * info = dynamic_cast<block_changeweapon*>(event->info); if (info == NULL) return 0; LPCHARACTER ch = info->me; LPCHARACTER target = info->target; if (ch) ch->isOnEmotion = false; if (target) target->isOnEmotion = false; return 0; } // Arat: ACMD(do_emotion) // İçinde bul: ++len; // Altına ekle: block_changeweapon * info = AllocEventInfo<block_changeweapon>(); info->me = ch; info->target = victim; ch->isOnEmotion = true; if (victim) victim->isOnEmotion = true; ch->m_emotionEvent = event_create(block_changeweapon_event, info, PASSES_PER_SEC(emotion_types[i].extra_delay));
Kod:
// Arat: if (pinfo->bFunc == FUNC_MOVE) // İçinde bul: ch->Goto(pinfo->lX, pinfo->lY); // Altına ekle: if (ch->isOnEmotion) { ch->isOnEmotion = false; event_cancel(&ch->m_emotionEvent); } // Arat: ch->StopStaminaConsume(); // Altına ekle: if (ch->isOnEmotion) { ch->isOnEmotion = false; event_cancel(&ch->m_emotionEvent); }
for client:
Kod:
// Arat: void CInstanceBase::Update() // İçinde bul: m_GraphicThingInstance.MotionProcess(IsPC()); // Altına ekle: //aXs EmotionHideWeapon if (m_GraphicThingInstance.__GetCurrentMotionIndex() < CRaceMotionData::NAME_CLAP || m_GraphicThingInstance.__GetCurrentMotionIndex() == CRaceMotionData::NAME_DIG) { if (m_GraphicThingInstance.GetPartItemID(CRaceData::PART_WEAPON) != m_awPart[CRaceData::PART_WEAPON]) { m_GraphicThingInstance.AttachWeapon(m_awPart[CRaceData::PART_WEAPON]); CItemData* pItemData; if (CItemManager::Instance().GetItemDataPointer(m_awPart[CRaceData::PART_WEAPON], &pItemData)) #ifdef ENABLE_SHINING_SYSTEM { __GetRefinedEffect(pItemData); __GetShiningEffect(pItemData); } #else __GetRefinedEffect(pItemData); #endif if (IsAffect(AFFECT_GEOMGYEONG)) __Warrior_SetGeomgyeongAffect(true); if (IsAffect(AFFECT_GWIGEOM)) __AttachEffect(EFFECT_AFFECT + AFFECT_GWIGEOM); } } else if (m_GraphicThingInstance.GetPartItemID(CRaceData::PART_WEAPON)) { m_GraphicThingInstance.AttachWeapon(0); __ClearWeaponRefineEffect(); #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(); #endif if (IsAffect(AFFECT_GEOMGYEONG)) __Warrior_SetGeomgyeongAffect(false); if (IsAffect(AFFECT_GWIGEOM)) __DetachEffect(EFFECT_AFFECT + AFFECT_GWIGEOM); } //aXs EmotionHideWeapon
Kod:
// Arat: WORD __GetCurrentMotionIndex(); fonksiyon protected: classında | onu public: classına alın ki veri çekebilelim.
Duygu Kullanırken Item Bloklama, Silah, Effect ve Skillerin Gözükmemesi (Like Official)
Metin2 özel sunucularında yetenekli geliştiricilerin dikkat ettiği önemli konulardan birisi, oyuncu deneyimini artırmak için resmi sunucuların sunduğu görsel kaliteyi yakalamaktır. Özellikle PvP sistemlerinde veya duygusal etkileşimlerde, bazı öğelerin (örneğin silahlar, efektler, item bloklamalar) görünmemesi istenebilir. Bu durum hem estetik hem de oyun içi denge açısından önemlidir. Bu yazıda, Duygu kullanırken item bloklama, silah, efekt ve skillerin gözükmemesi konusunu detaylı olarak ele alacağız.
Duygu Sistemi Nedir?
Metin2'de duygular, karakterlerin belirli animasyonları yapmasını sağlar. Örneğin sevinç, üzüntü, öfke gibi duygular karakterin görsel olarak ifade edilmesini sağlar. Ancak bu animasyonlar sırasında bazı durumlarda silah, efekt ya da item bloklaması gibi öğelerin görünmemesi istenir. Bu özellikle PvP esnasında karakterin net bir şekilde görülmesi için kritiktir.
Problemin Kaynağı
Normalde Metin2 özel sunucularında duygular aktifken silah ve efektler hâlâ ekranda kalır. Bu durum, oyuncuların birbirlerini net görememesine neden olabilir. Bu da PvP maçlarında adaletsiz avantajlara yol açabilir. Ayrıca bazı geliştiriciler, karakterin duygusal anlatımını daha net göstermek isteyebilir. Bu durumda silah ve diğer objelerin gizlenmesi gerekebilir.
Geliştirme Ortamında Çözüm
Metin2 özel sunucularında bu problemi çözmek için genellikle C++ tabanlı client-side değişiklikler yapılır. Geliştiriciler, karakterin duygusal anlatımına özel bir fonksiyon yazarak, bu esnada silah, efekt ve item bloklaması gibi öğelerin geçici olarak gizlenmesini sağlayabilirler. Bu işlem için root ve uiscript dosyalarında değişiklik yapılması gerekir.
Silah Gizleme (Weapon Hide)
Silah gizleme işlemi için C++ tarafında bir kontrol mekanizması oluşturulur. Duygu başlatıldığında, silah modeli ve efektleri geçici olarak görünmez hale getirilir. Bu işlem, karakterin animasyonuna entegre edilir ve duygusal animasyon bitene kadar silah ekranı terkeder. Bu yöntem, martysama ve benzeri sistemlerde yaygın olarak kullanılır.
Item Bloklama ve Efektlerin Kontrolü
Benzer şekilde item bloklama efektleri de duygu esnasında devre dışı bırakılabilir. Bu işlem için Python tabanlı sistemlerde py root üzerinde değişiklikler yapılır. Duygu başlatıldığında, item bloklama efektleri geçici olarak kapatılır. Bu sayede karakterin animasyonu net bir şekilde izlenebilir.
Skill Efektlerinin Gizlenmesi
Skill efektleri de duygusal animasyon esnasında görünmemelidir. Bu, oyuncuların net bir şekilde duygusal durumu görebilmesi için önemlidir. Geliştiriciler, skill efektlerini duygusal animasyon süresince devre dışı bırakan bir sistem tasarlayabilir. Bu sistem, game server programming süreçleriyle entegre çalışır.
Sonuç
Metin2 özel sunucularında duygusal animasyon esnasında item bloklama, silah ve skill efektlerinin gizlenmesi, kullanıcı deneyimini ciddi anlamda artırır. Bu işlem, C++ ve Python tabanlı sistemlerle kolayca entegre edilebilir. Bu tür geliştirmeler, sunucunuzun kalitesini artırarak oyuncuların dikkatini çekebilir. Metin2lobby.com olarak, bu tür gelişmiş sistemlerin uygulanmasında yardımcı olmaya devam ediyoruz.
Hiding Items, Weapons, Effects and Skills While Emoting (Like Official)
One of the key concerns for skilled developers on Metin2 private servers is achieving the visual quality offered by official servers to enhance the player experience. Especially during PvP systems or emotional interactions, it may be desirable for certain elements such as weapons, effects, or item blocks not to appear. This approach is important both aesthetically and in terms of game balance. In this article, we will examine in detail how to hide items, weapons, effects, and skills while emoting.
What is the Emotion System?
In Metin2, emotions allow characters to perform specific animations. For example, joy, sadness, anger are expressed visually through character animations. However, during these animations, sometimes it might be desired that items like weapons, effects, or item blocking do not appear. This is particularly critical during PvP matches to ensure clear visibility of the characters.
The Root of the Problem
Normally, in Metin2 private servers, weapons and effects remain visible even during emotion animations. This can cause players to not see each other clearly, which may lead to unfair advantages during PvP matches. Additionally, some developers might want to emphasize the emotional expression of the character more clearly. In such cases, hiding weapons and other objects becomes necessary.
Solution in Development Environment
To solve this issue in Metin2 private servers, usually C++-based client-side modifications are applied. Developers can write custom functions to temporarily hide weapons, effects, and item blocks during emotional expressions. This process requires modifications in root and uiscript files.
Weapon Hiding
To implement weapon hiding, a control mechanism must be built into the C++ side. When an emotion starts, the weapon model and its effects become temporarily invisible. This integration occurs within the character animation and lasts until the emotional animation ends. This method is commonly used in systems like martysama.
Controlling Item Blocking and Effects
Similarly, item blocking effects can also be disabled during emotional animations. This is achieved by modifying py root files in Python-based systems. When an emotion begins, item blocking effects are temporarily turned off, allowing the character's animation to be viewed clearly.
Hiding Skill Effects
Skill effects should also not appear during emotional animations. This ensures that players can clearly observe the emotional state of the character. Developers can design a system that temporarily disables skill effects during the duration of emotional animations. This system works integrated with game server programming processes.
Conclusion
Hiding item blocks, weapons, and skill effects during emotional animations in Metin2 private servers significantly enhances user experience. These modifications can be easily integrated using C++ and Python-based systems. Implementations like these can increase the quality of your server and attract more attention from players. At Metin2lobby.com, we continue to assist in implementing such advanced systems.
