传奇BLUE引擎禁止使用checkstringlist命令解决方法
摘要:本文详细讲解传奇BLUE引擎升级0524-07版本后,M2提示禁止使用checkstringlist命令的解决方法,通过蓝海CSV转换器转换文件格式,搭配HASH哈希命令替换原有脚本,完整分享脚本修改步骤、代码示例及拓展用法,快速修复传奇怪物攻击、切割、斩杀脚本失效问题,适配新版BLUE引擎使用。…
一、问题现象说明
传奇BLUE引擎旧版本中,很多服务端脚本会使用checkstringlist命令实现怪物攻击触发检测功能。但将引擎升级至0524-07及以上新版本后,M2会弹出提示,禁止使用checkstringlist命令,导致原有怪物切割、斩杀、怪物攻击扣血等脚本功能失效,影响服务端正常运行。

以下为升级引擎前,正常使用的原始触发脚本:
[@ATTACK]
#IF
CheckStringList ..\MonAttackTrigger.txt <$TARINFO_FNAME> HardDisk
#ACT
T.HUMANHP - <$STR(M1)>
#IF
CheckStringList ..\QuestDiary\数据文件\允许切割怪物.txt <$TARINFO_FNAME> HardDisk
#ACT
T.HUMANHP - <$STR(M切割血量)>
#IF
CheckStringList ..\QuestDiary\数据文件\允许斩杀怪物.txt <$TARINFO_FNAME> HardDisk
#ACT
T.HUMANHP - <$T.HP>
二、解决方案整体介绍
针对BLUE引擎新版本禁用checkstringlist命令的问题,可通过蓝海CSV转换器搭配HASH哈希命令的方式替换原有脚本写法。新写法完美兼容0524-07及以上新版引擎,稳定实现原有怪物攻击、切割、斩杀扣血逻辑,解决引擎报错、脚本失效问题。

三、详细操作步骤
1、整理怪物名单文件
将原脚本中checkstringlist命令调用的所有怪物名单文件进行整理,包含怪物攻击触发名单、允许切割怪物名单、允许斩杀怪物名单,确保文件内怪物名称数据完整、无冗余错误内容。

2、CSV格式文件转换
打开蓝海CSV转换器,将整理好的怪物名单文件及对应目录直接拖入软件界面,点击开始转换按钮,软件会自动在原文件目录下,生成对应的CSV格式数据文件,为后续哈希加载数据做准备。

3、QM登录脚本加载CSV数据
将转换完成的CSV文件统一放置在QM脚本指定加载目录,随后编辑QM登录脚本,
在[@Onstart]启动段添加HASH数据加载命令,实现服务端启动自动读取怪物数据,具体脚本示例如下:
[@Onstart]
#IF
true
#ACT
Hash H_允许切割怪物 Load ..\QuestDiary\数据文件\允许切割怪物.csv
Hash H_允许斩杀怪物 Load ..\QuestDiary\数据文件\允许斩杀怪物.csv
Hash H_全部怪物名单 Load ..\QuestDiary\数据文件\MonAttackTrigger.csv
4、QF攻击触发脚本替换新写法
打开QF攻击触发脚本,删除原有checkstringlist命令语句,替换为HashExists哈希检测命令,适配新版BLUE引擎规则,完整可用脚本代码如下:
[@ATTACK]
#IF
HashExists H_全部怪物名单 <$TARINFO_FNAME>
#ACT
T.HUMANHP - <$STR(M1)>
#IF
HashExists H_允许切割怪物 <$TARINFO_FNAME>
#ACT
T.HUMANHP - <$STR(M切割血量)>
#IF
HashExists H_允许斩杀怪物 <$TARINFO_FNAME>
#ACT
T.HUMANHP - <$T.HP>
四、HashExists命令拓展用法
HashExists命令支持取反检测写法,可满足特殊脚本逻辑需求,适配更多传奇服务端定制玩法,具体示例代码如下:
#IF
!HashExists H_全部怪物名单 <$TARINFO_FNAME>
#ACT
T.HUMANHP - <$STR(M1)>



