2009-06-21 3 views
6

World of Warcraftの仕事の中でルアに2つの感情表現のコンボを作る方法はありますか?World of Warcraftの仕事の中でルアに2つの感情表現のコンボを作る方法はありますか?

function Button2_OnClick() 
    PlaySoundFile("Interface\\Addons\\Fart\\common_fart[1].wav"); 
    DoEmote("moon"); 
    DoEmote("sit"); 
    DoEmote("dance"); 
    DoEmote("beckon"); 
end 

私はWow Addon Studioを使ってWowでおならアプリケーションを作成しています。 私はこの機能を使って、座っている動きだけを見せてくれました。ダンスエモートはどこにも現れなかった。

+1

lol +1プログラミング言語になっているプログラミング:p – fmsf

+0

WoWは完全なAPIをluaから利用できるので、プログラミングに関連する可能性があります。 – crashmstr

+0

WoWで個別に行うと、結果は変わりますか? – crashmstr

答えて

4

ブライザードは、金の採掘や粉砕のボットを作るために不可欠な成分であるため、ルアの待機や休止に使用できるものを明示的に禁止しています。

すべてのCPUを使用せずにluaを待機させるネイティブ(つまり、luaのみ)の方法はありません。 WOWクライアントの外では、win.sleepまたはホストアプリケーションまたはオペレーティングシステムのスレッド機能を呼び出す他のサードパーティのAPI呼び出しを使用します。

頻繁なイベント(チャットウィンドウに到着するテキストなど)でコードを実行し、イベントハンドラのチェックで次のコマンドの実行を許可するのに十分な時間が経過したかどうかを確認することができます順序で。これは非常に正確なタイマーではないでしょうし、コマンドのシーケンス、それぞれのタイミング、現在のコマンドなどを保持するためにデータ構造を作成しなければならないので、やや複雑です。

2

私は次の感情をする前にしばらくお待ちください。私が知る限り、スパムが多すぎるとサーバから切断されます。これはかもしれないちょうどときどきトリガーします。

それ以外にも、クライアントにはそれを防ぐ手段があると思いますか?どちらの場合でも、感情表現の間に何分の1秒の遅延を追加することをお勧めします。

乾杯、
アミットロン

3

これは、ゲームの自動化(botting)に防止するためのAPIを意図的に制限することがあります。

1

座っている間に最後の2人ができないことはありますか?

3

私にとっては、ループを通じて増分されるグローバル変数を持つことが効果的です。など

Integer count = 0; 
function Button2_OnClick() 
    i++ 
    switch 
    case(1) 
     PlaySoundFile("Interface\\Addons\\Fart\\common_fart[1].wav"); 
    case(2) 
     DoEmote("moon"); 
    case(3) 
     DoEmote("sit"); 
    case(4) 
     DoEmote("dance"); 
    case(5) 
     DoEmote("beckon"); 
    default 
     i=0; 
    end 
end 

あなたがしなければならないことは、ボタンを何回かクリックすることですが、あなたが行っている効果を得るでしょう。

+0

私は同じアイデアを持っていましたが、emotesは実行時間(例:1:32:20)でグローバルな作業配列に行き、イベントハンドラはさまざまな共通イベント、キーダウン、キーアップ、ボタン、マウス移動作業項目の時間が到来した場合、各イベントハンドラは作業配列をチェックして、実行する感情をチェックします。 – MatthewMartin

1

infact、integer i = 0整数 'カウント'を定義してからiを使用すると正しくないためです。 :)

関連する問題