• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Исходник Extrapolation from skeet reversed

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
1 Ноя 2024
Сообщения
42
Реакции
32
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
Expand Collapse Copy
void LagCompensation::PlayerMove( LagRecord* record ) {
    vec3_t                start, end, normal;
    CGameTrace            trace;
    CTraceFilterWorldOnly filter;

    // define trace start.
    start = record->m_pred_origin;

    // move trace end one tick into the future using predicted velocity.
    end = start + ( record->m_pred_velocity * g_csgo.m_globals->m_interval );

    // trace.
    g_csgo.m_engine_trace->TraceRay( Ray( start, end, record->m_mins, record->m_maxs ), CONTENTS_SOLID, &filter, &trace );

    // we hit shit
    // we need to fix hit.
    if ( trace.m_fraction != 1.f ) {
        // fix sliding on planes.
        for ( int i{}; i < 2; ++i ) {
            if ( record->m_pred_velocity.length( ) == 0.f )
                break;

            record->m_pred_velocity -= trace.m_plane.m_normal * record->m_pred_velocity.dot( trace.m_plane.m_normal );

            float adjust = record->m_pred_velocity.dot( trace.m_plane.m_normal );
            if ( adjust < 0.f )
                record->m_pred_velocity -= ( trace.m_plane.m_normal * adjust );

            start = trace.m_endpos;
            end = start + ( record->m_pred_velocity * ( g_csgo.m_globals->m_interval * ( 1.f - trace.m_fraction ) ) );

            g_csgo.m_engine_trace->TraceRay( Ray( start, end, record->m_mins, record->m_maxs ), CONTENTS_SOLID, &filter, &trace );
            if ( trace.m_fraction == 1.f )
                break;
        }
    }

    // set new final origin.
    start = end = record->m_pred_origin = trace.m_endpos;

    // move endpos 2 units down.
    // this way we can check if we are in/on the ground.
    end.z -= 2.f;

    // trace.
    g_csgo.m_engine_trace->TraceRay( Ray( start, end, record->m_mins, record->m_maxs ), CONTENTS_SOLID, &filter, &trace );

    // strip onground flag.
    if ( trace.m_fraction == 1.f && trace.m_plane.m_normal.z < 0.7f )
        record->m_pred_flags &= ~FL_ONGROUND;

    // add back onground flag if we are onground.
    else
        record->m_pred_flags |= FL_ONGROUND;

    /*
    if ( ( LOBYTE( v216.m[ 0 ][ 1 ] ) & 1 ) != 0 && ( v308 & 1 ) == 0 )
    {
        if ( v327 )
            *( v327 + 289 ) = 1;
        v144 = *( ( anim_layers ^ *anim_layers_xor ) + player );
        v144[ 4 ].m_cycle = 0.0;
        v144[ 4 ].m_weight = 0.0;
        if ( v282 && ( v308 & 6 ) == 6 )
            v311 = v311 + 9.0;
    }
    */

    // s/o estk ^_^
    if ( record->m_pred_flags & FL_ONGROUND )
        record->m_layers[ 4 ].m_cycle = record->m_layers[ 4 ].m_weight = 0.f;
}
 
Ain't this just supremacy?
 
  • Вау!
Реакции: shyx
Thanks for public bs
 
maybe making everything as its required isnt always the answer, yall have public dll and cant reverse shit.
 
  • Мне нравится
Реакции: mj12
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
already public
 
does the if statement that's commented out have anything to do with the player ducking? how its written seems that way but haven't tried to look into reversing atm to try checking
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу