外观
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 | 命名空间内的定时器名称 |
ProcName | RunQuest.pas 中的无参数过程名 |
IntervalMs | 间隔毫秒数,最小 50 |
RepeatTimer | True 重复,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。
使用限制
单次定时器会在回调前移除;重复定时器不补发错过的次数。回调应保持简短,奖励和计费逻辑仍需自行防重。