快速开始

做出第一个 NPC

面向第一次接触 Blue 引擎脚本的读者,说明怎样把一个基础 NPC 挂到地图、写出第一个可点击对话,并完成最小验证。

这页只讲一件事:先把一个能点击、能显示对话的 NPC 跑起来。

前置准备

开始前,需要确认两件事:

  1. 你能修改服务端的 MerChant.txt 和 Market_Def 目录
  2. 你修改后,服务端会重新加载这些文件或直接重启生效

第一步:写入 NPC 入口

先在 MerChant.txt 中增加一行:

新手示例/测试NPC 3 330 330 测试员 0 8 0 0 0 0 0

先只关注这 5 个关键字段:

  • 第 1 列:脚本地址,示例中是 新手示例/测试NPC
  • 第 2 列:地图名称或地图编号,示例中是 3
  • 第 3、4 列:NPC 坐标,示例中是 330 330
  • 第 5 列:NPC 名称,示例中是 测试员

这一步的结果应是:地图 3 的 330 330 坐标会出现一个名为"测试员"的 NPC。

第二步:创建对应脚本文件

上面那一行里的脚本地址是 新手示例/测试NPC,地图名称是 3。

对应脚本文件应放在:

Mir200\Envir\Market_Def\新手示例\测试NPC-3.txt

这一步只要记住一条规则:

Market_Def\脚本地址-地图名称.txt

这一步的结果应是:引擎点击 NPC 时,能准确找到这份脚本文件。

需要继续了解这个目录怎么组织时,可再看 Market_Def。

第三步:写一个最小脚本

先在这个脚本文件里写入最小内容:

[@Main]
#SAY
欢迎使用测试 NPC。\
<查看说明/@Help>

[@Help]
#SAY
说明页已经打开,表示标签跳转正常。

这一步只验证两件事:

  • 点击 NPC 后,是否进入 [@Main]
  • 点击按钮后,是否进入 [@Help]

第四步:进游戏验证

第一次只看下面 3 个结果:

  1. 地图上是否真的出现了这个 NPC
  2. 点击 NPC 后,是否能打开你写的第一屏对话
  3. 点击按钮后,是否会进入你写的下一个标签

只要这 3 个结果都成立,就说明"地图挂载到脚本入口"这条链路已经通了。

跑不通时先查哪里

如果 NPC 没有出现,优先检查:

  • MerChant.txt 这一行是否写进了正确文件
  • 地图编号、坐标、NPC 名称是否写错
  • 服务端是否已经重新加载或重启到你刚改过的配置

如果 NPC 出现了,但点击没有反应,优先检查:

  • MerChant.txt 第 1 列脚本地址是否写错
  • Market_Def 下的目录和文件名是否按"脚本地址-地图名称"规则拼接
  • 脚本文件中是否存在 [@Main]

如果能打开对话,但按钮不工作,优先检查:

  • 按钮里的标签名是否和实际定义完全一致
  • 目标标签是否真的存在
  • 标签跳转写法是否保持统一,例如 @Help

接下来怎么继续

如果你已经把第一个 NPC 跑通,下一步通常分成两条路:

相关阅读