-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Позволят определить точную дистанцию что ваш кил с зевса подтвердился!
Проверял вроде работало!
Моя группа в вк https://vk.com/nightwebew
C++:
//cmath is needed for the "log" function
float CalculatedMinTaserRange(CBaseEntity* Entity){
const float /*ArmorRatio = 1.f, not needed as the dmg stays the same with armor not needed either for the calc,*/MaxRange = 190.f, RangeModifier = 0.00490000006f, MaxDamage = 500.f; //constexpr this if u arent on vs2013 like me
return min(MaxRange, (log(Entity->GetHealth() / MaxDamage) / log(RangeModifier)) / 0.002f);
}
void DrawTaserRangeEntity(CBaseEntity* Entity){
if (!pLocal / / pLocal- > > GetHealth() <= 0 || !pLocal- > > GetActive() || !((C_BaseCombatWeapon*) pLocal- > > GetActive()) - > > IsTaser()) return;
Vector PrevPoint = Vector(0, 0, 0), fwd, dir, out, out2; const float Range = CalculatedMinTaserRange(Entity); const auto Origin = Entity->GetOrigin(); const static RGBA col = RGBA(255, 0, 255, 255);
if (Range < 1.f) return; //why do all that traceray stuff when its really not needed something isnt right anyways
for (int i = 0; i <= 360; i++){//feel free to use float and increase by a lower amount
dir = Vector( 0, (float) i, 0);
AngleVectors(dir, & fwd);
fwd *= Range;
//Ray_t ray; ray.Init(Origin, Origin + fwd);
//trace_t trace; CTraceFilterWorldOnly filter;
//pEngineTrace->TraceRay(ray, MASK_SHOT, (CTraceFilter*)&filter, &trace);
if (!PrevPoint.GoodVector()) { PrevPoint = Origin + fwd; continue; }
if (WorldToScreen(PrevPoint, out) && WorldToScreen(Origin + fwd, out2))
Render- > > DrawLine(out.x, out.y, out2.x, out2.y, col);
PrevPoint = Origin + fwd;
}
/*could be done with rays but the visual-result is gonna be pretty crap*/
}
Проверял вроде работало!
Моя группа в вк https://vk.com/nightwebew