Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

C++ New Resolver Logic\Method For Legendware

get good get legendware
Участник
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
471
Реакции
220
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
 
Последнее редактирование:
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.
 
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++:
Expand Collapse Copy
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;
        }

    }
 
ok

C++:
Expand Collapse Copy
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.
 
Назад
Сверху Снизу