Lucrăm la îmbunătățirea site-ului! Este posibil ca unele module să nu funcționeze corect!
2 mesaje
Avatar utilizator
Administrator
  • Administrator

    Autor subiect

  • Mesaje: 2,607
  • Reacții: 29002
  • Mesaje utile: 17
  • Status: Pierd vremea ^.^
  • Server: Saga2 - Soon
  • Regat: Jinno
  • Discord: [Vezi ID]
  • Contact:
    Avatar utilizator
    Administrator

    Autor subiect

    Administrator
    *Descriere:

    Mai jos aveti un FIX pentru o problema legata de atacul la saman de pe cal sau mount.

    Problema este ca atunci cand samanii ataca si au viteza de atac peste 145 puncte, acestia nu dau damage la fiecare hit. (nu se vede dmg cu galben)

    De ce se intampla acest bug vizual?
    Deoarece nu sunt sincronizate unele chestii sursa <-> client, iar animatia de la atac pe shaman este mai rapida decat proceseaza sursa binary + client, astfel dmg nu este afisat.

    Cum reproducem acest bug?
    Faceti-va un caracter de saman -> dati-va viteza de atac 200 -> urcati pe un mount -> atacati o piatra metin

    *Poze / Video:

    Dupa FIX, atacul va fi rezolvat exact ca la celalalte caractere:

    [FIX] Bug Atac Shaman si Lycan de pe Mount/Cal - Mesaj 1 - Imagine 1
    *Link download / Code:

    Deschidem ActorInstance.h si cautam:
    Code:
    protected:
            void __RunNextCombo();
            void __ClearCombo();
            void __OnEndCombo();
    
            void __ProcessDataAttackSuccess(const NRaceData::TAttackData & c_rAttackData, CActorInstance & rVictim, const D3DXVECTOR3 & c_rv3Position, UINT uiSkill = 0, BOOL isSendPacket = TRUE);
            void __ProcessMotionEventAttackSuccess(DWORD dwMotionKey, BYTE byEventIndex, CActorInstance & rVictim);
            void __ProcessMotionAttackSuccess(DWORD dwMotionKey, CActorInstance & rVictim);
    
    Adaugam sub:
    Conținut: Ascuns
    Motiv: Trebuie să reacționezi la mesaj pentru a vedea conținutul.



    Deschidem acum ActorInstanceBattle.cpp si cautam:
    Code:
    void CActorInstance::__ProcessDataAttackSuccess(const NRaceData::TAttackData & c_rAttackData, CActorInstance & rVictim, const D3DXVECTOR3 & c_rv3Position, UINT uiSkill, BOOL isSendPacket)
    {
        if (NRaceData::HIT_TYPE_NONE == c_rAttackData.iHittingType)
            return;
    
        InsertDelay(c_rAttackData.fStiffenTime);
    
        if (__CanPushDestActor(rVictim) && c_rAttackData.fExternalForce > 0.0f)
        {
            __PushCircle(rVictim);
    
            // VICTIM_COLLISION_TEST
            const D3DXVECTOR3& kVictimPos = rVictim.GetPosition();
            rVictim.m_PhysicsObject.IncreaseExternalForce(kVictimPos, c_rAttackData.fExternalForce); //*nForceRatio/100.0f);
    
            // VICTIM_COLLISION_TEST_END
        }
    
        // Invisible Time
        if (IS_PARTY_HUNTING_RACE(rVictim.GetRace()))
        {
            if (uiSkill) // ÆÄƼ »ç³É ¸ó½ºÅÍ¶óµµ ½ºÅ³ÀÌ¸é ¹«Àû½Ã°£ Àû¿ë
                rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;
    
            if (m_isMain) // #0000794: [M2KR] Æú¸®¸ðÇÁ - ¹ë·±½Ì ¹®Á¦ ŸÀÎ °ø°Ý¿¡ ÀÇÇÑ ¹«Àû ŸÀÓÀº °í·ÁÇÏÁö ¾Ê°í Àڽаø°Ý¿¡ ÀÇÇѰ͸¸ üũÇÑ´Ù
                rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;
        }
        else // ÆÄƼ »ç³É ¸ó½ºÅͰ¡ ¾Æ´Ò °æ¿ì¸¸ Àû¿ë
        {
            rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + c_rAttackData.fInvisibleTime;
        }
    Inlocuim sau adaptam (vezi #ifdef __ENABLE_SHAMAN_ATTACK_FIX__):

    Conținut: Ascuns
    Motiv: Trebuie să reacționezi la mesaj pentru a vedea conținutul.



    Adaugam la sfarsitul fisierului:
    Code:
    #ifdef __ENABLE_SHAMAN_ATTACK_FIX__
    float CActorInstance::__GetInvisibleTimeAdjust(const UINT uiSkill, const NRaceData::TAttackData& c_rAttackData) {
    
        static const int shamanw = 3, shamanm = 7;
    
        if ((GetRace() != shamanw && GetRace() != shamanm) ||
            uiSkill != 0 ||
            m_fAtkSpd < 1.3)
            return 0.0f;
    
        const auto scale = (m_fAtkSpd - 1.3) / 1.3;
        const auto inv = c_rAttackData.fInvisibleTime * 0.5;
        return inv * scale;
    }
    #endif
    Nota! Aveti grija sa aveti urmatorul include:
    Code:
    #include "../UserInterface/Locale_inc.h"

    Pentru Lycan, cautam:
    Code:
    shamanm = 7
    Adaugam:
    Conținut: Ascuns
    Motiv: Trebuie să reacționezi la mesaj pentru a vedea conținutul.


    Cautam:
    Code:
    	if ((GetRace() != shamanw && GetRace() != shamanm) ||
    		uiSkill != 0 ||
    		m_fAtkSpd < 1.3)
    		return 0.0f;
    Adaptam:
    Conținut: Ascuns
    Motiv: Trebuie să reacționezi la mesaj pentru a vedea conținutul.

    Cum descarc de pe TeraBox?

    • 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)
    • Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele

    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
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/Kr9nUpWa4X

    Suntem aproape 1000 membri! - Avem chat activ zilnic, support, cereri, resurse.



    See full signature
    Tag-uri:

    🔥 Hai pe Discord! - Chat activ și support direct

    Te așteptăm și pe serverul de Discord - aici ne-am strâns toată comunitatea de Metin2 din România.

    Alătură-te acum!
    1300+ de membri activi!
    Robot Discord
    Roboțelu'
    Anunț
    Avatar utilizator
    Administrator
  • Administrator

    Autor subiect

  • Mesaje: 2,607
  • Reacții: 29002
  • Mesaje utile: 17
  • Status: Pierd vremea ^.^
  • Server: Saga2 - Soon
  • Regat: Jinno
  • Discord: [Vezi ID]
  • Contact:
    Avatar utilizator
    Administrator

    Autor subiect

    Administrator
    Am adaugat FIX si pentru lycan, care suferea de aceeasi boala :))
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/Kr9nUpWa4X

    Suntem aproape 1000 membri! - Avem chat activ zilnic, support, cereri, resurse.



    See full signature

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
    Scrie răspuns

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Înregistrează-te și alătură-te comunității noastre

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra rapid utilizând contul tău de Discord sau Github

    Înregistrare

    Autentifică-te

    • Subiecte similare

      • de [HF]White » » în FIX-uri
        0
        Răspunsuri
        1177
        Vizualizări
        de [HF]White
      • de [HF]White » » în FIX-uri
        0
        Răspunsuri
        1671
        Vizualizări
        de [HF]White
      • de [HF]White » » în Efecte
        0
        Răspunsuri
        354
        Vizualizări
        de [HF]White
      • de [HF]White » » în Îmbunătățiri
        0
        Răspunsuri
        1233
        Vizualizări
        de [HF]White
      • de [HF]White » » în FIX-uri
        0
        Răspunsuri
        199
        Vizualizări
        de [HF]White

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: qPastarnac, szemi3942 și 1 vizitator