传奇服务端常用脚本命令大全 功能分类与使用说明

来源: 作者: 点击:
传奇服务端脚本命令是控制游戏玩法、NPC交互、任务触发、怪物行为等核心逻辑的基础,按功能可分为NPC交互类、任务控制类、物品操作类、怪物管理类、玩家状态类、地图相关类六大核心类别,以下是各类常用命令的语法格式、使用场景及注意事项,直接适配主流服务端引擎。

一、NPC交互类脚本命令(核心用于NPC对话、功能触发)

1. @Talk 语法格式:@Talk 对话内容 功能说明:触发NPC对话,向玩家展示指定文本内容。使用示例:在NPC脚本中添加“@Talk 欢迎来到比奇城,我是武器商人!”,玩家点击NPC时会弹出对应对话。注意事项:对话内容过长时可分段使用多个@Talk命令,支持换行符“\n”实现换行显示。

2. @OpenMarket 语法格式:@OpenMarket 商店文件名 功能说明:打开指定的商店界面,商店文件需存放于mirserver\Mir200\Envir\Market_Def文件夹。使用示例:@OpenMarket 武器店.txt,玩家点击NPC后打开武器店商店。注意事项:商店文件名需完整且与实际文件一致,包含后缀.txt,否则无法正常打开。

3. @Quest 语法格式:@Quest 任务编号 任务步骤 功能说明:触发指定任务的对应步骤,用于任务接取、提交、进度更新。使用示例:@Quest 1 1,触发编号为1的任务第一步(接取任务);@Quest 1 10,触发该任务第十步(任务完成)。注意事项:任务编号与步骤需在mirserver\Mir200\Envir\QuestDef文件夹的任务配置文件中提前定义。

4. @Menu 语法格式:@Menu 菜单选项1|菜单选项2|菜单选项3 功能说明:向玩家展示多选项菜单,玩家点击对应选项触发后续脚本。使用示例:@Menu 购买武器|修理装备|回收物品,玩家点击“购买武器”可触发后续打开武器店的脚本。注意事项:选项之间用“|”分隔,最多支持10个选项,选项名称需简洁明了。

二、任务控制类脚本命令(核心用于任务流程管控)

1. @Take 语法格式:@Take 物品名称 数量 功能说明:从玩家背包中扣除指定数量的物品,常用于任务提交材料验证。使用示例:@Take 铁矿石 10,扣除玩家背包中10个铁矿石。注意事项:物品名称需与Item.DB中的名称完全一致,若玩家背包中物品数量不足,命令执行失败,需搭配@CheckItem命令提前校验。

2. @Give 语法格式:@Give 物品名称 数量 功能说明:向玩家背包中发放指定数量的物品,用于任务奖励、NPC赠送。使用示例:@Give 裁决之杖 1,给玩家发放1把裁决之杖。注意事项:需确保玩家背包有足够空格,否则物品无法发放成功;发放特殊物品(如武器、装备)时,需确认物品在数据库中存在且配置正常。

3. @CheckItem 语法格式:@CheckItem 物品名称 数量 功能说明:校验玩家背包中是否拥有指定数量的物品,返回校验结果(符合条件则执行后续脚本,否则提示玩家)。使用示例:@CheckItem 沃玛号角 1,校验玩家是否有1个沃玛号角。注意事项:常与@If、@Else命令搭配使用,实现条件分支逻辑,如“若有沃玛号角则提交任务,否则提示‘缺少沃玛号角’”。

4. @SetQuestFlag 语法格式:@SetQuestFlag 任务编号 标记值 功能说明:设置任务标记,用于记录任务进度(如是否接取、是否完成某环节)。使用示例:@SetQuestFlag 2 1,将编号2的任务标记设为1(代表已接取);@SetQuestFlag 2 99,设为99(代表任务完成)。注意事项:标记值可自定义,需在任务脚本中统一逻辑,避免标记混乱。

三、物品操作类脚本命令(核心用于物品相关逻辑控制)

1. @UseItem 语法格式:@UseItem 物品名称 功能说明:强制使用玩家背包中的指定物品,触发物品自带效果(如药品恢复、卷轴传送)。使用示例:@UseItem 强效太阳水,强制使用玩家背包中的强效太阳水。注意事项:仅支持可使用类物品(如药品、卷轴),不可使用装备类物品;需确保玩家背包中存在该物品。

2. @DelItem 语法格式:@DelItem 物品名称 数量 功能说明:删除玩家背包中指定数量的物品,与@Take功能类似,区别在于@DelItem可删除绑定物品,@Take仅删除非绑定物品。使用示例:@DelItem 绑定金币 1000,删除玩家1000个绑定金币。注意事项:用于删除任务绑定道具、活动奖励等特殊物品,避免误删核心物品。

3. @CheckItemLevel 语法格式:@CheckItemLevel 物品名称 最低等级 功能说明:校验物品的等级是否达到指定要求,常用于装备相关任务。使用示例:@CheckItemLevel 炼狱 35,校验玩家背包中的炼狱武器等级是否≥35。注意事项:物品等级需在Item.DB中提前配置,否则校验无效。

4. @RenameItem 语法格式:@RenameItem 原物品名称 新名称 功能说明:修改玩家背包中指定物品的名称,用于个性化道具、任务专属物品标记。使用示例:@RenameItem 裁决之杖 屠龙裁决,将裁决之杖名称改为“屠龙裁决”。注意事项:新名称不可包含特殊符号,长度不超过16个字符。

四、怪物管理类脚本命令(核心用于怪物刷新、行为控制)

1. @MonGen 语法格式:@MonGen 怪物名称 数量 地图编号 X坐标 Y坐标 范围 功能说明:在指定地图的指定坐标及范围内刷新指定数量的怪物。使用示例:@MonGen 沃玛教主 1 3 320 320 5,在3号地图(沃玛寺庙)320,320坐标周围5格范围内刷新1只沃玛教主。注意事项:地图编号需与MapInfo.txt中的编号一致,坐标需在地图有效范围内,否则无法刷新。

2. @MonClear 语法格式:@MonClear 地图编号 功能说明:清除指定地图内的所有怪物(包括玩家召唤的宠物)。使用示例:@MonClear 0,清除0号地图(比奇城)内的所有怪物。注意事项:常用于攻城战结束后清理战场、活动重置等场景,执行后无法恢复已清除的怪物。

3. @CheckMon 语法格式:@CheckMon 怪物名称 地图编号 功能说明:校验指定地图内是否存在指定怪物,返回校验结果。使用示例:@CheckMon 祖玛教主 5,校验5号地图(祖玛寺庙)内是否有祖玛教主。注意事项:常与@If命令搭配,实现“若怪物存在则提示,否则刷新怪物”的逻辑。

4. @SetMonDrop 语法格式:@SetMonDrop 怪物名称 物品名称 概率 数量 功能说明:临时修改指定怪物的掉落物品及概率,无需修改MonItems文件夹中的暴率文件。使用示例:@SetMonDrop 赤月恶魔 天尊戒指 1/100 1,设置赤月恶魔掉落天尊戒指的概率为1/100,每次掉落1个。注意事项:该设置仅在当前脚本执行周期内有效,服务端重启后失效,永久修改需编辑对应怪物的暴率文件。

五、玩家状态类脚本命令(核心用于控制玩家属性、状态)

1. @AddExp 语法格式:@AddExp 经验值 功能说明:给玩家增加指定数量的经验值,用于任务奖励、NPC指引奖励。使用示例:@AddExp 10000,给玩家增加10000点经验。注意事项:经验值不可为负数,若玩家当前经验已达升级要求,会直接升级。

2. @SetLevel 语法格式:@SetLevel 等级 功能说明:直接将玩家等级设置为指定等级,常用于快速测试、特殊活动奖励。使用示例:@SetLevel 40,将玩家等级设置为40级。注意事项:等级范围需符合服务端设置(通常1-99级),设置后玩家属性会同步调整,需提前告知玩家。

3. @AddGold 语法格式:@AddGold 金币数量 功能说明:给玩家增加指定数量的金币(非绑定金币)。使用示例:@AddGold 50000,给玩家增加50000金币。注意事项:金币数量不可为负数,若服务端有金币上限设置,需确保增加后不超过上限。

4. @SetPKMode 语法格式:@SetPKMode 模式编号 功能说明:设置玩家的PK模式,模式编号对应不同PK状态(0-和平模式、1-全体模式、2-组队模式、3-行会模式)。使用示例:@SetPKMode 0,将玩家PK模式设置为和平模式。注意事项:仅在玩家无PK值或符合服务端PK规则时生效,避免强制设置违规PK模式。

六、地图相关类脚本命令(核心用于地图跳转、场景控制)

1. @MapMove 语法格式:@MapMove 地图编号 X坐标 Y坐标 功能说明:将玩家传送到指定地图的指定坐标,用于任务传送、NPC传送服务。使用示例:@MapMove 3 300 300,将玩家传送到3号地图300,300坐标。注意事项:地图编号和坐标需有效,否则传送失败,需搭配@CheckMap命令提前校验地图是否存在。

2. @CheckMap 语法格式:@CheckMap 地图编号 功能说明:校验指定地图是否存在(是否在MapInfo.txt中配置)。使用示例:@CheckMap 10,校验10号地图是否存在。注意事项:常用于传送脚本前的校验,避免因地图缺失导致玩家卡屏、闪退。

3. @SetMapEnter 语法格式:@SetMapEnter 地图编号 允许进入标记 功能说明:设置玩家是否可进入指定地图,允许进入标记为1(允许)、0(禁止)。使用示例:@SetMapEnter 7 0,禁止玩家进入7号地图(赤月峡谷)。注意事项:常用于活动地图开启/关闭、特殊地图权限控制,需搭配@If命令校验玩家权限后执行。

4. @MapMsg 语法格式:@MapMsg 地图编号 消息内容 功能说明:向指定地图内的所有玩家发送系统消息。使用示例:@MapMsg 5 祖玛教主已刷新,速来挑战!,向5号地图内的所有玩家发送刷新提示。注意事项:消息内容长度不超过32个字符,避免发送过多消息干扰玩家游戏。

七、脚本命令通用注意事项

1. 命令区分大小写:所有脚本命令的前缀“@”后字符需严格区分大小写(如@Talk不可写为@talk),否则命令无法执行。2. 名称一致性:涉及物品、怪物、地图、文件的名称,需与服务端数据库(Item.DB、Monster.DB)、配置文件(MapInfo.txt)、脚本文件中的名称完全一致,包括空格、特殊符号。3. 编码格式:脚本文件需保存为ANSI编码,若为UTF-8编码会导致命令乱码、执行失败,可通过记事本“文件-另存为”调整编码。4. 测试验证:新增或修改脚本命令后,需重启服务端,登录游戏逐一测试,避免因语法错误、参数错误导致游戏异常。5. 逻辑顺序:复杂脚本需按“校验条件→执行核心命令→反馈结果”的顺序编写,使用@If、@Else、@Return等命令实现分支逻辑,确保流程清晰。

总结:传奇服务端脚本命令的核心是“精准匹配配置+清晰逻辑流程”,上述分类覆盖了NPC交互、任务、物品、怪物、玩家、地图六大核心玩法场景的常用命令。实际使用中需结合服务端引擎特性(如GEE、GOM引擎部分命令略有差异),优先参考对应引擎的官方文档,确保命令兼容有效。