Исходник Better hitbox intersection for lw paste

Начинающий
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
64
Реакции[?]
7
Поинты[?]
0
C++:
static int ClipRayToHitbox(const Ray_t& ray, mstudiobbox_t* hitbox, matrix3x4_t& matrix, trace_t& trace)
{
    static auto fn = (util::FindSignature(crypt_str("client.dll"), crypt_str("55 8B EC 83 E4 F8 F3 0F 10 42")));

    trace.fraction = 1.0f;
    trace.startsolid = false;

    return reinterpret_cast <int(__fastcall*)(const Ray_t&, mstudiobbox_t*, matrix3x4_t&, trace_t&)> (fn)(ray, hitbox, matrix, trace);
}

bool aim::hitbox_intersection(player_t* e, matrix3x4_t* matrix, int hitbox, const Vector& start, const Vector& end, float* safe)
{
    trace_t trace;
    Ray_t Ray = Ray_t(start, end);

    trace.fraction = 1.0f;
    trace.startsolid = false;

    auto studio_model = m_modelinfo()->GetStudioModel(e->GetModel());
    if (!studio_model)
        return false;

    auto studio_set = studio_model->pHitboxSet(e->m_nHitboxSet());
    if (!studio_set)
        return false;

    auto studio_hitbox = studio_set->pHitbox(hitbox);
    if (!studio_hitbox)
        return false;

    return ClipRayToHitbox(Ray, studio_hitbox, matrix[studio_hitbox->bone], Trace);
}
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,550
Реакции[?]
585
Поинты[?]
101K
Начинающий
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
64
Реакции[?]
7
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
15 Фев 2022
Сообщения
299
Реакции[?]
21
Поинты[?]
0
Privatny p100 DT Airlag Break LC Teleport Exploit
Read Only
Статус
Оффлайн
Регистрация
27 Янв 2021
Сообщения
951
Реакции[?]
150
Поинты[?]
74K
Начинающий
Статус
Оффлайн
Регистрация
12 Окт 2020
Сообщения
46
Реакции[?]
28
Поинты[?]
3K
C++:
static int ClipRayToHitbox(const Ray_t& ray, mstudiobbox_t* hitbox, matrix3x4_t& matrix, trace_t& trace)
{
    static auto fn = (util::FindSignature(crypt_str("client.dll"), crypt_str("55 8B EC 83 E4 F8 F3 0F 10 42")));

    trace.fraction = 1.0f;
    trace.startsolid = false;

    return reinterpret_cast <int(__fastcall*)(const Ray_t&, mstudiobbox_t*, matrix3x4_t&, trace_t&)> (fn)(ray, hitbox, matrix, trace);
}

bool aim::hitbox_intersection(player_t* e, matrix3x4_t* matrix, int hitbox, const Vector& start, const Vector& end, float* safe)
{
    trace_t trace;
    Ray_t Ray = Ray_t(start, end);

    trace.fraction = 1.0f;
    trace.startsolid = false;

    auto studio_model = m_modelinfo()->GetStudioModel(e->GetModel());
    if (!studio_model)
        return false;

    auto studio_set = studio_model->pHitboxSet(e->m_nHitboxSet());
    if (!studio_set)
        return false;

    auto studio_hitbox = studio_set->pHitbox(hitbox);
    if (!studio_hitbox)
        return false;

    return ClipRayToHitbox(Ray, studio_hitbox, matrix[studio_hitbox->bone], Trace);
}
def luna v3 Hitbox Intersection
 
like amiri in my mind
Пользователь
Статус
Оффлайн
Регистрация
4 Дек 2022
Сообщения
308
Реакции[?]
54
Поинты[?]
1K
def luna v3 Hitbox Intersection
хахаха какой луна, он еще хрен знает где был, смысла почти от него нет, все проверки и так уже в мультипоинтах, единственная функция клипрейтухитбокс
 
Забаненный
Статус
Оффлайн
Регистрация
30 Дек 2022
Сообщения
7
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
this is better


Код:
bool aim::hitbox_intersection(player_t* e, matrix3x4_t* matrix, int hitbox, const Vector& start, const Vector& end, float* safe)
{
    auto model = e->GetModel();

    if (! model)
        return false;

    auto studio_model = m_modelinfo()->GetStudioModel(model);

    if (!studio_model)
        return false;

    auto studio_set = studio_model->pHitboxSet(e->m_nHitboxSet());

    if (!studio_set)
        return false;

    auto studio_hitbox = studio_set->pHitbox(hitbox);

    if (!studio_hitbox)
        return false;

    trace_t trace;

    Ray_tray;
    ray.Init(start, end);

    auto intersected = clip_ray_to_hitbox(ray, studio_hitbox, matrix[studio_hitbox->bone], trace) >= 0;

    if (!safe)
        return intersection;

    Vector min, max;

    math::vector_transform(studio_hitbox->bbmin, matrix[studio_hitbox->bone], min);
    math::vector_transform(studio_hitbox->bbmax, matrix[studio_hitbox->bone], max);

    auto center = (min + max) * 0.5f;
    auto distance = center.DistTo(end);

    if (distance > *safe)
        *safe=distance;

    return intersection;
}
 
Начинающий
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
64
Реакции[?]
7
Поинты[?]
0
this is better


Код:
bool aim::hitbox_intersection(player_t* e, matrix3x4_t* matrix, int hitbox, const Vector& start, const Vector& end, float* safe)
{
    auto model = e->GetModel();

    if (! model)
        return false;

    auto studio_model = m_modelinfo()->GetStudioModel(model);

    if (!studio_model)
        return false;

    auto studio_set = studio_model->pHitboxSet(e->m_nHitboxSet());

    if (!studio_set)
        return false;

    auto studio_hitbox = studio_set->pHitbox(hitbox);

    if (!studio_hitbox)
        return false;

    trace_t trace;

    Ray_tray;
    ray.Init(start, end);

    auto intersected = clip_ray_to_hitbox(ray, studio_hitbox, matrix[studio_hitbox->bone], trace) >= 0;

    if (!safe)
        return intersection;

    Vector min, max;

    math::vector_transform(studio_hitbox->bbmin, matrix[studio_hitbox->bone], min);
    math::vector_transform(studio_hitbox->bbmax, matrix[studio_hitbox->bone], max);

    auto center = (min + max) * 0.5f;
    auto distance = center.DistTo(end);

    if (distance > *safe)
        *safe=distance;

    return intersection;
}
def lw :roflanBuldiga:
 
Сверху Снизу