2016-12-02 10 views
1

World of WarcraftのVanilla Lua Addon Developmentでは、データを受信するためにHTTPコールを発行するにはどうすればよいですか?そうでない場合、再生中にWebソースからゲームにデータを取得するにはどうすればよいですか?WoW Lua - URL(バニラ)からデータを取得

私は答えが悲劇的に短いと感じていますが、質問が欲しいと思い、Stack Overflowで回答したいと思います。私の研究は不足しており、2007年にLUAをやっていることを思い出し、失望しました。

+0

Downvoteの理由は? – Suamere

+0

私はあなたを助けます。 * upvoted * – user7393973

答えて

3

まあ、悲惨なことに、控えめな表現です。 あなたは単純にできません。接続に直接関係するAPIはありません。任意のURLを作成することはもちろん、任意のURLを作成することはできません。

ほとんどの場合、ゲームの接続から発生するゲームイベントが放送され、「データストリーム」にアクセスできるのはアドオンチャットチャンネルだけです。しかし、ボットはToSに違反するので、アドオンの問い合わせに応答するアカウントを作成することはできません。


あなたが得ることができる最も近いものは、「非同期メッシュネットワーク」を構築しているが、あなたのアドオンはかなりのユーザーベースを持っており、あなたがタイムリーな情報を取得します保証されていない場合、それは唯一の良いことです。

アドオンには公開鍵(暗号化のような)があり、あなた(あなたのみ)は秘密鍵を拘束します。あなたのアドオンは、接続されたすべてのピアにメッセージを送信します。このピアは、クロスレルムのSavedVariablesにそれを格納します。また、複数のレルムに文字が含まれることを望みます。ログインすると、クライアントアドオンは最新のパケット(まだ暗号化されている)をそのレルムのアドオンチャンネルにブロードキャストします。うまくいけば、1週間ほどですべてのクライアントに更新情報が届きます。

「プッシュ」通知のみが表示され、クライアントはあなたにデータを返信することができない*というデメリットがあります。

こと、またはあなたが呪いのアドオンのためのパッチをリリースすることができます:


P

しかし、待って!

あなたはバニラについて言及しているので、プライベートサーバー向けにこれを開発していると推測できます。プライベートサーバは、しばしば1つまたは非常に少量の領域を持ち、上記のメッシュネットワークをはるかに単純化します。メッシュの代わりに、取得した情報を更新するたびに、暗号化を行い、手動で各レルムでブロードキャスト&ブロードキャストします。

さらに、サーバdevsに連絡して、適切なingameアドオンチャンネルにメッセージを送信するAPIを許可することさえできます(尋ねる必要があります)。

もちろん、特定のサーバーに合わせるのではなく、アドオンをサーバーに無関係にするふりをすると、正方形に戻ります。


  *それは仕事のトンだから、あなたは本当に、それが実現するために専用されている場合を除き。

+0

ありがとうKroltan。 Atlas Lootでは、いくつかの条件を考慮して、アイテムに関する情報を取得するために、「サーバに問い合わせる」ことができます。私はそのコードをすべて見て、実際にサーバーを呼び出すものは見つけられないようです。もし私が私のプライベートサーバーでそれを傍受し、他のいくつかのエンドポイントにヒットするハンドラをコード化することができる場所を知りたいと思っています。私はAtlas Lootが本当にクライアントに組み込まれているデータを照会していて、ユーザーのPCを離れないと思っています。 – Suamere

+0

@Suamere私は特にAtlasに慣れていませんが、便利に構造化されたLuaテーブルの形でアドオンを使ってデータベースをパックするようです。プライベートサーバーに関しては、特別なチャットチャンネルを持ち、チャットメッセージを使ってアドオンと通信することができます。特定の形式のメッセージを聞き取り、宛先でタグ付けされた応答をブロードキャストします。 – Kroltan

0

vanilla WoWにはWeb APIはありません。現在、ゲームにはウェブブラウザウィジェットがありますが、使い方は非常に限られています。

サーバーソフトウェアコードにアクセスできる場合は、特定のゲームチャネルで特定の形式のユーザーメッセージをリッスンして、アドオンが解析する方法でサーバーに応答させることができます。

+0

これは質問には答えませんが、私は回避策のアイデアが好きではありません。彼らが喜んでいるならば、他のプライベートサーバに容易に移植することが目標です。サーバー側の変更が少なくて済むほど、改善されます。しかし、これを開発している間に自分のサーバーでテストできる基本的な変更を簡単に想像できますし、それは最小限のものかもしれません。 – Suamere

関連する問題