Новая ава блеять
-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Хочу запилить гайд на Damage Indicator.
ESP.CPP
Вставляем:
В CEsp::OnEvents:
В начало:
В OnRender():
ESP.H
Вставляем:
CLIENT.CPP
SETTINGS.CPP/H:
Вещь прикольная, но забаганная. Пастил c UC(Не реклама)
ESP.CPP
Вставляем:
Код:
void CEsp::DrawDamageIndicator()
{
CBaseEntity* pLocal = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());
float CurrentTime = pLocal->GetTickBase() * Interfaces::GlobalVars()->interval_per_tick;
for (int i = 0; i < DamageIndicator.size(); i++)
{
if (DamageIndicator[i].flEraseTime < CurrentTime)
{
DamageIndicator.erase(DamageIndicator.begin() + i);
continue;
}
if (!DamageIndicator[i].bInitialized)
{
DamageIndicator[i].Position = DamageIndicator[i].Player->GetBonePosition(HITBOX_HEAD);
DamageIndicator[i].bInitialized = true;
}
if (CurrentTime - DamageIndicator[i].flLastUpdate > 0.0001f)
{
DamageIndicator[i].Position.z -= (0.6f * (CurrentTime - DamageIndicator[i].flEraseTime));
DamageIndicator[i].flLastUpdate = CurrentTime;
}
Vector ScreenPosition;
if (WorldToScreen(DamageIndicator[i].Position, ScreenPosition))
{
g_pRender->Text(ScreenPosition.x, ScreenPosition.y, false, true, Color::Purple(), std::to_string(DamageIndicator[i].iDamage).c_str());
}
}
}
Код:
if (Settings::Esp::DamageIndicator)
{
if (strcmp(pEvent->GetName(), "player_hurt") == 0)
{
CBaseEntity* hurt = (CBaseEntity*)(Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetPlayerForUserID(pEvent->GetInt("userid"))));
CBaseEntity* attacker = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetPlayerForUserID(pEvent->GetInt("attacker")));
CBaseEntity* pLocal = (CBaseEntity*)Interfaces::EntityList()->GetClientEntity(Interfaces::Engine()->GetLocalPlayer());
if (hurt != pLocal && attacker == pLocal)
{
DamageIndicator_t DmgIndicator;
DmgIndicator.iDamage = pEvent->GetInt("dmg_health");
DmgIndicator.Player = hurt;
DmgIndicator.flEraseTime = pLocal->GetTickBase() * Interfaces::GlobalVars()->interval_per_tick + 3.f;
DmgIndicator.bInitialized = false;
DamageIndicator.push_back(DmgIndicator);
}
}
}
Код:
std::vector<DamageIndicator_t> DamageIndicator;
Код:
if (Settings::Esp::DamageIndicator)
DrawDamageIndicator();
Вставляем:
Код:
struct DamageIndicator_t
{
int iDamage;
bool bInitialized;
float flEraseTime;
float flLastUpdate;
CBaseEntity * Player;
Vector Position;
};
Код:
ImGui::Checkbox("Damage Indicator", &Settings::Esp::DamageIndicator);
Код:
bool DamageIndicator = false;
extern bool DamageIndicator;
Вещь прикольная, но забаганная. Пастил c UC(Не реклама)