▶️事件
在你了解完如何创建对话之后,我们现在来学习事件。这些事件可以改变你的游戏世界。这可以是任何事情,从修改玩家的背包到放置方块。 在本教程中,我们将为玩家提供物品并使用事件将他传送到不同的位置。
要求
你必须已完成上一节“对话”内容
下载教程预设
如果您已经使用了上一个教程步骤的配置,请不要执行此操作。
在聊天框中输入以下命令下载本节教程的预设内容:
您现在可以在此位置找到本教程所需的所有文件:
"你的服务器文件存放位置/plugins/BetonQuest/QuestPackages/tutorialQuest"
1.为第一个事件创建文件结构
在“tutorialQuest”的文件夹里,新建一个名为"events.yml"的文件,
以下是你现在的文件结构:QuestPackage
📁tutorialQuest
📂package.yml
📂events.yml
📁conversations
📂jack.yml
现在,我们的文件结构已准备就绪,可以开始编写事件了!
2.定义你的第一个事件
打开我们已创建的events.yml
,并添加以下内容:
那么我们在这里看到了什么呢?
giveFoodToPlayer
是事件的名称。您可以随便起一个名字。但是,建议以它的作用命名它。这会让你更方便的编写你的任务。事件说明:
give
指令中的第一个值永远都是事件类型。steak:16
这是给定事件的一个选项。它定义了您要提供的物品以及由冒号隔开的数量。
在我们测试事件是否在游戏中起作用之前,我们必须创建该物品steak
,因为BetonQuest不知道steak
是什么。
3. 在物品部分中创建一个物品
对于某些事件类型,例如你需要在部分中指定物品。它包含您要在任务中创建/使用的所有物品的定义。我们将在“package.yml”文件中创建项目部分。giveitems
现在一个名为steak
的物品可以在整个任务中被使用。
4. 将事件整合到对话中
让我们在对话中执行事件。
与前面的示例相比,第9、10、13、14行,为新增部分。
第6、12行
#...
:为了方便你的阅读与学习,从现在开始,本教程将只显示示例的相关部分。第9行
events
:事件的参数必须包含一个或多个事件名称。当向玩家显示相应的选项时,将执行这些事件。 此参数可用于玩家和 NPC 的选项。
5. 测试你的第一个游戏事件
每当测试一些内容时,保存所有文件是非常重要的!
保存后在服务器上输入:/bq reload
你还可以使用命令运行事件。
执行此操作的最简单方法是执行命令:
在服务器上输入:/bq event NAME tutorialQuest.giveFoodToPlayer
如果你按照教程设置无误,此命令会给你指定数量的牛排!
命令部分 | 含义 |
---|---|
| 告诉BetonQuest要执行一些事件 |
| 玩家名 |
| QuestPackage的名字。在不同的package中可能具有相同名称的事件。 |
| 要执行的事件的名称。不要忘记用一个点(.)将它与package分开: |
你也可以直接从控制台执行命令(开头不带斜杠“/”)。
6.新建事件文件夹
现在,我们要创建一个游览市长城市的事件。同时,我们将了解传送和文件夹事件。
打开“events.yml”文件并添加以下内容的3-7行:
第4-7行:根据你的世界调整传送的位置。它必须采用统一的位置格式
如你所见,有一些新的事件类型。events事件合集里面包含了多个事件。一旦触发,它只是执行里面的事件。每个事件类型都记录在事件列表中,请阅读有关events的更多信息以及上方的传送事件。folderteleport
执行townTour
事件时每五秒钟会把你传送到一个新的位置,直到我们到达最终目的地——铁匠。evernt事件合集在tpBlacksmith
事件执行完后完成。
现在,我们要把evernt事件合集添加到 Jack 的对话当中。
与前面的与前面的示例相比,第11-18、23-29行,为新增部分。
第13行
pointer
:玩家玩家再次有了选择。第16行
events
:是我们刚创建新事件的startTheTour
名称。当显示NPC该选项时,它就会被触发。第23行
pointer
:它扩展了现有的对话。
以上的修改可以让玩家选择是否要进行城镇游览。
现在再次与NPC交谈来开始城镇游览。
总结
非常好!你已经了解了什么是事件以及如何创建它们。现在,你可以给玩家一些食物,甚至可以传送他穿过整个城镇!可以在事件列表中找到更多事件。接下来,您将学习如何使用目标向玩家分配任务。
最后更新于