WoW Lua - 从URL获取数据(香草)

时间:2016-12-02 22:18:38

标签: lua world-of-warcraft

在魔兽世界Vanilla Lua Addon Development中,如何发出HTTP调用来接收数据?如果没有,我怎样才能在播放时从网络资源中获取数据?

我有一种感觉,答案是悲惨的,但是想在Stack Overflow上提出问题并回答。我的研究缺乏,我记得在2007年做了一些LUA并且很失望。

2 个答案:

答案 0 :(得分:3)

嗯,悲惨的短暂是轻描淡写。 你根本做不到。从来没有任何API直接与连接进行交互,更不用说创建任何,更不用说任意的URL了。

他们中的大多数只是广播游戏连接中发生的游戏事件,而最接近“数据流”的是添加聊天频道。但由于机器人违反了ToS,您将无法建立一个响应您的插件查询的帐户。

你可以得到的最接近的东西是建立一个“异步网状网络”,但这只有在你的插件拥有相当大的用户群时才有用,并且不能保证你能及时获得信息。

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

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

那,或者你可以在Curse上发布插件补丁:P

但等等!

你提到香草,所以我可以假设你正在为私人服务器开发这个。私有服务器通常具有一个或非常少量的领域,使得上述网状网络更加简单。每次想要更新检索到的信息时,只需要加密并手动登录和广播每个领域,而不是网格。

另外,您甚至可以联系服务器开发人员以允许您使用API​​将消息发送到相应的ingame插件通道(您必须要求)。

当然,如果您假装使用与服务器无关的服务器,而不是针对特定服务器进行定制,那么您将回到原点。

*除非你真的致力于实现这一目标,因为这是一项大量的工作。

答案 1 :(得分:0)

vanilla WoW中没有Web API。目前游戏中有一个Web浏览器小部件,尽管使用非常有限。

如果您可以访问服务器软件代码,则可以使用指定格式挂钩特定游戏频道的用户消息,并让服务器以插件的方式进行响应。