2005/12/15

Flexbar旅情編

FlexbarのStanceに拠るボタンの切り替えなどです。
スクリプトエディターについてもあり。


前回単純なボタン表示とグループ分けをやりましたが、
今回はスタンスやステルス、Druの変身によるボタンの切り替えです。
一つ一つ追いかける為に直打ちっぽいことをしていますが、
後半にあるScript Editorにコピペした方が楽です。


目的:1-12をバトルスタンスで、13-24をディフェンシヴスタンスで、25-36をバーサーカースタンスで同じ所に同じキーバイントで表示する。


前回基本的な設定はやっちゃってるのでサクサク行きます。

1:今回使う1-36のボタンを表示して、
/flexbar show button=1-36

スケールを9割にして、ボタンのナンバーを表示して、
/flexbar scale button=1-36 scale=9
/flexbar text button=1-36 text='%d'


1-12をGroup1に13-36をGroup13にして、
/flexbar group button=1-12 anchor=1
/flexbar group button=13-36 anchor=13


 横12個の並びにする。
/flexbar Horizontalgroup group=1
/flexbar horizontalgroup group=13 height=2



前回詳しくやってませんでしたが、
縦2列の横なら「/flexbar horizontalgroup group=## height=2
横2列の縦なら「/flexbar verticalgroup group=# width=2
で設定できます。当然3,4,5,6と数字を増やす事も出来ます。


次に1-12にバトルスタンスで、13-24にディフェンシヴ、25-36にバーサーカースタンスで使いたいボタンを登録して、グループ13は隠してしまいます。
/flexbar hide group=13

ここから今回の目玉。

書式は
/flexbar remap group=[基本とする場所] base=[始点になるボタンの数字] on='入れ替えるイベント'
です。イベントに付いては次回解説予定。
今回の場合は

/flexbar Remap Group=1 Base=1 Reset='true' On='GainAura' Target='Battle Stance'
/flexbar Remap Group=1 Base=13 On='GainAura' Target='Defensive Stance'
/flexbar Remap Group=1 Base=25 On='GainAura' Target='Berserker Stance'


になります。
尚、基本となる所には「Reset='True'」を入れて置いてください。
後は、Key BindingをFlexbarの方にしておかないと、
自動的に入れ替わりません。

これがステルスの場合は
/flexbar Remap Group=1 Base=13 On='GainAura' Target='Stealth'
/flexbar Remap Group=1 Base=1 Reset='true' on='LoseAura' Target='Stealth'


Druの場合は
/flexbar Remap Group=1 Base=13 On='GainAura' Target='Bear Form' (もしくは 'Dire Bear Form')
/flexbar Remap Group=1 Base=25 on='GainAura' Target='Cat Form'
/flexbar Remap Group=1 Base=1 Reset='true' on='LoseAura' Target=['Cat Form' 'Bear Form' 'Dire Bear Form']



さて、ここまで来ると、どうしてもあることが頭から離れません。
「デフォルトのMainmenuが邪魔!」
という事で消してしまいます。
通常のスクリプトを使うと

/script MainMenuBar:Hide()
/script MainMenuBar:Show()

で消したり出したりできます。
!!大文字小文字で区別します。この通り打ってください。!!

またFlexbarのFAQには
/flexbar RunScript Script='MainMenuBar:Hide()' on='ProfileLoaded'
/flexbar Runscript Script='MainMenuBar:Hide()' on='BindingKeyUp' Target=30
/flexbar Runscript Script='MainMenuBar:Show()' on='BindingKeyDown' Target= 30
というスクリプトが載っています。
これを使った場合KeyBindingで「Flexbar Event 30」という項目に設定したKeyを押している間、MainMenuが出るようになります。

当然ですが、Mainmenuを消せばEXPBar/Menu/Bag欄も消えます。
必要な場合は他のAddonで代替措置を取るかして下さい。
BagはFlexbarでどうにか出来たような気もします。




Scrip Editor
今までコマンドをいちいちChat欄に一行づつ打っていましたが、
Script Editorを使うと非常に簡単にコピペ・編集できるようになります。
起動方法
/Flexbar scripts


この真中の部分に何か書いて下の[config]ボタンを押すと適用されます。
左下のTest Macroなら適用されるが、Restoreで戻るのかもしれない。(未確認)


また、[Event]ボタンを押すと現在適用されているスクリプトの一覧が表示されます。
適用されたスクリプトを消す方法
/Flexbar ListEvents
で消したいEventのナンバーを確認して
/Flexbar DeleteEvent event=#
#は上で確認した消したいEventのナンバーです。


特に新しいスクリプトを作って試して修正してまた試して、と繰り返す時など、
この必要以外のスクリプトを消す作業をしておかないと、なかなか上手く動かなくなったりしますので、ListEventsの確認はよくしておいた方がいいと思います。

またGUIでも出来ない事は無いのですが、現在何故かEvent Editorが普通には起動しません。
/Flexbar Eventsで起動するらしいですが、私の環境では起動しません。
key bindすると表示できるFlexbar Menuからだと起動できるようです。

・今回やった事をScript Editorにコピペしてみる。

show button=1-36
scale button=1-36 scale=9
text button=1-36 text='%d'
group button=1-12 anchor=1
group button=13-36 anchor=13
Horizontalgroup group=1
horizontalgroup group=13 height=2
hide group=13
Remap Group=1 Base=1 Reset='true' On='GainAura'  Target='Battle Stance'
Remap Group=1 Base=13 On='GainAura'  Target='Defensive Stance'
Remap Group=1 Base=25 On='GainAura'  Target='Berserker Stance'
ここまでを一気にコピペして「stance setting」とでも名づけてSaveして置けば、
他のキャラ用に改造するのも楽かもしれません。

同じ要領で、Mainmenuの消し方の方は

RunScript Script='MainMenuBar:Hide()' on='ProfileLoaded'
Runscript Script='MainMenuBar:Hide()' on='BindingKeyUp' Target=30
Runscript Script='MainMenuBar:Show()' on='BindingKeyDown' Target= 30
そのままですね。




基本的な事ですが、
windowsのショーットカット「選択範囲のコピー ctrl+c」「ペースト ctrl+v」「選択範囲の切り取り ctrl+x」
WoWのChat欄でAltキーを押しながら←→でカーソル移動。↑↓で発言履歴。
これらを駆使するとちょっと楽になるかもしれない。

ってけーねが言ってた。