Эксперт
-
Автор темы
- #1
Просто оставлю это тут
Скажу сразу, может детектить только статики, джиттеры увы не получится, по сути тот же антифристенд, только чучка другая реализация, для того чтобы детектить сайд в стендах подойдёт отлично
Код:
trace_t pTrace;
CTraceFilter pFilter;
pFilter.pSkip = csgo->local;
float_t flLeftRotate = pPlayer->GetPlayerAnimState()->m_eye_yaw - pPlayer->flMinBodyRotate;
float_t flRightRotate = pPlayer->GetPlayerAnimState()->m_eye_yaw + pPlayer->flMaxBodyRotate;
Vector vecLeftDirection, vecRightDirection, vecLDesyncDirection(0.0f, flLeftRotate, 0.0f), vecRDesyncDirection(0.0f, flRightRotate, 0.0f);
Math::AngleVectors2(vecLDesyncDirection, vecLeftDirection);
Math::AngleVectors2(vecRDesyncDirection, vecRightDirection);
const Vector vecStart = csgo->local->GetEyePosition();
const Vector vecDesyncDirectionLeft = vecStart + (vecLeftDirection * 8156.f);
const Vector vecDesyncDirectionRigt = vecStart + (vecRightDirection * 8156.f);
interfaces.trace->TraceRay(Ray_t(vecStart, vecDesyncDirectionLeft), MASK_SHOT, &pFilter, &pTrace);
float_t flLeftFraction = pTrace.fraction;
interfaces.trace->TraceRay(Ray_t(vecStart, vecDesyncDirectionRigt), MASK_SHOT, &pFilter, &pTrace);
float_t flRightFraction = pTrace.fraction;
if (flLeftFraction > flRightFraction)
m_iRotate[m_iIndex] = iRotLeft;
else if (flRightFraction > flLeftFraction)
m_iRotate[m_iIndex] = iRotRight;
else
m_iRotate[m_iIndex] = iRotMiddle;
Последнее редактирование: