Zamanlayıcı modülü
Bu, open.mp'deki zamanlayıcılar için yaptığımız geliştirilmiş modüllerden birinin bir önizlemesidir:
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);
// Bir sonraki çağırmaya kadar kalan süreyi döndür.
native Timer_GetTimeRemaining(Timer:timer);
// Yapılacak çağrı sayısını alın (sınırsız ise 0).
native Timer_GetCallsRemaining(Timer:timer);
// `repeatCount` parametresini alın.
native Timer_GetTotalCalls(Timer:timer);
// `usInterval` parametresini alın.
native Timer_GetInterval(Timer:timer);
// Bir sonraki çağrıya kadar kalan süreyi `usInterval` değerine sıfırlayın.
native bool:Timer_Restart(Timer:timer);
İlk ikisi yalnızca geriye dönük uyumluluk için, geri kalanları ise geliştirilmiş API'dir:
native Timer:Timer_Create(const func[], usDelay, usInterval, repeatCount, const params[] = "", GLOBAL_TAG_TYPES:...);
func
- Neyi çağıracağınız oldukça açık.usDelay
- Yine açık, çağrıdan önceki gecikme süresi (mikrosaniye cinsinden).usInterval
- İlk çağrıdan sonrausDelay
'in neye sıfırlanacağı. Yani, her saat başında saat başı bir zamanlayıcı istiyorsanız, ancak şu anda saat 8:47 ise, çağrı şu şekilde olacaktır:Timer_Create("OnTheHour", 780 SECONDS, 3600 SECONDS, 0);
repeatCount
- Eski işlevler, sadece "bir kez" veya "sürekli" olanlardı, ancak bu işlev, fonksiyonun kaç kez çağrılacağını alır. "Bir kez" için1
,500
500 çağrıdan sonra durur ve (eski API'den geriye doğru)0
ise "sürekli" anlamına gelir.GLOBAL_TAG_TYPES
-{Float, ...}
gibi daha fazla etiketle beraber.