#include <a_samp>
#include <crashdetect>
main()
{
print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n"); }
{
/*
Нас не интересует то, как долго грузится OnGameModeInit,
так что просто "отключаем" проверку времени для этого коллбэка.
Используем SetCrashDetectLongCallTime, а не DisableCrashDetectLongCall,
так как с "DisableCrashDetectLongCall" мы можем получить ложное при
следующем включении и это самый простой способ обхода ложного срабатывания
(по крайней мере из тех, что мне известны)
*/
SetCrashDetectLongCallTime(cellmax);
}
@__SomeTimer();
@__SomeTimer()
{
/*
Представим, что нам крайне важно, чтоб код внутри этого таймера срабатывал не более, чем за секунду, дабы
следующее срабатывание таймера произошло без задержек
(не будем учитывать погрешность нативных таймеров, представив, что у нас включен плагин с их фиксом)
*/
EnableCrashDetectLongCall();
SetCrashDetectLongCallTime(1000*1000);// Включаем замер скорости обработки кода, устанавливая время в 1 секунду (1000 = 1 миллисекунда)
for(new i; i < 1_000_000; i++) {} // Пусть это будет имитацией кода, который нам нужно выполнить
DisableCrashDetectLongCall();// Дабы секундная проверка не распространилась на остальной код - отключаем её
}