当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇脚本常用命令全解析附用法及实战示例

热度:
传奇脚本命令是控制游戏逻辑、NPC交互、任务触发、挂机行为的核心,不同命令对应不同功能,需遵循语法规则适配引擎。以下按功能分类,详解高频命令的含义、用法、参数及实战示例,覆盖基础交互、条件判断、物品操作等核心场景。

一、基础交互命令(NPC对话、窗口控制)

此类命令用于搭建NPC对话界面、控制窗口开关,是脚本基础组成部分,适配所有传奇引擎版本。

1.[@main]命令

核心作用:定义脚本主入口,玩家点击NPC时默认触发此标签下的内容,所有交互脚本必须包含该命令。

用法:独立作为标签存在,后续紧跟对话内容、功能选项及跳转指令,无额外参数。

示例:
[@main]
#SAY
欢迎来到传奇大陆!
领取新手奖励
离开

2.#SAY命令

核心作用:在NPC对话窗口显示文字内容,支持换行、功能链接,是脚本交互的核心展示命令。

用法:紧跟#IF或直接在标签下使用,文字内容可搭配<br/>换行,<ahref="@标签名">文字</a>设置功能链接。

示例:
#SAY
您当前等级:%level%<br/>可选择以下服务:<br/>装备修理<br/>物品寄存

3.CLOSE命令

核心作用:关闭当前NPC对话窗口,结束脚本交互,通常用于“取消”“离开”等功能选项。

用法:放在#ACT标签下,无参数,执行后直接关闭窗口,可搭配break终止后续脚本。

示例:
[@quit]
#ACT
CLOSE
break

二、条件判断命令(逻辑触发核心)

通过判断玩家状态、物品持有、等级等条件,触发对应操作,是脚本逻辑控制的关键,常用#IF、#ELSEIF、#ELSE组合使用。

1.#IF命令

核心作用:设定判断条件,若条件满足则执行后续#ACT标签下的内容,不满足则跳过。

用法:单独使用或与#ELSEIF、#ELSE搭配,条件需为引擎支持的判定语句(如等级、物品、金币等)。

示例:
#IF
LEVEL>30
#ACT
SENDMSG7您已达到30级,解锁高级地图权限!

2.#ELSEIF命令

核心作用:当前置#IF条件不满足时,触发二次判断,可多次叠加,实现多条件分支逻辑。

用法:紧跟#IF或上一个#ELSEIF,条件格式与#IF一致,满足则执行对应#ACT,不满足则继续向下判断。

示例:
#IF
LEVEL>50
#ACT
SENDMSG7您已达到高阶等级!
#ELSEIF
LEVEL>30
#ACT
SENDMSG7您已达到中级等级!
#ELSE
SENDMSG7您等级不足,需提升等级!

3.CHECKITEM命令

核心作用:判断玩家背包是否持有指定物品及数量,是物品相关条件判断的核心命令。

用法:放在#IF标签下,参数为“物品名称数量”,物品名称需与数据库完全一致。

示例:
#IF
CHECKITEM沃玛头盔1
#ACT
SENDMSG7您持有沃玛头盔!

4.CHECKGAMEGOLD命令

核心作用:判断玩家持有金币数量,支持大于、小于、等于等逻辑判定,适配元宝、金币等货币。

用法:放在#IF标签下,参数为数值,搭配>、<、=使用,如CHECKGAMEGOLD>9999。

示例:
#IF
CHECKGAMEGOLD>49999
#ACT
GAMEGOLD-50000
SENDMSG7消耗5万金币,兑换道具成功!

三、物品与货币操作命令(道具发放、回收)

用于发放、回收玩家背包内的物品、货币,是任务奖励、装备回收、道具兑换脚本的核心命令。

1.give命令

核心作用:向玩家背包发放指定物品及数量,发放失败则无提示,需确保物品存在且背包有空间。

用法:放在#ACT标签下,参数为“物品名称数量”,物品名称需与Item.DB数据库一致。

示例:
#ACT
give新手武器1
give新手铠甲1
SENDMSG7领取新手装备成功!

2.TAKE命令

核心作用:从玩家背包回收指定物品及数量,需配合CHECKITEM命令先判断,避免回收失败。

用法:放在#ACT标签下,参数为“物品名称数量”,仅能回收背包内非绑定物品。

示例:
#IF
CHECKITEM祖玛头像1
#ACT
TAKE祖玛头像1
SENDMSG7回收祖玛头像1件!

3.GAMEGOLD命令

核心作用:增加或减少玩家金币(元宝)数量,+为发放,-为扣除,需配合CHECKGAMEGOLD判断扣除条件。

用法:放在#ACT标签下,参数为数值,如GAMEGOLD+100(发放100金币)、GAMEGOLD-50(扣除50金币)。

示例:
#IF
CHECKITEM沃玛项链1
#ACT
TAKE沃玛项链1
GAMEGOLD+60
SENDMSG7回收沃玛项链,获得60元宝!

四、提示与通知命令(信息反馈)

用于向玩家发送文字提示,包括个人提示、全服公告,便于反馈脚本执行结果,提升交互体验。

1.SENDMSG命令

核心作用:向玩家发送个人提示信息,支持不同颜色代码,仅触发脚本的玩家可见。

用法:放在#ACT标签下,参数为“颜色代码文字内容”,常用颜色代码:5(红色)、7(白色)、1(黄色)。

示例:
#ACT
SENDMSG5操作失败,条件不满足!
SENDMSG7请检查物品或等级是否达标。

2.全服公告命令

核心作用:发送全服可见公告,所有在线玩家均可收到,常用于攻城申请、重大事件通知。

用法:放在#ACT标签下,参数为“文字内容颜色1颜色2”,颜色代码控制公告字体颜色。

示例:
#ACT
SENDMSG1【全服公告】%s行会申请攻城成功!255241

五、挂机与动作命令(自动行为控制)

用于控制玩家自动打怪、移动、技能释放等挂机行为,适配挂机脚本,需引擎支持自动功能。

1.ATTACKMONSTER命令

核心作用:控制玩家自动攻击范围内怪物,支持设置攻击优先级,是挂机脚本核心命令。

用法:放在#ACT标签下,参数为优先级(0=无优先级,1=血量最低,2=等级最高)。

示例:
#ACT
ATTACKMONSTER0
DELAY3000
GOTO@AutoFight

2.MOVEMAP命令

核心作用:将玩家传送至指定地图及坐标,用于挂机地图切换、刷新点传送等场景。

用法:放在#ACT标签下,参数为“地图名称X坐标Y坐标”,地图名称需与数据库一致。

示例:
#ACT
MOVEMAP蜈蚣洞320330
SENDMSG7已传送至怪物刷新点!

3.DELAY命令

核心作用:设置脚本执行间隔,避免操作过快导致卡顿,单位为毫秒(1秒=1000毫秒)。

用法:放在#ACT标签下,参数为数值,常用于挂机循环、技能释放间隔设置。

示例:
#ACT
ATTACKMONSTER0
DELAY2000
CASTSKILL火球术1

六、脚本编写注意事项

1.命令语法规范:所有命令需区分大小写(传奇脚本通常为大写),标签名(如[@main])需用中括号包裹,#IF、#ACT等指令需单独成行,避免语法错误。

2.物品名称一致:give、TAKE、CHECKITEM等命令中的物品名称,需与Item.DB数据库完全匹配,包括符号、后缀,否则功能失效。

3.循环逻辑控制:使用GOTO命令跳转标签实现循环时,需添加break或STOPALL,避免脚本无限循环导致卡顿。

4.引擎适配性:不同传奇引擎支持的命令可能存在差异,编写前需确认引擎版本,避免使用不兼容命令。

5.测试优化:脚本编写完成后,先在测试服调试,检查条件判断、物品操作、提示信息是否正常,逐步优化逻辑。
[顶部]