传奇脚本制作的核心是熟练运用各类命令实现功能逻辑,不同引擎(HeroM2、GOM等)命令略有差异,但基础功能命令通用性强。本文整理高频使用命令,按玩家、物品、怪物等维度分类,附具体实例与使用场景。
一、基础触发命令(控制脚本启动)
触发命令是脚本的“入口”,用于指定脚本在何种条件下执行,常见于NPC对话、技能释放、地图进入等场景。
命令格式
功能说明
实例
[@main]
NPC对话默认触发入口,玩家点击NPC即执行
[@main]#say欢迎来到传奇大陆!#actSendMsg602550点击领取新手礼包
[@Button1]
NPC对话按钮触发,对应玩家点击的第1个选项
[@Button1]#actGiveItem新手剑1#say新手剑已发放,请查收
#if条件#act执行动作
条件判断触发,满足“条件”则执行“动作”
#ifCheckLevel>=10#actMoveMap3333333#say等级达标,传送至土城
二、玩家状态控制命令(核心功能)
用于查询或修改玩家的等级、职业、属性、坐标等基础信息,是脚本逻辑判断的核心依据。
命令格式
功能说明
实例
CheckLevel数值
判断玩家等级是否满足条件(支持>=<)
#ifCheckLevel<20#say等级不足20级,无法接取此任务
CheckJob职业ID
判断玩家职业(1战士/2法师/3道士)
#ifCheckJob1#actGiveItem裁决1#say战士专属武器已发放
ChangeLevel增减数值
修改玩家等级(正数提升,负数降低)
#actChangeLevel+5#say完成任务,等级提升5级
MoveMap地图IDX坐标Y坐标
将玩家传送至指定地图的指定坐标
#actMoveMap101100120#say传送至苍月岛
三、物品操作命令(任务与奖励核心)
涵盖物品的查询、给予、回收、检测等操作,是任务奖励、道具兑换类脚本的必备命令。
命令格式
功能说明
实例
CheckItem物品ID数量
检测玩家背包是否有指定数量的物品
#ifCheckItem50011#actTakeItem50011#say已消耗1个金币
GiveItem物品ID数量
给予玩家指定数量的物品(物品ID从DBC查询)
#actGiveItem3011#say新手铠甲已放入您的背包
TakeItem物品ID数量
从玩家背包回收指定数量的物品
#ifCheckItem10011#actTakeItem10011GiveItem20011#say用野猪皮兑换了疗伤药
CheckItemBind物品ID
检测物品是否为绑定状态
#ifCheckItemBind301#say此装备为绑定状态,无法交易
四、怪物控制命令(刷怪与战斗相关)
用于怪物的刷新、检测、击杀判断等,是闯关地图、BOSS刷新类脚本的核心命令。
命令格式
功能说明
实例
MonGen怪物ID数量X坐标Y坐标
在指定坐标刷新指定数量的怪物
#actMonGen2011150180#say野猪王已刷新,请准备战斗
CheckMonsterDie怪物ID
检测指定怪物是否被击杀
#ifCheckMonsterDie201#actGiveItem500110#say击杀野猪王,奖励10个金币
CheckMonsterNear范围
检测玩家周围指定范围内是否有怪物
#ifCheckMonsterNear5#say5格内有怪物,请先清理
五、地图与环境命令(场景控制)
用于控制地图的人数、时间、特效等,适配闯关地图、活动地图等特殊场景需求。
命令格式
功能说明
实例
CheckMapUserCount地图ID
检测指定地图内的玩家数量
#ifCheckMapUserCount101>1#say此地图仅限1人进入,请稍候
MapTimeLimit地图ID分钟数
设置指定地图的停留时间限制
#actMapTimeLimit10130#say此地图停留时间限制为30分钟
MapEffectX坐标Y坐标特效ID
在指定坐标播放地图特效(如技能光效)
#actMapEffect<$CURRENTX><$CURRENTY>10#say释放技能特效
六、命令查询与使用技巧
1.命令兼容性:HeroM2与GOM引擎部分命令通用,特殊命令可在引擎控制台的“帮助文档”中查询,如HeroM2的“命令手册”、GOM的“脚本命令参考”。
2.ID查询:物品、怪物、地图的ID需通过DBC数据库查询,对应文件分别为“StdItem.DB”“Monster.DB”“MapInfo.txt”。
3.调试技巧:脚本报错时,优先检查命令格式是否正确(如空格、符号),其次确认ID是否与数据库一致,可通过引擎“脚本调试”功能定位错误行。
传奇脚本制作常用命令大全:功能分类+实例新手速查速用
热度:

