Сделал вот такой Smoke Color
Оно работает, но спустя ~20-30 секунд в игре, перестает, и цвет вообще не меняется. Когда работает, на смоке через ~8 секунд возвращается обычный цвет.
Вызываю в FrameStageNotify, база Andromeda. Подскажите пожалуйста в чем проблема (за говнокод извиняюсь)
Smoke Color:
void V::smoke_changer() {
if (!SDK::Interfaces::EngineToClient()->IsInGame())
return;
auto entitySystem = SDK::Interfaces::GameEntitySystem();
int highest = 0;
CGameEntitySystem_GetHighestEntityIndex(entitySystem, highest);
for (int i = 0; i <= highest; i++) {
CEntityInstance* cEnt = (CEntityInstance*)CGameEntitySystem_GetBaseEntity(entitySystem, i);
if (cEnt == nullptr)
continue;
CEntityIdentity* pEntity = cEnt->pEntityIdentity();
if (!pEntity)
continue;
auto baseEntity = pEntity->pBaseEntity();
if (!baseEntity)
continue;
if (baseEntity->IsSmokeGrenadeProjectile()) {
auto* smoke = reinterpret_cast<C_SmokeGrenadeProjectile*>(baseEntity);
smoke->m_vSmokeColor() = Vector3{ 1.0f, 0.f, 0.f };
smoke->m_bDidSmokeEffect() = false;
cEnt->PostDataUpdate();
}
}
}
Оно работает, но спустя ~20-30 секунд в игре, перестает, и цвет вообще не меняется. Когда работает, на смоке через ~8 секунд возвращается обычный цвет.
Вызываю в FrameStageNotify, база Andromeda. Подскажите пожалуйста в чем проблема (за говнокод извиняюсь)