Как чекнуть аим на стену?

Карликовая свинья
Пользователь
Статус
Оффлайн
Регистрация
5 Ноя 2018
Сообщения
125
Реакции[?]
34
Поинты[?]
0
Короче, есть такая проблема, что аим наводится сквозь стены. Это немного хуёво, т.к. во-первых палится, а во-вторых неудобно. Можно чекнуть id аима на номер игрока, но это надо сначала навестись на него, что ещё хуёвее.

Скиньте плиз примеры, как чекать на стену. Похуй, кресты, сисярп или прочая.
 
лашоок rip 17.11.2019 - 05.02.2021
Пользователь
Статус
Оффлайн
Регистрация
14 Фев 2017
Сообщения
528
Реакции[?]
96
Поинты[?]
11K
Короче, есть такая проблема, что аим наводится сквозь стены. Это немного хуёво, т.к. во-первых палится, а во-вторых неудобно. Можно чекнуть id аима на номер игрока, но это надо сначала навестись на него, что ещё хуёвее.

Скиньте плиз примеры, как чекать на стену. Похуй, кресты, сисярп или прочая.
чекни индига или что токае
 
Эксперт
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
864
Реакции[?]
420
Поинты[?]
1K
Короче, есть такая проблема, что аим наводится сквозь стены. Это немного хуёво, т.к. во-первых палится, а во-вторых неудобно. Можно чекнуть id аима на номер игрока, но это надо сначала навестись на него, что ещё хуёвее.

Скиньте плиз примеры, как чекать на стену. Похуй, кресты, сисярп или прочая.
TraceRay и фильтр локал плеер
Если возращаемый индекс 0 - значит луч остановился на стенке
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
2 Дек 2016
Сообщения
2,355
Реакции[?]
1,876
Поинты[?]
32K
CanSeePlayer сделай проверку.
C++:
bool C_BasePlayer::CanSeePlayer(C_BasePlayer* player, int hitbox)
{
    CGameTrace tr;
    Ray_t ray;
    CTraceFilter filter;
    filter.pSkip = this;

    auto endpos = player->GetHitboxPos(hitbox);

    ray.Init(GetEyePos(), endpos);
    g_EngineTrace->TraceRay(ray, MASK_SHOT | CONTENTS_GRATE, &filter, &tr);

    return tr.hit_entity == player || tr.fraction > 0.97f;
}
CanSeePlayer(entity,HITBOX_MAX);
Либо получай часть тела из аима
g_Options->hitbox
Такого плана:pikachu:
 
Последнее редактирование:
Сверху Снизу