-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Крашит weapon esp Base: def obelus
Код:
if (config.weapon || config.weapon_icon)
{
BaseWeapon* weapon = entity->ActiveWeapon();
if (weapon)
{
CWeaponData* data = weapon->GetWpnData();
if (data)
{
int offset{ 3 }, bar;
float scale;
// the maxclip1 in the weaponinfo
int max = data->weapon_max_clip;
int current = weapon->Clip1Count();
AnimationLayer* animlayer = &entity->AnimOverlays()[1];
// ammo bar.
if (max != -1 && config.ammo)
{
offset += 5;
scale = (float)current / max;
if (entity->Reloading())
bar = (animlayer->flCycle * box.w) / 1.f;
else
bar = (int)(box.w - 2) * scale;
int iAlpha;
if (low_alpha == 179)
iAlpha = std::clamp(g_menu.ConvertColor(config.ammo_col).a, 0, 0xb4);
else
iAlpha = std::clamp(low_alpha, 0, std::clamp(g_menu.ConvertColor(config.ammo_col).a, 0, 0xb4));
render::rect_filled(box.x, box.y + box.h + 2, box.w, 4, { 10, 10, 10, iAlpha });
// set the fucking colors.
Color clr;
if (low_alpha == 179)
clr.a = std::clamp(g_menu.ConvertColor(config.ammo_col).a, 0, 0xb4);
else
clr.a = std::clamp(low_alpha, 255, std::clamp(g_menu.ConvertColor(config.ammo_col).a, 255, 0xb4));
clr.r = g_menu.ConvertColor(config.ammo_col).r;
clr.g = g_menu.ConvertColor(config.ammo_col).g;
clr.b = g_menu.ConvertColor(config.ammo_col).b;
clr.a = low_alpha;
render::rect(box.x + 1, box.y + box.h + 3, bar, 2, clr);
// less then a 5th of the bullets left.
if (current <= (int)std::round(max / 5) && !entity->Reloading())
render::orujie.string(box.x + bar, box.y + box.h, { 255, 255, 255, low_alpha }, std::to_string(current), render::ALIGN_CENTER);
else if (entity->Reloading())
render::orujie.string(box.x + bar, box.y + box.h, { 255, 255, 255, low_alpha }, tfm::format(XOR("%1.0f%%"), std::to_string(static_cast<int>(animlayer->flCycle * 100))), render::ALIGN_CENTER);
}
// set the fucking colors again.
Color weapon_clr;
if (low_alpha == 255)
weapon_clr.a = std::clamp(g_menu.ConvertColor(config.weapon_col).a, 0, 0xb4);
else
weapon_clr.a = std::clamp(low_alpha, 255, std::clamp(g_menu.ConvertColor(config.weapon_col).a, 255, 0xb4));
weapon_clr.r = g_menu.ConvertColor(config.weapon_col).r;
weapon_clr.g = g_menu.ConvertColor(config.weapon_col).g;
weapon_clr.b = g_menu.ConvertColor(config.weapon_col).b;
weapon_clr.a = low_alpha;
Color weapon_icon_clr;
if (low_alpha == 255)
weapon_icon_clr.a = std::clamp(g_menu.ConvertColor(config.weapon_icon_col).a, 0, 0xb4);
else
weapon_icon_clr.a = std::clamp(low_alpha, 0, std::clamp(g_menu.ConvertColor(config.weapon_icon_col).a, 0, 230));
weapon_icon_clr.r = g_menu.ConvertColor(config.weapon_icon_col).r;
weapon_icon_clr.g = g_menu.ConvertColor(config.weapon_icon_col).g;
weapon_icon_clr.b = g_menu.ConvertColor(config.weapon_icon_col).b;
// construct std::string instance of localized weapon name.
std::string name{ weapon->GetLocalizedName() };
std::transform(name.begin(), name.end(), name.begin(), ::toupper);
// weapon esp
if (config.weapon)
if (config.healthtype[2] || config.healthtype[3])
{
render::orujie.string(box.x + box.w / 2, box.y + box.h + offset + 13, weapon_clr, name, render::ALIGN_CENTER);
}
else
{
render::orujie.string(box.x + box.w / 2, box.y + box.h + offset , weapon_clr, name, render::ALIGN_CENTER);
}
// weapon icon esp
if (config.weapon_icon)
{
if (weapon->ItemDefinitionIndex() == WEAPON_KNIFE || weapon->ItemDefinitionIndex() == WEAPON_KNIFE_T)
render::icon2.string(box.x + box.w / 2, box.y + box.h + (offset + (config.weapon ? 10 : 0)) - 4 + 6, weapon_icon_clr, "J", render::ALIGN_CENTER);
else
render::icon.string(box.x + box.w / 2, box.y + box.h + offset + (config.weapon ? 10 : 0) + 13, weapon_icon_clr, weapon->GetWeaponIcon(), render::ALIGN_CENTER);
}
}
}
}