-
Автор темы
- #1
на ютубе увидел функцию которая находит координаты при которых игрок может прыгнуть и попасть на сюрф, ну это как я понял
вот как я попытался её реализовать, но прыжок не работает. подскажите что я делаю не так
вот как я попытался её реализовать, но прыжок не работает. подскажите что я делаю не так
Код:
float calculate_jump_height(float wireframe_height) {
float player_height = 64.09f;
float jump_height = 57.0f;
float target_height = wireframe_height + player_height - jump_height;
return target_height;
}
if (GetAsyncKeyState(config::get<int>(HASH_CT("autojumpset.key"))))
{
vector viewangles = vector(cmd->viewangles.x, cmd->viewangles.y, 0);
auto start_pos = csgo::m_local->get_eye_position();
auto end_pos = start_pos + (vector::from_angle(viewangles) * 1000);
trace_t tr;
ray_t ray;
ray.init(start_pos, end_pos);
i_trace_world_only flt;
g_engine_trace->trace_ray(ray, MASK_PLAYERSOLID, &flt, &tr);
if (tr.m_fraction < 1.f) {
point_vec = tr.m_endpos;
g_hud_chat->chat_printf(std::format("point: ({}, {}, {})", point_vec.x, point_vec.y, point_vec.z).c_str());
g_hud_chat->chat_printf(std::format("jump in here: {}", calculate_jump_height(point_vec.z)).c_str());
}
}
if (!point_vec.is_zero()) {
vector_2d circle;
if (math::world_to_screen(point_vec, circle)) {
render::circle(circle, 1, 80, col(255, 255, 255, 255));
render::circle(circle, 5, 80, col(255, 255, 255, 255));
}
}
if (GetAsyncKeyState(config::get<int>(HASH_CT("autojump.key")))) {
auto jump_height = calculate_jump_height(point_vec.z);
float current_height = csgo::m_local->get_abs_origin().z;
if (current_height == jump_height)
cmd->buttons |= in_jump;
}