Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

True animation fix by sh1t paster's (still working)

main public enemy
Эксперт
Эксперт
Статус
Оффлайн
Регистрация
30 Ноя 2019
Сообщения
1,531
Реакции
647
Дампили это с мега приватных читиков
А на деле гладиатор анимфикс (вроде чета добавили там)
Нашел в сурсе антарио в текстовом документе кек ( у меня в папке еще 100+ сурсов с хуйней )
кодили крутые человеки может даже шарклайзер :CoolCat:

// upd хайд снял что бы ржали все
 
Вообщем нихуя он не смотрится , я тут ещо ресольвер нашел это вообще ржака
И кстаи анимификс рабочий можете юзать (нет)
 
чо чо ну типо симтайм обновился чо не ясно то
только вот g_GlobalVars 0_______o
глобалварс наше всё !
Да я даже внимания не обратил, это практически не юзабельный код или это блять какаята антипаста слишком уж сложно
Ну хотя че гадать то может они создали переменную , инициализировали ее где нибуть , а потом просто передали ей тот же нетвар чи не
 
чо чо ну типо симтайм обновился чо не ясно то
Так это то ясно что симтайм смещяется , это правильнее назвать ChockedTime
Я тебе про сам детект (эксплойты и фейклаги так можно оч легко найти)
upd А смысл от этой проверки я не вижу, да и делать сетап бонес вне проверки это сверхразум !!!)))!!!
 
Так это то ясно что симтайм смещяется , это правильнее назвать ChockedTime
Я тебе про сам детект (эксплойты и фейклаги так можно оч легко найти)
upd А смысл от этой проверки я не вижу, да и делать сетап бонес вне проверки это сверхразум !!!)))!!!
ну из за нее как бы анимации будут обновляться только при апдейте симтайма
а вообще это мем какой то -________-
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Дампили это с мега приватных читиков
А на деле гладиатор анимфикс (вроде чета добавили там)
Нашел в сурсе антарио в текстовом документе кек ( у меня в папке еще 100+ сурсов с хуйней )
кодили крутые человеки может даже шарклайзер :CoolCat:
Скрытое содержимое
// upd хайд снял что бы ржали все
Кинь сурсы 100+ поугараю
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Sorry but thats not any kind of animations fix or close.
the callback of updatecanims are wrong 100%.
all that this post makes me belive is that you are trying to find REP by posting malicious/useless code.
 
static auto host_timescale = g_CVar->FindVar(("host_timescale"));

g_GlobalVars->frametime = g_GlobalVars->interval_per_tick * host_timescale->GetFloat();
host timescale
nahuya a glavnoe zachem
if (player->GetAnimOverlays()[6].m_PlayBackRate == 0) // cho?
G::cmd->tick_count = player->interval_per_tick;
ну вот тут рял чо?
mojno ustanavlivat abs ugli btw
player->m_bClientSideAnimation() = true;

player->set_abs_angles(QAngle(0, animstate->goalfeetyaw, 0));
player->UpdateClientSideAnimation();

player->m_bClientSideAnimation() = false;

можно еще фиксить эиры, по типу когда реал на 3 бошки выше десинка
animstate + 0x110 = 0.0f;
player->m_iEFlags() &= ~0x1000;
в анимфиксе еще можно ресик вызвать, но нахуй надо
а в анимфиксе ничего плохого нет
if (TIME_TO_TICKS(g_GlobalVars->m_flSimulationTime() - g_GlobalVars->m_OldSimulationTime() >= 1))
вот это тоже вопрос нахуя а главное зачем ну да ладно
если лень делать анимфикс эт можно взять под основу
@LNK1181 давай пизди меня палками если я где то сказал хуйню
nu vo pervih eto troll post

vo 2 kakoi voobsshe smisl v etoi line???
player->set_abs_angles(QAngle(0, animstate->goalfeetyaw, 0));
esli anim state update uze sam vse delaet
1589114468262.png
...

menyaem zna4eniya anim_state a 4o
posmotri lu4she na 4 anim layer

player->m_iEFlags() &= ~0x1000;
ti voobsshe znaesh za4em eto delat ?????????

4tobi get_abs_velocity ne delal ni4ego s abs velocity
1589114805570.png
1589114820266.png

i setup_velocity prinyal tvoe velocity
wok dev vot hookaet estimate_abs_velocity i menyaet tam
 
Код:
Expand Collapse Copy
 if (TIME_TO_TICKS(g_GlobalVars->m_flSimulationTime() - g_GlobalVars->m_OldSimulationTime() >= 1))
        {

панимаю
ваабщета эта фикс от новых авэшных антиамаф и тикбейз шифтоф. Такая шняга есть везде. Даже в рифке)
Толька этат фикс немножна неправильна сдилан. Он так
Код:
Expand Collapse Copy
if (TIME_TO_TICKS(g_GlobalVars->m_flSimulationTime() - g_GlobalVars->m_OldSimulationTime() >= 1))
А должин быть фоть так:
Код:
Expand Collapse Copy
if (TIME_TO_TICKS(g_GlobalVars->m_flSimulationTime() - g_GlobalVars->m_OldSimulationTime()) >= 1)
Кто в танке: положение скобачки))) влияет. Скобочку нада переместить таким образом, что бы результат сравнивался с TIME_TO_TICKS аля >= 1
Шо це дає? Це дає ніхуя. Особена в анимфиксе. Ну зато пофиксил эту проверку, анимфикс УЖЕ ЗАРАБОТУЕТ УЛЯ ЛААА.
П.С. Если хочишь шоб твая паста не стреляла в АА шифты, то цю проверочку нада сделать в рейджботе.

Например:

Код:
Expand Collapse Copy
bool IsPlayerShiftingTickBaseOrInvalidCheatUserFuckThisShitIgnoreFreePastasUsers(c_cs_player* bitch)
{
    if (bitch != nullptr) // fuck nullptr's bitches
    {
      if (TIME_TO_TICKS(bitch->m_flSimulationTime() - bitch->m_OldSimulationTime()) >= 1) // fuck shifting tickbase bitches. WE DON'T SHOOT AT DT's ENTITIES.
      {
                                                                                  return false;
                                                         }
    }

    return true;
}


USAGE OF THIS PERFECT CODE:
Код:
Expand Collapse Copy
bool ragebot(c_cs_player* player)
{
    bool haha = IsPlayerShiftingTickBaseOrInvalidCheatUserFuckThisShitIgnoreFreePastasUsers(player);
    if (haha)
        return; // avoid to shoot at bitch incorrect entity
}

Disclaimer: This is roflopost. But you still can use this hint for your perfecto-pasta.
 
мер:

Код:
Expand Collapse Copy
      if (TIME_TO_TICKS(bitch->m_flSimulationTime() - bitch->m_OldSimulationTime()) >= 1) // fuck shifting tickbase bitches. WE DON'T SHOOT AT DT's ENTITIES.
}

ti ze ponimaesh 4to esli 4elik shiftit
to simtime move nazad da
i kak bi old simtime budet bolshe 4em cur simtime
sledovatelno delta mezdu nimi budet -
 
ti ze ponimaesh 4to esli 4elik shiftit
to simtime move nazad da
i kak bi old simtime budet bolshe 4em cur simtime
sledovatelno delta mezdu nimi budet -
Да я знаю. Просто я назвал функцию IsPlayerShiftingTickbase
Это означает, что если дельта между Сим Таймом и Олд Сим Таймом больше или равна одному, то челик НЕ ШИФТИТ.
В случае если nullptr или < 1 то делаем инвалид проверку. Если ноль то обновления не было или шифт слабенький.
Но все же, это поможет от антибекшута и шифт АА, но если чел с дабл тапом то ты по нему не будешь стрелять, это как то не то. Забектрекать его нельзя, в тебя летит 2 патрона. И что делать?
 
Да я знаю. Просто я назвал функцию IsPlayerShiftingTickbase
Это означает, что если дельта между Сим Таймом и Олд Сим Таймом больше или равна одному, то челик НЕ ШИФТИТ.
В случае если nullptr или < 1 то делаем инвалид проверку. Если ноль то обновления не было или шифт слабенький.
Но все же, это поможет от антибекшута и шифт АА, но если чел с дабл тапом то ты по нему не будешь стрелять, это как то не то. Забектрекать его нельзя, в тебя летит 2 патрона. И что делать?
а хахах
я не заметил что там return false......
извиняюсь блинб
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
proper animfix
C++:
Expand Collapse Copy
std::unique_ptr< c_animfix > animfix = std::make_unique< c_animfix >( );

void c_animfix::re_work( client_frame_stage_t stage ) {

    if ( !local_player || !local_player->get_anim_state( ) )
        return;

    if ( stage == client_frame_stage_t::frame_render_start )
        local_player->set_abs_angles( vec_t( 0.f, local_player->get_anim_state( )->goal_feet_yaw, 0.f ) );


    for ( int i = 1; i <= globals->max_clients; i++ ) {
        c_baseentity * entity = ( c_baseentity* ) entity_list->get_client_entity( i );

        if ( !entity->is_valid_player( ) )
            continue;


        static auto set_interpolation_flags = [ ] ( c_baseentity* e, int flag ) {
            const auto var_map = ( uintptr_t ) e + 36;
            const auto sz_var_map = *( int* ) ( var_map + 20 );

            for ( auto index = 0; index < sz_var_map; index++ )
                *( uintptr_t* ) ( ( *( uintptr_t* ) var_map ) + index * 12 ) = flag;
        };

        if ( stage == client_frame_stage_t::frame_net_update_postdataupdate_end )
            set_interpolation_flags( entity, 0 );


    }
}
void c_animfix::fix_local_player_animations( )
{
    if ( !local_player )
        return;

    static float sim_time;
    if ( sim_time != local_player->get_simulation_time( ) )
    {
        auto state = local_player->get_anim_state( ); if ( !state ) return;

        const float curtime = globals->curtime;
        const float frametime = globals->frametime;
        const float realtime = globals->real_time;
        const float absoluteframetime = globals->absolute_frametime;
        const float absoluteframestarttimestddev = globals->absolute_frame_start_time;
        const float interpolation_amount = globals->interpolation_amount;
        const float framecount = globals->frame_count;
        const float tickcount = globals->tickcount;

        static auto host_timescale = cvar->find_var( ( "host_timescale" ) );

        globals->curtime = local_player->get_simulation_time( );
        globals->real_time = local_player->get_simulation_time( );
        globals->frametime = globals->interval_per_tick * host_timescale->get_float( );
        globals->absolute_frametime = globals->interval_per_tick * host_timescale->get_float( );
        globals->absolute_frame_start_time = local_player->get_simulation_time( ) - globals->interval_per_tick * host_timescale->get_float( );
        globals->interpolation_amount = 0;
        globals->frame_count = time_to_ticks( local_player->get_simulation_time( ) );
        globals->tickcount = time_to_ticks( local_player->get_simulation_time( ) );

        int backup_flags = local_player->get_flags( );
        int backup_eflags = local_player->get_eflags( );

        animationlayer backup_layers [ 15 ];
        std::memcpy( backup_layers, local_player->get_anim_overlays( ), ( sizeof( animationlayer ) * 15 ) );

        if ( state->last_client_side_animation_update_framecount == globals->frame_count )
            state->last_client_side_animation_update_framecount = globals->frame_count - 1;

        local_player->get_clientside_animation( ) = true;
        local_player->update_clientside_animation( );
        local_player->get_clientside_animation( ) = false;


        float lby_delta = local_player->get_lby( ) - thirdperson->thirdperson_angle.y;
        lby_delta = std::remainderf( lby_delta, 360.f );
        lby_delta = std::clamp( lby_delta, -60.f, 60.f );

        float feet_yaw = std::remainderf( thirdperson->thirdperson_angle.y + lby_delta, 360.f );

        if ( feet_yaw < 0.f ) {
            feet_yaw += 360.f;
        }


        std::memcpy( local_player->get_anim_overlays( ), backup_layers, ( sizeof( animationlayer ) * 15 ) );

        c_config::get( ).dev.animstate [ local_player->get_index( ) ] = local_player->get_anim_state( );
        local_player->get_flags( ) = backup_flags;
        local_player->get_eflags( ) = backup_eflags;


        globals->curtime = curtime;
        globals->real_time = realtime;
        globals->frametime = frametime;
        globals->absolute_frametime = absoluteframetime;
        globals->absolute_frame_start_time = absoluteframestarttimestddev;
        globals->interpolation_amount = interpolation_amount;
        globals->frame_count = framecount;
        globals->tickcount = tickcount;
        sim_time = local_player->get_simulation_time( );
    }
    local_player->invalidate_bone_cache( );
    local_player->setup_bones( nullptr, -1, 0x7FF00, globals->curtime );
}

void c_animfix::update_animations( c_baseentity* entity ) /* thx to xsharcs*/
{
    auto state = entity->get_anim_state( ); if ( !state ) return;
    auto index = entity->get_index( );
    static float sim_time [ 65 ];

    if ( sim_time [ index ] != entity->get_simulation_time( ) )
    {
        const float curtime = globals->curtime;
        const float frametime = globals->frametime;
        static auto host_timescale = cvar->find_var( ( "host_timescale" ) );

        globals->frametime = globals->interval_per_tick * host_timescale->get_float( );
        globals->curtime = entity->get_simulation_time( ) + globals->interval_per_tick;

        vec_t backup_velocity = entity->get_velocity( );

        int backup_flags = entity->get_flags( );
        int backup_eflags = entity->get_eflags( );

        animationlayer backup_layers [ 15 ];
        std::memcpy( backup_layers, entity->get_anim_overlays( ), ( sizeof( animationlayer ) * 15 ) );

        state->on_ground?entity->get_flags( ) |= ( 1 << 0 ):entity->get_flags( ) &= ~( 1 << 0 );

        entity->get_eflags( ) &= ~0x1000;

        entity->get_abs_velocity( ) = entity->get_velocity( );
        entity->get_abs_velocity2( ) = entity->get_velocity( );
        entity->unkpasted( ) = 0x1;

        if ( state->last_client_side_animation_update_framecount == globals->frame_count )
            state->last_client_side_animation_update_framecount = globals->frame_count - 1;

        entity->update_clientside_animation( );

        float lby_delta = entity->get_lby( ) - entity->get_eyeangles( ).y;
        lby_delta = std::remainderf( lby_delta, 360.f );
        lby_delta = std::clamp( lby_delta, -60.f, 60.f );

        float feet_yaw = std::remainderf( entity->get_eyeangles( ).y + lby_delta, 360.f );

        if ( feet_yaw < 0.f ) {
            feet_yaw += 360.f;
        }

        static float pitch, yaw = 0.f;

        entity->get_anim_state( )->goal_feet_yaw = entity->get_anim_state( )->current_feet_yaw = feet_yaw;

        entity->get_anim_state( )->eye_angles_y = entity->get_anim_state( )->body_yaw = resolver->data [ entity->get_index( ) ].final_angle;

        std::memcpy( entity->get_anim_overlays( ), backup_layers, ( sizeof( animationlayer ) * 15 ) );

        entity->get_velocity( ) = backup_velocity;
        entity->get_flags( ) = backup_flags;
        entity->get_eflags( ) = backup_eflags;

        globals->curtime = curtime;
        globals->frametime = frametime;
        sim_time [ index ] = entity->get_simulation_time( );
    }

    entity->invalidate_bone_cache( );
    entity->setup_bones( nullptr, -1, 0x7FF00, globals->curtime );
}
 
proper animfix
C++:
Expand Collapse Copy
std::unique_ptr< c_animfix > animfix = std::make_unique< c_animfix >( );

void c_animfix::re_work( client_frame_stage_t stage ) {

    if ( !local_player || !local_player->get_anim_state( ) )
        return;

    if ( stage == client_frame_stage_t::frame_render_start )
        local_player->set_abs_angles( vec_t( 0.f, local_player->get_anim_state( )->goal_feet_yaw, 0.f ) );


    for ( int i = 1; i <= globals->max_clients; i++ ) {
        c_baseentity * entity = ( c_baseentity* ) entity_list->get_client_entity( i );

        if ( !entity->is_valid_player( ) )
            continue;


        static auto set_interpolation_flags = [ ] ( c_baseentity* e, int flag ) {
            const auto var_map = ( uintptr_t ) e + 36;
            const auto sz_var_map = *( int* ) ( var_map + 20 );

            for ( auto index = 0; index < sz_var_map; index++ )
                *( uintptr_t* ) ( ( *( uintptr_t* ) var_map ) + index * 12 ) = flag;
        };

        if ( stage == client_frame_stage_t::frame_net_update_postdataupdate_end )
            set_interpolation_flags( entity, 0 );


    }
}
void c_animfix::fix_local_player_animations( )
{
    if ( !local_player )
        return;

    static float sim_time;
    if ( sim_time != local_player->get_simulation_time( ) )
    {
        auto state = local_player->get_anim_state( ); if ( !state ) return;

        const float curtime = globals->curtime;
        const float frametime = globals->frametime;
        const float realtime = globals->real_time;
        const float absoluteframetime = globals->absolute_frametime;
        const float absoluteframestarttimestddev = globals->absolute_frame_start_time;
        const float interpolation_amount = globals->interpolation_amount;
        const float framecount = globals->frame_count;
        const float tickcount = globals->tickcount;

        static auto host_timescale = cvar->find_var( ( "host_timescale" ) );

        globals->curtime = local_player->get_simulation_time( );
        globals->real_time = local_player->get_simulation_time( );
        globals->frametime = globals->interval_per_tick * host_timescale->get_float( );
        globals->absolute_frametime = globals->interval_per_tick * host_timescale->get_float( );
        globals->absolute_frame_start_time = local_player->get_simulation_time( ) - globals->interval_per_tick * host_timescale->get_float( );
        globals->interpolation_amount = 0;
        globals->frame_count = time_to_ticks( local_player->get_simulation_time( ) );
        globals->tickcount = time_to_ticks( local_player->get_simulation_time( ) );

        int backup_flags = local_player->get_flags( );
        int backup_eflags = local_player->get_eflags( );

        animationlayer backup_layers [ 15 ];
        std::memcpy( backup_layers, local_player->get_anim_overlays( ), ( sizeof( animationlayer ) * 15 ) );

        if ( state->last_client_side_animation_update_framecount == globals->frame_count )
            state->last_client_side_animation_update_framecount = globals->frame_count - 1;

        local_player->get_clientside_animation( ) = true;
        local_player->update_clientside_animation( );
        local_player->get_clientside_animation( ) = false;


        float lby_delta = local_player->get_lby( ) - thirdperson->thirdperson_angle.y;
        lby_delta = std::remainderf( lby_delta, 360.f );
        lby_delta = std::clamp( lby_delta, -60.f, 60.f );

        float feet_yaw = std::remainderf( thirdperson->thirdperson_angle.y + lby_delta, 360.f );

        if ( feet_yaw < 0.f ) {
            feet_yaw += 360.f;
        }


        std::memcpy( local_player->get_anim_overlays( ), backup_layers, ( sizeof( animationlayer ) * 15 ) );

        c_config::get( ).dev.animstate [ local_player->get_index( ) ] = local_player->get_anim_state( );
        local_player->get_flags( ) = backup_flags;
        local_player->get_eflags( ) = backup_eflags;


        globals->curtime = curtime;
        globals->real_time = realtime;
        globals->frametime = frametime;
        globals->absolute_frametime = absoluteframetime;
        globals->absolute_frame_start_time = absoluteframestarttimestddev;
        globals->interpolation_amount = interpolation_amount;
        globals->frame_count = framecount;
        globals->tickcount = tickcount;
        sim_time = local_player->get_simulation_time( );
    }
    local_player->invalidate_bone_cache( );
    local_player->setup_bones( nullptr, -1, 0x7FF00, globals->curtime );
}

void c_animfix::update_animations( c_baseentity* entity ) /* thx to xsharcs*/
{
    auto state = entity->get_anim_state( ); if ( !state ) return;
    auto index = entity->get_index( );
    static float sim_time [ 65 ];

    if ( sim_time [ index ] != entity->get_simulation_time( ) )
    {
        const float curtime = globals->curtime;
        const float frametime = globals->frametime;
        static auto host_timescale = cvar->find_var( ( "host_timescale" ) );

        globals->frametime = globals->interval_per_tick * host_timescale->get_float( );
        globals->curtime = entity->get_simulation_time( ) + globals->interval_per_tick;

        vec_t backup_velocity = entity->get_velocity( );

        int backup_flags = entity->get_flags( );
        int backup_eflags = entity->get_eflags( );

        animationlayer backup_layers [ 15 ];
        std::memcpy( backup_layers, entity->get_anim_overlays( ), ( sizeof( animationlayer ) * 15 ) );

        state->on_ground?entity->get_flags( ) |= ( 1 << 0 ):entity->get_flags( ) &= ~( 1 << 0 );

        entity->get_eflags( ) &= ~0x1000;

        entity->get_abs_velocity( ) = entity->get_velocity( );
        entity->get_abs_velocity2( ) = entity->get_velocity( );
        entity->unkpasted( ) = 0x1;

        if ( state->last_client_side_animation_update_framecount == globals->frame_count )
            state->last_client_side_animation_update_framecount = globals->frame_count - 1;

        entity->update_clientside_animation( );

        float lby_delta = entity->get_lby( ) - entity->get_eyeangles( ).y;
        lby_delta = std::remainderf( lby_delta, 360.f );
        lby_delta = std::clamp( lby_delta, -60.f, 60.f );

        float feet_yaw = std::remainderf( entity->get_eyeangles( ).y + lby_delta, 360.f );

        if ( feet_yaw < 0.f ) {
            feet_yaw += 360.f;
        }

        static float pitch, yaw = 0.f;

        entity->get_anim_state( )->goal_feet_yaw = entity->get_anim_state( )->current_feet_yaw = feet_yaw;

        entity->get_anim_state( )->eye_angles_y = entity->get_anim_state( )->body_yaw = resolver->data [ entity->get_index( ) ].final_angle;

        std::memcpy( entity->get_anim_overlays( ), backup_layers, ( sizeof( animationlayer ) * 15 ) );

        entity->get_velocity( ) = backup_velocity;
        entity->get_flags( ) = backup_flags;
        entity->get_eflags( ) = backup_eflags;

        globals->curtime = curtime;
        globals->frametime = frametime;
        sim_time [ index ] = entity->get_simulation_time( );
    }

    entity->invalidate_bone_cache( );
    entity->setup_bones( nullptr, -1, 0x7FF00, globals->curtime );
}
Похоже на бан
p.s wok reversed xD
@LNK1181 что скажешь за этот код??
 
Назад
Сверху Снизу