3 mesaje
Administrator Administrator
  • Mesaje: 4521
  • Reacții: 94230
  • Mesaje utile: 44
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Atunci cand folosesti mantia curajului si te muti din locul in care le-ai folosit, mobii se vor duce in continuare tot acolo.

    Doar dupa, te vor urmari la locatia noua.

    Acest "fix" rezolva aceasta problema, iar mobii te vor urmarii exact acolo unde te aflii, chiar daca te misti intre timp.

    *Poze / Video:
    Inainte:


    Dupa FIX:

    *Link download / Code:

    Deschidem char_state.cpp si cautam:
    Code:
    void CHARACTER::StateMove()
    Cautam mai jos:
    Code:
    if (IsMonster() && GetVictim())
    {
        LPCHARACTER victim = GetVictim();
        UpdateAggrPoint(victim, DAMAGE_TYPE_NORMAL, -(victim->GetLevel() / 3 + 1));
    
        if (g_test_server)
        {
            SetNowWalking(false);
        }
    }
    Dupa aceasta linie:
    Code:
    UpdateAggrPoint(victim, DAMAGE_TYPE_NORMAL, -(victim->GetLevel() / 3 + 1));
    Adaugam urmatorul cod:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Compilam si cam asta e :)

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

    Suntem aproape 2000 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:





    See full signature
    Membru Avansat Membru Avansat
  • Mesaje: 121
  • Reacții: 472
  • Mesaje utile: 2
  • Status: // Coding: 1% writing, 99% fixing typos.
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Membru Avansat
    Membru Avansat

    Mesaj de thewolf98 »

    testat, functioneaza perfect, Iti multimim White ^_^

    See full signature
    Membru Ucenic Membru Ucenic
  • Mesaje: 17
  • Reacții: 70
  • Mesaje utile: 0
  • Status: exec army.cfg
  • Server: Vision2 - PVP FARM
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de Achilles »

    Pentru cine are probleme cu sync la mobi dupa fix asta (mai exact cand dai mantii si mobii nu-si iau dmg/nu dau dmg si raman pe loc pentru cateva secunde si apoi se intorc la locul lor):
    in char_state.cpp
    cauta:

    if (dwElapsedTime > 500) {
    __CHARACTER_GotoNearTarget(this, victim);
    }

    inlocuieste cu:

    if (dwElapsedTime > m_dwMoveDuration * 0.75f)
    {
    float fDistToVictim = DISTANCE_APPROX(GetX() - victim->GetX(), GetY() - victim->GetY());
    if (fDistToVictim >= GetMobAttackRange() * 1.15f)
    __CHARACTER_GotoNearTarget(this, victim);
    }

    si in char_battle.cpp

    if (pAttacker && dam > 0 && IsNPC())
    {
    //PROF_UNIT puRest20("Rest20");
    TDamageMap::iterator it = m_map_kDamage.find(pAttacker->GetVID());

    if (it == m_map_kDamage.end())
    {
    m_map_kDamage.insert(TDamageMap::value_type(pAttacker->GetVID(), TBattleInfo(dam, 0)));
    it = m_map_kDamage.find(pAttacker->GetVID());
    }
    else
    {
    it->second.iTotalDamage += dam;
    }
    //puRest20.Pop();

    //PROF_UNIT puRest21("Rest21");
    StartRecoveryEvent();
    //puRest21.Pop();

    //PROF_UNIT puRest22("Rest22");
    UpdateAggrPointEx(pAttacker, type, dam, it->second);
    //puRest22.Pop();
    }

    dupa StartRecoveryEvent();
    adaugam:
    SetLastAttacked(get_dword_time()); //


    o sa arate cam asa

    if (pAttacker && dam > 0 && IsNPC())
    {
    TDamageMap::iterator it = m_map_kDamage.find(pAttacker->GetVID());

    if (it == m_map_kDamage.end())
    {
    m_map_kDamage.insert(TDamageMap::value_type(pAttacker->GetVID(), TBattleInfo(dam, 0)));
    it = m_map_kDamage.find(pAttacker->GetVID());
    }
    else
    {
    it->second.iTotalDamage += dam;
    }

    StartRecoveryEvent();
    SetLastAttacked(get_dword_time()); // <-- adaugă aici
    UpdateAggrPointEx(pAttacker, type, dam, it->second);
    }
    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

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


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

    Înregistrare

    Autentifică-te

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: DEVE, nonsoc, SajtosCsipsz și 3 vizitatori

    Discord ID copiat: