在传奇私人服务器里,脚本文件就像一个个功能模块,有的负责 NPC 对话,有的控制装备发放。但很多新手 GM 会疑惑:为什么 QFunction-0.txt 这类文件不能改名?自己写的 “装备领取.txt” 该怎么让游戏识别?还有给玩家直接穿上装备的命令是什么?下面就用具体步骤和例子,把这些问题讲明白。
先搞懂:脚本文件为什么有的能改名,有的不能
传奇脚本的调用规则很简单:系统固定功能的脚本必须用指定名字,自定义脚本可以随便命名,但需要手动关联。
像 QFunction-0.txt 这类文件,属于服务端的 “核心功能库”,里面存放着全服通用的基础命令(比如拾取物品、升级提示等)。引擎在启动时会自动搜索这个文件名,就像电脑开机必须读取 “系统盘” 一样,改了名字引擎就找不到了,所以这类文件必须保持原名。
而自定义脚本(比如你写的 “装备领取.txt”)就灵活得多。它们相当于 “插件”,只要告诉引擎 “在哪里”“怎么用”,不管叫什么名字都能生效。比如有的私人服务器把 NPC 脚本命名为 “新手礼包.txt”“每日签到.txt”,只要配置正确,都能正常调用。
重点步骤:如何让 “装备领取.txt” 生效
自己写的 NPC 脚本想被游戏识别,需要完成两个关键操作:
1. 放在正确的文件夹
所有 NPC 脚本都要存放在 “MirServer\Mir200\Envir\QuestDiary” 目录下(可以建子文件夹分类,比如 “NPC\ 装备领取.txt”)。引擎会定期扫描这个目录,不管文件名是什么,只要格式正确就能被读取。
2. 在 QManage.txt 里登记关联
QManage.txt 是 NPC 脚本的 “通讯录”,存放在 “MirServer\Mir200\Envir\MapQuest_def” 文件夹,作用是告诉引擎 “哪个 NPC 对应哪个脚本”。添加格式如下:
[@NPC编号] 文件名.txt
比如你要给 “装备领取员” 这个 NPC(假设 NPC 编号是 3001)绑定脚本,就在 QManage.txt 里加一行:
[@3001] 装备领取.txt
这样玩家点击编号 3001 的 NPC 时,引擎就会自动调用 “装备领取.txt” 里的内容。如果想让多个 NPC 共用一个脚本,重复登记编号即可:
[@3002] 装备领取.txt
[@3003] 装备领取.txt
3. 脚本里用正确的触发格式
“装备领取.txt” 的内容需要以特定格式开头,让引擎知道这是 NPC 对话脚本。最简单的格式是:
#say
欢迎领取新手装备!
<领取武器/@GetWeapon>
<离开/@exit>
[@GetWeapon]
#act
Give 1001 1 ;给予木剑(物品ID1001)
SENDMSG 6 已获得新手武器!
break
这里的 “#say” 表示对话内容,“@GetWeapon” 是触发命令,引擎会根据 QManage.txt 的关联,把这些内容绑定到对应的 NPC 上。
实操案例:给新玩家自动穿装备
假设你想让玩家领取装备时,直接穿上而不是放进背包,这就需要用到 “穿戴命令” 和 “装备位置编号”。
1. 直接穿戴装备的命令
不同引擎的穿戴命令略有区别:
GOM 引擎用 “EquipItem” 命令,格式:EquipItem 物品ID 位置编号
HERO 引擎用 “Wear” 命令,格式:Wear 物品ID 位置编号
比如给玩家穿上木剑(ID1001)到武器位,GOM 脚本写法是:
EquipItem 1001 2
HERO 脚本写法是:
Wear 1001 2
2. 装备位置编号对照
位置编号就像装备的 “座位号”,不同部位对应固定数字,通用规则如下(部分引擎可能有差异,以手册为准):
部位
编号
例子
头盔
1
青铜头盔戴在 1 号位置
武器
2
木剑装备在 2 号位置
项链
3
金项链装备在 3 号位置
左手镯
4
铁手镯戴在 4 号位置
右手镯
5
银手镯戴在 5 号位置
左戒指
6
铜戒指戴在 6 号位置
右戒指
7
金戒指戴在 7 号位置
衣服
8
轻型盔甲穿在 8 号位置
腰带
9
铁腰带系在 9 号位置
鞋子
10
草鞋穿在 10 号位置
比如给玩家同时穿上头盔、武器和手镯,GOM 脚本可以这样写:
#act
EquipItem 2001 1 ;戴头盔(ID2001)
EquipItem 1001 2 ;握武器(ID1001)
EquipItem 3001 4 ;左手镯(ID3001)
EquipItem 3002 5 ;右手镯(ID3002)
SENDMSG 6 装备已自动穿戴完成!
break
注意:如果玩家已有装备在对应位置,新装备会直接替换掉旧的,所以最好先判断是否有装备,避免浪费。可以加条件判断:
#if
CheckEquip 2 ;检查2号位置(武器)是否有装备
#act
SENDMSG 6 你已有武器,无法重复领取!
break
#elseact
EquipItem 1001 2 ;没有武器时才穿戴
常见问题:脚本调用失败怎么办?
如果 “装备领取.txt” 没生效,先检查这几点:
QManage.txt 格式错误
漏写 “@” 符号(比如写成 “[3001] 装备领取.txt”)或文件名写错(比如 “装备领龋 txt”),都会导致关联失败。建议直接复制文件名粘贴,避免拼写错误。
文件夹路径不对
脚本放在 “QuestDiary” 的子文件夹里时,QManage.txt 要写全路径。比如放在 “NPC” 子文件夹,应写成:[@3001] NPC/装备领取.txt
引擎不兼容命令
比如在 HERO 引擎里用 “EquipItem” 命令会无效,必须换成 “Wear”。可以在服务端 “帮助” 文件夹里查引擎手册,确认命令正确性。
没重启服务端
修改脚本或 QManage.txt 后,一定要重启 M2 引擎,否则新设置不会生效。很多新手忘了这步,导致以为脚本写错了。
举个例子:有 GM 写了 “VIP 福利.txt”,但玩家点击 NPC 没反应。后来发现 QManage.txt 里写成了 “[@5000] VIP 福利.TXT”(大写后缀),而系统默认识别小写 “txt”,改回小写并重启引擎后就正常了。
总结一下,脚本调用的核心是 “固定脚本守规矩,自定义脚本写对关联”。QFunction-0.txt 这类文件不能改名,但自己写的脚本可以随意命名,只要在 QManage.txt 里正确登记就行。穿戴装备则要记住 “EquipItem/Wear 命令 + 位置编号” 的组合,按对照表填写数字即可。多测试几次,很快就能熟练掌握这些技巧,让你的私人服务器功能更丰富。
传奇脚本怎么调用?装备穿戴命令和位置编号一文说清
来源:
作者:
点击:

