Исходник Animlayer Resolver для лв

ЧВК EB_LAN
Эксперт
Эксперт
Статус
Онлайн
Регистрация
26 Янв 2021
Сообщения
1,883
Реакции
613
Щас вы ахуеете, я для вас сделаю так чтоб он работал (Это для самых маленьких которые не инклюдали в анимфиксе его)

В resolver.cpp под
C++:
Expand Collapse Copy
void resolver::reset(){

    player = nullptr;
    player_record = nullptr;

    side = false;
    fake = false;

    was_first_bruteforce = false;
    was_second_bruteforce = false;

    original_goal_feet_yaw = 0.0f;
    original_pitch = 0.0f;
}

Вставляем ЭТО
C++:
Expand Collapse Copy
void resolver::animlayer_resolver()
{
    if (!g_ctx.local()->is_alive())
        return;
    if (!player->is_player())
        return;

    float move_delta;
    float static_desync = 58.f;
    float low_desync = 30.f;
    float random_desync = math::random_float(-58, 58);

    int move_side;
    player_t* e;
    auto animstate = e->get_animation_state();
    float speed = player->m_vecVelocity().Length2D();
    if (player->m_fFlags() & FL_ONGROUND)
    {
        if (speed > 0.1f && (player_record->layers[6].m_flWeight * 1000.0f) == (player_record->layers[6].m_flWeight * 1000.0f))
        {
            if (player_record->layers[3].m_flWeight == 0.f && player_record->layers[3].m_flCycle == 0.f && player_record->layers[6].m_flWeight == 0.f)
            {
                auto move_delta = math::AngleDiff(player->m_angEyeAngles().y, original_goal_feet_yaw);
                move_side = (2 * (move_delta <= 0.0f) - 1) > 0.0f ? -1 : 1;
                math::normalize_yaw(player->m_angEyeAngles().y + move_side ? 58.f : -58.f);
            }
            else if (!(player_record->layers[12].m_flWeight * 10000.0f))
            {
                if (player_record->layers[6].m_flWeight * 10000.0f == int(player_record->layers[6].m_flWeight * 10000.0f))
                {
                    float delta_eye = abs(resolver_layers[0][6].m_flPlaybackRate - player_record->layers[6].m_flPlaybackRate);
                    float delta_negative = abs(resolver_layers[1][6].m_flPlaybackRate - player_record->layers[6].m_flPlaybackRate);
                    float delta_positive = abs(resolver_layers[2][6].m_flPlaybackRate - player_record->layers[6].m_flPlaybackRate);

                    if ((delta_eye * 10000.0f) != (delta_negative * 10000.0f)) {
                        if (move_delta <= delta_eye)
                            move_delta = delta_eye;
                        else if (move_delta > delta_eye)
                            move_delta = delta_negative;
                        else
                            move_delta = delta_positive;

                        if (!(move_delta * 1000.0f) || (delta_eye * 10000.0f) != (delta_negative * 10000.0f)) {
                            if (move_delta == delta_negative) {
                                move_side = -1;
                            }
                            else if (move_delta == delta_positive) {
                                move_side = 1;
                            }
                        }
                    }
                }
            }
        
        if (g_ctx.globals.missed_shots[player->EntIndex()] > 1)
        {
            switch (g_ctx.globals.missed_shots[player->EntIndex()] % 5)
            {
            case 0:
                animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + static_desync : player->m_angEyeAngles().y - static_desync);
                break;
            case 1:
                animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + low_desync : player->m_angEyeAngles().y - low_desync);
                break;

                //--Тут 3 рандома-и-они-нужны-на-всякий-случай--\\

            case 2:
                animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + random_desync : player->m_angEyeAngles().y - random_desync);
                break;
            case 3:
                animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + random_desync : player->m_angEyeAngles().y - random_desync);
                break;
            case 4:
                animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + random_desync : player->m_angEyeAngles().y - random_desync);
                break;

                //----------------------------------------------\\
                }
            }
        }
    }
}

ДАЛЬШЕ ЗАХОДИМ В animation_system.h И НАХОДИМ class resolver, и там надо под
C++:
Expand Collapse Copy
    void initialize(player_t* e, adjust_data* record, const float& goal_feet_yaw, const float& pitch);
    void reset();
Вписать
C++:
Expand Collapse Copy
void animlayer_resolver();
И надо над public: вписать
C++:
Expand Collapse Copy
    AnimationLayer layers[13];
    AnimationLayer resolver_layers[3][13];

Дальше ЗАХОДИМ В animation_system.cpp жмём ctrl + f и ищем эту строку
C++:
Expand Collapse Copy
player_resolver[e->EntIndex()].initialize(e, record, previous_goal_feet_yaw[e->EntIndex()], e->m_angEyeAngles().x);
и под ней вставляем
C++:
Expand Collapse Copy
player_resolver[e->EntIndex()].animlayer_resolver();


Кстати @azazinc тут причастен
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Щас вы ахуеете, я для вас сделаю так чтоб он работал (Это для самых маленьких которые не инклюдали в анимфиксе его)

В resolver.cpp под
C++:
Expand Collapse Copy
void resolver::reset(){

    player = nullptr;
    player_record = nullptr;

    side = false;
    fake = false;

    was_first_bruteforce = false;
    was_second_bruteforce = false;

    original_goal_feet_yaw = 0.0f;
    original_pitch = 0.0f;
}

Вставляем ЭТО
C++:
Expand Collapse Copy
void animlayer_resolver()
{

    if (!g_ctx.local()->is_alive())
        return;
    if (!player->is_player())
        return;

    float static_desync = 58.f;
    float low_desync = 30.f;
    float random_desync = math::RandomFloat(-58, 58);

    int move_side;
    player_t* e;
    auto animstate = e->GetAnimState();
    if (player->m_fFlags() & FL_ONGROUND)
    {
        if (player->m_vecVelocity().Length2D() > 0.1f)
        {
            if (player_record->layers[3].m_flWeight == 0.f && player_record->layers[3].m_flCycle == 0.f && player_record->layers[6].m_flWeight == 0.f)
            {
                auto move_delta = math::AngleDiff(player->m_angEyeAngles().y, original_goal_feet_yaw);
                move_side = (2 * (move_delta <= 0.0f) - 1) > 0.0f ? -1 : 1;
                math::normalize_yaw(player->m_angEyeAngles().y + move_side ? 58.f : -58.f);
            }
            else if (!(player_record->layers[12].m_flWeight * 10000.0f))
            {
                if (player_record->layers[6].m_flWeight * 10000.0f == int(player_record->layers[6].m_flWeight * 10000.0f))
                {
                    float delta_eye = abs(resolver_layers[0][6].m_flPlaybackRate - player_record->layers[6].m_flPlaybackRate);
                    float delta_negative = abs(resolver_layers[1][6].m_flPlaybackRate - player_record->layers[6].m_flPlaybackRate);
                    float delta_positive = abs(resolver_layers[2][6].m_flPlaybackRate - player_record->layers[6].m_flPlaybackRate);

                    if ( ( delta_eye * 10000.0f ) != ( delta_negative * 10000.0f ) ) {
                         if ( move_delta <= delta_eye )
                         move_delta = delta_eye;
                    else if ( move_delta > delta_eye )
                         move_delta = delta_negative;
                    else
                         move_delta = delta_positive;
              
       if ( !( move_delta * 1000.0f ) || ( delta_eye * 10000.0f ) != ( delta_negative * 10000.0f ) ) {
            if ( move_delta == delta_negative ) {
                record->side = -1;
                record->type = 1;
            }
            else if ( move_delta == delta_positive ) {
                record->side = 1;
                record->type = 1;
            }
        }

                }
            }
        }
    }

    animstate->m_flGoalFeetYaw = math::normalize_yaw(player->m_angEyeAngles().y + (58 * move_side));
    if (g_ctx.globals.missed_shots[player->EntIndex()] > 1)
    {
        switch (g_ctx.globals.missed_shots[player->EntIndex()] % 5)
        {
        case 0:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + static_desync : player->m_angEyeAngles().y - static_desync);
            break;
        case 1:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + low_desync : player->m_angEyeAngles().y - low_desync);
            break;

            //--Тут 3 рандома-и-они-нужны-на-всякий-случай--\\

        case 2:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + random_desync : player->m_angEyeAngles().y - random_desync);
            break;
        case 3:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + random_desync : player->m_angEyeAngles().y - random_desync);
            break;
        case 4:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(move_side ? player->m_angEyeAngles().y + random_desync : player->m_angEyeAngles().y - random_desync);
            break;

            //----------------------------------------------\\

        }
    }
}

ДАЛЬШЕ ЗАХОДИМ В animation_system.h И НАХОДИМ class resolver, и там надо под
void initialize(player_t* e, adjust_data* record, const float& goal_feet_yaw, const float& pitch);
void reset();
Вписать
void animlayer_resolver();

Дальше ЗАХОДИМ В animation_system.cpp жмём ctrl + f и ищем эту строку
player_resolver[e->EntIndex()].initialize(e, record, previous_goal_feet_yaw[e->EntIndex()], e->m_angEyeAngles().x);

и под ней вставляем
player_resolver[e->EntIndex()].animlayer_resolver();


Сразу скажу, про стэнды забудьте, либо спастите с другого ресика фикс стэндов ибо мне лень его дописывать.
Кстати @azazinc тут причастен
они все так много говорят, мне все равно
upd.
оно не будет работать без обновления лееров и т.д
 
они все так много говорят, мне все равно
upd.
оно не будет работать без обновления лееров и т.д
Та я знаю брат, апдейт анимок сливали уже(Я к тому что берёшь и пастишь, и сидишь радуешься).
 
ты же мне его давал, от него же фпс проседает как от 1 строчки кода Винни Зе Бруха)))
 
Вэсэаэаэсэаэаэмэаэахаэпэахаэ ты же мне его давал, от него же фпс проседает как от 1 строчки кода Винни Зе Бруха)))
Кстати я давал не прям его, ибо в этот я пихнул леер парт немезиса.
Смотри что бы ты не упал
Ну давай пасти пасти пока разрешаю))
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Кстати я давал не прям его, ибо в этот я пихнул леер парт немезиса.

Ну давай пасти пасти пока разрешаю))
крайн или креин или как у тебя там ник, а смысл от этого немезис парта, если он вронг?
 
Кстати я давал не прям его, ибо в этот я пихнул леер парт немезиса.

Ну давай пасти пасти пока разрешаю))
Мне этого не надо есть свое
крайн или креин или как у тебя там ник, а смысл от этого немезис парта, если он вронг?
если он вронг?
Он нормальный только один мем бы пофиксить и все
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ты хотяб половину чеков на работоспобность проверял?)))
крайн или креин или как у тебя там ник, а смысл от этого немезис парта, если он вронг?
Где здесь немезис вообще мля. Ни проверок на 979 ниче
 
Ты хотяб половину чеков на работоспобность проверял?)))

Где здесь немезис вообще мля. Ни проверок на 979 ниче
ауе челик сливал леер парт как он писал с дампа немки
 
либо я чета не понимаю либо у меня сурс нищий который не имеет AngleDiff
 
либо я чета не понимаю либо у меня сурс нищий который не имеет AngleDiff
Закинь в math.cpp
C++:
Expand Collapse Copy
    float AngleDiff(float destAngle, float srcAngle) {
        float delta;

        delta = fmodf(destAngle - srcAngle, 360.0f);
        if (destAngle > srcAngle) {
            if (delta >= 180)
                delta -= 360;
        }
        else {
            if (delta <= -180)
                delta += 360;
        }
        return delta;
    }

И в math.hpp в namespace math
C++:
Expand Collapse Copy
 float AngleDiff(float destAngle, float srcAngle);
 
Закинь в math.cpp
C++:
Expand Collapse Copy
    float AngleDiff(float destAngle, float srcAngle) {
        float delta;

        delta = fmodf(destAngle - srcAngle, 360.0f);
        if (destAngle > srcAngle) {
            if (delta >= 180)
                delta -= 360;
        }
        else {
            if (delta <= -180)
                delta += 360;
        }
        return delta;
    }

И в math.hpp в namespace math
C++:
Expand Collapse Copy
 float AngleDiff(float destAngle, float srcAngle);
1633248722896.png
при включении рейджа тут вылетает в чем может быть трабл?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Назад
Сверху Снизу