Administrator
Administrator
  • Mesaje: 4965
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 125336
  • Mesaje utile: 47
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • *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:
    [FIX] Directie Skill Aruncarea Dragonului - Mesaj 1 - Imagine 1
    clipboard-1794007632604-1.png (693.91 KiB) Vizualizat de 139 ori
    *Link download / Code:
    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.



    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.



    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.



    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.



    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.



    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.



    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.


    *Link scanare VirusTotal (obligatoriu):
    --

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    See full signature

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: cmod_, danielionut8535 și 3 vizitatori

    Discord ID copiat: