2009年09月14日

中級マクロコマンド

/script コマンドを使うと、アドオン用の様々な関数がマクロから利用できます。

たとえば、オートアシスト相当の機能は、こうすればOKです。

  /script AssistUnit("target");

たとえば、プリーストの場合、壁役の人をタゲってから、このマクロのショートカットを押すと、壁役をアシストすることになります。バフやヒールは壁の人に対して有効で、攻撃スペルは壁の人がタゲっている敵を攻撃します。
DPS職でも、自動的に壁役とタゲあわせが出来ます。



もし壁役の人が、パーティーリストの1番と判っていれば、以下のマクロでもOKです。
  /script AssistUnit("party1");

*追記:最初の記事ではtypoがありました。お詫びして訂正いたします。また、仕様変更により、現行の日本語版クライアントでは動作しない可能性があります。*


他の例。

/script TargetUnit(対象); 対象をタゲります
  
  例 /script TargetUnit("party2"); パーティリストの2番目の人をタゲります



/script FollowUnit(対象); 対象を追尾します
  
  例 /script FollowUnit("party1"); パーティリストの1番目の人を追尾します



どんな関数があるかは、

http://www.theromwiki.com/index.php/List_of_Functions




更に、WidgetをAPIを通じて操作することも可能となります。


/script CastingBarFrame:ClearAllAnchors(); CastingBarFrame:SetAnchor("BOTTOM", "BOTTOM", WorldFrame, 0, -200);

   詠唱バーの位置を設定します。

   0がx座標、-200がy座標です。好みの位置になるように変更して下さい



WidgetとそのAPIの一覧は、

http://www.theromwiki.com/index.php/List_of_Widget_Elements
http://www.theromwiki.com/index.php/List_of_Widget_Methods

実は、/scriptコマンドを用いることで、アドオン用の言語であるLuaの構文を埋め込むことが出来るのです。例えば、条件分岐のif文を使った例です。

/script if (UnitHealth("player")/UnitMaxHealth("player")<=.85) then UseAction(9); elseif (UnitHealth("player")/UnitMaxHealth("player")<=.90) then UseAction(10); else UseAction(11); end


複雑ですが、HPが85%以下なら9番、90%以下なら10番、それ以外は11番にセットしたPOTを飲むというマクロです。


ただし、マクロは文字数制限がある上に読み難いので、ある程度以上複雑な動作をさせる場合は、アドオンを併用した方がスッキリするでしょう。

posted by tibid at 13:27| Comment(6) | TrackBack(0) | マクロ | このブログの読者になる | 更新情報をチェックする