Skip to content

GN_Timer 定时器

定时器以“玩家 + Namespace + TimerName”唯一标识,玩家离线后自动清理。

GN_Timer_SetRunQuest

用途: 创建或替换一个 RunQuest 回调定时器。

pascal
function GN_Timer_SetRunQuest(Player: TPlayer;
  const Namespace, TimerName, ProcName: string;
  IntervalMs: Integer; RepeatTimer: Boolean): Integer;
参数说明
Player当前有效的玩家对象
Namespace模块命名空间
TimerName命名空间内的定时器名称
ProcNameRunQuest.pas 中的无参数过程名
IntervalMs间隔毫秒数,最小 50
RepeatTimerTrue 重复,False 单次
返回值说明
1创建成功
2替换同名定时器
-1名称或过程名为空
-2间隔小于 50 毫秒
-3超过每名玩家 64 个定时器
pascal
GN_Timer_SetRunQuest(This_Player, 'daily', 'notice',
  'DailyNotice', 1000, False);

GN_Timer_Remove

用途: 删除一个命名定时器。

pascal
function GN_Timer_Remove(Player: TPlayer;
  const Namespace, TimerName: string): Boolean;

返回值: 删除成功返回 True;不存在或名称无效返回 False

GN_Timer_ClearAll

用途: 删除指定命名空间下的全部定时器。

pascal
function GN_Timer_ClearAll(Player: TPlayer;
  const Namespace: string): Integer;

返回值: 返回删除数量;命名空间为空时返回 -1

GN_Timer_Exists

用途: 查询定时器是否已登记。

pascal
function GN_Timer_Exists(Player: TPlayer;
  const Namespace, TimerName: string): Boolean;

返回值: 存在返回 True

使用限制

单次定时器会在回调前移除;重复定时器不补发错过的次数。回调应保持简短,奖励和计费逻辑仍需自行防重。

GOW-Next 引擎开发手册 · 原版 API 兼容列表持续核验中