Bots And Games
公告解读
欢迎回到您的编码之旅。 是时候使用您从之前的教程中获得的技能来增强您的游戏体验了。
在游戏过程中,您可能会注意到终端中出现的公告。这些公告是游戏向玩家传达重要事件的方式。然而,这些消息有时看起来很神秘,或者您可能会发现自己经常检查收件箱以获取更多详细信息。
直接从您的终端访问这些信息不是很方便吗? 嗯,有一种方法可以做到这一点!
通过使用 handlers,您可以创建一个自主代理来为您检索此信息,标志着从简单机器人到能够直接解释和操作游戏事件的实体的进展。
设置开发环境
首先在您的首选目录中创建一个名为 bot.lua
的新文件。
理想情况下,该文件应放置在播放器进程运行的同一目录中,以简化代码的加载。 否则,您需要使用相对路径来访问该文件。
编写代码
让我们深入研究下其中的逻辑。
aos 中的每个处理程序都需要三个关键信息:
name
:处理程序的唯一名称pattern
: 处理程序识别的模式,触发其执行handle
:模式匹配时执行的操作
以下是编写用于打印公告详细信息的处理程序的方法:
-- 直接在终端中打印游戏公告的处理程序。
Handlers.add(
"PrintAnnouncements",
Handlers.utils.hasMatchingTag("Action", "Announcement"),
function (msg)
print(msg.Event .. ": " .. msg.Data)
end
)
在本例中,处理程序的名称是 "PrintAnnouncements"
。 它使用特殊的内置实用程序(hasMatchingTags
)来检查传入消息是否已被标记为公告。 如果为 true,则处理程序将打印事件和数据,则直接显示公告的标题和描述。
注意:一旦消息被
handled
,它将从您的Inbox
中丢弃。
加载和测试
现在,让我们在游戏中实现这一点。
导航到您的 aos 玩家终端并进入游戏会话。
用下面的命令来加载 bot.lua
文件以激活处理程序:
.加载bot.lua
现在,您将看到游戏公告直接出现在您的终端中,提供实时展示,而无需手动查看收件箱。
恭喜! 您刚刚迈出了在 aos
上构建机器人的第一步。 但让我们继续努力为其添加更多功能 🌐