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

Исходник Resolver for legendware v2

Модератор форума
Участник
Участник
Статус
Оффлайн
Регистрация
26 Янв 2020
Сообщения
378
Реакции
157
Ресольвер был сделан на основе дампов в2 и моих начинающих знаний. СТОГО НЕ СУДИТЬ.
C++:
Expand Collapse Copy
void resolver::resolve_yaw()
{
    player_info_t player_info;
    AnimationLayer m_server_anim_layers[15];
    AnimationLayer m_previous_anim_layers[15];
    AnimationLayer m_resolver_anim_layers[3][15];

    int m_side;
    int m_way;

   

    auto speed_2d = player->m_vecVelocity().Length2D();

    if (!m_engine()->GetPlayerInfo(player->EntIndex(), &player_info))
        return;


    if (player->m_fFlags() & FL_ONGROUND)
    {
       
        if (speed_2d <= 0.1)
        {
            if (m_server_anim_layers[ANIMATION_LAYER_ADJUST].m_flWeight == 0.0
                && m_server_anim_layers[ANIMATION_LAYER_ADJUST].m_flCycle == 0.0)
            {
                m_way = 1;
                m_side = 2 * (math::AngleDiff(player->get_animation_state()->m_flEyeYaw, player->get_animation_state()->m_flGoalFeetYaw) <= 0.0) - 1;
            }
        }
        else if (!(m_server_anim_layers[ANIMATION_LAYER_LEAN].m_flWeight * 1000.0) && (m_server_anim_layers[ANIMATION_LAYER_MOVEMENT_MOVE].m_flWeight * 1000.0) == (m_previous_anim_layers[ANIMATION_LAYER_MOVEMENT_MOVE].m_flWeight * 1000.0))
        {
            auto m_first_delta = fabsf(m_server_anim_layers[ANIMATION_LAYER_MOVEMENT_MOVE].m_flPlaybackRate - m_resolver_anim_layers[ANIMATION_LAYER_AIMMATRIX][ANIMATION_LAYER_MOVEMENT_MOVE].m_flPlaybackRate);
            auto m_second_delta = fabsf(m_server_anim_layers[ANIMATION_LAYER_MOVEMENT_MOVE].m_flPlaybackRate - m_resolver_anim_layers[ANIMATION_LAYER_WEAPON_ACTION_RECROUCH][ANIMATION_LAYER_MOVEMENT_MOVE].m_flPlaybackRate);
            auto m_third_delta = fabsf(m_server_anim_layers[ANIMATION_LAYER_MOVEMENT_MOVE].m_flPlaybackRate - m_resolver_anim_layers[ANIMATION_LAYER_WEAPON_ACTION][ANIMATION_LAYER_MOVEMENT_MOVE].m_flPlaybackRate);

            if (m_first_delta < m_second_delta || m_third_delta <= m_second_delta || (m_second_delta * 1000.0))
            {
                if (m_first_delta >= m_third_delta && m_second_delta > m_third_delta && !(m_third_delta * 1000.0))
                {
                    m_way = 1;
                    m_side = 1;
                }
            }
            else
            {
                m_way = 1;
                m_side = -1;
            }
        }
    }

    if (m_way == 1)
    {
        if (!player->IsDormant())
        {

            if (m_side <= 0)
                player->get_animation_state()->m_flGoalFeetYaw = player->m_angEyeAngles().y - player->get_max_desync_delta();
            else
                player->get_animation_state()->m_flGoalFeetYaw = player->m_angEyeAngles().y + player->get_max_desync_delta();

            player->update_clientside_animation();

            for (; player->get_animation_state()->m_flGoalFeetYaw > 180.0f; player->get_animation_state()->m_flGoalFeetYaw = player->get_animation_state()->m_flGoalFeetYaw - 360)
                ;
            for (; player->get_animation_state()->m_flGoalFeetYaw < -180.0f; player->get_animation_state()->m_flGoalFeetYaw = player->get_animation_state()->m_flGoalFeetYaw + 360)
                ;
            *(float*)(uintptr_t(player->get_animation_state()) + 0x80) = player->get_animation_state()->m_flGoalFeetYaw;

        }
        else
        {
            if (m_side >= 0)
                player->get_animation_state()->m_flGoalFeetYaw = player->m_angEyeAngles().y + player->get_max_desync_delta();
            else
                player->get_animation_state()->m_flGoalFeetYaw = player->m_angEyeAngles().y - player->get_max_desync_delta();

            player->update_clientside_animation();

            for (; player->get_animation_state()->m_flGoalFeetYaw > 180.0f; player->get_animation_state()->m_flGoalFeetYaw = player->get_animation_state()->m_flGoalFeetYaw - 360)
                ;
            for (; player->get_animation_state()->m_flGoalFeetYaw < -180.0f; player->get_animation_state()->m_flGoalFeetYaw = player->get_animation_state()->m_flGoalFeetYaw + 360)
                ;
            *(float*)(uintptr_t(player->get_animation_state()) + 0x80) = player->get_animation_state()->m_flGoalFeetYaw;
        }
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    if (m_way == 1 && speed_2d > 0.1)
    {
        if (!player->IsDormant())
        {

            if (m_side <= 0)
                player->get_animation_state()->m_flGoalFeetYaw = player->m_angEyeAngles().y - 30.0;
            else
                player->get_animation_state()->m_flGoalFeetYaw = player->m_angEyeAngles().y + 30.0;

            player->update_clientside_animation();

            for (; player->get_animation_state()->m_flGoalFeetYaw > 180.0f; player->get_animation_state()->m_flGoalFeetYaw = player->get_animation_state()->m_flGoalFeetYaw - 360)
                ;
            for (; player->get_animation_state()->m_flGoalFeetYaw < -180.0f; player->get_animation_state()->m_flGoalFeetYaw = player->get_animation_state()->m_flGoalFeetYaw + 360)
                ;
            *(float*)(uintptr_t(player->get_animation_state()) + 0x80) = player->get_animation_state()->m_flGoalFeetYaw;

        }
        else
        {
            if (m_side >= 0)
                player->get_animation_state()->m_flGoalFeetYaw = player->m_angEyeAngles().y + 30.0;
            else
                player->get_animation_state()->m_flGoalFeetYaw = player->m_angEyeAngles().y - 30.0;

            player->update_clientside_animation();

            for (; player->get_animation_state()->m_flGoalFeetYaw > 180.0f; player->get_animation_state()->m_flGoalFeetYaw = player->get_animation_state()->m_flGoalFeetYaw - 360)
                ;
            for (; player->get_animation_state()->m_flGoalFeetYaw < -180.0f; player->get_animation_state()->m_flGoalFeetYaw = player->get_animation_state()->m_flGoalFeetYaw + 360)
                ;
            *(float*)(uintptr_t(player->get_animation_state()) + 0x80) = player->get_animation_state()->m_flGoalFeetYaw;

        }
    }
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Why u doing this? Lw resolver isn't that bad, it's much better than this xd
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я конечно потесчу, но выглядит он страшно, очень страшно
ну он на самом деле очень простой, ты сначала получаешь нужные циферки, а потом брутишь если скорость меньше 1 макс десинк у челика, если больше скорость, то тогда брут 30 угла ибо при ходьбе у челикса десинк меньше. И поле брута апдейтишь анимации. Все, все изи
 
Ofc i can cus I'm not braindead Russian xdd with low iq
blya chel... go dead newcomer with low iq
ну он на самом деле очень простой, ты сначала получаешь нужные циферки, а потом брутишь если скорость меньше 1 макс десинк у челика, если больше скорость, то тогда брут 30 угла ибо при ходьбе у челикса десинк меньше. И поле брута апдейтишь анимации. Все, все изи
ну да, я как новичок мне ещё сложно в этом всем разбираться ))
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
страшно...очень страшно, но если ты начал, то не плохо
 
u mad bro? Can u make somthing better than this? Or u only can just trashtolkin for me?)
trashtolkin)))))

братан, тебе много раз сказали, что ты не улучшаешь ресик, а только делаешь его хуже
к тому же, если для тебя ЛуЧшИе УгЛы ДлЯ бРуТа - это 45 градусов, то стоит немного улучшить свои знания
 
ДА!!! ДАВАЙ!!! ДАВАЙ!!!
больше локальных переменных и dead кода!!!!!!!!
компилятор же крутой возьмет и уберет!!!!!!
 
Последнее редактирование:
ANIMATION_LAYER_ADJUST ANIMATION_LAYER_LEAN ANIMATION_LAYER_MOVEMENT_MOVE ANIMATION_LAYER_AIMMATRIX ANIMATION_LAYER_WEAPON_ACTION_RECROUCH ANIMATION_LAYER_WEAPON_ACTION

is only add
enum animation
{
ANIMATION_LAYER_ADJUST,
ANIMATION_LAYER_LEAN,
ANIMATION_LAYER_MOVEMENT_MOVE,
ANIMATION_LAYER_AIMMATRIX,
ANIMATION_LAYER_WEAPON_ACTION_RECROUCH,
ANIMATION_LAYER_WEAPON_ACTION,
};

or other code ?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ДА!!! ДАВАЙ!!! ДАВАЙ!!!
больше локальных переменных и dead кода!!!!!!!!
компилятор же крутой возьмет и уберет!!!!!!
ты ничего не понимаешь - это он на будущее оставил :whyRly:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
зачем столько лишнего гавно кода
 
*(float*)(uintptr_t(player->get_animation_state()) + 0x80) = player->get_animation_state()->m_flGoalFeetYaw;
:hearteyes::expressionless::fearful::fearscream::confounded::flushed::flushed::flushed::flushed::coldsweat::flushed::flushed::blush::astonished::astonished::flushed::flushed::flushed::flushed:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1607456782572.png

give
 
Назад
Сверху Снизу