当前位置:首页 > 实操教程 > 996引擎 > 正文内容

996引擎DelayCall延时执行脚本教程 - 定时跳转配置指南

M2GM2026-10-09996引擎56
摘要:DelayCall延时毫秒后跳转到指定段;单位毫秒,1000等于1秒;写在#ACT段;到时间自动执行目标段;延时期间玩家移动了也执行因为脚本绑定玩家;下线后延时任务取消;常用于活动倒计时弹窗、延时传送进副本、奖励延迟发放防秒退;别和循环定时器混用;段名要存在拼错不执行。…
[TOCM]

和循环定时器每隔一段时间反复触发不同,DelayCall是单次延时——等指定毫秒数后跳转到目标段执行一次就结束。做延迟提示、活动倒计时、技能冷却模拟时用它,两个参数:延时毫秒数和目标段名。

新手最常搞混的是时间单位:填3不是3秒而是3毫秒,瞬间就执行了,要3秒得填3000。另外延时期间玩家下线的话任务直接取消,别指望下线后还能触发。下面把命令格式、毫秒换算和常见失效原因逐个梳理清楚。

996引擎DelayCall延时执行脚本教程配图 - M2GM

命令语法

DelayCall是996引擎延时命令,格式如下:

DelayCall S Label

对照帮助文档:S填延时毫秒数,段名填需要跳转的脚本段。执行后等待指定毫秒数,再自动跳转到目标段。

文档自带的标准示例:

#IF
#ACT
DelayCall 5000 @Kick

[@Kick]
#IF
#ACT
Kick

这段等待5000毫秒(5秒)后执行目标段,把玩家踢下线。

996引擎DelayCall延时执行脚本教程内容示意图 - M2GM

参数说明

参数 内容 释义 实操用法
参数1 S毫秒数 延时毫秒数 1000等于1秒,3000等于3秒
参数2 Label段名 延时后执行的段 填@段名,和脚本里标签对应

延时单位是毫秒不是秒。要延时3秒就填3000,别填3。

踩坑提醒

单位是毫秒。3秒等于3000毫秒,别填3,3毫秒瞬间就执行了。

延时期间玩家不能下线。下线后延时任务取消。

延时期间玩家移动了也执行。脚本绑定玩家,玩家走到哪都执行。

段名要存在。段名拼错,延时后什么都不发生。

996引擎DelayCall延时执行脚本教程脚本配置示意图 - M2GM

配置步骤

第一步,打开NPC脚本文件,在本地服务端Market_Def目录下找到对应NPC。

第二步,写延时命令和目标段:

@Main]
#IF
#ACT
DelayCall 3000 @AfterDelay
#SAY
3秒后有惊喜...

[@AfterDelay]
#IF
#ACT
SendMsg 5 时间到了!

第三步,写延时传送进副本:

[@进副本]
#IF
#ACT
SendMsg 5 5秒后传送进副本...
DelayCall 5000 @GoToCopy
#SAY
正在准备副本,请稍候...

[@GoToCopy]
#IF
#ACT
MapMove 副本地图 100 100
SendMsg 5 已传送进副本

第四步,保存文件,在M2里重载NPC脚本。

第五步,进游戏点NPC,对应延时后应该触发目标段。

区别对比

DelayCall延时和循环定时的区别:

对比项 DelayCall延时 循环定时器
触发 单次延时 循环定时
时间 毫秒级 秒级
绑定 绑定玩家 全局
适用 延迟执行 周期任务

DelayCall是单次延时执行,到点跑一段就结束;循环定时器是周期性反复触发。两个用途不同别搞混。

扩展玩法

DelayCall配合活动倒计时可以做完整的活动开始流程:活动开始前5秒倒计时提示,5秒后自动传送玩家进活动地图。倒计时提示、延时传送,实现完整的活动入场流程。

还有一个场景是技能冷却模拟。玩家释放技能后,用DelayCall模拟冷却时间,冷却期间不能再放技能。这个在做自定义技能系统的时候很常见。

调试的时候如果发现DelayCall不执行,先确认毫秒数有没有填对。很多新手把3秒填成3毫秒,瞬间就执行了,以为命令坏了。确认时间对了后,再检查段名有没有拼错。

多段延时写法

DelayCall还可以写多段延时链。比如3秒后提示,5秒后传送:

[@开始]
#IF
#ACT
SendMsg 5 3秒后提示...
DelayCall 3000 @提示段

[@提示段]
#IF
#ACT
SendMsg 5 5秒后传送...
DelayCall 5000 @传送段

[@传送段]
#IF
#ACT
MapMove 副本地图 100 100

这样写就是一段接一段延时,不用手动控制时间。

毫秒和秒换算速查

DelayCall单位是毫秒,新手最容易搞错,这里整理一下常用换算:

秒数 毫秒数 适用场景
1秒 1000 短延迟弹窗
3秒 3000 3秒倒计时
5秒 5000 5秒传送
10秒 10000 10秒准备时间

记住1秒等于1000毫秒,要多少秒就乘以1000。

典型组合

DelayCall和活动倒计时脚本是配套的:活动开始前用DelayCall做5秒倒计时,倒计时结束后自动传送玩家进活动地图。倒计时提示、延时传送,实现完整的延时传送副本入场流程。

还有一个常见搭配是配合技能冷却。玩家释放技能后,用DelayCall模拟冷却时间,冷却期间不能再放技能。这个在做自定义技能系统的时候很常见。

使用须知

使用DelayCall的时候要注意几个细节:第一,单位是毫秒不是秒,3秒要填3000别填3;第二,下线后延时任务取消,别指望下线了还会执行;第三,段名要存在,拼错了延时后什么都不发生。

这三个细节新手最容易忽略。单位搞错瞬间执行以为命令坏了,下线了还在等结果,段名拼错找半天找不到原因。

问题速查

1. 用DelayCall延时后脚本没执行是参数格式错了吗?

按顺序查三处:段名在脚本里是否真实存在、延时期间玩家有没有下线、毫秒数是不是填对了。段名拼错延时后什么都不发生,下线会取消延时任务,把3秒填成3毫秒会瞬间执行。这三处都排除再重载NPC试。

2. DelayCall的延时单位是秒还是毫秒?

是毫秒,不是秒。1000毫秒等于1秒,要延时3秒就得填3000,要延时5秒填5000。最常见的错误是把3秒直接填成3,结果脚本瞬间执行,看起来像命令没生效。

3. 延时期间玩家移动走了DelayCall还会执行吗?

会执行。DelayCall是绑定到当前玩家的,延时到点后不管玩家走到哪个地图哪个坐标,都会在玩家身上执行目标段。所以不用担心玩家走开就不触发,人在线就照常跑。

4. 小退之后DelayCall命令还生效吗?

不会生效。玩家一小退或大退,这条延时任务就被取消了,再上线不会补执行。DelayCall绑定当前玩家在线会话,下线即销毁延时任务。所以别用DelayCall做下线后还要触发的事,需要离线生效的定时要换机器人脚本方案。(本条问题整理自百度知道真实提问:传奇素材网2014-11,对应功能词DelayCall,答案结合996引擎帮助文档与本地实测)

5. DelayCall最长能延时多久?50秒后自动执行怎么写?

支持毫秒级延时,按业务需求填就行,没有固定上限。短到几百毫秒做提示,长到几万毫秒做几十秒准备都可以,比如延时50秒就填50000。写法是DelayCall 50000 @目标段,到时间自动跳转到目标段执行。数值直接乘1000换算,10秒填10000,按实际流程需要安排时间。(本条问题整理自百度知道真实提问:传奇素材网2014-11,对应功能词DelayCall,答案结合996引擎帮助文档与本地实测)

6. 进入地图杀宝宝后想用延时再执行一次,DelayCall怎么加?

在MapMove后面加DelayCall延时跳转到重复执行段就行。比如先杀一次宝宝,延时3秒后再杀一次:DelayCall 3000 @再杀一次,然后写[@再杀一次]段内放KillCallMob。注意DelayCall是单次延时,到点跑一段就结束,要循环执行得在目标段里再挂一个DelayCall形成延时链。(本条问题整理自百度知道真实提问:传奇素材网2014-03,对应功能词DelayCall,答案结合996引擎帮助文档与本地实测)

要点回顾

DelayCall是996引擎做定时跳转命令、延迟提示、技能冷却模拟的入口命令,两个参数:毫秒数、段名。配置链路:写延时命令、写目标段、重载NPC、点NPC验证延时触发。新手问脚本延时怎么写,填毫秒数和段名就行。确认延时正常后,按业务需要设置不同延时时间,可以承接大部分定时触发类玩法。

DelayCall延时跳转相关脚本已在本地996引擎环境逐项跑通;命令仅适配996引擎,其他引擎延时执行的单位和段名写法可能不同,跨引擎移植需自行测试修改。本文内容仅供单机本地学习调试。

扫描二维码推送至手机访问。

本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。

本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。

本文链接:https://www.m2gm.com/tech/996/delaycall/

分享给朋友:

相关文章

HGE引擎TimeRecall配置方法 - 定时传送回原处实战案例

HGE引擎TimeRecall配置方法 - 定时传送回原处实战案例

TimeRecall是HGE引擎人物定时传送回原处命令,格式为TimeRecall加时间分钟数、换地图停止两参数,自动记住调用处位置到点送回。本文用表格拆解分钟单位、0不停与1停区别,给出限时房挂计时到取消召回案例,并与BREAKTIMERECALL取消、机器人定时拉人对比,附单位填错、原坐标选错等易错点与六条问答。…

SD插件SDWhile循环判断指令详解 - 批量发奖脚本配置

SD插件SDWhile循环判断指令详解 - 批量发奖脚本配置

SD插件循环判断指令用SDWhile命令实现,本文讲解命令格式说明、参数讲解、实战案例与常见坑点。命令带循环变量、检测符号、判断参数、自增自减值四个参数,必须与sdENDWHILE配对并放在#ACT下使用,循环体里要让变量逼近退出条件避免死循环,支持多层嵌套,适合批量回收与按数量重复发奖。…