996引擎 - 【任务系统】和【cfg_newtask.xls】总结测试NPC界面cfg_newtask.xls 表坑1【新建任务接口】 对应 【接取任务触发】坑2增加系统任务计时 dsfuncall 除了角色对象不支持任何其他参数抢救一下坑3 修改 cfg_newtask.xls 必须重启引擎才能生效参考资料总结996这个任务系统是一个仅用于控制主界面左上角的【任务列表】UI刷新交互状态通知不含具体业务逻辑。,不持久化任何数据任务列表有多个任务时支持上下滑动可以调用接口将指定任务【置顶】任务列表中每个任务一行分标题和当前状态对应的内容两部分点击能触发clicknewtask事件具体的任务系统业务逻辑需要自己写代码实现。配合996提供的任务接口和触发实现更新任务列表任务系统提供的接口仅为会话内任务UI与轻量状态控制工具不涉及任何自动持久化机制。真实任务进度、完成状态、条件判断等必须通过开发者在触发器或接口调用中显式读写引擎变量才能实现跨会话持续存在。cfg_newtask.xls 是配置源头actor 是运行时载体引擎变量是持久化桥梁——三者缺一不可。测试NPC界面对应【任务系统】的 5 个接口每行对应一个任务。localnpc{}npc.title任务系统;npc.paramsAndFuncs{};fori1,18dotable.insert(npc.paramsAndFuncs,{领取任务..i,function(player)newpicktask(player,i,领取参数A);end});table.insert(npc.paramsAndFuncs,{刷新任务..i,function(player)newchangetask(player,i,刷新参数A,刷新参数B);end});table.insert(npc.paramsAndFuncs,{完成任务..i,function(player)newcompletetask(player,i);end});table.insert(npc.paramsAndFuncs,{删除任务..i,function(player)newdeletetask(player,i);end});table.insert(npc.paramsAndFuncs,{任务置顶..i,function(player)tasktopshow(player,i);end});endreturnnpc;cfg_newtask.xls 表为了测试简单填了下。支持富文本。支持u、br支持给接取任务前、任务进行中、完成任务时分别置不同的特效。支持设置排序字段坑1【新建任务接口】 对应 【接取任务触发】也不知什么脑回路能想出这种命名风格。调用新建任务接口newpicktask服务端触发接取任务触发picktask任务列表中当前内容显示newtask表的接取任务前内容。其他的接口和触发都还好见名知意。坑2增加系统任务计时dsfuncall除了角色对象不支持任何其他参数--QFunction-0.luafunctiondingshicf_1(actor)enddsfuncall(actor,dingshicf_1,10*1000,1,1)直接放弃996所有的定时、延迟类的接口都坑的一B。抢救一下如果一定想用系统任务计时要又不想声明 dingshicf_1dingshicf_2dingshicf_3… 一堆回调可以考虑封装一下 dsfuncall 搞个支持直接传回调函数的版本。--QFunction-0.lua--- 系统任务计时扩展版 (支持匿名函数)--- param actor object 玩家对象--- param func function 回调函数 (匿名函数或局部函数)--- param time number 倒计时时间 (毫秒) 默认1000--- param model number|nil 0上线需重新开启, 1上线直接执行 (默认0)--- param isClear number|nil 0开启新的, 1上线刷新当前时间 (默认0)functiondsfuncallEx(actor,func,time,model,isClear)iftype(func)~functionthenrelease_print([Error] dsfuncallEx: func must be a function!)returnendtimetimeor1000-- 生成唯一的全局调度函数名-- 使用 os.clock() 配合随机数防止在同一毫秒内生成重复 KeylocaldispatcherNamestring.format(dingshicf_EX_%d_%d,gettcount64(),math.random(1000,9999))-- 注册到全局 _G_G[dispatcherName]function()-- 使用 pcall 保护确保即使业务代码报错也能清理掉全局变量localok,errpcall(func,actor)ifnotokthenrelease_print([Timer Error] ..tostring(err))end-- 执行完毕后立即销毁释放内存_G[dispatcherName]nilend-- 调用 64_23.10.24 引擎原生接口dsfuncall(actor,dispatcherName,time,modelor0,isClearor0)end可以直接传匿名方法匿名方法中可以访问闭包上下文的变量。坑爹的限制解除啦locala1;localb2;-- 比如玩家触发某个机关3秒后检查状态dsfuncallEx(actor,function(p)release_print(系统任务计时完成访问闭包变量 a ..a.. b ..b)end,3000)坑3 修改 cfg_newtask.xls 必须重启引擎才能生效修改cfg_newtask.xls表后必须关闭 M2 并重启引擎才能生效参考资料996引擎 - 任务系统
企业数字化 ERP 产品动态
相关推荐
《QGIS快速入门与应用基础》【专栏完整目录】 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 7:33:02
设备基础二次灌浆为什么总在3天后空鼓?一位设备工程师的施工方验证清单 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 7:31:54
GitHub_Trending/cl/claude-relay-service技术预见:识别新兴机会 GitHub_Trending/cl/claude-relay-service技术预见:识别新兴机会
在人工智能API服务快速发展的今天,开发者和企业面临着多重挑战:多平台订阅管理复杂、API调用成本高昂、不同模型间切换困难。而GitHub_Trending/cl/claude-relay-service&… · 2026/11/3 6:16:41
莱芜考电工证什么时候千万别踩坑,证书过期了怎么解决 莱芜考电工证什么时候千万别踩坑,证书过期了怎么解决 证书过期了不知道怎么复审延期?千万别踩坑,这个问题每年都有不少电工朋友遇到,尤其是那些在莱芜从事电力工作的朋友们,一旦证书过期,不仅影响工作,还可能面临处罚。今天就从… · 2026/11/13 13:28:56
建设委员会发的电工证怎么报名?别怕考不过白交培训费,手把手教你避坑 建设委员会发的电工证怎么报名?别怕考不过白交培训费,手把手教你避坑 怕考不过白交培训费?很多想考建设委员会发的电工证的小伙伴都担心这个。尤其是在周口这样的地级市,培训费用动辄上千,一不小心操作不当,就可能竹篮打水一场空。但如果你知道怎么报名… · 2026/11/13 13:28:56
北京那办电工证怎么选?2026河南最新政策下的工地电工考试攻略 北京那办电工证怎么选?2026河南最新政策下的工地电工考试攻略 工地太忙根本没时间复习考试,这话没毛病。作为安阳中小施工企业的负责人,你天天在项目上跑,连吃饭都得抢时间,更别说抽出时间准备电工证考试了。尤其是2026年河南最新政策出台后,特… · 2026/11/13 13:28:56
工地太忙根本没时间复习考试?网上查询学习电工证的资料全攻略 工地太忙根本没时间复习考试?网上查询学习电工证的资料全攻略 工地太忙根本没时间复习考试,这几乎是每个想考电工证的工友心里最真实的声音。尤其是在项目赶工期、任务紧的情况下,一边要干活,一边还得抽空复习,听起来就让人头疼。但偏偏现在电工证在工地… · 2026/11/13 13:28:56
长治电工证培训报名怎么报名不被中介坑 长治电工证培训报名怎么报名不被中介坑 你是不是正为【长治电工证培训报名怎么报名】发愁?不知道去哪报名怕被中介坑?别急,这篇文章就是帮你避坑、避雷的,全是真实经验,拒绝花里胡哨。 为什么电工证必须通过正规渠道报名?… · 2026/11/13 13:27:56
电工证丢失还能补吗?千万别踩坑,丢了证等于失业 电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/12 14:09:01
电力电缆作业证直播报名入口与办理流程良心建议 电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/13 5:40:45
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/12 23:27:43
维修电公用考电工证吗 在哪考最靠谱 维修电公用考电工证吗 在哪考最靠谱 工地太忙根本没时间复习考试,你是维修电工,天天在项目上跑,连抽个空背个题都难。那问题来了—— 维修电公用考电工证吗 ?答案是: 必须考 。尤其是在当前施工行业,没有电工证,连进场都可能被拦下。而且,… · 2026/11/13 0:00:08
电工证是不是可以登高?含金量和证书范围你必须知道的事 电工证是不是可以登高?含金量和证书范围你必须知道的事 证书过期了不知道怎么复审延期,这事儿很多人遇到过,尤其是像你这样在郑州金水区做劳务班组负责人,手里握着几十个工人的证书,稍微一疏忽,就可能影响工程进度和公司信誉。特别是电工证是不是可以登… · 2026/11/13 0:00:08
鸡西电工证哪家下证快官方报名入口怎么找 鸡西电工证哪家下证快官方报名入口怎么找 你是不是也担心 学历不高怕报不上名 ?别急,今天我就来跟你说说, 鸡西电工证哪家下证快 ,还有 官方报名入口 到底怎么找,别让那些“代办”“代考”耽误了你的机会。… · 2026/11/13 0:00:08
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:12:21
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:11:51
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/12 21:15:21