Гайд Fixing update_clientside_animation

Забаненный
Статус
Оффлайн
Регистрация
13 Июн 2022
Сообщения
10
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
What the fuck is it for?

I'll make it short. You have these top lines in your legendware
C++:
        g_ctx.globals.updating_animation = true; // including update player animation
                e->update_clientside_animation(); // including update client side animation
                g_ctx.globals.updating_animation = false;  // turning off update player animation
we also switch to the update_clientside_animation function
And what do we see?
C++:
void player_t::update_clientside_animation()
{
    if (!this) //-V704
        return;

    auto animstate = get_animation_state();

    if (!animstate)
        return;

    if (animstate->m_iLastClientSideAnimationUpdateFramecount >= m_globals()->m_framecount) //-V614
        animstate->m_iLastClientSideAnimationUpdateFramecount = m_globals()->m_framecount - 1;

    using Fn = void(__thiscall*)(void*);
    call_virtual<Fn>(this, g_ctx.indexes.at(13))(this);
}
Is there anything confusing to you?

If not, look.
First of all, this check is not in the game for a very long time m_iLastClientSideAnimationUpdateFramecount .
Secondly we need to turn on and off m_bClientSideAnimation
And it's not here.
I give you my version with the notes and modifications
C++:
void player_t::update_clientside_animation() // maybe have anti-paste
{
    if (!this || !get_animation_state() || m_clientstate()->iDeltaTick == -1) //check
        return;// Repeat

    //if (get_animation_state()->m_iLastClientSideAnimationUpdateFramecount == m_globals()->m_framecount)  // check source cs
    //    get_animation_state()->m_iLastClientSideAnimationUpdateFramecount = m_globals()->m_framecount - 1; // check source cs

    if (this == g_ctx.local()) {
        m_flThirdpersonRecoil() = m_aimPunchAngleScaled().x;
    }
    else {
        m_iEFlags() &= ~(EFL_DIRTY_ABSVELOCITY | EFL_DIRTY_ABSTRANSFORM); // set the flag
    }

    if (get_animation_state()->m_flLastClientSideAnimationUpdateTime == m_globals()->m_curtime) // enable brain
        get_animation_state()->m_flLastClientSideAnimationUpdateTime = m_globals()->m_curtime + TICKS_TO_TIME(1); // enable brain

    g_ctx.globals.updating_animation = true; // include update player animation
    this->m_bClientSideAnimation() = true;   // include update client side animation

    auto previous_weapon = get_animation_state() ? get_animation_state()->m_pLastBoneSetupWeapon : nullptr;

    if (previous_weapon)
        get_animation_state()->m_pLastBoneSetupWeapon = get_animation_state()->m_pActiveWeapon;

    using Fn = void(__thiscall*)(void*);
    call_virtual<Fn>(this, g_ctx.indexes.at(13))(this); // call to index

    g_ctx.globals.updating_animation = false; //turn off
}

IF ANYTHING, THIS IS NOT A FULL CODE BECAUSE THE LW HAS A TOP HOOK!!!!
 
gone
Забаненный
Статус
Оффлайн
Регистрация
8 Апр 2021
Сообщения
285
Реакции[?]
166
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
What the fuck is it for?

I'll make it short. You have these top lines in your legendware
Код:
        g_ctx.globals.updating_animation = true; // including update player animation
                e->update_clientside_animation(); // including update client side animation
                g_ctx.globals.updating_animation = false;  // turning off update player animation
we also switch to the update_clientside_animation function
And what do we see?
Код:
void player_t::update_clientside_animation()
{
    if (!this) //-V704
        return;

    auto animstate = get_animation_state();

    if (!animstate)
        return;

    if (animstate->m_iLastClientSideAnimationUpdateFramecount >= m_globals()->m_framecount) //-V614
        animstate->m_iLastClientSideAnimationUpdateFramecount = m_globals()->m_framecount - 1;

    using Fn = void(__thiscall*)(void*);
    call_virtual<Fn>(this, g_ctx.indexes.at(13))(this);
}
Is there anything confusing to you?

If not, look.
First of all, this check is not in the game for a very long time m_iLastClientSideAnimationUpdateFramecount .
Secondly we need to turn on and off m_bClientSideAnimation
And it's not here.
I give you my version with the notes and modifications
Код:
void player_t::update_clientside_animation() // maybe have anti-paste
{
    if (!this || !get_animation_state() || m_clientstate()->iDeltaTick == -1) //check
        return;// Repeat

    //if (get_animation_state()->m_iLastClientSideAnimationUpdateFramecount == m_globals()->m_framecount)  // check source cs
    //    get_animation_state()->m_iLastClientSideAnimationUpdateFramecount = m_globals()->m_framecount - 1; // check source cs

    if (this == g_ctx.local()) {
        m_flThirdpersonRecoil() = m_aimPunchAngleScaled().x;
    }
    else {
        m_iEFlags() &= ~(EFL_DIRTY_ABSVELOCITY | EFL_DIRTY_ABSTRANSFORM); // set the flag
    }

    if (get_animation_state()->m_flLastClientSideAnimationUpdateTime == m_globals()->m_curtime) // enable brain
        get_animation_state()->m_flLastClientSideAnimationUpdateTime = m_globals()->m_curtime + TICKS_TO_TIME(1); // enable brain

    g_ctx.globals.updating_animation = true; // include update player animation
    this->m_bClientSideAnimation() = true;   // include update client side animation

    auto previous_weapon = get_animation_state() ? get_animation_state()->m_pLastBoneSetupWeapon : nullptr;

    if (previous_weapon)
        get_animation_state()->m_pLastBoneSetupWeapon = get_animation_state()->m_pActiveWeapon;

    using Fn = void(__thiscall*)(void*);
    call_virtual<Fn>(this, g_ctx.indexes.at(13))(this); // call to index

    g_ctx.globals.updating_animation = false; //turn off
}

IF ANYTHING, THIS IS NOT A FULL CODE BECAUSE THE LW HAS A TOP HOOK!!!!
u dont need abs transform
 
Забаненный
Статус
Оффлайн
Регистрация
13 Июн 2022
Сообщения
10
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
13 Июн 2022
Сообщения
10
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
27 Май 2022
Сообщения
18
Реакции[?]
0
Поинты[?]
0
What the fuck is it for?

I'll make it short. You have these top lines in your legendware
Код:
        g_ctx.globals.updating_animation = true; // including update player animation
                e->update_clientside_animation(); // including update client side animation
                g_ctx.globals.updating_animation = false;  // turning off update player animation
we also switch to the update_clientside_animation function
And what do we see?
Код:
void player_t::update_clientside_animation()
{
    if (!this) //-V704
        return;

    auto animstate = get_animation_state();

    if (!animstate)
        return;

    if (animstate->m_iLastClientSideAnimationUpdateFramecount >= m_globals()->m_framecount) //-V614
        animstate->m_iLastClientSideAnimationUpdateFramecount = m_globals()->m_framecount - 1;

    using Fn = void(__thiscall*)(void*);
    call_virtual<Fn>(this, g_ctx.indexes.at(13))(this);
}
Is there anything confusing to you?

If not, look.
First of all, this check is not in the game for a very long time m_iLastClientSideAnimationUpdateFramecount .
Secondly we need to turn on and off m_bClientSideAnimation
And it's not here.
I give you my version with the notes and modifications
Код:
void player_t::update_clientside_animation() // maybe have anti-paste
{
    if (!this || !get_animation_state() || m_clientstate()->iDeltaTick == -1) //check
        return;// Repeat

    //if (get_animation_state()->m_iLastClientSideAnimationUpdateFramecount == m_globals()->m_framecount)  // check source cs
    // get_animation_state()->m_iLastClientSideAnimationUpdateFramecount = m_globals()->m_framecount - 1; // check source cs

    if (this == g_ctx.local()) {
        m_flThirdpersonRecoil() = m_aimPunchAngleScaled().x;
    }
    else {
        m_iEFlags() &= ~(EFL_DIRTY_ABSVELOCITY | EFL_DIRTY_ABSTRANSFORM); // set the flag
    }

    if (get_animation_state()->m_flLastClientSideAnimationUpdateTime == m_globals()->m_curtime) // enable brain
        get_animation_state()->m_flLastClientSideAnimationUpdateTime = m_globals()->m_curtime + TICKS_TO_TIME(1); // enable brain

    g_ctx.globals.updating_animation = true; // include update player animation
    this->m_bClientSideAnimation() = true; // include update client side animation

    auto previous_weapon = get_animation_state() ? get_animation_state()->m_pLastBoneSetupWeapon : nullptr;

    if (previous_weapon)
        get_animation_state()->m_pLastBoneSetupWeapon = get_animation_state()->m_pActiveWeapon;

    using Fn = void(__thiscall*)(void*);
    call_virtual<Fn>(this, g_ctx.indexes.at(13))(this); // call to index

    g_ctx.globals.updating_animation = false; // turn off
}

IF ANYTHING, THIS IS NOT A FULL CODE BECAUSE THE LW HAS A TOP HOOK!!!!
Whats the defintion for this m_aimPunchAngleScaled?
 
Забаненный
Статус
Оффлайн
Регистрация
13 Июн 2022
Сообщения
10
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
gone
Забаненный
Статус
Оффлайн
Регистрация
8 Апр 2021
Сообщения
285
Реакции[?]
166
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
13 Июн 2022
Сообщения
10
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
m_player->m_iEFlags() &= ~0x1000u;
Oh no, using offset is wrong e->m_iEFlags() &= ~EFL_DIRTY_ABSVELOCITY;
this correct
Whats the defintion for this m_aimPunchAngleScaled?
sorry i stupid

Код:
Vector player_t::m_aimPunchAngleScaled()
{
    if (!this)
        return ZERO;

    static auto weapon_recoil_scale = m_cvar()->FindVar(crypt_str("weapon_recoil_scale"));
    const auto m_aim_punch_angle = m_aimPunchAngle();

    return m_aim_punch_angle * weapon_recoil_scale->GetFloat();
}
 
Забаненный
Статус
Оффлайн
Регистрация
13 Июн 2022
Сообщения
10
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,105
Реакции[?]
388
Поинты[?]
45K
Oh no, using offset is wrong e->m_iEFlags() &= ~EFL_DIRTY_ABSVELOCITY;
this correct

sorry i stupid

Код:
Vector player_t::m_aimPunchAngleScaled()
{
    if (!this)
        return ZERO;

    static auto weapon_recoil_scale = m_cvar()->FindVar(crypt_str("weapon_recoil_scale"));
    const auto m_aim_punch_angle = m_aimPunchAngle();

    return m_aim_punch_angle * weapon_recoil_scale->GetFloat();
}
Why wrong? This offset is correct. 0x1000 -> EFL_DIRTY_ABSVELOCITY
 
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
Пользователь
Статус
Оффлайн
Регистрация
10 Июн 2017
Сообщения
677
Реакции[?]
117
Поинты[?]
0
ты русскоговорящий, отвечай на югейме русскоговорящим по русски, это кринжово когда пытаются выставить анг как мейн язык
 
Забаненный
Статус
Оффлайн
Регистрация
13 Июн 2022
Сообщения
10
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Так это ебанная кринжатина, а не DO NOT UNDERSTAND ANYTHING
Чём кринжатина?
ты русскоговорящий, отвечай на югейме русскоговорящим по русски, это кринжово когда пытаются выставить анг как мейн язык
да,я знаю.
я не хочу говорить на руском так как руские почти все токсики -_-
 
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
Пользователь
Статус
Оффлайн
Регистрация
10 Июн 2017
Сообщения
677
Реакции[?]
117
Поинты[?]
0
да,я знаю.
я не хочу говорить на руском так как руские почти все токсики -_-
чооо чел ты как связано то что чел токсик а ты из-за него не будешь на его языке базарить? 0____0
 
Забаненный
Статус
Оффлайн
Регистрация
13 Июн 2022
Сообщения
10
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
gone
Забаненный
Статус
Оффлайн
Регистрация
8 Апр 2021
Сообщения
285
Реакции[?]
166
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
кто читает тот умрет
Участник
Статус
Оффлайн
Регистрация
29 Июл 2019
Сообщения
686
Реакции[?]
531
Поинты[?]
144K
Так это же был мемный вброс что ластапдейт фрейма в игре уже нет, или это продолжение того прикола?
 
gone
Забаненный
Статус
Оффлайн
Регистрация
8 Апр 2021
Сообщения
285
Реакции[?]
166
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу