マクロの誤クリック防止

再編マクロ.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)マクロ

ケネドリルの切替マクロ

ケネドリルの切替えをしたいという要望があったので調べました


/run PhantomEquip([スロット番号] , [ケネドリルID])

スロット番号は 1 か 2
ケネドリルIDは

250000 リフィスト
250001 ベンダー
250002 メルジー
250003 マイ
250004 サロ
250005 ウォリン

スロット1にサロ スロット2にマイを入れたい場合

/run PhantomEquip(1, 250004)
/wait .1
/run PhantomEquip(2, 250003)

この3行でOK /wait .1 は入れないとだめみたいです


次にケネドリルのスキルをマクロで実行する方法

スーツスキルと同様に、ショートカットに入っていること

アイコンのパスで判定して UseAction を使う方法です


/run for i=1,80 do if GetActionInfo(i) == [アイコンパス] then UseAction(i); end end

アイコンパスは

"interface\\Icons\\boss_skill\\skill_boss_skill_127.dds" Burning Aggression
"interface\\Icons\\boss_skill\\skill_boss_skill_132.dds" Sprit Illusion
"interface\\Icons\\boss_skill\\skill_boss_skill_38.dds" Prayer of Destruction

\\ は半角の¥¥

サロマイにして Burning Aggression を使い、マイウォリンに戻すマクロの場合

/run PhantomEquip(1,250004)
/wait .1
/run PhantomEquip(2,250003)
/run for i=1,80 do if GetActionInfo(i) == "interface\\Icons\\boss_skill\\skill_boss_skill_127.dds" then UseAction(i) end end
/run PhantomEquip(1,250003)
/wait .1
/run PhantomEquip(2,250005)

文字数がギリギリですが/wait は必要です