在hero引擎单机传奇服务端中通过脚本命令添加NPC

来源: 作者: 点击:
在 Hero 引擎单机传奇服务端中通过脚本命令添加 NPC 的步骤如下:
1. **在`merchant.txt`文件中添加 NPC 信息**:
- 打开服务端目录下的“d:\mirserver\mir200\envir”文件夹中的`merchant.txt`文件(这里的“d:\mirserver\”是示例路径,具体路径根据你的服务端安装位置而定)。
- 按照一定的格式在文件中添加 NPC 的相关信息,格式通常为:`NPC 文本名称 地图代码 X 坐标 Y 坐标 NPC 显示名称 NPC 外观编码`。例如:`测试使者 3 330 350 测试使者 089`,其中“测试使者”是你定义的 NPC 文本名称,“3”代表地图代码(比如 3 可能代表盟重地图等,不同的数字对应不同的地图),“330”和“350”是 NPC 在该地图中的坐标位置,“测试使者”是 NPC 的显示名称,“089”是 NPC 的外观编码(外观编码可以通过一些工具或者经验来确定,不同的编码对应不同的 NPC 外观形象)。
2. **在`market_def`文件夹中创建 NPC 脚本文本**:
- 在“d:\mirserver\mir200\envir\market_def”文件夹下创建一个与`merchant.txt`文件中 NPC 文本名称相对应的脚本文本。文本命名格式为:`自定义名称-地图编码.txt`。例如,如果你的 NPC 在盟重地图,并且在`merchant.txt`中定义的 NPC 文本名称为“测试使者”,那么你应该创建一个名为“测试使者-3.txt”的文件(“3”是盟重地图的代码)。
3. **编写 NPC 脚本内容**:
- 打开创建的 NPC 脚本文本,编写 NPC 的具体功能脚本。脚本开头一般是`(@main)`,表示主体,用于显示 NPC 的对话内容等。比如:
```
(@main)
<username><username><job>您好!!!欢迎来到<katexparseerror:undefinedcontrolsequence:\atposition20:…ername>,很高兴为您服务\
ip:<serverip>服务器时间:<datetime>\
游戏币名称:<gamegoldname>游戏点名称:<gamepointname>\
在线人数:<usercount>服务器运行:<macruntime>天服务器运行时间:<macruntime>天服务器运行时间:<serverruntime>
您当前持有:<gamegold>元宝<gamegold>元宝<level>级
#if
genderman
#say

#elsesay

#if
checkjobwarrior
#say
战士
#if
checkjobwizard
#say
法师
#if
checkjobtaoist
#say
道士\
#if
#say
<退出/@exit>
```
- 在脚本中可以通过各种命令和条件判断来实现 NPC 的不同功能,如对话、传送、交易、任务发放等。
4. **重新加载 NPC**:
- 在游戏引擎的控制界面(一般是 M2 控制器)中,找到“控制”选项,然后选择“重新加载”>“所有 NPC”,使新添加的 NPC 生效。如果修改了 NPC 的显示名称等信息,可能需要切换游戏画面(如小退、回城重新进入等)才能看到变化。

另外,还可以使用脚本命令`createnpc`来创建 NPC,但这种方式创建的 NPC 在服务器重启后会消失。其格式为:`createnpc NPC名字 地图坐标X(-1 时随机坐标) 坐标Y(-1 时随机坐标) 外观 脚本文件 脚本文件是否要加上地图名称(例如设置为 0 时脚本文件必须带“-3”如:“传送员-3.txt”,设置为 1 时脚本文件不需要带“-3”如:“传送员.txt”)`。例如:`createnpc 测试NPC 330 -1 测试NPC 0 测试NPC.txt 1`,这表示在坐标 X 为 330、Y 为随机的位置创建一个名为“测试NPC”的 NPC,外观为默认外观,脚本文本为“测试NPC.txt”,并且脚本文件不需要加上地图名称。