PDA

Просмотр полной версии : [Вопрос] Использование таймера в плагине



Edwin
13.01.2018, 17:38
Добрый день, форумчане
Собственно, сам вопрос простой и понятный: какой таймер подойдёт для использования внутри плагина?
Задержка не помогает, т.к. работает в один поток. Подскажите, если знаете, годный способ для Windows и Linux

Daniel_Cortez
13.01.2018, 18:03
Коллбэк ProcessTick? Можно сделать срабатывание, к примеру, через каждый 4-й раз, если не хотите, чтобы код срабатывал при каждом вызове.


PLUGIN_EXPORT int PLUGIN_CALL ProcessTick()
{
static int counter = 0;
if (++counter == 4)
{
counter = 0;
// Ваш код
}
return AMX_ERR_NONE;
}


EDIT: Немного сложнее будет, если нужно конкретное время - придётся либо выискивать нативную функцию GetTickCount и вызывать её из плагина, либо самостоятельно с помощью стандартных функций для работы со временем выяснить текущее время, прибавить к нему нужное кол-во милисекунд и при следующем вызове ProcessTick проверять, не превысило ли текущее время то значение.