Гайд Учимся думать feat legendtrupe.

Начинающий
Статус
Оффлайн
Регистрация
7 Дек 2022
Сообщения
24
Реакции[?]
5
Поинты[?]
0
Я видел дохуя постов с паблик анимациями, ресольвером и т.д. Но чтобы кто-то додумался сделать что-то своё? Людям просто лень изучать игру? Или может кто-то не помог пастерам в начинаниях? НЕТ! Вина всему этому посты некоторых "умных людей". Вы просто засираете форум своим говном, которое и так уже лежит в паблике! Из-за этого другие начинающие пастеры не могут различить что из этого мусора может оказаться полезным для них. Ну да ладно, это всего-лишь моё мнение о ситуации которую видят многие и сами.

Приступим.
Начнём с того, что ваш легендвар - довольно понятная для начала база, но она имеет очень, и ещё раз ОЧЕНЬ много мусора. Пасты лв могут иметь хорошие визуалы, и то не везде качественный рендер, который просто жрёт весь ваш фпс, за то потом, мы натыкаемся на темы по типу: "Автоволл жрёт фпс", хотя это ошибка не ваших кривых рук, а тех, кто до вас держал сурс.

Разберём ещё одну очень забавную вещь.
На форуме лежат темы по типу: "Правильное обновление анимаций" или же вопросы по данной теме.
Ну как вам сказать... Давайте посмотрим на исходный код вашего говна:
animations.cpp:
#if RELEASE
    if (!player_info.fakeplayer && g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled) //-V807
#else
    if (g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled)
#endif
    {
        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));

        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));

        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));

        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_yaw();

        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 + 60.0f);
            break;
        case RESOLVER_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 60.0f);
            break;
        case RESOLVER_LOW_FIRST:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + 30.0f);
            break;
        case RESOLVER_LOW_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 30.0f);
            break;
        }

        e->m_angEyeAngles().x = player_resolver[e->EntIndex()].resolve_pitch();
    }
И дело не только в неправильном сетапе матриц..
Дело в том, что при включённом рейдже, моделька енеми будет соответствовать данному положению:
animations.cpp:
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;
И весь ваш ресольвер, который вы тоже спастили, идёт нахуй!! Потому что данное положение модельки енеми уже неправильное!
И никакие паблик ресольверы на анимлеерах вам не помогут, это всё тот же мусор!

Это только один пример из множества мусора, присутствующего в данной базе. Поэтому если хотите делать достойный рекод - начните с нуля. Даже будь это легендвар, оставьте только то что реально выглядит не так плохо, пусть это будут визуалы, антиаимы, фейклаги, но такие вещи по типу анимаций, аимбота и множества хуков, влияющих на возможности вашей пасты вы должны разобрать сами! Не нужно пытаться улучшить труп, напихивая его говном с паблика. Лучше от этого точно не станет!

Надеюсь кто-то начнёт думать. А то смотря на такие темы реально блевать хочется.






Ну в принципе это всё :)
 
Пользователь
Статус
Оффлайн
Регистрация
16 Мар 2021
Сообщения
376
Реакции[?]
78
Поинты[?]
11K
Бро лучший, продолжай в том же духе, у тебя всё получится
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,125
Реакции[?]
395
Поинты[?]
50K
Я видел дохуя постов с паблик анимациями, ресольвером и т.д. Но чтобы кто-то додумался сделать что-то своё? Людям просто лень изучать игру? Или может кто-то не помог пастерам в начинаниях? НЕТ! Вина всему этому посты некоторых "умных людей". Вы просто засираете форум своим говном, которое и так уже лежит в паблике! Из-за этого другие начинающие пастеры не могут различить что из этого мусора может оказаться полезным для них. Ну да ладно, это всего-лишь моё мнение о ситуации которую видят многие и сами.

Приступим.
Начнём с того, что ваш легендвар - довольно понятная для начала база, но она имеет очень, и ещё раз ОЧЕНЬ много мусора. Пасты лв могут иметь хорошие визуалы, и то не везде качественный рендер, который просто жрёт весь ваш фпс, за то потом, мы натыкаемся на темы по типу: "Автоволл жрёт фпс", хотя это ошибка не ваших кривых рук, а тех, кто до вас держал сурс.

Разберём ещё одну очень забавную вещь.
На форуме лежат темы по типу: "Правильное обновление анимаций" или же вопросы по данной теме.
Ну как вам сказать... Давайте посмотрим на исходный код вашего говна:
animations.cpp:
#if RELEASE
    if (!player_info.fakeplayer && g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled) //-V807
#else
    if (g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled)
#endif
    {
        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));

        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));

        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));

        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_yaw();

        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 + 60.0f);
            break;
        case RESOLVER_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 60.0f);
            break;
        case RESOLVER_LOW_FIRST:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + 30.0f);
            break;
        case RESOLVER_LOW_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 30.0f);
            break;
        }

        e->m_angEyeAngles().x = player_resolver[e->EntIndex()].resolve_pitch();
    }
И дело не только в неправильном сетапе матриц..
Дело в том, что при включённом рейдже, моделька енеми будет соответствовать данному положению:
animations.cpp:
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;
И весь ваш ресольвер, который вы тоже спастили, идёт нахуй!! Потому что данное положение модельки енеми уже неправильное!
И никакие паблик ресольверы на анимлеерах вам не помогут, это всё тот же мусор!

Это только один пример из множества мусора, присутствующего в данной базе. Поэтому если хотите делать достойный рекод - начните с нуля. Даже будь это легендвар, оставьте только то что реально выглядит не так плохо, пусть это будут визуалы, антиаимы, фейклаги, но такие вещи по типу анимаций, аимбота и множества хуков, влияющих на возможности вашей пасты вы должны разобрать сами! Не нужно пытаться улучшить труп, напихивая его говном с паблика. Лучше от этого точно не станет!

Надеюсь кто-то начнёт думать. А то смотря на такие темы реально блевать хочется.






Ну в принципе это всё :)
Начнём с того, что посмотри на условие препроцессора - это первое, во-вторых посмотри на установку матрицы, с какого хера он сразу на -60 будет ставить-то?
 
Трахов
Пользователь
Статус
Оффлайн
Регистрация
6 Фев 2020
Сообщения
490
Реакции[?]
87
Поинты[?]
2K
Я видел дохуя постов с паблик анимациями, ресольвером и т.д. Но чтобы кто-то додумался сделать что-то своё? Людям просто лень изучать игру? Или может кто-то не помог пастерам в начинаниях? НЕТ! Вина всему этому посты некоторых "умных людей". Вы просто засираете форум своим говном, которое и так уже лежит в паблике! Из-за этого другие начинающие пастеры не могут различить что из этого мусора может оказаться полезным для них. Ну да ладно, это всего-лишь моё мнение о ситуации которую видят многие и сами.

Приступим.
Начнём с того, что ваш легендвар - довольно понятная для начала база, но она имеет очень, и ещё раз ОЧЕНЬ много мусора. Пасты лв могут иметь хорошие визуалы, и то не везде качественный рендер, который просто жрёт весь ваш фпс, за то потом, мы натыкаемся на темы по типу: "Автоволл жрёт фпс", хотя это ошибка не ваших кривых рук, а тех, кто до вас держал сурс.

Разберём ещё одну очень забавную вещь.
На форуме лежат темы по типу: "Правильное обновление анимаций" или же вопросы по данной теме.
Ну как вам сказать... Давайте посмотрим на исходный код вашего говна:
animations.cpp:
#if RELEASE
    if (!player_info.fakeplayer && g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled) //-V807
#else
    if (g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled)
#endif
    {
        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));

        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));

        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));

        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_yaw();

        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 + 60.0f);
            break;
        case RESOLVER_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 60.0f);
            break;
        case RESOLVER_LOW_FIRST:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + 30.0f);
            break;
        case RESOLVER_LOW_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 30.0f);
            break;
        }

        e->m_angEyeAngles().x = player_resolver[e->EntIndex()].resolve_pitch();
    }
И дело не только в неправильном сетапе матриц..
Дело в том, что при включённом рейдже, моделька енеми будет соответствовать данному положению:
animations.cpp:
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;
И весь ваш ресольвер, который вы тоже спастили, идёт нахуй!! Потому что данное положение модельки енеми уже неправильное!
И никакие паблик ресольверы на анимлеерах вам не помогут, это всё тот же мусор!

Это только один пример из множества мусора, присутствующего в данной базе. Поэтому если хотите делать достойный рекод - начните с нуля. Даже будь это легендвар, оставьте только то что реально выглядит не так плохо, пусть это будут визуалы, антиаимы, фейклаги, но такие вещи по типу анимаций, аимбота и множества хуков, влияющих на возможности вашей пасты вы должны разобрать сами! Не нужно пытаться улучшить труп, напихивая его говном с паблика. Лучше от этого точно не станет!

Надеюсь кто-то начнёт думать. А то смотря на такие темы реально блевать хочется.






Ну в принципе это всё :)
Ты записываешь в анимстейт угол для матрицы и позже сетаешь значения с бэкапа, т.е до замены гоалфитява...
Так каким хером у тебя серверная матрица будет -60?
 
че
Пользователь
Статус
Оффлайн
Регистрация
27 Фев 2021
Сообщения
504
Реакции[?]
67
Поинты[?]
25K
друг прежде чем добавлять скрин с моей темы, зайди в тему и почитай что я просил пример кода реализации не для лв даже
противный пост
он проста регнул мульти и ливнул с акка, браво
 
Начинающий
Статус
Оффлайн
Регистрация
7 Дек 2022
Сообщения
24
Реакции[?]
5
Поинты[?]
0
Начнём с того, что посмотри на условие препроцессора - это первое, во-вторых посмотри на установку матрицы, с какого хера он сразу на -60 будет ставить-то?
Привет дружище, отвечу на твой вопрос: Всё просто, строка с -60 последняя, если так-то подумать ниодно положение сетапится не исходя из чего-то, а просто выполняется код фит ява, это же по факту выглядит бредово и ты это понимаешь. Ведь ты сам знаешь что сетап матриц тут не правильный)
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
7 Дек 2022
Сообщения
24
Реакции[?]
5
Поинты[?]
0
Ты записываешь в анимстейт угол для матрицы и позже сетаешь значения с бэкапа, т.е до замены гоалфитява...
Так каким хером у тебя серверная матрица будет -60?
Данная строка последняя, а вообще все строки с анимстейтом просто выполняются, здесь так и так не правильный сетап матриц, соответственно последняя строка это -60, исходя из этого я сделал такой вывод. Дело в том что я сам сталкивался с данной проблемой и я знаю как её решить. Достаточно просто сделать нормальный сетап матриц.
 
Трахов
Пользователь
Статус
Оффлайн
Регистрация
6 Фев 2020
Сообщения
490
Реакции[?]
87
Поинты[?]
2K
Привет дружище, отвечу на твой вопрос: Всё просто, строка с -60 последняя, если так-то подумать ниодно положение сетапится не исходя из чего-то, а просто выполняется код фит ява, это же по факту выглядит бредово и ты это понимаешь. Ведь ты сам знаешь что сетап матриц тут не правильный)
Я не знаю, ты хоть основы плюсов выучи и логику подруби, а потом уже темы создавай. Чем ты отличаешься от тех кентов которые за брутфорс спрашивают?

Еще раз объясняю. Ты записываешь в animstate угол, допустим на серверную матрицу он равняется реальному углу, после чего ты создаешь матрицу И записываешь бэкап которые имеет значения ДО записи угла. Код выполняется последовательно и соответственно последняя НУ НЕ МОЖЕТ серверная матрица быть -60 когда ты записываешь -60 в левую матрицу.

Upd: с таким успехом по твоим словам, все матрицы будет равняться -60. Жду скрин и пруфы в виде видео что это так), ну и покажи как же правильно то у нас матрицы создавать😭
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,125
Реакции[?]
395
Поинты[?]
50K
Привет дружище, отвечу на твой вопрос: Всё просто, строка с -60 последняя, если так-то подумать ниодно положение сетапится не исходя из чего-то, а просто выполняется код фит ява, это же по факту выглядит бредово и ты это понимаешь. Ведь ты сам знаешь что сетап матриц тут не правильный)
Ты видимо неправильно разобрал код сетапа матриц. Ещё раз объясняю, всё идёт поэтапно, а не сразу матрица сетапается на -60.
Данная строка последняя, а вообще все строки с анимстейтом просто выполняются, здесь так и так не правильный сетап матриц, соответственно последняя строка это -60, исходя из этого я сделал такой вывод. Дело в том что я сам сталкивался с данной проблемой и я знаю как её решить. Достаточно просто сделать нормальный сетап матриц.
А в чём здесь неправильный сетап матриц, можешь дать пояснение?
 
Начинающий
Статус
Оффлайн
Регистрация
25 Окт 2022
Сообщения
35
Реакции[?]
6
Поинты[?]
0
Я видел дохуя постов с паблик анимациями, ресольвером и т.д. Но чтобы кто-то додумался сделать что-то своё? Людям просто лень изучать игру? Или может кто-то не помог пастерам в начинаниях? НЕТ! Вина всему этому посты некоторых "умных людей". Вы просто засираете форум своим говном, которое и так уже лежит в паблике! Из-за этого другие начинающие пастеры не могут различить что из этого мусора может оказаться полезным для них. Ну да ладно, это всего-лишь моё мнение о ситуации которую видят многие и сами.

Приступим.
Начнём с того, что ваш легендвар - довольно понятная для начала база, но она имеет очень, и ещё раз ОЧЕНЬ много мусора. Пасты лв могут иметь хорошие визуалы, и то не везде качественный рендер, который просто жрёт весь ваш фпс, за то потом, мы натыкаемся на темы по типу: "Автоволл жрёт фпс", хотя это ошибка не ваших кривых рук, а тех, кто до вас держал сурс.

Разберём ещё одну очень забавную вещь.
На форуме лежат темы по типу: "Правильное обновление анимаций" или же вопросы по данной теме.
Ну как вам сказать... Давайте посмотрим на исходный код вашего говна:
animations.cpp:
#if RELEASE
    if (!player_info.fakeplayer && g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled) //-V807
#else
    if (g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled)
#endif
    {
        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));

        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));

        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));

        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_yaw();

        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 + 60.0f);
            break;
        case RESOLVER_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 60.0f);
            break;
        case RESOLVER_LOW_FIRST:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + 30.0f);
            break;
        case RESOLVER_LOW_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 30.0f);
            break;
        }

        e->m_angEyeAngles().x = player_resolver[e->EntIndex()].resolve_pitch();
    }
И дело не только в неправильном сетапе матриц..
Дело в том, что при включённом рейдже, моделька енеми будет соответствовать данному положению:
animations.cpp:
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;
И весь ваш ресольвер, который вы тоже спастили, идёт нахуй!! Потому что данное положение модельки енеми уже неправильное!
И никакие паблик ресольверы на анимлеерах вам не помогут, это всё тот же мусор!

Это только один пример из множества мусора, присутствующего в данной базе. Поэтому если хотите делать достойный рекод - начните с нуля. Даже будь это легендвар, оставьте только то что реально выглядит не так плохо, пусть это будут визуалы, антиаимы, фейклаги, но такие вещи по типу анимаций, аимбота и множества хуков, влияющих на возможности вашей пасты вы должны разобрать сами! Не нужно пытаться улучшить труп, напихивая его говном с паблика. Лучше от этого точно не станет!

Надеюсь кто-то начнёт думать. А то смотря на такие темы реально блевать хочется.






Ну в принципе это всё :)
Ну так пастеры и появились для того чтобы изменить аним , рейдж бот и хуки
Никто не спрашивакт про визуалы итд что и так норм
И не все пастры тупые пробки для того чтобы пастить мусор
А те тупые пробки сначало будут пастить все что попало а потом они начнут учится и прогресировать
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
7 Дек 2022
Сообщения
24
Реакции[?]
5
Поинты[?]
0
Ты видимо неправильно разобрал код сетапа матриц. Ещё раз объясняю, всё идёт поэтапно, а не сразу матрица сетапается на -60.

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

Еще раз объясняю. Ты записываешь в animstate угол, допустим на серверную матрицу он равняется реальному углу, после чего ты создаешь матрицу И записываешь бэкап которые имеет значения ДО записи угла. Код выполняется последовательно и соответственно последняя НУ НЕ МОЖЕТ серверная матрица быть -60 когда ты записываешь -60 в левую матрицу.

Upd: с таким успехом по твоим словам, все матрицы будет равняться -60. Жду скрин и пруфы в виде видео что это так), ну и покажи как же правильно то у нас матрицы создавать😭
Причём здесь основы плюсов ?? если мы говорим про анимстейт кс и сетапе матриц соответственно..
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,125
Реакции[?]
395
Поинты[?]
50K
Ты мне лично говорил что это неправильный сетап матриц)) Мы с тобой раньше довольно хорошо общались, ну да ладно, это не важно. Но ты мне это сам сказал..

Причём здесь основы плюсов ?? если мы говорим про анимстейт кс и сетапе матриц соответственно..
Ты мне лично говорил что это неправильный сетап матриц)) Мы с тобой раньше довольно хорошо общались, ну да ладно, это не важно. Но ты мне это сам сказал..
В таком случае, я думаю что ты меня не совсем правильно понял, иначе я бы не стал разводить спор по этому поводу. В любом случае я пояснил почему ты не прав и почти объяснил свою точку зрения.
 
Начинающий
Статус
Оффлайн
Регистрация
7 Дек 2022
Сообщения
24
Реакции[?]
5
Поинты[?]
0
В таком случае, я думаю что ты меня не совсем правильно понял, иначе я бы не стал разводить спор по этому поводу. В любом случае я пояснил почему ты не прав и почти объяснил свою точку зрения.
Возможно я не прав, но на практике на мапе с ботами у меня модельку енеми с этим кодом разворачивало на левый сайд... И когда я решал эту проблему то переписав именно этот код, проблема решалась.
 
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,125
Реакции[?]
395
Поинты[?]
50K
Возможно я не прав, но на практике на мапе с ботами у меня модельку енеми с этим кодом разворачивало на левый сайд... И когда я решал эту проблему то переписав именно этот код, проблема решалась.
Хорошо, если у тебя решена проблема именно данным способом, то это не значит что данный способ сработает и у других.
 
Трахов
Пользователь
Статус
Оффлайн
Регистрация
6 Фев 2020
Сообщения
490
Реакции[?]
87
Поинты[?]
2K
Возможно я не прав, но на практике на мапе с ботами у меня модельку енеми с этим кодом разворачивало на левый сайд... И когда я решал эту проблему то переписав именно этот код, проблема решалась.
Ты видимо гений но у тебя по проверкам матрицы на ботов кроме мейна ставиться не должны, если мы говорим про деф лв.

UPD: видимо ты кабан, зайди в draw_skeleton и чекни на какие матрицы ты его вообще рисуешь.
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
30 Янв 2021
Сообщения
159
Реакции[?]
15
Поинты[?]
7K
Я видел дохуя постов с паблик анимациями, ресольвером и т.д. Но чтобы кто-то додумался сделать что-то своё? Людям просто лень изучать игру? Или может кто-то не помог пастерам в начинаниях? НЕТ! Вина всему этому посты некоторых "умных людей". Вы просто засираете форум своим говном, которое и так уже лежит в паблике! Из-за этого другие начинающие пастеры не могут различить что из этого мусора может оказаться полезным для них. Ну да ладно, это всего-лишь моё мнение о ситуации которую видят многие и сами.

Приступим.
Начнём с того, что ваш легендвар - довольно понятная для начала база, но она имеет очень, и ещё раз ОЧЕНЬ много мусора. Пасты лв могут иметь хорошие визуалы, и то не везде качественный рендер, который просто жрёт весь ваш фпс, за то потом, мы натыкаемся на темы по типу: "Автоволл жрёт фпс", хотя это ошибка не ваших кривых рук, а тех, кто до вас держал сурс.

Разберём ещё одну очень забавную вещь.
На форуме лежат темы по типу: "Правильное обновление анимаций" или же вопросы по данной теме.
Ну как вам сказать... Давайте посмотрим на исходный код вашего говна:
animations.cpp:
#if RELEASE
    if (!player_info.fakeplayer && g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled) //-V807
#else
    if (g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled)
#endif
    {
        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));

        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));

        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));

        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_yaw();

        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 + 60.0f);
            break;
        case RESOLVER_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 60.0f);
            break;
        case RESOLVER_LOW_FIRST:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + 30.0f);
            break;
        case RESOLVER_LOW_SECOND:
            animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 30.0f);
            break;
        }

        e->m_angEyeAngles().x = player_resolver[e->EntIndex()].resolve_pitch();
    }
И дело не только в неправильном сетапе матриц..
Дело в том, что при включённом рейдже, моделька енеми будет соответствовать данному положению:
animations.cpp:
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;
И весь ваш ресольвер, который вы тоже спастили, идёт нахуй!! Потому что данное положение модельки енеми уже неправильное!
И никакие паблик ресольверы на анимлеерах вам не помогут, это всё тот же мусор!

Это только один пример из множества мусора, присутствующего в данной базе. Поэтому если хотите делать достойный рекод - начните с нуля. Даже будь это легендвар, оставьте только то что реально выглядит не так плохо, пусть это будут визуалы, антиаимы, фейклаги, но такие вещи по типу анимаций, аимбота и множества хуков, влияющих на возможности вашей пасты вы должны разобрать сами! Не нужно пытаться улучшить труп, напихивая его говном с паблика. Лучше от этого точно не станет!

Надеюсь кто-то начнёт думать. А то смотря на такие темы реально блевать хочется.






Ну в принципе это всё :)
Знаешь что я тебе скажу? Ты прав. Но не во всём, ведь ты говоришь про мусор в коде legendware v3, ну а собственно в чём проблема его очистить? К примеру очистить много мусора в визуализации? Я видел и изучал код, там его в плане визуализации очень пре очень много. Так вот, в чём проблема убрать этот мусор? Удалить не нужные коды которые едят производительность или по вашему "ФПС"? Хорошо. А в чём проблема изменить АИМ БОТ?, АНТИ - АИМЫ? Хорошо-хорошо. Будем брать ПАСТЕРОВ, те люди которые занимаются "ПАСТИНГОМ" это считай начинающие люди, но ты называешь щитпостами те посты которые выкладывают люди уже более настажированного возраста программирования, но и есть хорошие посты где много всякой полезной всячины сделаю вам ссылку : https://yougame.biz/threads/205938/| Мало но можно найти. Вернёмся к проблеме "ТРУПА ЛВ" ЛВ В3 это скорее не труп а код который делал кривожопый инвалид программист на коленке. Но его можно оживить долго и старательно делая его и улучшая его как можно лучше. Да много работы но сука это самый понятный и лучший сурс для программирования сурс который я видел.
 
Пользователь
Статус
Оффлайн
Регистрация
21 Мар 2020
Сообщения
110
Реакции[?]
49
Поинты[?]
1K
Муж мне говорит:

И дело не только в неправильном сетапе матриц..
Дело в том, что при включённом рейдже, моделька енеми будет соответствовать данному положению:

animations.cpp:
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;
А я ему:

animations.cpp:
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));
 
Сверху Снизу