这个接口的应用场景很广。做巡逻 NPC(其实是怪物外形的巡逻单位)、做 BOSS 的阶段移动(从一个位置走到另一个位置)、做护送任务(怪物沿着路线走,玩家保护),都可以用。寻路结束触发 missionend 这个设计很重要,它让你可以在怪物到达目的地后做后续处理 —— 比如 BOSS 走到位置后开始释放技能、护送对象到达终点后任务完成。
释放技能 用 mon_docustommagic,但有个限制:只支持自定义怪物(race=156,RaceImg=19)。这个限制说明普通怪物的技能是引擎内置的,由怪物数据库配置,脚本不能随意让普通怪物放自定义技能。只有特定类型的自定义怪物,脚本才能控制它释放指定技能。做自定义 BOSS 的时候,需要把 BOSS 设成 race=156 的自定义怪物,才能用脚本控制它的技能释放节奏。
这个限制其实是一种保护机制 —— 如果任何怪物都能被脚本随意控制放技能,可能会和引擎内置的怪物 AI 冲突。自定义怪物相当于引擎给你开了一个 "白名单",在这个范围内你可以完全控制,出了问题也是你自己的自定义逻辑,不会影响普通怪物。