传奇服务端脚本命令是构建游戏功能的基础,涵盖条件判断、行为执行、变量控制、流程调度等维度,需结合脚本标签与场景需求灵活组合。以下按功能分类详解高频命令,附实操案例,适配各类脚本编写需求。
一、核心标签与基础语法
脚本命令需依托固定标签执行,核心标签定义命令作用范围与逻辑关系,是命令生效的前提,基础语法规则需严格遵循。
-[@标签名]:脚本触发标签,用于定义脚本入口,如[@Main](主界面)、[@GetExp](获取经验触发)、[@AutoFight](自动战斗),标签名需简洁关联功能,便于调用。
-#IF:条件判断标签,后续跟随条件命令,满足条件则执行#ACT标签下的操作,不满足则执行#ELSEACT(可选)下的操作。
-#ACT:操作执行标签,用于承载具体行为命令,仅在#IF条件满足时触发,是脚本功能实现的核心区域。
-#ELSEACT:条件不满足时的执行标签,可选配置,用于反馈条件不符提示或执行备选操作。
-语法规则:命令需区分大小写(部分引擎兼容小写,建议统一大写),每行仅写一条命令,特殊符号需用英文格式,避免语法错误。
二、条件判断类命令
搭配#IF标签使用,用于筛选脚本执行场景,精准控制行为触发时机,是脚本逻辑分层的核心,高频命令如下:
1.角色状态判断
-CHECKLEVEL等级:检测角色等级,支持>、<、=逻辑运算符,例:CHECKLEVEL>=60(等级不低于60级)、CHECKLEVEL<30(等级低于30级)。
-CHECKHP数值:检测角色血量占比(百分比),例:CHECKHP<25(血量低于25%),适配回血、避险脚本。
-CHECKMP数值:检测角色蓝量占比,用法同CHECKHP,例:CHECKMP<30(蓝量低于30%),适配法师、道士续航逻辑。
-CHECKJOB职业名称:检测角色职业,例:CHECKJOB战士、CHECKJOB法师,用于职业专属功能触发。
2.道具与资源判断
-CHECKITEM道具ID数量:检测背包是否存在指定道具及对应数量,例:CHECKITEM10011(是否有1个大红药)、CHECKITEM20025(是否有5个元宝)。
-CHECKITEM2道具ID数量:检测背包+仓库是否存在指定道具,例:CHECKITEM230011(背包或仓库有1个裁决),适配道具兑换、任务提交场景。
-CHECKBAG空格数量:检测背包剩余空格,例:CHECKBAG>=2(背包至少有2个空格),避免背包满溢无法拾取、接收道具。
3.场景与关系判断
-CHECKMAP地图ID/名称:检测角色当前所在地图,例:CHECKMAP比奇城、CHECKMAP0(地图编号0),用于地图专属功能触发。
-CHECKNAMELIST文件路径:检测角色名称是否在指定文本列表,例:CHECKNAMELIST..\QuestDiary\宗派\成员名单.txt,适配宗派、权限判断。
-FINDMONSTER怪物名称/等级:检测周围是否有指定怪物,无参数则检测任意可攻击怪物,例:FINDMONSTER沃玛卫士、FINDMONSTER(检测任意怪物)。
-CHECKPLAYERRANGE距离:检测周围指定距离内是否有其他玩家,例:CHECKPLAYERRANGE5(5格内有其他玩家),用于安全规避、组队限制。
三、行为执行类命令
搭配#ACT标签使用,执行具体游戏行为,涵盖道具、技能、移动、数值修改等核心操作,是脚本功能落地的关键。
1.道具与数值操作
-GIVE道具ID数量:向角色发放指定道具,例:GIVE10015(发放5个大红药)、GIVE200110(发放10个元宝),用于奖励、福利领取。
-TAKE道具ID数量:扣除背包内指定道具,例:TAKE30011(扣除1个裁决)、TAKE20015(扣除5个元宝),用于任务提交、道具兑换。
-USEITEM道具ID:使用指定道具,例:USEITEM1001(使用大红药)、USEITEM4001(使用随机传送卷),适配自动续航、位移场景。
-ADDEXP数值:增加角色经验值,例:ADDEXP10000(增加10000点经验),用于任务奖励、活动加成。
-ADDHP数值、ADDMP数值:直接增加固定血量/蓝量,例:ADDHP500(增加500点血量)、ADDMP300(增加300点蓝量),适配技能、道具效果。
2.技能与战斗操作
-USESKILL技能名称/ID:释放指定技能,例:USESKILL烈火剑法、USESKILL123(技能ID123),搭配DELAY命令控制释放频率。
-ATTACK:触发角色普攻,需搭配FINDMONSTER使用,例:检测到怪物后执行ATTACK,实现自动攻击。
-CALLPET召唤兽名称:道士召唤指定召唤兽,例:CALLPET骷髅精灵、CALLPET神兽,适配道士挂机脚本。
-STOPATTACK:停止当前攻击行为,用于拾取道具、避险、对话等场景,避免攻击状态干扰操作。
3.移动与传送操作
-MOVEX坐标Y坐标:将角色移动到当前地图指定坐标,例:MOVE150200(移动至150200位置),适配定点挂机、场景导航。
-BACKMAP地图ID/名称:传送角色至指定地图,例:BACKMAP比奇城、BACKMAP0(回城),适配避险、任务传送场景。
-RANDOMMOVE范围:角色在指定范围内随机移动,例:RANDOMMOVE50(50格内随机移动),适配挂机避怪、分散站位。
-MAPMOVE地图IDX坐标Y坐标:跨地图传送并定位坐标,例:MAPMOVE1200300(传送至地图1的200300位置),用于副本、活动入口传送。
四、变量与标记类命令
用于记录角色状态、控制执行次数,避免重复操作,实现脚本逻辑闭环,核心分为角色变量、临时变量、全局变量。
-MOV变量名数值/内容:给变量赋值,例:MOVHEROVAR(Hero_Task)1(角色变量标记任务已接取)、MOVS28100(临时变量S28赋值100)。
-INC变量名数值:增加变量值,例:INCd215(变量d21增加5)、INCHEROVAR(Hero_Count)1(计数变量+1),适配累计统计、数值叠加。
-DEC变量名数值:减少变量值,用法同INC,例:DECHEROVAR(Hero_Item)1(道具计数变量-1),适配消耗统计。
-SETTIMER时间标签名:设置定时器,指定时间(秒)后触发对应标签,例:SETTIMER1@ResetFlag(1秒后触发@ResetFlag),用于状态重置、延时执行。
-LOADVAR变量名文件路径、SAVEVAR变量名文件路径:读取/保存变量值到文本文件,例:SAVEVARHEROVAR(Hero_Task)..\QuestDiary\任务\状态.txt,实现变量持久化,角色下线后状态不丢失。
五、流程控制类命令
用于控制脚本执行顺序、跳转与终止,保障逻辑流畅,避免死循环、操作冲突,核心命令如下:
-GOTO标签名:跳转到指定脚本标签,例:GOTO@Main(跳转至主界面)、GOTO@AutoFight(跳转至挂机逻辑),实现脚本循环、分支跳转。
-BREAK:终止当前代码块执行,后续命令不再触发,例:条件满足执行完发放奖励后用BREAK,避免重复执行。
-RETURN:返回上一级调用标签,适配嵌套脚本,例:子标签执行完毕后RETURN,回到主标签继续执行。
-DELAY毫秒数:延迟指定时间执行后续命令,例:DELAY1500(延迟1.5秒),用于技能CD、模块切换间隔,避免操作叠加冲突。
-WAITINPUT选项数@标签1@标签2...:等待玩家输入选择,触发对应标签,例:WAITINPUT2@GetReward@Cancel(2个选项,分别跳转至领取奖励、取消标签),适配NPC对话交互。
六、文本与提示类命令
用于向玩家发送提示信息、操作文本文件,适配交互反馈、名单管理场景,高频命令如下:
-SENDMSG颜色代码内容:发送系统提示,例:SENDMSG6福利领取成功!(6为黄色)、SENDMSG2血量过低,请及时回血!(2为红色),颜色代码按引擎规则适配。
-AddTextList内容文件路径:向文本文件添加内容,例:AddTextList<$USERNAME>..\QuestDiary\宗派\成员名单.txt(添加角色名到宗派名单)。
-DelTextList内容文件路径:从文本文件删除内容,例:DelTextList<$USERNAME>..\QuestDiary\宗派\成员名单.txt(移除角色出宗派名单)。
-SAY内容:NPC对话文本,例:SAY欢迎来到沙巴克城堡,领取专属福利!,用于NPC交互提示。
七、实操脚本案例(基础版)
1.NPC等级福利领取脚本
[@Main]
#ACT
SAY请选择操作:
SAY1.领取等级福利(≥60级)
WAITINPUT1@GetWelfare
[@GetWelfare]
#IF
CHECKLEVEL>=60
HEROVAR(Hero_GetWelfare)=0
#ACT
GIVE200120(发放20个元宝)
GIVE100110(发放10个大红药)
MOVHEROVAR(Hero_GetWelfare)1
SENDMSG6等级福利领取成功!
BREAK
#ELSEACT
SENDMSG2等级不足60级或已领取福利!
BREAK
2.基础挂机战斗脚本
[@AutoFight]
#IF
CHECKHP<30
#ACT
USEITEM1001(使用大红药)
DELAY500
GOTO@AutoFight
#IF
NOTFINDMONSTER
#ACT
RANDOMMOVE50
DELAY1000
GOTO@AutoFight
#IF
FINDMONSTER
#ACT
USESKILL烈火剑法
DELAY1500
ATTACK
GOTO@AutoFight
#ELSEACT
DELAY500
GOTO@AutoFight
八、命令使用注意事项
1.引擎适配:不同服务端引擎(HERO、GOM、GEE)对命令支持有差异,部分命令存在别名,例:HERO引擎的ADDYUANBAO,GOM引擎可能为ADDGOLD,需查阅对应引擎手册。
2.参数准确:道具ID、地图ID、文件路径需精准核对,避免因参数错误导致命令失效,可在服务端配置文件中查询对应参数。
3.循环控制:使用GOTO命令时需添加条件判断或延时,避免无限制跳转导致死循环,可通过变量标记、定时器阻断循环。
4.权限管控:涉及数值修改、道具发放的命令,需合理配置触发条件,避免恶意调用,保障游戏平衡。
5.调试技巧:脚本编写完成后,先在测试服分步调试,逐一验证命令有效性,排查逻辑冲突、语法错误,再正式部署。
一、核心标签与基础语法
脚本命令需依托固定标签执行,核心标签定义命令作用范围与逻辑关系,是命令生效的前提,基础语法规则需严格遵循。
-[@标签名]:脚本触发标签,用于定义脚本入口,如[@Main](主界面)、[@GetExp](获取经验触发)、[@AutoFight](自动战斗),标签名需简洁关联功能,便于调用。
-#IF:条件判断标签,后续跟随条件命令,满足条件则执行#ACT标签下的操作,不满足则执行#ELSEACT(可选)下的操作。
-#ACT:操作执行标签,用于承载具体行为命令,仅在#IF条件满足时触发,是脚本功能实现的核心区域。
-#ELSEACT:条件不满足时的执行标签,可选配置,用于反馈条件不符提示或执行备选操作。
-语法规则:命令需区分大小写(部分引擎兼容小写,建议统一大写),每行仅写一条命令,特殊符号需用英文格式,避免语法错误。
二、条件判断类命令
搭配#IF标签使用,用于筛选脚本执行场景,精准控制行为触发时机,是脚本逻辑分层的核心,高频命令如下:
1.角色状态判断
-CHECKLEVEL等级:检测角色等级,支持>、<、=逻辑运算符,例:CHECKLEVEL>=60(等级不低于60级)、CHECKLEVEL<30(等级低于30级)。
-CHECKHP数值:检测角色血量占比(百分比),例:CHECKHP<25(血量低于25%),适配回血、避险脚本。
-CHECKMP数值:检测角色蓝量占比,用法同CHECKHP,例:CHECKMP<30(蓝量低于30%),适配法师、道士续航逻辑。
-CHECKJOB职业名称:检测角色职业,例:CHECKJOB战士、CHECKJOB法师,用于职业专属功能触发。
2.道具与资源判断
-CHECKITEM道具ID数量:检测背包是否存在指定道具及对应数量,例:CHECKITEM10011(是否有1个大红药)、CHECKITEM20025(是否有5个元宝)。
-CHECKITEM2道具ID数量:检测背包+仓库是否存在指定道具,例:CHECKITEM230011(背包或仓库有1个裁决),适配道具兑换、任务提交场景。
-CHECKBAG空格数量:检测背包剩余空格,例:CHECKBAG>=2(背包至少有2个空格),避免背包满溢无法拾取、接收道具。
3.场景与关系判断
-CHECKMAP地图ID/名称:检测角色当前所在地图,例:CHECKMAP比奇城、CHECKMAP0(地图编号0),用于地图专属功能触发。
-CHECKNAMELIST文件路径:检测角色名称是否在指定文本列表,例:CHECKNAMELIST..\QuestDiary\宗派\成员名单.txt,适配宗派、权限判断。
-FINDMONSTER怪物名称/等级:检测周围是否有指定怪物,无参数则检测任意可攻击怪物,例:FINDMONSTER沃玛卫士、FINDMONSTER(检测任意怪物)。
-CHECKPLAYERRANGE距离:检测周围指定距离内是否有其他玩家,例:CHECKPLAYERRANGE5(5格内有其他玩家),用于安全规避、组队限制。
三、行为执行类命令
搭配#ACT标签使用,执行具体游戏行为,涵盖道具、技能、移动、数值修改等核心操作,是脚本功能落地的关键。
1.道具与数值操作
-GIVE道具ID数量:向角色发放指定道具,例:GIVE10015(发放5个大红药)、GIVE200110(发放10个元宝),用于奖励、福利领取。
-TAKE道具ID数量:扣除背包内指定道具,例:TAKE30011(扣除1个裁决)、TAKE20015(扣除5个元宝),用于任务提交、道具兑换。
-USEITEM道具ID:使用指定道具,例:USEITEM1001(使用大红药)、USEITEM4001(使用随机传送卷),适配自动续航、位移场景。
-ADDEXP数值:增加角色经验值,例:ADDEXP10000(增加10000点经验),用于任务奖励、活动加成。
-ADDHP数值、ADDMP数值:直接增加固定血量/蓝量,例:ADDHP500(增加500点血量)、ADDMP300(增加300点蓝量),适配技能、道具效果。
2.技能与战斗操作
-USESKILL技能名称/ID:释放指定技能,例:USESKILL烈火剑法、USESKILL123(技能ID123),搭配DELAY命令控制释放频率。
-ATTACK:触发角色普攻,需搭配FINDMONSTER使用,例:检测到怪物后执行ATTACK,实现自动攻击。
-CALLPET召唤兽名称:道士召唤指定召唤兽,例:CALLPET骷髅精灵、CALLPET神兽,适配道士挂机脚本。
-STOPATTACK:停止当前攻击行为,用于拾取道具、避险、对话等场景,避免攻击状态干扰操作。
3.移动与传送操作
-MOVEX坐标Y坐标:将角色移动到当前地图指定坐标,例:MOVE150200(移动至150200位置),适配定点挂机、场景导航。
-BACKMAP地图ID/名称:传送角色至指定地图,例:BACKMAP比奇城、BACKMAP0(回城),适配避险、任务传送场景。
-RANDOMMOVE范围:角色在指定范围内随机移动,例:RANDOMMOVE50(50格内随机移动),适配挂机避怪、分散站位。
-MAPMOVE地图IDX坐标Y坐标:跨地图传送并定位坐标,例:MAPMOVE1200300(传送至地图1的200300位置),用于副本、活动入口传送。
四、变量与标记类命令
用于记录角色状态、控制执行次数,避免重复操作,实现脚本逻辑闭环,核心分为角色变量、临时变量、全局变量。
-MOV变量名数值/内容:给变量赋值,例:MOVHEROVAR(Hero_Task)1(角色变量标记任务已接取)、MOVS28100(临时变量S28赋值100)。
-INC变量名数值:增加变量值,例:INCd215(变量d21增加5)、INCHEROVAR(Hero_Count)1(计数变量+1),适配累计统计、数值叠加。
-DEC变量名数值:减少变量值,用法同INC,例:DECHEROVAR(Hero_Item)1(道具计数变量-1),适配消耗统计。
-SETTIMER时间标签名:设置定时器,指定时间(秒)后触发对应标签,例:SETTIMER1@ResetFlag(1秒后触发@ResetFlag),用于状态重置、延时执行。
-LOADVAR变量名文件路径、SAVEVAR变量名文件路径:读取/保存变量值到文本文件,例:SAVEVARHEROVAR(Hero_Task)..\QuestDiary\任务\状态.txt,实现变量持久化,角色下线后状态不丢失。
五、流程控制类命令
用于控制脚本执行顺序、跳转与终止,保障逻辑流畅,避免死循环、操作冲突,核心命令如下:
-GOTO标签名:跳转到指定脚本标签,例:GOTO@Main(跳转至主界面)、GOTO@AutoFight(跳转至挂机逻辑),实现脚本循环、分支跳转。
-BREAK:终止当前代码块执行,后续命令不再触发,例:条件满足执行完发放奖励后用BREAK,避免重复执行。
-RETURN:返回上一级调用标签,适配嵌套脚本,例:子标签执行完毕后RETURN,回到主标签继续执行。
-DELAY毫秒数:延迟指定时间执行后续命令,例:DELAY1500(延迟1.5秒),用于技能CD、模块切换间隔,避免操作叠加冲突。
-WAITINPUT选项数@标签1@标签2...:等待玩家输入选择,触发对应标签,例:WAITINPUT2@GetReward@Cancel(2个选项,分别跳转至领取奖励、取消标签),适配NPC对话交互。
六、文本与提示类命令
用于向玩家发送提示信息、操作文本文件,适配交互反馈、名单管理场景,高频命令如下:
-SENDMSG颜色代码内容:发送系统提示,例:SENDMSG6福利领取成功!(6为黄色)、SENDMSG2血量过低,请及时回血!(2为红色),颜色代码按引擎规则适配。
-AddTextList内容文件路径:向文本文件添加内容,例:AddTextList<$USERNAME>..\QuestDiary\宗派\成员名单.txt(添加角色名到宗派名单)。
-DelTextList内容文件路径:从文本文件删除内容,例:DelTextList<$USERNAME>..\QuestDiary\宗派\成员名单.txt(移除角色出宗派名单)。
-SAY内容:NPC对话文本,例:SAY欢迎来到沙巴克城堡,领取专属福利!,用于NPC交互提示。
七、实操脚本案例(基础版)
1.NPC等级福利领取脚本
[@Main]
#ACT
SAY请选择操作:
SAY1.领取等级福利(≥60级)
WAITINPUT1@GetWelfare
[@GetWelfare]
#IF
CHECKLEVEL>=60
HEROVAR(Hero_GetWelfare)=0
#ACT
GIVE200120(发放20个元宝)
GIVE100110(发放10个大红药)
MOVHEROVAR(Hero_GetWelfare)1
SENDMSG6等级福利领取成功!
BREAK
#ELSEACT
SENDMSG2等级不足60级或已领取福利!
BREAK
2.基础挂机战斗脚本
[@AutoFight]
#IF
CHECKHP<30
#ACT
USEITEM1001(使用大红药)
DELAY500
GOTO@AutoFight
#IF
NOTFINDMONSTER
#ACT
RANDOMMOVE50
DELAY1000
GOTO@AutoFight
#IF
FINDMONSTER
#ACT
USESKILL烈火剑法
DELAY1500
ATTACK
GOTO@AutoFight
#ELSEACT
DELAY500
GOTO@AutoFight
八、命令使用注意事项
1.引擎适配:不同服务端引擎(HERO、GOM、GEE)对命令支持有差异,部分命令存在别名,例:HERO引擎的ADDYUANBAO,GOM引擎可能为ADDGOLD,需查阅对应引擎手册。
2.参数准确:道具ID、地图ID、文件路径需精准核对,避免因参数错误导致命令失效,可在服务端配置文件中查询对应参数。
3.循环控制:使用GOTO命令时需添加条件判断或延时,避免无限制跳转导致死循环,可通过变量标记、定时器阻断循环。
4.权限管控:涉及数值修改、道具发放的命令,需合理配置触发条件,避免恶意调用,保障游戏平衡。
5.调试技巧:脚本编写完成后,先在测试服分步调试,逐一验证命令有效性,排查逻辑冲突、语法错误,再正式部署。

