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

传奇脚本命令大全及常见问题排查指南

热度:
传奇脚本命令是构建脚本逻辑的核心,涵盖条件判断、行为执行、事件触发等类别,玩家在使用脚本时出现异常,多为命令格式错误、参数不匹配或引擎适配问题,以下整理常用命令及问题排查方法,助力快速解决脚本故障。

核心传奇脚本命令分类及用法

一、条件判断命令(脚本逻辑基础)

条件判断命令用于设定脚本触发前提,常见于装备检测、数值验证、状态判断等场景,格式错误会导致脚本逻辑断裂,需严格遵循语法规则。

1.CHECKITEM:检测角色是否拥有指定物品及数量,语法:CHECKITEM物品名称数量。示例:CHECKITEM麻痹戒指1,检测角色是否佩戴1枚麻痹戒指,常用于装备触发类脚本。

2.CHECKUSERVAR/CHECKVAR:检测用户变量值,GOM引擎用CHECKUSERVAR,GEE/LEG引擎用CHECKVAR,语法:CHECKUSERVAR变量名比较符数值。示例:CHECKUSERVARCutDamage>0,检测切割伤害变量是否大于0。

3.CHECKSKILL:检测角色技能等级,语法:CHECKSKILL技能名称比较符等级。示例:CHECKSKILL烈火剑法=3,检测角色是否拥有3级烈火剑法,适配技能触发脚本。

4.CHECKMONSTERNAME:检测攻击目标是否为指定怪物,语法:CHECKMONSTERNAME怪物名称。示例:CHECKMONSTERNAME沃玛教主,仅对沃玛教主触发专属逻辑,需与数据库怪物名称完全一致。

5.CHECKLIFE:检测角色血量,语法:CHECKLIFE比较符数值(百分比或具体血量)。示例:CHECKLIFE<30,检测角色血量是否低于30%,用于补血、回城等逻辑。

二、行为执行命令(脚本核心操作)

行为执行命令用于触发具体操作,涵盖属性修改、伤害附加、信息提示等,参数错误会导致操作失效或异常。

1.SETUSERVAR/SETVAR:设置用户变量值,GOM用SETUSERVAR,GEE/LEG用SETVAR,语法:SETUSERVAR变量名数值。示例:SETUSERVARCutDamage500,设置切割伤害变量为500点。

2.HITMONSTERCUT/CUTMONSTER:附加切割伤害,GOM用HITMONSTERCUT,GEE用CUTMONSTER,语法:HITMONSTERCUT伤害值。示例:HITMONSTERCUT%CutDamage%,附加变量对应的切割伤害。

3.SENDMSG:向角色发送提示信息,语法:SENDMSG颜色代码提示内容。颜色代码5为白色、6为红色,示例:SENDMSG5切割伤害已激活,向角色发送白色提示。

4.GAMEGOLD:修改角色金币数量,语法:GAMEGOLD+/-数值。示例:GAMEGOLD-100000,扣除角色10万金币,适配招募、兑换等场景。

5.CHANGEHP:修改角色血量,语法:CHANGEHP+/-数值。示例:CHANGEHP+100,为角色增加100点血量,常用于吸血、补血逻辑。

6.DELAY:设置脚本执行延时,语法:DELAY数值(单位毫秒)。示例:DELAY500,暂停500毫秒后执行下一条命令,避免操作过快导致冲突。

三、事件触发命令(脚本触发入口)

事件触发命令绑定脚本执行场景,确保逻辑在指定条件下启动,需根据引擎要求绑定对应事件。

1.@OnEquipItem/@OnUnEquipItem:装备佩戴/卸下触发,无需额外绑定,直接编写逻辑即可,适配装备激活类脚本。

2.@OnSkillUse:技能释放时触发,语法:[@OnSkillUse]+条件+行为,用于技能附加效果脚本。

3.@OnAttack/@OnAttackMonster:攻击/攻击怪物时触发,GOM/GEE引擎可直接使用,LEG引擎需补充#EVENTOnAttack@OnAttack绑定事件。

4.@OnLogin:角色登录时触发,语法:[@OnLogin]+逻辑,常用于初始化变量、开启系统等场景。

常见脚本命令问题排查方法

玩家查看脚本时,可按以下顺序排查命令问题,快速定位故障原因并解决。

1.命令格式错误:核对命令语法是否正确,如CHECKITEM需包含物品名和数量,缺少参数会导致条件判断失效;DELAY数值需为纯数字,不可添加单位,避免出现“DELAY500毫秒”这类错误。

2.引擎适配问题:不同引擎命令存在差异,如GEE引擎无CHECKUSERVAR命令,需替换为CHECKVAR;HITMONSTERCUT在GEE中需改为CUTMONSTER,误用命令会导致脚本无响应。

3.变量/参数不匹配:检查变量名是否一致,如设置变量为CutDamage,调用时需保持名称完全相同,大小写错误也会导致变量失效;物品名、怪物名需与服务端数据库一致,避免因名称偏差导致检测失败。

4.注释符号干扰:脚本中注释需用英文分号“;”开头,若误用水中文分号“;”,会导致注释内容被识别为命令,引发脚本报错,需统一替换为英文注释符号。

5.逻辑冲突问题:若脚本中存在重复命令,如多次设置同一变量值,会导致逻辑混乱,需删除冗余命令,确保每条逻辑唯一且连贯;条件判断顺序不合理也会影响效果,需按优先级排列条件。

脚本命令使用注意要点

1.统一命令风格:同一脚本中需适配同一引擎命令,不可混合使用GOM与GEE命令,如同时出现SETUSERVAR和CUTMONSTER,会导致脚本部分功能失效。

2.控制延时间隔:DELAY数值需合理设置,过短会导致操作冲突,过长会影响脚本流畅度,常规场景设置500-1000毫秒为宜。

3.备份原脚本:修改命令前需备份原脚本文件,若修改后出现异常,可快速恢复原版本,避免脚本彻底失效。

4.核对数据库信息:涉及物品、怪物、技能的命令,需与服务端DBC数据库核对名称,确保完全一致,数据库路径通常为Mirserver\Mud2\DB。

常用脚本命令示例(可直接参考)

以下示例适配主流引擎,可直接借鉴命令格式,调整参数后使用。

;装备佩戴激活属性(GOM引擎)
[@OnEquipItem]
#IF
CHECKITEM屠龙刀1
#ACT
SETUSERVARAttackBonus200
SENDMSG5佩戴屠龙刀,攻击提升200点!

;技能释放附加伤害(GEE引擎)
[@OnSkillUse]
#IF
CHECKSKILL冰咆哮=3
CHECKMONSTEREXIST
#ACT
CUTMONSTER300
SENDMSG6冰咆哮触发额外切割伤害300点!

;攻击吸血逻辑(LEG引擎)
#EVENTOnAttack@OnAttack
[@OnAttack]
#IF
CHECKVARBloodSuck>0
CHECKMONSTEREXIST
#ACT
CHANGEHP+50
SENDMSG5攻击吸血,回复50点血量!
DELAY800
[顶部]