nixware.cc
-
Автор темы
- #1
Спастил я значит SpreadCrosshair в индиго.
Но при включении происходит краш.
Так как дебажить мне лень, сливаю это сюда.
Если хотите, можете фиксануть и помочь мне в фиксе
Но при включении происходит краш.
Так как дебажить мне лень, сливаю это сюда.
Если хотите, можете фиксануть и помочь мне в фиксе
Код:
if (Settings::Misc::lol)
{
CBaseEntity* plocal = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());
int width, height;
Interfaces::Engine()->GetScreenSize(width, height);
if (plocal && !plocal->IsDead())
{
static Vector ViewAngles;
Interfaces::Engine()->GetViewAngles(ViewAngles);
ViewAngles += plocal->GetAimPunchAngle() * 2.f;
static Vector fowardVec;
AngleVectors(ViewAngles, fowardVec);
fowardVec *= 10000;
// Get ray start / end
Vector start = plocal->GetOrigin() + plocal->GetViewOffset();
Vector end = start + fowardVec, endScreen;
CBaseWeapon* pWeapon = (CBaseWeapon*)Interfaces::EntityList()->GetClientEntityFromHandle(plocal->GetActiveWeapon());
float cone = pWeapon->GetSpread() + pWeapon->GetInaccuracy();
if (cone > 0.0f)
{
if (cone < 0.01f) cone = 0.01f;
float size = (cone * height) * 0.7f;
Color color(255, 255, 255, 100);
if (WorldToScreen(end, endScreen))
{
g_pRender->DrawFillBox(endScreen.x, endScreen.y, (int)size, 100, color);
}
}
}
}
Код:
float CBaseWeapon::GetInaccuracy()
{
typedef float(__thiscall* oInaccuracy)(PVOID);
return GetMethod< oInaccuracy >(this, 469)(this);
}
float CBaseWeapon::GetSpread()
{
return GetMethod<float(__thiscall*)(void*)>(this, 439)(this);
}