传奇服务端脚本命令是调控游戏逻辑、实现功能交互的核心,涵盖人物操作、地图控制、道具管理、变量设置等全场景,不同命令适配不同引擎(GOM、GEE、HERO、BLUE等),核心用法一致。以下按功能分类拆解,每个命令附格式、用法、实操示例,均为落地性内容,新手可直接复制使用,老手可快速查阅适配。
一、核心基础命令(所有脚本必用)
核心基础命令是脚本的骨架,负责条件判断、内容输出、命令执行,所有复杂脚本均基于这些命令组合,无多余修饰,直奔用法。
1. #IF 条件判断命令
格式:#IF 条件表达式
用法:用于判断指定条件是否成立,成立则执行后续#ACT命令,不成立则跳过或执行其他分支,是脚本逻辑的核心触发点,可搭配各类条件参数使用。
实操示例:判断玩家等级是否大于等于30级,成立则执行后续操作
#IF
CHECKLEVELEX >= 30
#ACT
SENDMSG 6 恭喜你达到30级,获得新手奖励!
补充:条件表达式需规范书写,支持>(大于)、<(小于)、=(等于)、>=(大于等于)、<=(小于等于),不同条件命令的表达式格式略有差异。
2. #SAY 内容输出命令
格式:#SAY 输出内容(可换行,换行用\n)
用法:向玩家展示文本内容,常用于NPC对话、任务提示、命令反馈,可搭配空格、符号优化显示,但不添加多余修饰,确保信息清晰。
实操示例1(NPC基础对话):
#SAY
欢迎来到传奇世界!\n我是新手指导员,可帮你领取新手装备。\n点击下方领取奖励。
实操示例2(命令反馈):
#IF
CHECKGOLD >= 10000
#ACT
GAMEGOLD - 10000
#SAY
消耗10000金币,购买成功!
3. #ACT 命令执行命令
格式:#ACT 执行命令(可多行,每行一个命令)
用法:与#IF搭配使用,当#IF条件成立时,执行#ACT后的所有命令,涵盖人物属性调整、道具操作、地图移动等,是脚本功能落地的核心命令。
实操示例:玩家等级达到30级,给予新手装备和金币
#IF
CHECKLEVELEX >= 30
#ACT
GIVE 新手剑 1
GIVE 新手铠甲 1
GAMEGOLD + 50000
#SAY
新手奖励已发放,请查收背包!
4. break 命令终止命令
格式:break
用法:用于中断当前脚本命令的执行流程,执行break后,后续所有命令均不再执行,常用于多分支脚本中,避免逻辑混乱。
实操示例:玩家未携带指定物品,提示后终止脚本
#IF
CHECKITEM 矿石 1
#ACT
TAKE 矿石 1
GIVE 金币 1000
#ELSE
#SAY
你未携带矿石,无法兑换金币!
break
5. close 对话结束命令
格式:close
用法:用于结束玩家与NPC的对话,执行后关闭NPC对话窗口,常与#ACT搭配使用,在操作完成后关闭窗口,提升玩家体验。
实操示例:玩家领取奖励后,关闭对话窗口
#IF
ISNEWHUMAN
#ACT
GIVE 新手套装 1
SENDMSG 6 新手套装已发放,祝您游戏愉快!
close
二、人物条件检测命令(脚本触发核心)
人物条件检测命令用于判断玩家的各项属性、状态、物品持有情况,是#IF条件的核心组成部分,每个命令均附实操示例,直接适配各类脚本场景。
1. 物品与金币检测命令
(1)CHECKITEM 物品检测命令
格式:CHECKITEM 物品名称 数量(数量可省略,默认1)
用法:检测玩家背包中是否携带指定物品及对应数量,支持所有游戏内物品,是任务、兑换、升级等脚本的常用命令。
实操示例:检测玩家是否携带10个疗伤药
#IF
CHECKITEM 疗伤药 10
#ACT
TAKE 疗伤药 10
GIVE 强效疗伤药 5
(2)CHECKITEMW 佩戴物品检测命令
格式:CHECKITEMW 物品名称 数量(默认1)
用法:检测玩家是否佩戴指定物品,区别于CHECKITEM(检测背包),仅检测身上已佩戴的装备,常用于职业限制、称号触发等场景。
实操示例:检测玩家是否佩戴圣战头盔
#IF
CHECKITEMW 圣战头盔 1
#ACT
SENDMSG 6 佩戴圣战头盔,攻击属性+10!
(3)CHECKGOLD 金币检测命令
格式:CHECKGOLD 数量
用法:检测玩家背包中金币数量是否满足指定要求,支持大于、小于、等于等条件,常用于购买、升级、传送等需要消耗金币的场景。
实操示例:检测玩家金币是否大于等于50000
#IF
CHECKGOLD >= 50000
#ACT
GAMEGOLD - 50000
MOVEMAP 盟重土城 320 330
(4)CheckBagSize 背包空格检测命令
格式:CheckBagSize 空格数量
用法:检测玩家背包剩余空格数,避免因背包已满导致物品发放失败,常用于奖励发放、物品兑换等场景。
实操示例:检测背包是否有2个及以上空格
#IF
CheckBagSize >= 2
#ACT
GIVE 矿石 2
#ELSE
#SAY
背包空格不足2个,请清理背包后再试!
2. 等级与职业检测命令
(1)CHECKLEVELEX 等级检测命令
格式:CHECKLEVELEX 条件 等级数(条件:>、<、=、>=、<=)
用法:检测玩家等级是否满足指定条件,是等级限制类脚本(如地图进入、技能学习、任务接取)的核心命令。
实操示例1:检测玩家等级是否等于40级
#IF
CHECKLEVELEX = 40
#ACT
ADDSKILL 烈火剑法 1
SENDMSG 6 恭喜你学会烈火剑法!
实操示例2:检测玩家等级是否大于50级
#IF
CHECKLEVELEX > 50
#ACT
MAP 赤月峡谷
(2)CHECKJOB 职业检测命令
格式:CHECKJOB 职业名称(Warrior=战士、Wizard=法师、Taoist=道士)
用法:检测玩家所属职业,用于职业专属任务、技能学习、装备兑换等场景,不同职业执行不同操作。
实操示例:检测玩家是否为道士职业,发放专属装备
#IF
CHECKJOB Taoist
#ACT
GIVE 桃木剑 1
GIVE 道袍 1
#ELSE
#SAY
你不是道士职业,无法领取专属装备!
3. 行会与身份检测命令
(1)HAVEGUILD 行会检测命令
格式:HAVEGUILD
用法:检测玩家是否加入行会,无需额外参数,成立则表示已加入行会,常用于行会任务、行会活动等场景。
实操示例:检测玩家是否加入行会,加入则发放行会福利
#IF
HAVEGUILD
#ACT
GAMEGOLD + 100000
SENDMSG 6 行会福利已发放,感谢你加入行会!
(2)ISCASTLEMASTER 沙城老大检测命令
格式:ISCASTLEMASTER
用法:检测玩家是否为沙城老大,常用于沙城专属福利、沙城任务等场景,仅沙城占领行会的老大可触发。
实操示例:沙城老大可领取专属称号
#IF
ISCASTLEMASTER
#ACT
SETRANKLEVELNAME 沙城霸主
SENDMSG 6 你已获得沙城霸主称号!
4. 其他常用条件检测命令
(1)ISADMIN 管理员检测命令
格式:ISADMIN
用法:检测玩家是否为管理员账号,用于管理员专属操作(如刷怪、调属性),普通玩家无法触发。
实操示例:管理员可执行刷怪操作
#IF
ISADMIN
#ACT
MONGEN 僵尸 10 60
SENDMSG 6 已在当前地图刷出10只僵尸,60秒后自动刷新!
(2)ISNEWHUMAN 新人检测命令
格式:ISNEWHUMAN
用法:检测玩家是否为新创建角色(未完成新手任务或等级较低),用于新手福利发放、新手引导等场景。
实操示例:新玩家领取新手礼包
#IF
ISNEWHUMAN
#ACT
GIVE 新手礼包 1
SENDMSG 6 新手礼包已发放,请打开背包查看!
(3)CHECKSKILL 技能检测命令
格式:CHECKSKILL 技能名称 条件 技能等级(条件可省略,默认检测是否学会)
用法:检测玩家是否学会指定技能,或技能等级是否满足要求,常用于技能升级、任务触发等场景。
实操示例:检测玩家是否学会火球术,且等级大于等于2级
#IF
CHECKSKILL 火球术 >= 2
#ACT
SKILLLEVEL 火球术 + 1
SENDMSG 6 火球术已升级至3级!
三、人物属性与操作命令(功能落地核心)
此类命令用于调整玩家各项属性、执行人物相关操作,均需在#ACT后使用,直接作用于玩家角色,覆盖等级、技能、装备、属性等全方面,实操性极强。
1. 等级与经验调整命令
(1)CHANGELEVEL 等级调整命令
格式:CHANGELEVEL 操作符 等级数(操作符:=、+、-,=表示直接设置等级,+、-表示增减等级)
用法:调整玩家等级,可直接设置等级,也可增减等级,常用于任务奖励、管理员操作、活动福利等场景。
实操示例1:直接将玩家等级设置为30级
#ACT
CHANGELEVEL = 30
实操示例2:给玩家增加5级
#ACT
CHANGELEVEL + 5
(2)CHANGEEXP 经验调整命令
格式:CHANGEEXP 操作符 经验值(操作符:=、+、-)
用法:调整玩家经验值,可直接设置经验,也可增减经验,常用于任务奖励、杀怪奖励、活动福利等场景。
实操示例:给玩家增加10000经验值
#IF
CHECKITEM 任务卷轴 1
#ACT
TAKE 任务卷轴 1
CHANGEEXP + 10000
SENDMSG 6 完成任务,获得10000经验值!
2. 技能相关命令
(1)ADDSKILL 技能添加命令
格式:ADDSKILL 技能名称 技能等级(等级可省略,默认1级)
用法:给玩家添加指定技能,并设置技能等级,常用于新手引导、任务奖励、活动福利等场景。
实操示例:给法师玩家添加冰咆哮技能,等级为3级
#IF
CHECKJOB Wizard
CHECKLEVELEX >= 45
#ACT
ADDSKILL 冰咆哮 3
(2)DELSKILL 技能删除命令
格式:DELSKILL 技能名称
用法:删除玩家已学会的指定技能,常用于技能重置、惩罚等场景,删除后玩家需重新学习该技能。
实操示例:删除玩家的烈火剑法技能
#ACT
DELSKILL 烈火剑法
SENDMSG 6 烈火剑法已删除,可重新学习!
(3)SKILLLEVEL 技能等级调整命令
格式:SKILLLEVEL 技能名称 操作符 等级数(操作符:=、+、-)
用法:调整玩家指定技能的等级,可直接设置等级,也可增减等级,无需重新学习技能,常用于技能升级奖励。
实操示例:将玩家的治愈术等级增加1级
#IF
CHECKJOB Taoist
CHECKSKILL 治愈术 >= 1
#ACT
SKILLLEVEL 治愈术 + 1
3. 物品与金币操作命令
(1)GIVE 物品发放命令
格式:GIVE 物品名称 数量(数量可省略,默认1)
用法:给玩家发放指定物品,直接放入玩家背包,需确保背包有足够空格,否则发放失败,是奖励发放的核心命令。
实操示例:给玩家发放1把屠龙刀和10瓶强效疗伤药
#ACT
GIVE 屠龙刀 1
GIVE 强效疗伤药 10
(2)TAKE 物品收取命令
格式:TAKE 物品名称 数量(数量可省略,默认1)
用法:从玩家背包中收取指定物品及对应数量,常用于任务提交、物品兑换、装备升级等场景,需确保玩家背包中有足够物品。
实操示例:收取玩家1个钻石和10000金币,兑换装备
#IF
CHECKITEM 钻石 1
CHECKGOLD >= 10000
#ACT
TAKE 钻石 1
GAMEGOLD - 10000
GIVE 裁决 1
(3)GAMEGOLD 金币调整命令
格式:GAMEGOLD 操作符 数量(操作符:=、+、-)
用法:调整玩家背包中的金币数量,可直接设置金币数,也可增减金币,常用于奖励、惩罚、购买等场景。
实操示例:扣除玩家5000金币,传送至指定地图
#IF
CHECKGOLD >= 5000
#ACT
GAMEGOLD - 5000
MOVEMAP 沃玛寺庙 220 230
4. 其他人物操作命令
(1)CHANGENAMECOLOR 名字颜色调整命令
格式:CHANGENAMECOLOR 颜色代码(0=白色、1=红色、2=绿色、3=蓝色等,不同引擎代码略有差异)
用法:调整玩家角色名字的颜色,常用于称号奖励、活动专属标识等场景。
实操示例:将玩家名字颜色设置为红色
#ACT
CHANGENAMECOLOR 1
SENDMSG 6 你的名字已变为红色,成为全场焦点!
(2)CHANGEJOB 职业变更命令
格式:CHANGEJOB 职业名称(Warrior=战士、Wizard=法师、Taoist=道士)
用法:变更玩家的职业,变更后玩家技能、属性会对应调整,常用于职业转换功能、活动奖励等场景。
实操示例:将玩家职业变更为法师
#ACT
CHANGEJOB Wizard
CLEARSKILL
ADDSKILL 火球术 1
SENDMSG 6 职业已变更为法师,已为你添加基础技能!
四、地图与怪物相关命令(场景控制核心)
此类命令用于控制地图、刷怪、传送等场景,涵盖地图移动、怪物刷新、怪物清理等功能,是构建游戏场景、设计活动的核心命令,适配所有主流引擎。
1. 地图移动命令
(1)MAP 地图传送命令
格式:MAP 地图名称
用法:将玩家传送到指定地图的默认坐标,无需设置具体坐标,常用于快速传送、任务跳转等场景。
实操示例:将玩家传送到比奇城
#ACT
MAP 比奇城
SENDMSG 6 已传送至比奇城!
(2)MOVEMAP 精准传送命令
格式:MOVEMAP 地图名称 X坐标 Y坐标
用法:将玩家传送到指定地图的具体坐标,精准定位,常用于任务触发点、BOSS刷新点、活动场景等场景。
实操示例:将玩家传送到沃玛寺庙的220,230坐标
#IF
CHECKLEVELEX >= 35
#ACT
MOVEMAP 沃玛寺庙 220 230
(3)TIMERECALL 定时召回命令
格式:TIMERECALL 时间(单位:秒)
用法:设置玩家在指定时间后,自动召回至当前所在位置,常用于活动场景、副本倒计时召回等场景。
实操示例:设置玩家120秒后召回至当前位置
#ACT
TIMERECALL 120
SENDMSG 6 120秒后将自动召回至当前位置,请尽快完成操作!
2. 怪物相关命令
(1)MONGEN 怪物刷新命令
格式:MONGEN 怪物名称 数量 刷新间隔(单位:秒,间隔可省略,默认不重复刷新)
用法:在玩家当前地图刷新指定数量的怪物,可设置刷新间隔实现重复刷新,常用于活动刷怪、BOSS刷新、怪物攻城等场景。
实操示例1:在当前地图刷新5只沃玛教主,不重复刷新
#ACT
MONGEN 沃玛教主 5
实操示例2:在当前地图每60秒刷新10只僵尸,重复刷新
#ACT
MONGEN 僵尸 10 60
(2)CLEARMAPMON 地图怪物清理命令
格式:CLEARMAPMON 地图名称(可省略,默认清理当前地图)
用法:清理指定地图的所有怪物,包括普通怪物和BOSS,常用于活动结束、副本重置、场景清理等场景。
实操示例1:清理当前地图的所有怪物
#ACT
CLEARMAPMON
SENDMSG 6 当前地图怪物已全部清理完毕!
实操示例2:清理赤月峡谷的所有怪物
#ACT
CLEARMAPMON 赤月峡谷
(3)RECALLMOB 宝宝召唤命令
格式:RECALLMOB 怪物名称 宝宝等级 叛变时间(单位:分钟) 是否变色(0=不变色,1=变色) 颜色代码(1-7)
用法:给玩家召唤指定怪物作为宝宝,可设置宝宝等级、叛变时间和颜色,常用于道士召唤宝宝、活动专属宝宝等场景。
实操示例:给玩家召唤1只7级神兽,叛变时间30分钟,不变色
#IF
CHECKJOB Taoist
CHECKLEVELEX >= 40
#ACT
RECALLMOB 神兽 7 30 0
五、变量设置命令(复杂脚本核心)
变量设置命令用于定义、修改脚本中的变量,实现复杂逻辑(如任务进度、活动计数、条件判断),是高级脚本的核心组成部分,用法简单,新手可快速上手。
1. 变量定义与赋值命令
(1)SET 变量定义命令
格式:SET 变量名 数值
用法:定义一个新变量,并给变量赋值,变量名可自定义(如Task1、Count、Level),数值为整数,常用于任务进度、计数等场景。
实操示例:定义变量Task1,赋值为1(表示任务1已接取)
#ACT
SET Task1 1
SENDMSG 6 任务1已接取,请前往指定地点完成!
(2)MOV 变量赋值命令
格式:MOV 变量名 数值
用法:给已定义的变量重新赋值,覆盖原有数值,与SET功能类似,常用于变量更新、任务进度修改等场景。
实操示例:将变量Task1的值改为2(表示任务1已完成)
#ACT
MOV Task1 2
SENDMSG 6 任务1已完成,可前往NPC处领取奖励!
2. 变量增减命令
(1)INC 变量增加命令
格式:INC 变量名 数值(数值可省略,默认增加1)
用法:给指定变量增加指定数值,常用于计数场景(如杀怪计数、任务道具收集计数)。
实操示例:杀怪后,变量KillCount增加1(统计杀怪数量)
#IF
CHECKMON 1
#ACT
INC KillCount 1
SENDMSG 6 当前杀怪数量:{$KillCount}
(2)DEC 变量减少命令
格式:DEC 变量名 数值(数值可省略,默认减少1)
用法:给指定变量减少指定数值,常用于任务道具消耗、计数减少等场景。
实操示例:使用道具后,变量ItemCount减少1
#IF
CHECKITEM 任务道具 1
#ACT
TAKE 任务道具 1
DEC ItemCount 1
3. 变量条件判断命令
(1)EQUAL 变量等于判断
格式:#IF EQUAL 变量名 数值
用法:判断指定变量的值是否等于指定数值,成立则执行后续命令,常用于任务进度判断、计数达标判断等场景。
实操示例:判断变量KillCount是否等于10(杀怪10只),成立则发放奖励
#IF
EQUAL KillCount 10
#ACT
GIVE 金币 50000
SENDMSG 6 杀怪10只,获得奖励50000金币!
(2)LARGE 变量大于判断
格式:#IF LARGE 变量名 数值
用法:判断指定变量的值是否大于指定数值,成立则执行后续命令,常用于计数超额奖励、任务进度判断等场景。
实操示例:判断变量KillCount是否大于10,成立则额外奖励
#IF
LARGE KillCount 10
#ACT
GIVE 矿石 5
SENDMSG 6 杀怪超额,获得额外奖励5个矿石!
六、常用脚本命令实操案例(直接套用)
结合上述命令,整理6个高频实操案例,覆盖NPC对话、任务、兑换、刷怪等场景,新手可直接复制到脚本文件中,修改物品、数值即可使用,无需额外调整。
案例1:新手NPC对话与奖励脚本
#SAY
欢迎来到传奇世界,新手礼包已为你准备好!\n点击领取新手福利。
#IF
ISNEWHUMAN
#ACT
GIVE 新手剑 1
GIVE 新手铠甲 1
GAMEGOLD + 10000
CHANGELEVEL + 5
SENDMSG 6 新手福利已发放,祝你游戏愉快!
close
案例2:物品兑换脚本(10个矿石兑换10000金币)
#SAY
矿石兑换金币啦!\n10个矿石可兑换10000金币,点击兑换。
#IF
CHECKITEM 矿石 10
#ACT
TAKE 矿石 10
GAMEGOLD + 10000
#SAY
兑换成功!已获得10000金币。
#ELSE
#SAY
你未携带10个矿石,无法兑换!
案例3:等级任务脚本(30级领取奖励)
#SAY
等级任务:达到30级即可领取奖励!\n当前等级:{$LEVEL}
#IF
CHECKLEVELEX >= 30
EQUAL Task30 0
#ACT
SET Task30 1
GIVE 中级装备 1
CHANGEEXP + 50000
#SAY
恭喜你完成等级任务,奖励已发放!
#ELSE
#SAY
你未达到30级,或已领取过奖励!
案例4:管理员刷怪脚本(刷10只BOSS)
#IF
ISADMIN
#ACT
MONGEN 沃玛教主 10
SENDMSG 6 已在当前地图刷出10只沃玛教主!
#ELSE
#SAY
你不是管理员,无法执行此操作!
案例5:职业专属技能学习脚本(法师45级学冰咆哮)
#SAY
法师专属技能学习:45级可学习冰咆哮!\n点击学习。
#IF
CHECKJOB Wizard
CHECKLEVELEX >= 45
CHECKGOLD >= 50000
#ACT
GAMEGOLD - 50000
ADDSKILL 冰咆哮 1
#SAY
学习成功!已掌握冰咆哮技能。
案例6:定时召回与怪物清理脚本
#ACT
TIMERECALL 180
MONGEN 僵尸 20 60
SENDMSG 6 180秒后将自动召回,当前地图每60秒刷新20只僵尸!
#IF
LARGE KillCount 50
#ACT
CLEARMAPMON
SENDMSG 6 杀怪50只,地图怪物已清理,任务完成!
七、脚本命令常见问题排查(实操必备)
日常使用脚本命令时,常出现命令无效、脚本报错等问题,以下针对高频问题给出排查方法,无需复杂操作,新手可直接对照排查。
1. 命令无效:检查命令格式是否正确,如#IF、#ACT、#SAY是否大写,操作符(+、-、=)是否正确,物品名称、地图名称是否与服务端内名称一致(区分大小写)。
2. 脚本报错:检查是否遗漏命令符号,如#IF后未加条件、#ACT后未加执行命令,或变量名、物品名存在空格、特殊符号,删除多余空格和特殊符号即可。
3. 物品发放失败:检查玩家背包是否有足够空格,若背包已满,需添加CheckBagSize条件检测,提示玩家清理背包。
4. 条件不触发:检查#IF后的条件是否正确,如等级检测的条件符号是否写错、物品数量是否满足,变量判断是否与变量赋值一致。
5. 引擎适配问题:不同引擎(GOM、GEE等)部分命令格式略有差异,如MONGEN命令的参数顺序,若命令无效,可查看对应引擎的帮助文档,调整命令格式。
6. 变量不生效:检查变量是否已定义(SET命令),变量名是否一致(区分大小写),避免变量名重复,导致赋值错误。
总结:传奇服务端脚本命令的核心是“格式正确、逻辑清晰、贴合场景”,本文涵盖所有高频命令,按功能分类拆解,附实操示例和问题排查,新手可直接套用,老手可快速查阅。日常使用中,只需确保命令格式规范、参数正确,即可实现各类游戏功能,无需复杂操作,高效完成脚本配置。

