Модул тајмера
Ово је sneak-peek једног од унапређених модула који смо завршили, за тајмере у open.mp:
native SetTimer(const func[], msInterval, bool:repeat) = SetTimerEx;
native SetTimerEx(const func[], msInterval, bool:repeat, const params[], GLOBAL_TAG_TYPES:...);
native KillTimer(timer) = Timer_Kill;
// CreateTimer
native Timer:Timer_Create(const func[], usDelay, usInterval, repeatCount, const params[] = "", GLOBAL_TAG_TYPES:...);
// KillTimer
native bool:Timer_Kill(Timer:timer);
// Враћа време до следећег позива.
native Timer_GetTimeRemaining(Timer:timer);
// Добија број преосталих позива (0 for unlimited).
native Timer_GetCallsRemaining(Timer:timer);
// Добија `repeatCount` параметар.
native Timer_GetTotalCalls(Timer:timer);
// Добија `usInterval` параметар.
native Timer_GetInterval(Timer:timer);
// Враћа преостало време на почетну вредност до следећег позива за `usInterval`.
native bool:Timer_Restart(Timer:timer);
Прва два су због компактибилности, остатак је унапређен API:
native Timer:Timer_Create(const func[], usDelay, usInterval, repeatCount, const params[] = "", GLOBAL_TAG_TYPES:...);
func
- Врло очигледно; шта да се позове.usDelay
- Опет очигледно, време пре позива (у микросекундама).usInterval
- На шта да ресетујеusDelay
након првог позива. Тако да, ако си хтео тајмер на сваких сат времена, али је тренутно 8:47, позив би биоTimer_Create("OnTheHour", 780 SECONDS, 3600 SECONDS, 0);
repeatCount
- Не као старе функције, које су само "једном" или "заувек", уместо тога ово је број колико ће бута бити позвана функија. "Једном" би било1
,500
би зауставило тајмер након 500 позива, и (компактибилност стареог API-а)0
значи "заувек".GLOBAL_TAG_TYPES
- Као и{Float, ...}
, али са више ознака.