Sky引擎(又称HeroM2)传奇服中,商铺宠物召唤卷需通过脚本限制召唤数量,避免多宠叠加破坏平衡。核心逻辑为检测玩家当前召唤宠物数量,仅当数量为0时允许召唤,配合商铺脚本即可实现“无论买多少张,仅召1只”的需求,命令适配引擎原生语法,无需额外插件。
核心脚本命令解析:#IF条件中需填写的检测命令
玩家问题中#IFcheck()<1的核心是补充宠物数量检测命令,Sky引擎支持两种精准检测命令,适配不同宠物类型(召唤兽、雇佣宝宝等),可根据实际宠物属性选择。
第一种核心命令:CHECKPETCOUNT,直接检测玩家当前召唤的宠物总数,语法为CHECKPETCOUNT<1,适配所有可被玩家召唤的宝宝(含神兽、召唤兽、卷召宠物)。该命令无需额外参数,直接填入#IF条件中即可,是最通用的检测方式,对应完整条件为#IFCHECKPETCOUNT<1,含义为“当玩家当前召唤宠物数量小于1时”。
第二种补充命令:CHECKSLAVECOUNT,部分版本中用于检测“随从类宠物”(如卷召专属宝宝、雇佣兵),语法同样为CHECKSLAVECOUNT<1。若使用CHECKPETCOUNT无效果,可替换为此命令,适配引擎部分分支版本的宠物分类机制,确保检测精准度。
注意:命令需严格区分大小写,均为大写英文,符号为半角格式,空格不可遗漏。无需在括号内填写内容,玩家原脚本中check()的括号属于多余格式,删除括号直接填写命令即可,错误格式会导致脚本失效。
完整脚本编写:商铺召唤卷适配版
脚本需分为两部分:商铺物品使用脚本(控制召唤权限)、宠物死亡/消失联动脚本(重置召唤权限),确保玩家宠物死亡后可重新召唤,同时维持单宠限制。
第一部分:商铺宠物召唤卷使用脚本,路径为服务端根目录\Mirserver\Mir200\Envir\Market_Def\QFunction-0.txt(商铺专属脚本文件),添加如下内容:
#ACTREMOVEITEM宠物召唤卷1(删除玩家背包内1张召唤卷)#IFCHECKPETCOUNT<1(核心检测条件,宠物数量为0时执行)#ACT@RECALLMOB宝宝名称1(召唤1只指定宝宝,名称需与数据库一致)SENDMSG6成功召唤宠物!当前仅可拥有1只。(系统提示)#ELSEACTSENDMSG6你已召唤宠物,无法同时召唤多只!(数量超限提示)
说明:脚本中“宠物召唤卷”需与商铺物品名称完全一致,“宝宝名称”需对应数据库Monster表中的宠物名称(不可错字),@RECALLMOB后加数字1代表仅召唤1只,避免单张卷召唤多只的基础问题。
第二部分:宠物死亡联动脚本,避免宠物死亡后无法重新召唤,路径同上QFunction-0.txt,添加宠物死亡触发脚本:
[@PetDie](宠物死亡触发标识)SENDMSG6你的宠物已死亡,可重新使用召唤卷召唤。(提示玩家)BREAK(结束脚本)
若宠物为“时间限制类”,可补充超时消失脚本,确保数量检测重置,避免出现“宠物已消失但检测仍显示有宠”的问题。
脚本安装与生效步骤
第一步:定位脚本文件,打开QFunction-0.txt后,将编写好的两段脚本添加至文件末尾,避免与其他脚本冲突,若文件中已有[@PetDie]标识,直接在原有标识下补充提示命令即可,无需重复创建。
第二步:核对参数一致性,确认商铺物品名称、宠物名称与脚本完全匹配,宠物名称可通过DBC2000数据库HeroDB→Monster表查询,复制对应名称粘贴至脚本,杜绝错字、空格问题。
第三步:重载脚本生效,无需重启服务端,打开Sky引擎控制器(M2),依次点击“脚本命令”→“重载QFunction脚本”,等待提示“重载成功”即可。若重载后无效果,重启M2控制器,确保脚本加载完整。
第四步:测试验证,创建测试账号购买多张召唤卷,首次使用召唤宠物,再次使用时触发超限提示;宠物死亡/消失后,可重新使用召唤卷召唤,确认单宠限制逻辑正常。
常见问题排查与适配调整
问题一:脚本无效果,仍可召唤多只宠物。优先检查检测命令是否适配,若使用CHECKPETCOUNT无效,替换为CHECKSLAVECOUNT;其次核对宠物是否属于“召唤类”,部分怪物需设置为“可召唤”属性(数据库Monster表中CanBeCalled设为1),否则检测命令无法识别。
问题二:宠物死亡后无法重新召唤。排查是否遗漏[@PetDie]脚本,或脚本标识错误(如写成@petdie小写);同时检查宠物死亡后是否彻底清除,部分版本需补充@CLEARPET命令,在[@PetDie]下添加#ACT@CLEARPET,确保宠物数量清零。
问题三:脚本报错,M2提示“命令不存在”。多为引擎版本兼容问题,低版本Sky引擎可升级至对应稳定版本,或替换为兼容命令;同时检查脚本格式,确保#IF、#ACT、#ELSEACT对齐,无多余空格、换行错误。
问题四:仅部分玩家受限制。核查玩家是否拥有GM权限,GM账号默认无视部分数量限制,测试时使用普通玩家账号;同时检查是否有其他脚本冲突(如宠物加持脚本),暂时注释其他无关脚本,逐一排查冲突点。
进阶优化:适配多场景需求
若需区分职业限制(如仅道士可使用),可在#IF条件中补充职业检测命令,语法为CHECKJOB道士,完整条件为#IFCHECKJOB道士CHECKPETCOUNT<1,实现职业专属召唤限制。
若宠物为专属类型(如不同召唤卷对应不同宝宝,均限制单只),可复制核心脚本,修改宠物名称与物品名称,分别适配不同召唤卷,确保每种宠物均受单只限制,互不影响。
Sky引擎宠物数量限制脚本的核心是精准使用CHECKPETCOUNT/CHECKSLAVECOUNT命令,配合商铺物品脚本与死亡联动逻辑,即可解决多宠叠加问题。按上述步骤编写与调试,无需复杂技术,可快速适配传奇2服商铺召唤卷需求,维持玩法平衡。
核心脚本命令解析:#IF条件中需填写的检测命令
玩家问题中#IFcheck()<1的核心是补充宠物数量检测命令,Sky引擎支持两种精准检测命令,适配不同宠物类型(召唤兽、雇佣宝宝等),可根据实际宠物属性选择。
第一种核心命令:CHECKPETCOUNT,直接检测玩家当前召唤的宠物总数,语法为CHECKPETCOUNT<1,适配所有可被玩家召唤的宝宝(含神兽、召唤兽、卷召宠物)。该命令无需额外参数,直接填入#IF条件中即可,是最通用的检测方式,对应完整条件为#IFCHECKPETCOUNT<1,含义为“当玩家当前召唤宠物数量小于1时”。
第二种补充命令:CHECKSLAVECOUNT,部分版本中用于检测“随从类宠物”(如卷召专属宝宝、雇佣兵),语法同样为CHECKSLAVECOUNT<1。若使用CHECKPETCOUNT无效果,可替换为此命令,适配引擎部分分支版本的宠物分类机制,确保检测精准度。
注意:命令需严格区分大小写,均为大写英文,符号为半角格式,空格不可遗漏。无需在括号内填写内容,玩家原脚本中check()的括号属于多余格式,删除括号直接填写命令即可,错误格式会导致脚本失效。
完整脚本编写:商铺召唤卷适配版
脚本需分为两部分:商铺物品使用脚本(控制召唤权限)、宠物死亡/消失联动脚本(重置召唤权限),确保玩家宠物死亡后可重新召唤,同时维持单宠限制。
第一部分:商铺宠物召唤卷使用脚本,路径为服务端根目录\Mirserver\Mir200\Envir\Market_Def\QFunction-0.txt(商铺专属脚本文件),添加如下内容:
#ACTREMOVEITEM宠物召唤卷1(删除玩家背包内1张召唤卷)#IFCHECKPETCOUNT<1(核心检测条件,宠物数量为0时执行)#ACT@RECALLMOB宝宝名称1(召唤1只指定宝宝,名称需与数据库一致)SENDMSG6成功召唤宠物!当前仅可拥有1只。(系统提示)#ELSEACTSENDMSG6你已召唤宠物,无法同时召唤多只!(数量超限提示)
说明:脚本中“宠物召唤卷”需与商铺物品名称完全一致,“宝宝名称”需对应数据库Monster表中的宠物名称(不可错字),@RECALLMOB后加数字1代表仅召唤1只,避免单张卷召唤多只的基础问题。
第二部分:宠物死亡联动脚本,避免宠物死亡后无法重新召唤,路径同上QFunction-0.txt,添加宠物死亡触发脚本:
[@PetDie](宠物死亡触发标识)SENDMSG6你的宠物已死亡,可重新使用召唤卷召唤。(提示玩家)BREAK(结束脚本)
若宠物为“时间限制类”,可补充超时消失脚本,确保数量检测重置,避免出现“宠物已消失但检测仍显示有宠”的问题。
脚本安装与生效步骤
第一步:定位脚本文件,打开QFunction-0.txt后,将编写好的两段脚本添加至文件末尾,避免与其他脚本冲突,若文件中已有[@PetDie]标识,直接在原有标识下补充提示命令即可,无需重复创建。
第二步:核对参数一致性,确认商铺物品名称、宠物名称与脚本完全匹配,宠物名称可通过DBC2000数据库HeroDB→Monster表查询,复制对应名称粘贴至脚本,杜绝错字、空格问题。
第三步:重载脚本生效,无需重启服务端,打开Sky引擎控制器(M2),依次点击“脚本命令”→“重载QFunction脚本”,等待提示“重载成功”即可。若重载后无效果,重启M2控制器,确保脚本加载完整。
第四步:测试验证,创建测试账号购买多张召唤卷,首次使用召唤宠物,再次使用时触发超限提示;宠物死亡/消失后,可重新使用召唤卷召唤,确认单宠限制逻辑正常。
常见问题排查与适配调整
问题一:脚本无效果,仍可召唤多只宠物。优先检查检测命令是否适配,若使用CHECKPETCOUNT无效,替换为CHECKSLAVECOUNT;其次核对宠物是否属于“召唤类”,部分怪物需设置为“可召唤”属性(数据库Monster表中CanBeCalled设为1),否则检测命令无法识别。
问题二:宠物死亡后无法重新召唤。排查是否遗漏[@PetDie]脚本,或脚本标识错误(如写成@petdie小写);同时检查宠物死亡后是否彻底清除,部分版本需补充@CLEARPET命令,在[@PetDie]下添加#ACT@CLEARPET,确保宠物数量清零。
问题三:脚本报错,M2提示“命令不存在”。多为引擎版本兼容问题,低版本Sky引擎可升级至对应稳定版本,或替换为兼容命令;同时检查脚本格式,确保#IF、#ACT、#ELSEACT对齐,无多余空格、换行错误。
问题四:仅部分玩家受限制。核查玩家是否拥有GM权限,GM账号默认无视部分数量限制,测试时使用普通玩家账号;同时检查是否有其他脚本冲突(如宠物加持脚本),暂时注释其他无关脚本,逐一排查冲突点。
进阶优化:适配多场景需求
若需区分职业限制(如仅道士可使用),可在#IF条件中补充职业检测命令,语法为CHECKJOB道士,完整条件为#IFCHECKJOB道士CHECKPETCOUNT<1,实现职业专属召唤限制。
若宠物为专属类型(如不同召唤卷对应不同宝宝,均限制单只),可复制核心脚本,修改宠物名称与物品名称,分别适配不同召唤卷,确保每种宠物均受单只限制,互不影响。
Sky引擎宠物数量限制脚本的核心是精准使用CHECKPETCOUNT/CHECKSLAVECOUNT命令,配合商铺物品脚本与死亡联动逻辑,即可解决多宠叠加问题。按上述步骤编写与调试,无需复杂技术,可快速适配传奇2服商铺召唤卷需求,维持玩法平衡。

