#ifndef SAMPSRV_TIMERS_H #define SAMPSRV_TIMERS_H struct ScriptTimer_s { char szScriptFunc[255]; int iTotalTime; int iRemainingTime; BOOL bRepeating; BOOL bKilled; AMX* pAMX; int iParamCount; void* cellParams; }; typedef std::map DwordTimerMap; //---------------------------------------------------------------------------------- class CScriptTimers { private: DwordTimerMap m_Timers; DWORD m_dwTimerCount; public: CScriptTimers(); ~CScriptTimers(); void DeleteForMode(AMX* pEndedAMX); DWORD New(char* szScriptFunc, int iInterval, BOOL bRepeating, AMX* pAMX); DWORD NewEx(char* szScriptFunc, int iInterval, BOOL bRepeating, cell *params, AMX* pAMX); void Delete(DWORD dwTimerId); void Kill(DWORD dwTimerId); void Process(int iElapsedTime); void FreeMem(ScriptTimer_s* Timer); }; //---------------------------------------------------------------------------------- #endif //---------------------------------------------------------------------------------- // EOF