*Descriere:
Metin2 Fix Aruncarea Dragonului - Corectarea directiei efectului pe tinte in miscare
Aceasta modificare pentru corecteaza directia efectului vizual al abilitatii Aruncarea Dragonului de la clasa Shaman, astfel incat "proiectilele" sa urmeze aceeasi traiectorie cu zona in care este aplicat damage-ul, inclusiv atunci cand tinta se deplaseaza.
- Corecteaza neconcordanta dintre directia proiectilelor si efectul de la sol.
- Aliniaza proiectilele cu directia in care este orientat samanul, nu cu pozitia initiala a tintei.
- Pastreaza traiectoria proiectilelor pe intreaga distanta configurata.
- Aplica modificarea proiectilelor care nu urmaresc tinta si pot traversa mai multe tinte.
- Include compatibilitate cu sistemul Quiver, daca acesta este implementat.
*Poze / Video:
*Link download / Code:
1. Deschide fisierul Client/GameLib/FlyingObjectManager.h si cauta:
Adauga dedesubt:
2. Deschide fisierul Client/GameLib/FlyingObjectManager.cpp si cauta functia:
Adauga dupa aceasta functie:
3. Deschide fisierul Client/GameLib/FlyingData.h si cauta:
Adauga dedesubt:
4. Deschide fisierul Client/GameLib/ActorInstanceMotionEvent.cpp si cauta:
Adauga dedesubt:
5. In acelasi fisier, cauta blocul:
Adauga imediat dupa acesta:
6. Daca folosesti sistemul Quiver (ENABLE_QUIVER_SYSTEM), cauta urmatorul bloc:
Inlocuieste cu:
7. Daca nu folosesti sistemul Quiver, in locul pasului 6, cauta:
Inlocuieste cu:
*Link scanare VirusTotal (obligatoriu):
--
Metin2 Fix Aruncarea Dragonului - Corectarea directiei efectului pe tinte in miscare
Aceasta modificare pentru corecteaza directia efectului vizual al abilitatii Aruncarea Dragonului de la clasa Shaman, astfel incat "proiectilele" sa urmeze aceeasi traiectorie cu zona in care este aplicat damage-ul, inclusiv atunci cand tinta se deplaseaza.
- Corecteaza neconcordanta dintre directia proiectilelor si efectul de la sol.
- Aliniaza proiectilele cu directia in care este orientat samanul, nu cu pozitia initiala a tintei.
- Pastreaza traiectoria proiectilelor pe intreaga distanta configurata.
- Aplica modificarea proiectilelor care nu urmaresc tinta si pot traversa mai multe tinte.
- Include compatibilitate cu sistemul Quiver, daca acesta este implementat.
*Poze / Video:
- clipboard-1794007632604-1.png (693.91 KiB) Vizualizat de 139 ori
1. Deschide fisierul Client/GameLib/FlyingObjectManager.h si cauta:
Cod: Selectaţi tot
CFlyingInstance * CreateFlyingInstanceFlyTarget(const DWORD dwID, const D3DXVECTOR3 & v3StartPosition, const CFlyTarget & cr_FlyTarget, bool canAttack);
Adauga dedesubt:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.2. Deschide fisierul Client/GameLib/FlyingObjectManager.cpp si cauta functia:
Cod: Selectaţi tot
CFlyingInstance * CFlyingManager::CreateFlyingInstanceFlyTarget
Adauga dupa aceasta functie:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.3. Deschide fisierul Client/GameLib/FlyingData.h si cauta:
Cod: Selectaţi tot
const D3DXVECTOR3 & GetAcceleration() { return m_v3Accel; }
Adauga dedesubt:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.4. Deschide fisierul Client/GameLib/ActorInstanceMotionEvent.cpp si cauta:
Cod: Selectaţi tot
#include "FlyingObjectManager.h"
Adauga dedesubt:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.5. In acelasi fisier, cauta blocul:
Cod: Selectaţi tot
if (c_pFlyData->isAttaching)
{
[...]
}
Adauga imediat dupa acesta:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.6. Daca folosesti sistemul Quiver (ENABLE_QUIVER_SYSTEM), cauta urmatorul bloc:
Cod: Selectaţi tot
#ifdef ENABLE_QUIVER_SYSTEM
CFlyingInstance* pInstance = NULL;
if (m_eRace == CRaceData::RACE_ASSASSIN_W || m_eRace == CRaceData::RACE_ASSASSIN_M)
{
CRaceMotionData* pRaceMotionData = m_pkCurRaceMotionData;
if (!pRaceMotionData)
return;
const NRaceData::TMotionAttackData* c_pData = m_pkCurRaceMotionData->GetMotionAttackDataPointer();
if (NRaceData::MOTION_TYPE_NORMAL == c_pData->iMotionType)
{
if (IsEqippedQuiver())
pInstance = rfm.CreateIndexedFlyingInstanceFlyTarget(GetQuiverEffectID(), v3Start, m_kFlyTarget);
else
pInstance = rfm.CreateFlyingInstanceFlyTarget(c_pFlyData->dwFlyIndex, v3Start, m_kFlyTarget, true);
}
else if (__IsMountingHorse())
{
if (IsEqippedQuiver())
pInstance = rfm.CreateIndexedFlyingInstanceFlyTarget(GetQuiverEffectID(), v3Start, m_kFlyTarget);
else
pInstance = rfm.CreateFlyingInstanceFlyTarget(c_pFlyData->dwFlyIndex, v3Start, m_kFlyTarget, true);
}
else
pInstance = rfm.CreateFlyingInstanceFlyTarget(c_pFlyData->dwFlyIndex, v3Start, m_kFlyTarget, true);
}
else
pInstance = rfm.CreateFlyingInstanceFlyTarget(c_pFlyData->dwFlyIndex, v3Start, m_kFlyTarget, true);
#else
CFlyingInstance* pInstance = rfm.CreateFlyingInstanceFlyTarget(c_pFlyData->dwFlyIndex, v3Start, m_kFlyTarget, true);
#endif
Inlocuieste cu:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.7. Daca nu folosesti sistemul Quiver, in locul pasului 6, cauta:
Cod: Selectaţi tot
CFlyingInstance* pInstance = rfm.CreateFlyingInstanceFlyTarget(c_pFlyData->dwFlyIndex, v3Start, m_kFlyTarget, true);
Inlocuieste cu:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.*Link scanare VirusTotal (obligatoriu):
--



