跳到主要内容

SetTimer

描述

设置定时器在指定时间间隔后触发函数调用,可配置是否重复执行。

参数名说明
const functionName[]要调用的公共函数名称(需预先声明)。空字符串会导致服务器崩溃
interval触发间隔(毫秒)
bool:repeating是否重复执行(true=重复,false=单次)

返回值

返回已启动定时器的 ID(从1开始顺序分配)

示例代码

public OnGameModeInit()
{
print("启动定时器...");
SetTimer("OneSecondTimer", 1000, true); // 设置1秒重复定时器
}

forward OneSecondTimer();
public OneSecondTimer()
{
print("已过去1秒钟");
}

注意事项

注意

SA-MP 存在定时器精度问题(误差约 25%),可参考以下修复方案:

注意

大量使用定时器会增加服务器 CPU/内存消耗

提示
  • 定时器 ID 具有全局唯一性,不会重复使用
  • 可通过KillTimer安全终止任意定时器(无论是否运行)
  • 目标函数必须声明为public且预先forward

定义常量

常量名称
INVALID_TIMER0

相关函数