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

Начинающий
Статус
Оффлайн
Регистрация
12 Мар 2021
Сообщения
15
Реакции[?]
0
Поинты[?]
0
nice "animlayer" resolver. you pasted the playbackrates and didnt even apply any values to any vars (placebo local data)
 
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2019
Сообщения
105
Реакции[?]
8
Поинты[?]
3K
Щас вы ахуеете, я для вас сделаю так чтоб он работал (Это для самых маленьких которые не инклюдали в анимфиксе его)

В resolver.cpp под
C++:
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++:
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++:
    void initialize(player_t* e, adjust_data* record, const float& goal_feet_yaw, const float& pitch);
    void reset();
Вписать
C++:
void animlayer_resolver();
И надо над public: вписать
C++:
    AnimationLayer layers[13];
    AnimationLayer resolver_layers[3][13];
Дальше ЗАХОДИМ В animation_system.cpp жмём ctrl + f и ищем эту строку
C++:
player_resolver[e->EntIndex()].initialize(e, record, previous_goal_feet_yaw[e->EntIndex()], e->m_angEyeAngles().x);
и под ней вставляем
C++:
player_resolver[e->EntIndex()].animlayer_resolver();

Кстати azazinc тут причастен
Гениально делать лееры без их апдейтов и инфы с анимфикса, откуда они будут брать положение то, с пустых анимлееров?)

Ещё гениально спастить IDE Nemesis, взяв от туда сихру лееров, которая работает через жопу эзотерика :NotLikeThis:
 
Начинающий
Статус
Оффлайн
Регистрация
19 Ноя 2020
Сообщения
18
Реакции[?]
1
Поинты[?]
0
Щас вы ахуеете, я для вас сделаю так чтоб он работал (Это для самых маленьких которые не инклюдали в анимфиксе его)

В resolver.cpp под
C++:
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++:
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++:
    void initialize(player_t* e, adjust_data* record, const float& goal_feet_yaw, const float& pitch);
    void reset();
Вписать
C++:
void animlayer_resolver();
И надо над public: вписать
C++:
    AnimationLayer layers[13];
    AnimationLayer resolver_layers[3][13];
Дальше ЗАХОДИМ В animation_system.cpp жмём ctrl + f и ищем эту строку
C++:
player_resolver[e->EntIndex()].initialize(e, record, previous_goal_feet_yaw[e->EntIndex()], e->m_angEyeAngles().x);
и под ней вставляем
C++:
player_resolver[e->EntIndex()].animlayer_resolver();

Кстати azazinc тут причастен
now your fake duck goes boing boing
 
Похожие темы
Ответы
10
Просмотры
2K
Сверху Снизу