si dupa ce faceti fix-ul asta mai jos va las
fix la effect-ul ala mov de la stelth skill care nu se vede la alti playeri
1. GameLib/ActorInstance.h
In struct TAttachingEffect, add a field after isAttaching:
Replace void HideAllAttachingEffect(); with:
void HideAllAttachingEffect(bool bKeepProtected = false);
void KeepAttachingEffectVisible(DWORD dwEffectIndex);
2. GameLib/ActorInstanceAttach.cpp
In AttachEffectByID, after ae.isAttaching = TRUE; add:
ae.isKeepVisible = FALSE;
In the race-data
effect block (ATTACHING_DATA_TYPE_EFFECT), after ae.isAttaching = TRUE; add:
ae.isKeepVisible = FALSE;
Replace HideAllAttachingEffect and add the new function below it:
void CActorInstance::HideAllAttachingEffect(bool bKeepProtected)
{
std::list<TAttachingEffect>::iterator it;
for(it = m_AttachingEffectList.begin(); it!= m_AttachingEffectList.end();++it)
{
if (bKeepProtected && it->isKeepVisible)
continue;
CEffectManager::Instance().SelectEffectInstance(it->dwEffectIndex);
CEffectManager::Instance().HideEffect();
#ifdef __ENABLE_STEALTH_FIX__
CEffectManager::Instance().ApplyAlwaysHidden();
#endif
}
}
void CActorInstance::KeepAttachingEffectVisible(DWORD dwEffectIndex)
{
std::list<TAttachingEffect>::iterator it;
for(it = m_AttachingEffectList.begin(); it!= m_AttachingEffectList.end();++it)
{
if (it->dwEffectIndex == dwEffectIndex)
{
it->isKeepVisible = TRUE;
break;
}
}
}
3. GameLib/ActorInstanceMotionEvent.cpp, in ProcessMotionEventEffectEvent
Change the AttachEffectByID (inside if (c_pEffectData->isFollowing)) to:
if (c_pEffectData->isFollowing)
{
AttachEffectByID(0,
c_pEffectData->strAttachingBoneName.c_str(),
c_pEffectData->dwEffectIndex,
&c_pEffectData->v3EffectPosition);
}
With:
if (c_pEffectData->isFollowing)
{
DWORD dwEID = AttachEffectByID(0,
c_pEffectData->strAttachingBoneName.c_str(),
c_pEffectData->dwEffectIndex,
&c_pEffectData->v3EffectPosition);
KeepAttachingEffectVisible(dwEID);
}
Change the last AttachEffectByID (the final else branch) to:
{
AttachEffectByID(0, NULL, c_pEffectData->dwEffectIndex, &c_pEffectData->v3EffectPosition);
}
With;
{
DWORD dwEID = AttachEffectByID(0, NULL, c_pEffectData->dwEffectIndex, &c_pEffectData->v3EffectPosition);
KeepAttachingEffectVisible(dwEID);
}
4. UserInterface/InstanceBase.cpp, in the CInstanceBase::Render() loop
Replace the inside of the loop with:
if (pkInstEach->IsAffect(AFFECT_EUNHYEONG) || pkInstEach->IsAffect(AFFECT_INVISIBILITY))
{
if (CPythonPlayer::Instance().IsMainCharacterIndex(pkInstEach->GetVirtualID()))
continue;
const bool bStealthOnly = pkInstEach->IsAffect(AFFECT_EUNHYEONG) && !pkInstEach->IsAffect(AFFECT_INVISIBILITY);
pkInstEach->m_GraphicThingInstance.HideAllAttachingEffect(bStealthOnly);
}
GM te vede ca este smecher
Player PLA