WoW Lua - 从 URL 获取数据(经典版)

在世界上的魔兽世界经典版 Lua 插件开发中,我如何发出 HTTP 调用以接收数据?如果不行,我如何在游戏中获取来自 Web 源的数据?

我觉得答案很短,但希望在 Stack Overflow 上提问并得到答案。我的研究缺乏,我记得大约在 2007 年做了一些 LUA 并感到失望。

点赞
用户1045510
用户1045510

很不幸地,简单地说是远远不够的。你根本做不到。根本没有任何API与连接直接交互,更不用说创建任何连接,更不用说到任意URL。

它们大多数只是向游戏连接发生的游戏事件广播,最接近“数据流”的东西是附加的聊天频道。但由于机器人违反了条款,您将无法创建响应于您的插件查询的帐户。


您最接近的选择是构建“异步网状网络”,但仅当您的插件拥有相当大的用户群体时才有用,并且无法保证您及时获得信息。

一般思路是,您的插件将具有公钥(如加密),而您(只有您)将扣留私钥。您的插件向任何连接的对等方发出消息,这些对等方将其存储在跨领域SavedVariables上,并且您希望某个人在多个领域上拥有角色。登录时,客户端插件将向该领域的插件通道广播其最新数据包(仍加密),希望在一周左右的时间内您可以在所有客户端上更新信息。

缺点是您将只能获得“推送”通知,客户端将无法向您发送任何数据*。

那么,您也可以在Curse上发布插件的补丁: P


但是!

您提到香草,因此我可以假设您正在为私人服务器开发此内容。私人服务器通常只有一个或很少的领域,因此上述网状网络会简单得多。而不是网状结构,只需加密并手动登录和广播每个领域,每次要更新检索到的信息。

此外,您甚至可以联系服务器开发人员,以允许您使用API发送消息到适当的游戏中插件通道(您必须询问)。

当然,如果您假装使您的插件无关服务器,而不是面向特定服务器,那么您会回到原点。


\*除非您非常致力于让其发生,因为这是一项艰巨的工作。

2016-12-02 22:39:45
用户1424244
用户1424244

在经典魔兽世界中,没有 Web API。不过游戏中目前有一个网页浏览器插件,尽管使用范围非常有限。

如果你有服务器软件代码的访问权限,你可能能够钩取监听特定游戏频道中以特定格式定义的用户消息,并让服务器以某种方式回应,以便插件可以解析它。

2017-02-07 11:53:15