シージサブキャラ用バフマクロ

ターゲットが
同一レイドPTだったらマジックバリアをかけるマクロです
応用すれば色々出来ると思います

run if UnitRaidIndex("player") and UnitRaidIndex("target") and ((math.floor((UnitRaidIndex("player")-1)/6)+1)==(math.floor((UnitRaidIndex("target")-1)/6)+1)) then  CastSpellByName("マジックバリア");end

UnitRaidIndex(UNITID) UNITIDのレイドの番号を返す関数 PT1は1~6 PT2は7~12 レイドにいなかったら nil

((math.floor((UnitRaidIndex("player")-1)/6)+1) この式でPT番号を算出してます


posted by ソーニーちゃん at 00:17Comment(0)マクロ

マクロの誤クリック防止

再編マクロ.png

あぁぁぁぁ押しちゃった でトンデモナイことになるマクロってありますよね

パーティ再編マクロ 苦労して奥まで進めたハードダンジョン

みんなの寝る時間が迫る、急いでリバフ・・・ポチッとな ああああああああああああ

再編してもぉぉおたぁぁぁぁっぁあ、ゴメンまじでゴメン申し訳ない

私も過去に1時間以上かけてたどり着いたアナリア前で再編した方を知っています泣いてました

この不幸を解決しますw

まず普通の再編マクロ これは AutoPartyInvite 用

/run AutoPartyInvite.SaveUnitMember()
/run AutoPartyInvite.KickUnitMember()
/wait 1
/run AutoPartyInvite.InviteUnitMember()

やってることは簡単、保存してキックして1秒まってから誘う

これに CTRLキーを押して無いとマクロが動かないようにします

/run k=IsCtrlKeyDown()
/run if k then AutoPartyInvite.SaveUnitMember();end
/run if k then AutoPartyInvite.KickUnitMember();end
/wait 1
/run if k then AutoPartyInvite.InviteUnitMember();end


IsCtrlKeyDown() というのは CTRLキーを押していると true 押して無かったら false を返す関数
trueとfalseは on か off かを表現するためのものデス

1行目で CTRLキーを押しているかどうかを k という変数に保存します

で、残りの処理内容を 条件分岐でくくります

if 条件 then 処理 end

条件が成り立っていたら処理を実行するという文です

処理がある3行文をこの形にします

end の前に半角スペースをいれても動きますが 安全のため「;」セミコロンにしています

※ IsShiftKeyDown() を使えば SHIFTキーで処理できます

posted by ソーニーちゃん at 15:12Comment(0)マクロ

レイドメンバーの位置移動マクロ

レイド時の位置移動のマクロの作り方を書いておきます

/run MoveRaidMember([移動元のインデックス], [移動先のインデックス])

2つのパラメータは、移動させたいメンバーがいる場所を数字で設定します

数字は、パーティ1が 1~6、パーティ2は7~12 と1~36で指定します

パーティ2の空いている所にいって何かをして戻ってくるマクロ

/run _p=UnitRaidIndex("player");_mp=0;
/run for i=7,12 do if not UnitExists("raid"..i) then _mp=i;break;end end
/run if _mp==0 then _mp=12;end
/run MoveRaidMember(_p,_mp)
/run CastSpellByName("ベネフィットライフ")
/wait .5
/run MoveRaidMember(_mp,_p)

1行目で自分の位置を保持
2行目は空いている所を探します
3行目は空いていなかった場合に強制的に一番下(12)に
4行目で移動
5行目でスキル実行
6行目のウェイトは必要です
7行目で元の位置に戻ります

移動先に誰かいた場合は入れ替わります

文字数がギリギリなので、もし入らない場合は1行目から5行目を1行にまとめて下さい

/run _p=UnitRaidIndex("player");_mp=0;for i=7,12 do if not UnitExists("raid"..i) then _mp=i;break;end end;if _mp==0 then _mp=12;end;MoveRaidMember(_p,_mp);CastSpellByName("ベネフィットライフ")
/wait .5
/run MoveRaidMember(_mp,_p)

こんな感じですね


続きを読む

posted by ソーニーちゃん at 00:33Comment(0)マクロ