2016-12-02 146 views
1

在魔兽世界香草Lua Addon开发中,我怎样才能发出HTTP呼叫来接收数据?如果没有,我怎样才能在玩游戏时从网络源获取数据到游戏中?WoW Lua - 从URL获取数据(Vanilla)

我有一种感觉,答案是悲剧性的短,但想问的问题和堆栈溢出回答。我的研究缺乏,我记得在2007年做了一些LUA,感到很失望。

+0

Downvote的原因是什么? – Suamere

+0

我会帮你解决的。 * upvoted * – user7393973

回答

3

好吧,悲剧性的短是轻描淡写。 你根本做不到。从来没有任何API直接与连接交互,更不用说创建任何东西,更不用说任意的URL。

其中大部分只是播放游戏连接中发生的游戏事件,最接近“数据流”的是附加聊天频道。但是,由于机器人违反了ToS,您将无法创建对您的插件查询做出响应的帐户。


你可以得到的最接近的事情是建立一个“异步网状网络”,但如果你的插件有相当大的用户群,并不能保证你会及时得到信息,这是唯一的好。

一般的想法是,你的插件将有一个公钥(如在加密),你(只有你)会扣留一个私钥。你的插件会向任何连接的同伴发送一条消息,它将其存储在跨领域SavedVariables上,并且你希望某人在多个领域拥有角色。登录后,客户端插件会将其最新的数据包(仍然是加密的)广播到该领域的插件频道,并希望在一个星期左右的时间内,您可以获得所有客户端的更新信息。

一个缺点是,你只会得到“推送”通知,客户端将无法发送任何数据给你*。

这,或者你可以发布一个补丁上诅咒插件:P


别急!

你提到香草,所以我可以推测你正在开发这个私人服务器。私有服务器通常具有一个或很少的域,使上述网状网络变得更简单。每次您想更新检索到的信息时,只需加密并在每个区域手动登录&即可代替网格。

另外,您甚至可以联系服务器开发人员以允许您将API发送到适当的游戏插件通道(您不得不问)。

当然,如果你假装让你的插件服务器不可知,而不是为特定的服务器量身定做,那么你就回到了原来的状态。


  *除非你真的致力于使这种情况发生,因为它是一个工作吨。

+0

谢谢Kroltan。 Atlas Loot允许您在查询某些条件的情况下“查询服务器”以获取有关某个项目的信息。我查看了所有的代码,似乎无法找到任何实际调用服务器的东西。如果有的话,我想知道在哪里可以在我的私人服务器上拦截它,并编写一个处理程序来击中其他端点。我猜Atlas Loot实际上只是查询内置于客户端的一些数据,并且从未真正离开用户的PC。 – Suamere

+0

@Suamere我对Atlas并不是特别熟悉,但看起来他们似乎只是用一个方便结构化的Lua表的形式打包了一个带有插件的数据库。至于私人服务器,你可以有一个特殊的聊天频道,并通过聊天消息与插件通信。以特定格式收听邮件,并广播以目标为标签的回复。 – Kroltan

0

香草WoW中没有web API。目前游戏中有一个网页浏览器小部件,虽然使用非常有限。

如果您有权访问服务器软件代码,您可以以特定的格式钩住用户消息的特定游戏频道,并让服务器以某种方式响应,以便插件解析它。

+0

这并没有回答这个问题,但我忍不住想解决这个问题。虽然目标是如果愿意,可以轻松地将能力移植到其他私人服务器。我需要做的服务器端更改越少越好。但是我很容易想象一些基本的变化,我可以在开发这个服务器时测试自己的服务器,这可能是简约的。 – Suamere