Вопрос Есп не находит координаты противника

🫶🫶🫶
Участник
Статус
Оффлайн
Регистрация
1 Ноя 2018
Сообщения
821
Реакции[?]
186
Поинты[?]
51K
Пацаны получил абсоригин я значит с класса cgamescrnenode, оффсет правильный, прогнал это через w2s и ничего не рисуется из есп

поставил кастом значения для бара и ников, все работает pos - 100, 100, ники отображаются верно, хпбар меняет цвет правильно

на ксго я всегда использовал функцию GetPlayerBox и проблем не было

Сурс фатала вообще, писать с нуля не хочу, хочу оригинальное есп, код я там не менял


C++:
bool visuals_t::GetPlayerBoxRect(sdk::cs2_player_pawn* player, visuals_t::Rect& box) {
    sdk::vector min, max, out_vec;
    float left, bottom, right, top;

    auto pGameSceneNode = player->get_m_pGameSceneNode();
    auto nodeToWorldTransform = pGameSceneNode->get_node_to_world();
    sdk::matrix3x4_t tran_frame = nodeToWorldTransform.quatOrientation.ToMatrix(nodeToWorldTransform.vecPosition);

    auto collision = &player->get_m_Collision();

    min = collision->get_vec_mins();
    max = collision->get_vec_maxs();

    vec2 screen_boxes[8];

    sdk::vector points[] =
    {
        { min.x, min.y, min.z },{ min.x, max.y, min.z },{ max.x, max.y, min.z },{ max.x, min.y, min.z },{ max.x, max.y, max.z },{ min.x, max.y, max.z },{ min.x, min.y, max.z },{ max.x, min.y, max.z }
    };

    for (int i = 0; i <= 7; i++) {
        math::vector_transform(points[i], tran_frame, out_vec);
        if (!math::world_to_screen(out_vec, screen_boxes[i]))
            return false;
    }

    vec2 box_array[] = { screen_boxes[3],screen_boxes[5],screen_boxes[0],screen_boxes[4],screen_boxes[2],screen_boxes[1],screen_boxes[6],screen_boxes[7]
    };

    left = screen_boxes[3].x,
        bottom = screen_boxes[3].y,
        right = screen_boxes[3].x,
        top = screen_boxes[3].y;

    for (int i = 0; i <= 7; i++) {
        if (left > box_array[i].x)
            left = box_array[i].x;

        if (bottom < box_array[i].y)
            bottom = box_array[i].y;

        if (right < box_array[i].x)
            right = box_array[i].x;

        if (top > box_array[i].y)
            top = box_array[i].y;
    }

    box.x = left;
    box.y = top;
    box.w = right - left;
    box.h = (bottom - top);

    return true;
}
sdk::matrix3x4_t tran_frame я думаю проблема тут, помогите(
 
Последнее редактирование:
Участник
Статус
Оффлайн
Регистрация
19 Апр 2020
Сообщения
1,176
Реакции[?]
314
Поинты[?]
152K
Сверху Снизу