传奇版本内道士毒素每几秒掉一次血,由脚本或者M2引擎内毒素相关参数控制,不同引擎的参数存放位置不一样,红绿毒是两套独立配置,修改间隔的同时,还可以同步调整单次扣血数值、毒素持续时长,修改前要区分引擎类型,参数修改完成需要重载或者重启生效。
GOM引擎,毒素间隔配置在施毒术技能脚本内,打开技能脚本文件夹,找到施毒术对应的脚本文件。找到绿毒持续扣血的循环代码段,毒素跳血依靠定时器命令,定时器后面的数字单位为毫秒,1000毫秒等于1秒。想要设置每2秒掉一次血,就填写2000;3秒一跳填写3000。定时器命令启动之后,按照设定毫秒数循环执行扣血指令。红毒本身没有扣血效果,只负责降低目标防御,不需要配置扣血周期,只修改减防持续时间。修改脚本内的扣血数值,调整每次毒素触发扣除的血量。修改完成保存脚本,在M2控制台执行重载脚本命令,不用重启服务端,参数即可生效。修改的时候注意定时器单位,很多人直接填写数字2,会被引擎识别为2毫秒,毒素会疯狂扣血,造成数值异常。
GEE引擎的配置分为两种方式,可以选择M2可视化面板或者技能脚本修改。打开M2,找到技能设置,选择施毒术,面板里面会显示毒素间隔、毒素持续时间、单次伤害。面板内毒素间隔单位为毫秒,直接填入对应数值,保存设置,重载M2技能配置。如果面板选项没有开放,就打开施毒术脚本,定时器写法和GOM一致,单位同样为毫秒。GEE引擎部分版本支持独立设置玩家施毒和怪物施毒的毒素间隔,两套参数互不干扰,调整玩家道士毒,不要改动怪物毒素脚本,防止怪物毒效果异常。
HERO引擎没有独立定时器脚本,毒素属性直接写在M2技能数据库。打开DB数据库,打开魔法数据库,找到施毒术条目,毒素周期字段控制扣血间隔,单位为秒,和GOM、GEE不同,HERO这里直接填写数字,填3就是3秒跳一次血。同时字段内包含毒素总持续时间、每次扣血血量。修改魔法数据库之后,保存数据库,需要重启M2服务端才能加载新参数,单纯重载无法生效。HERO引擎区分玩家释放毒素和怪物毒素,修改玩家施毒术记录,不要改动怪物施毒术。
调整参数时的配套设置,毒素总持续时间要大于毒素跳血间隔,否则毒素还没触发扣血就结束。举例设置毒素总时长20秒,跳血间隔设置2秒,总共可以触发十次扣血。绿毒重复释放会刷新毒素计时,不会叠加扣血次数,这个逻辑不需要改动,只修改间隔。道术影响毒素伤害的参数在同一段配置,可以选择性关闭道术对毒伤的加成,也保留原有计算公式。元神道士毒素参数和主号共用同一套技能配置,如果需要元神毒间隔不一样,需要单独写元神施毒脚本,覆盖原有技能。
测试修改后的参数,进入游戏创建道士角色,对怪物释放绿毒,记录扣血跳动时间。如果发现掉血节奏不对,回到脚本核对定时器单位。修改参数经常出现的错误,GOM、GEE混淆毫秒与秒,HERO填写毫秒数值,造成毒素生效异常。修改前建议备份原始脚本和数据库文件,参数出错可以直接恢复备份,避免全部毒素配置错乱。
权限与生效范围,修改的是全体玩家道士的毒素效果,无法单独针对某一个角色设置专属毒间隔。想要单人专属毒素,需要编写自定义施毒脚本,做判断命令,判定角色名字,单独执行一套定时器扣血,其余玩家使用默认毒素配置。
脚本内的判断条件,增加目标类型判断,可以区分怪物和玩家,给玩家中毒设置一套间隔,怪物中毒设置另一套间隔。比如怪物每2秒掉血,玩家每3秒掉血,在循环扣血代码前增加判断,判断目标是玩家还是怪物,调用不同定时器。
修改完成后的注意事项,不要将毒素间隔设置过小,低于500毫秒会造成服务器运算压力,大量玩家同时放毒,容易出现服务器卡顿。间隔数值建议最低不要小于1000毫秒。修改完成优先在测试地图测试,确认扣血周期、单次扣血数值没有溢出,再开放全地图使用。
熟悉引擎参数存放位置,分清毫秒与秒的单位差异,备份原文件,修改后重载或者重启服务端,就能自由控制道士绿毒扣血的跳动间隔,红毒无扣血机制,无需配置掉血周期。

