Участник
- Статус
- Оффлайн
- Регистрация
- 2 Фев 2019
- Сообщения
- 1,183
- Реакции
- 230
Код:
Vector vecOrigin = pLocal->GetOrigin();
Vector vecGround(vecOrigin.x, vecOrigin.y, vecOrigin.z - MAX_TRACE_LENGTH);
const ICollideable* pCollideable = pLocal->GetCollideable();
const Vector vecMin = pCollideable->OBBMins();
const Vector vecMax = pCollideable->OBBMaxs();
Trace_t trace;
Ray_t ray(vecOrigin, vecGround, vecMin, vecMax);
CTraceFilter traceFilter(pLocal);
I::EngineTrace->TraceRay(ray, MASK_PLAYERSOLID_BRUSHONLY, &traceFilter, &trace);
if (trace.DidHit()) {
flDistance = -(trace.vecEnd.z - trace.vecStart.z);
}