diff --git a/bot/gamemodes.cpp b/bot/gamemodes.cpp index c8484db..2f95fa3 100644 --- a/bot/gamemodes.cpp +++ b/bot/gamemodes.cpp @@ -1,6 +1,8 @@ #include "main.h" +void AMXPrintError(CGameMode* pGameMode, AMX *amx, int error); + char szGameModeFileName[256]; //---------------------------------------------------------------------------------- @@ -26,3 +28,35 @@ void CGameMode::Unload() } //---------------------------------------------------------------------------------- + +void CGameMode::Frame(float fElapsedTime) +{ + if (!m_bInitialised) + return; + + if (!m_bSleeping) + return; + + if (m_fSleepTime > 0.0f) + { + m_fSleepTime -= fElapsedTime; + } + else + { + cell ret; + int err = amx_Exec(&m_amx, &ret, AMX_EXEC_CONT); + if (err == AMX_ERR_SLEEP) + { + m_bSleeping = true; + m_fSleepTime = ((float)ret / 1000.0f); + } + else + { + m_bSleeping = false; + AMXPrintError(this, &m_amx, err); + } + } +} + +//---------------------------------------------------------------------------------- + diff --git a/bot/gamemodes.h b/bot/gamemodes.h index ab8306f..c2cb28a 100644 --- a/bot/gamemodes.h +++ b/bot/gamemodes.h @@ -22,6 +22,8 @@ public: void Unload(); + void Frame(float fElapsedTime); + }; //----------------------------------------------------------------------------------