Jump to content

Fix Invisibility and Skill Affect Eunhyeong


Recommended Posts

Hey,

Today i will show you how you can fix easy the invisibility effect bug and the AFFECT_EUNHYEONG = sealth ninja skill from 17.5 Official update.

InstanceBase.cpp (Is hiding the ninja from the minimap)

Spoiler

Search for:

Spoiler

BOOL CInstanceBase::IsInvisibility()

{

    if (IsAffect(AFFECT_INVISIBILITY))
        return true;

    return false;

}

 

Replace with:

Spoiler

BOOL CInstanceBase::IsInvisibility()
{
    if (IsAffect(AFFECT_INVISIBILITY) || IsAffect(AFFECT_EUNHYEONG))
        return true;

    return false;
}

 

Search for:

Spoiler

void CInstanceBase::Render()
{

Inside the function search for:

 m_GraphicThingInstance.Render();

Add bellow:

  1.     CPythonCharacterManager & rkChrMgr = CPythonCharacterManager::Instance();
  2.  
  3.     for (auto ptr = rkChrMgr.CharacterInstanceBegin(); ptr != rkChrMgr.CharacterInstanceEnd(); ++ptr)
  4.     {
  5.         CInstanceBase * pkInstEach = *ptr;
  6.  
  7.         if (pkInstEach)
  8.         {
  9.             if (pkInstEach->IsAffect(AFFECT_EUNHYEONG) || pkInstEach->IsAffect(AFFECT_INVISIBILITY))
  10.             {
  11.                 if (CPythonPlayer::Instance().IsMainCharacterIndex(pkInstEach->GetVirtualID()))
  12.                     continue;
  13.  
  14.                 pkInstEach->m_GraphicThingInstance.HideAllAttachingEffect();
  15.             }
  16.         }
  17.     }

 

InstanceBaseEffect.cpp

Search for:

Spoiler

void CInstanceBase::__SetAffect(UINT eAffect, bool isVisible)
{

Inside the function search:

        case AFFECT_INVISIBILITY:
            if (isVisible)
            {
                m_GraphicThingInstance.ClearAttachingEffect();
                __EffectContainer_Destroy();
                DetachTextTail();
            }
            else
            {
                m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
                AttachTextTail();
                RefreshTextTail();
            }
            return;
            break;

}

Replace with:

Spoiler

        case AFFECT_INVISIBILITY:
            if (isVisible)
            {
                // m_GraphicThingInstance.ClearAttachingEffect();
                // __EffectContainer_Destroy();
                // DetachTextTail();
                m_GraphicThingInstance.HideAllAttachingEffect();
            }
            else
            {
                m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
                m_GraphicThingInstance.ShowAllAttachingEffect();

                // AttachTextTail();
                // RefreshTextTail();
            }
            return;
            break;

 

  • Metin2 Dev 2
  • Love 17
Link to comment
Share on other sites

  • 2 weeks later...

Thank you for this release, but it has a small bug. Make your GM character invisible, then zoom in your chatracter. You will se your character all it effects like GM logo, and skill effects. Then use Ninja hiding skill, and make this camera movement again with another character next to the ninja char. You will see the armor effects on the ninja :)

 

  • Love 2
Link to comment
Share on other sites

thx for sharing this fix 

but there is still one bug with m_GraphicThingInstance.HideAllAttachingEffect(); that when any player zoom to gm he can see his gm logo

 https://metin2.download/picture/uq37GLp9hzMK0vWbvUmAojq9YZWtntLe/.png

 

hopefully you can fix it

 

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 1
  • Good 3
  • Love 3
Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...
  • 2 weeks later...
On 11/21/2018 at 5:59 PM, Tatsumaru said:

One problem in the instancebase.cpp file. Other players do not see the visualization of skills. Is anyone able to fix it?

giphy.webp

That problem is exist in official too, when i got some more time i will check more to find a solution, but atm idk.

Edited by Metin2 Dev
Core X - External 2 Internal
  • Love 5
Link to comment
Share on other sites

  • 3 weeks later...
En 21/11/2018 a las 12:59, Tatsumaru dijo:

One problem in the instancebase.cpp file. Other players do not see the visualization of skills. Is anyone able to fix it?

giphy.webp

This is what you want?

2mu7KQx.gif

(the delay is because I've tested in a online sv and my conection is bad)

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • Honorable Member
20 minut temu, xUniverse napisał:

This is what you want?

2mu7KQx.gif

(the delay is because I've tested in a online sv and my conection is bad)

will the ninja disappear from the radar of the shaman?

Edited by Metin2 Dev
Core X - External 2 Internal

GhwYizE.gif

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...
En 3/2/2019 a las 1:22, Mind Rapist dijo:

Anyone has this fix?

I've modified the CInstanceBase::__Assassin_SetEunhyeongAffect(bool isVisible) in InstanceBaseEffect.cpp.

1. If the player have the affect: the function destroys (with __EffectContainer_Destroy) all effects.
2. If the affect ends: I've created two new functions (RefreshRefinedEffect and RefreshAffectEffect) that "reload" the attached effects again.

For the moment the only bug I found is: if you login with the affect, all effects will be shown again...

Does anyone have another idea?

Link to comment
Share on other sites

On 2/17/2019 at 11:05 AM, xUniverse said:

I've modified the CInstanceBase::__Assassin_SetEunhyeongAffect(bool isVisible) in InstanceBaseEffect.cpp.

1. If the player have the affect: the function destroys (with __EffectContainer_Destroy) all effects.
2. If the affect ends: I've created two new functions (RefreshRefinedEffect and RefreshAffectEffect) that "reload" the attached effects again.

For the moment the only bug I found is: if you login with the affect, all effects will be shown again...

Does anyone have another idea?

That gives me an idea! If someone knows the name of the colored effect that fires on skill activation (not the skill's affect itself) just the effect around the player, we can exclude it from being executed during __EffectContainer_Destroy.

Link to comment
Share on other sites

  • 4 weeks later...

Thanks for the code, I used a bit.
Fix is not correct, because it's just hiding effects and the player(and GM) from another kingdom sees on the minimap of the opponent.
But I respect and appreciate!
So far, I managed to do it for now:
https://youtu.be/wvN5Io_tXL8
But I do not have time to refine the code, I will definitely do it and share it someday!

  • Metin2 Dev 1
  • Good 1
  • Love 1
Link to comment
Share on other sites

  • 10 months later...
  • 4 weeks later...

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.