• Ну и что вы думаете? Мы взяли и создали свой собственный чат, с блекджеком и шлюхами, теперь все легенды в одном месте: даже те 1000 человек, которых мы забанили в старом чате 🫡 Будем публиковать там очень интересные подробности нового дизайна форума, oh yeah

    Вступай и становись легендой, пока это не стало поздно: жмякай на меня, ток не сильно(

C++ New Resolver Logic\Method For Legendware

get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
449
Реакции[?]
202
Поинты[?]
49K
i made this in like a day for a friend and asked him if i can publish it and he said its fine

nothing special but at least its better than any public shit you'll find or the default lw resolver

enjoy



edit :- resolver is broken i made a new post with spoonfeed for everyone
 
Последнее редактирование:
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,556
Реакции[?]
588
Поинты[?]
105K
i made this in like a day for a friend and asked him if i can publish it and he said its fine

nothing special but at least its better than any public shit you'll find or the default lw resolver

enjoy
Скрытое содержимое
Stop thinking that more voids will make your resolver works better.
Also, stop using methods from xy0 2019.
Btw what are you doing with ?
I can`t believe that you made animation fix working properly in legendware.
Just default lw resolver, don`t try to paste it.
 
get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
449
Реакции[?]
202
Поинты[?]
49K
Stop thinking that more voids will make your resolver works better.
Also, stop using methods from xy0 2019.
Btw what are you doing with Скрытое содержимое?
I can`t believe that you made animation fix working properly in legendware.
Just default lw resolver, don`t try to paste it.
ok
Btw what are you doing with Для просмотра содержимого необходимо иметь 15 реакций. side_layers ?
C++:
if (g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled)
    {
        animstate->m_flGoalFeetYaw = previous_goal_feet_yaw[e->EntIndex()]; //-V807

        g_ctx.globals.updating_animation = true;
        e->update_clientside_animation();
        g_ctx.globals.updating_animation = false;

        previous_goal_feet_yaw[e->EntIndex()] = animstate->m_flGoalFeetYaw;
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));

        memcpy(record->side_layers[0], e->get_animlayers(), e->animlayer_count() * sizeof(AnimationLayer));

        animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y); //-V807

        g_ctx.globals.updating_animation = true;
        e->update_clientside_animation();
        g_ctx.globals.updating_animation = false;

        setup_matrix(e, animlayers, NONE);
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));

        record->right_side = e->get_animation_state()->m_flGoalFeetYaw;
        record->right_poses = e->m_flPoseParameter();
        memcpy(record->side_layers[1], e->get_animlayers(), e->animlayer_count() * sizeof(AnimationLayer));
        memcpy(record->rightmatrixes, e->m_CachedBoneData().Base(), e->m_CachedBoneData().Count() * sizeof(matrix3x4_t));

        animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + 60.0f);

        g_ctx.globals.updating_animation = true;
        e->update_clientside_animation();
        g_ctx.globals.updating_animation = false;

        setup_matrix(e, animlayers, FIRST);
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));

        record->left_side = e->get_animation_state()->m_flGoalFeetYaw;
        record->left_poses = e->m_flPoseParameter();
        memcpy(record->side_layers[2], e->get_animlayers(), e->animlayer_count() * sizeof(AnimationLayer));
        memcpy(record->leftmatrixes, e->m_CachedBoneData().Base(), e->m_CachedBoneData().Count() * sizeof(matrix3x4_t));

        animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 60.0f);

        g_ctx.globals.updating_animation = true;
        e->update_clientside_animation();
        g_ctx.globals.updating_animation = false;

        setup_matrix(e, animlayers, SECOND);
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));

        player_resolver[e->EntIndex()].initialize(e, record, previous_goal_feet_yaw[e->EntIndex()], e->m_angEyeAngles().x);
        player_resolver[e->EntIndex()].resolve();

        //player_resolver[e->EntIndex()].initialize(e, record, e->m_angEyeAngles().x);
        //player_resolver[e->EntIndex()].ResolveAngles();


        /// <summary>
        /// //////////////
        /// </summary>
        /// <param name="e"></param>
        float delta[65];

        delta[e->EntIndex()] = e->get_max_desync_delta();

        if (delta[e->EntIndex()] < 10)
            delta[e->EntIndex()] = 0;

        /// <summary>
        /// ///////////
        /// </summary>
        /// <param name="e"></param>
        switch (record->side)
        {
        case RESOLVER_ORIGINAL:
            animstate->m_flGoalFeetYaw = previous_goal_feet_yaw[e->EntIndex()];
            break;
        case RESOLVER_ZERO:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y);
            break;
        case RESOLVER_FIRST:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + e->get_max_desync_delta());
            break;
        case RESOLVER_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - e->get_max_desync_delta());
            break;
        case RESOLVER_LOW_FIRST:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + e->get_max_desync_delta() * 0.45);
            break;
        case RESOLVER_LOW_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - e->get_max_desync_delta() * 0.45);
            break;
        }

    }
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,556
Реакции[?]
588
Поинты[?]
105K
ok

C++:
if (g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled)
    {
        animstate->m_flGoalFeetYaw = previous_goal_feet_yaw[e->EntIndex()]; //-V807

        g_ctx.globals.updating_animation = true;
        e->update_clientside_animation();
        g_ctx.globals.updating_animation = false;

        previous_goal_feet_yaw[e->EntIndex()] = animstate->m_flGoalFeetYaw;
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));

        memcpy(record->side_layers[0], e->get_animlayers(), e->animlayer_count() * sizeof(AnimationLayer));

        animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y); //-V807

        g_ctx.globals.updating_animation = true;
        e->update_clientside_animation();
        g_ctx.globals.updating_animation = false;

        setup_matrix(e, animlayers, NONE);
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));

        record->right_side = e->get_animation_state()->m_flGoalFeetYaw;
        record->right_poses = e->m_flPoseParameter();
        memcpy(record->side_layers[1], e->get_animlayers(), e->animlayer_count() * sizeof(AnimationLayer));
        memcpy(record->rightmatrixes, e->m_CachedBoneData().Base(), e->m_CachedBoneData().Count() * sizeof(matrix3x4_t));

        animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + 60.0f);

        g_ctx.globals.updating_animation = true;
        e->update_clientside_animation();
        g_ctx.globals.updating_animation = false;

        setup_matrix(e, animlayers, FIRST);
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));

        record->left_side = e->get_animation_state()->m_flGoalFeetYaw;
        record->left_poses = e->m_flPoseParameter();
        memcpy(record->side_layers[2], e->get_animlayers(), e->animlayer_count() * sizeof(AnimationLayer));
        memcpy(record->leftmatrixes, e->m_CachedBoneData().Base(), e->m_CachedBoneData().Count() * sizeof(matrix3x4_t));

        animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 60.0f);
Ok, that looks good for you.
But...
Stop using layers from otv2. It`s outdated idea, you should try to find some properer methods.
 
get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
449
Реакции[?]
202
Поинты[?]
49K
Пользователь
Статус
Оффлайн
Регистрация
19 Ноя 2019
Сообщения
263
Реакции[?]
50
Поинты[?]
2K
Эксперт
Статус
Оффлайн
Регистрация
20 Май 2020
Сообщения
1,479
Реакции[?]
451
Поинты[?]
7K
get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
449
Реакции[?]
202
Поинты[?]
49K
Сверху Снизу