Вопрос Разные импакты на сервере и клиенте (позиция выстрела)

Модератор раздела «Создание читов CS2»
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2022
Сообщения
148
Реакции[?]
366
Поинты[?]
155K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Делал сайлент для рейдж бота и столкнулся с неприятностью.
Серверный импакт - красный.
Клиентский - синий.

ragebot.cpp:
g_sdk.m_packet_data.m_cmd->m_tick_count = time_to_ticks(g_sdk.m_current_target.m_lag_record.m_sim_time + c_lag_comp::get()->lerp_time());
g_sdk.m_packet_data.m_cmd->m_view_angles = c_math::get()->calc_angle(g_sdk.m_shoot_pos, g_sdk.m_current_target.m_hitbox.m_point);
g_sdk.m_packet_data.m_cmd->m_buttons.add(in_attack);
math.cpp:
    vec3_t c_math::calc_angle(const vec3_t& source, const vec3_t& destination)
    {
        vec3_t v_angle;
        const vec3_t delta(source.x - destination.x, source.y - destination.y, source.z - destination.z);
        const double hyp = sqrt(delta.x * delta.x + delta.y * delta.y);

        v_angle.x = atanf(static_cast<float>(delta.z / hyp)) * 57.295779513082f;
        v_angle.y = atanf(delta.y / delta.x) * 57.295779513082f;
        v_angle.z = 0.0f;

        if (delta.x >= 0.0)
            v_angle.y += 180.0f;

        return v_angle;
    }
Если поставить g_sdk.m_interfaces->m_engine->set_view_angles(angle), то регистрация пуль будет работать нормально (но будет наводка на поинт игрока, а мне нужен сайлент)

При выключенном предикшене и анти аимах тоже самый баг.
 
Забаненный
Статус
Оффлайн
Регистрация
2 Дек 2020
Сообщения
34
Реакции[?]
8
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Делал сайлент для рейдж бота и столкнулся с неприятностью.
Серверный импакт - красный.
Клиентский - синий.

ragebot.cpp:
g_sdk.m_packet_data.m_cmd->m_tick_count = time_to_ticks(g_sdk.m_current_target.m_lag_record.m_sim_time + c_lag_comp::get()->lerp_time());
g_sdk.m_packet_data.m_cmd->m_view_angles = c_math::get()->calc_angle(g_sdk.m_shoot_pos, g_sdk.m_current_target.m_hitbox.m_point);
g_sdk.m_packet_data.m_cmd->m_buttons.add(in_attack);
math.cpp:
    vec3_t c_math::calc_angle(const vec3_t& source, const vec3_t& destination)
    {
        vec3_t v_angle;
        const vec3_t delta(source.x - destination.x, source.y - destination.y, source.z - destination.z);
        const double hyp = sqrt(delta.x * delta.x + delta.y * delta.y);

        v_angle.x = atanf(static_cast<float>(delta.z / hyp)) * 57.295779513082f;
        v_angle.y = atanf(delta.y / delta.x) * 57.295779513082f;
        v_angle.z = 0.0f;

        if (delta.x >= 0.0)
            v_angle.y += 180.0f;

        return v_angle;
    }
Если поставить g_sdk.m_interfaces->m_engine->set_view_angles(angle), то регистрация пуль будет работать нормально (но будет наводка на поинт игрока, а мне нужен сайлент)

При выключенном предикшене и анти аимах тоже самый баг.
я конечно не уверен
но в чем проблема
сделать так:

C++:
if ( !do_silent ) // cfg->ragebot.silent_enable
    engine_client->set_view_ang( aim_angle );

tick_count = TIME_TO_TICKS( best_record->m_sim_time + lerp_time );
view_ang = aim_angle;
buttons.add( in_attack );
updated:
C++:
auto aim_angle = calc_angle( shoot_pos, aim_point ).clamp( );
 
Модератор раздела «Создание читов CS2»
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2022
Сообщения
148
Реакции[?]
366
Поинты[?]
155K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я конечно не уверен
но в чем проблема
сделать так:

C++:
if ( !do_silent ) // cfg->ragebot.silent_enable
    engine_client->set_view_ang( aim_angle );

tick_count = TIME_TO_TICKS( best_record->m_sim_time + lerp_time );
view_ang = aim_angle;
buttons.add( in_attack );
Чем твой код отличается от моего?
И еще...
Если поставить g_sdk.m_interfaces->m_engine->set_view_angles(angle), то регистрация пуль будет работать нормально (но будет наводка на поинт игрока, а мне нужен сайлент)
 
Забаненный
Статус
Оффлайн
Регистрация
2 Дек 2020
Сообщения
34
Реакции[?]
8
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Модератор раздела «Создание читов CS2»
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2022
Сообщения
148
Реакции[?]
366
Поинты[?]
155K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
тут идет чек если сайлент не включен... как ты мне там отвечал? в глазки долбишься?
Ну и зачем мне чек на не вкл сайлент, если я делаю автоматически включенный сайлент..
В глазки долбишься?
 
ima sippin lean
Забаненный
Статус
Оффлайн
Регистрация
6 Май 2020
Сообщения
495
Реакции[?]
380
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот они P2C девелоперы

on topic: ты бы хоть показал как ты клиент импакты делаешь я не знаю даже...
 
Забаненный
Статус
Оффлайн
Регистрация
2 Дек 2020
Сообщения
34
Реакции[?]
8
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ima sippin lean
Забаненный
Статус
Оффлайн
Регистрация
6 Май 2020
Сообщения
495
Реакции[?]
380
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Модератор раздела «Создание читов CS2»
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2022
Сообщения
148
Реакции[?]
366
Поинты[?]
155K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот они P2C девелоперы

on topic: ты бы хоть показал как ты клиент импакты делаешь я не знаю даже...
Хорошо, вот код клиент импактов

C++:
    auto& client_impact_list = *reinterpret_cast<CUtlVector<client_impact_t>*>(reinterpret_cast<uintptr_t>(g_sdk.m_local())
        + 0x11C50);
    for (auto impact = client_impact_list.count(); impact > m_last_processed_impact; --impact)
        g_sdk.m_interfaces.m_debug_overlay->add_box_overlay(
            client_impact_list[impact - 1].m_vec_position,
            vec3_t(-2.0f, -2.0f, -2.0f),
            vec3_t(2.0f, 2.0f, 2.0f),
            vec3_t(0.0f, 0.0f, 0.0f),
            g_cfg.visuals.m_client_impacts_color.r(),
            g_cfg.visuals.m_client_impacts_color.g(),
            g_cfg.visuals.m_client_impacts_color.b(),
            g_cfg.visuals.m_client_impacts_color.a(),
            4.0f);

    if (client_impact_list.count() != m_last_processed_impact)
        m_last_processed_impact = client_impact_list.count();
Вот серверных

C++:
const auto vec_position = vec3_t(event->get_int(_("x")), event->get_int(_("y")), event->get_int(_("z")));

        auto player = c_base_player::get_player_by_index(
            g_sdk.m_interfaces.m_engine->get_player_for_userid(event->get_int(_("userid"))));
        if (!player || !player->is_alive() || !player->is_player() || !g_sdk.m_local())
            return;

        if (player == g_sdk.m_local())
        {
            if (g_cfg.m_visuals.m_server_impacts)
                g_sdk.m_interfaces.m_debug_overlay->add_box_overlay
                (
                    vec_position,
                    vec3_t(-2.0f, -2.0f, -2.0f),
                    vec3_t(2.0f, 2.0f, 2.0f),
                    vec3_t(0.0f, 0.0f, 0.0f),
                    g_cfg.m_visuals.m_server_impacts_color.r(),
                    g_cfg.m_visuals.m_server_impacts_color.g(),
                    g_cfg.m_visuals.m_server_impacts_color.b(),
                    g_cfg.m_visuals.m_server_impacts_color.a(),
                    4.0f
                );

            return;
        }
Причем тут вообще код импактов....
С командой sv_showimpacts 1 тоже самое (синий - позиция моего прицела, красный - куда пытается стрельнуть чит)
1656860781106.png
 
Последнее редактирование:
Участник
Статус
Оффлайн
Регистрация
27 Фев 2019
Сообщения
1,105
Реакции[?]
388
Поинты[?]
45K
На сайленте линию проведи Addlineoverlay и увидишь в чем проблема
 
Модератор раздела «Создание читов CS2»
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2022
Сообщения
148
Реакции[?]
366
Поинты[?]
155K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
20 Май 2022
Сообщения
91
Реакции[?]
51
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Хорошо, вот код клиент импактов

C++:
    auto& client_impact_list = *reinterpret_cast<CUtlVector<client_impact_t>*>(reinterpret_cast<uintptr_t>(g_sdk.m_local())
        + 0x11C50);
    for (auto impact = client_impact_list.count(); impact > m_last_processed_impact; --impact)
        g_sdk.m_interfaces.m_debug_overlay->add_box_overlay(
            client_impact_list[impact - 1].m_vec_position,
            vec3_t(-2.0f, -2.0f, -2.0f),
            vec3_t(2.0f, 2.0f, 2.0f),
            vec3_t(0.0f, 0.0f, 0.0f),
            g_cfg.visuals.m_client_impacts_color.r(),
            g_cfg.visuals.m_client_impacts_color.g(),
            g_cfg.visuals.m_client_impacts_color.b(),
            g_cfg.visuals.m_client_impacts_color.a(),
            4.0f);

    if (client_impact_list.count() != m_last_processed_impact)
        m_last_processed_impact = client_impact_list.count();
Вот серверных

C++:
const auto vec_position = vec3_t(event->get_int(_("x")), event->get_int(_("y")), event->get_int(_("z")));

        auto player = c_base_player::get_player_by_index(
            g_sdk.m_interfaces.m_engine->get_player_for_userid(event->get_int(_("userid"))));
        if (!player || !player->is_alive() || !player->is_player() || !g_sdk.m_local())
            return;

        if (player == g_sdk.m_local())
        {
            if (g_cfg.m_visuals.m_server_impacts)
                g_sdk.m_interfaces.m_debug_overlay->add_box_overlay
                (
                    vec_position,
                    vec3_t(-2.0f, -2.0f, -2.0f),
                    vec3_t(2.0f, 2.0f, 2.0f),
                    vec3_t(0.0f, 0.0f, 0.0f),
                    g_cfg.m_visuals.m_server_impacts_color.r(),
                    g_cfg.m_visuals.m_server_impacts_color.g(),
                    g_cfg.m_visuals.m_server_impacts_color.b(),
                    g_cfg.m_visuals.m_server_impacts_color.a(),
                    4.0f
                );

            return;
        }
Причем тут вообще код импактов....
С командой sv_showimpacts 1 тоже самое (синий - позиция моего прицела, красный - куда пытается стрельнуть чит)
Посмотреть вложение 210531
Кринж код. В CEngineSound::EmitSound можно вполне удобно импакты клиентские рисовать, без подобной шизы.
 
Модератор раздела «Создание читов CS2»
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2022
Сообщения
148
Реакции[?]
366
Поинты[?]
155K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
20 Май 2022
Сообщения
91
Реакции[?]
51
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу