-
Автор темы
- #1
Знаю что по любому сольют сюда, поэтому лучше сам сделаю это.
Хукните m_flFlashDuration через прокси RecvVarProxyFn.
Установите m_flFlashBangTime во время ослепления
Проверьте оставшееся время до окончания ослепления.
Хукните m_flFlashDuration через прокси RecvVarProxyFn.
Код:
Hook("DT_CSPlayer", "m_flFlashDuration",RecvProxy_FlashTime);
Код:
void RecvProxy_FlashTime(const CRecvProxyData *pData, void *pStruct, void *pOut)
{
auto *pPlayerData = static_cast<C_BasePlayer *>(pStruct);
if (pPlayerData == LocalPlayer)
pPlayerData->m_flFlashBangTime = g_GlobalVars->curtime + pData->m_Value.m_Float;
original(pData, pStruct, pOut);
}
Код:
float FlashTime()
{
auto flash_value = this->m_flFlashBangTime - g_GlobalVars->curtime;
return flash_value > 0.0f ? flash_value : 0.0f;
}
Пожалуйста, авторизуйтесь для просмотра ссылки.