⚙️ 一、基础限制脚本实现(Sky/HeroM2引擎)
核心脚本命令
CHECKSLAVECOUNT:检测当前已召唤的宠物数量,语法为 CHECKSLAVECOUNT < 数量[citation:6][citation:7]。
RECALLMOB:召唤指定怪物为宝宝,参数包括怪物名称、等级、叛变时间等[citation:6][citation:9]。
示例代码(限制最多1个宝宝):
#IF
CHECKSLAVECOUNT < 1 ; 检测宝宝数量是否小于1
#ACT
RECALLMOB 宝宝 7 0 0 ; 召唤7级宝宝,不叛变
SENDMSG 5 "召唤成功!"
#ELSEACT
SENDMSG 5 "已有宝宝,无法重复召唤!"
变量替代方案
若引擎不支持 CHECKSLAVECOUNT,可用 自定义变量 配合怪物死亡触发重置:
召唤时设置变量
#IF
EQUAL U99 0 ; U99为自定义变量(0=无宝宝)
#ACT
RECALLMOB 宝宝
MOV U99 1 ; 标记已有宝宝
怪物死亡触发(Monster.DB中配置)
[@OnDie]
#ACT
MOV U99 0 ; 重置状态[citation:5]
🧩 二、高级功能扩展:多维度控制
按职业/武器区分数量
道士默认可召1个神兽,但佩戴“清心碧玉笛”后可额外召唤碧血魔[citation:2]:
#IF
CHECKJOB Taoist
CHECKITEMW 清心碧玉笛 1
CHECKSLAVECOUNT < 2
#ACT
RECALLMOB 碧血魔 7 0 0
快乐度与喂养系统
通过 <$PETSHAPP>(快乐度变量)控制宝宝存活状态,需定期喂养道具(如胡萝卜)[citation:5]:
[@FeedPet]
#IF
CHECKSLAVETOPEST ; 检测是否有宠物类宝宝
#ACT
CHANGEPETSMONHAPP + 10 ; 增加快乐度
TAKE 胡萝卜 1
⚠️ 三、引擎兼容性注意事项
Sky/HeroM2特有命令
<$RECALLMOBCOUNT>:直接获取召唤物总数,优于自定义变量[citation:6][citation:9]。
旧版引擎替代方案:使用 CHECKRANGEMONCOUNT 检测周边同名怪物数量[citation:8]。
常见错误排查
脚本不生效:检查怪物DB中名称是否与脚本一致,叛变时间参数是否冲突。
变量重置失败:确保 [@OnDie] 触发正确绑定到怪物DB的 CoolEye 字段[citation:5]。

