ミラーワールドクエストNPCの場所


MementoToTheMirrorWorld.png

ミラーワールド入場の前提クエ「Mement to the Mirrorworld」
NPCの位置が固定になり、話しかけるだけですぐ完了するように変更されました

41.8 / 60.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)マクロ

開発者とプログラミング技術

こんにちは ちょっと早めに仕事が終わってメンテなのでつぶやいてみようかなw

アドオン作ってると他人のソースコード見ることたくさんあります。
いろんな種類のコードを見ます、やたら構造化して階層が深くなっているものとかw

オブジェクト思考ってのが取り入れられるようになってからは
多人数での大規模プロジェクトには革命が起きました

私も勉強しましたが、オブジェクト思考を適用できる場合でも
わざと手続き的な冗長なコードを書くときもあります。

すこし冗長でも 手続き的なコードは何をやっているのか分かりやすい
共通的な処理だからといって 関数にしないで同じコードをコピーして実装したりもします。
定数を定義せず、直接処理の中にハードコーディングする場合もあります。
修正は大変ですが、関数や定数が増えると読み手は大変です。

仕事としてSEをやっていた時も、けっこうやってました。
それは就職したばかりの新人にそのソースコードを丸投げできるからですw(おまい仕事しろw

もし私以外の人がアドオンを直すような時が来たとき
オブジェクト思考を適用して複数のレイヤーで構成してあるソースだったら・・・
諦めるか、新たに作ったほうが速いです。

いい意味で 使い捨てくらいの気持ちで書いたソースコードの方が シンプルですし
関数が少なくネスト(入れ子)にならないので、軽い(速度が速い)処理になったりしますw

ちょこっとアドオンをたくさんリリースしていますが、全部そんな感じで作っています。

汎用的なものを作ると後々使えてよいのですが、作成に時間がかかります。
要望を出してきた方はその機能だけでいいからすぐ使いたいと思います。

同じジャンルのアドオンが増えていき管理が大変になり
汎用アドオンを作る時間的価値が出てきて始めて汎用化を考えますw

コピーしてちょっと修正して違う作品に出来るというのは、
物理的な作品には出来ないことで、ソフトウェアの特権なので活用していきたいですね


posted by ソーニーちゃん at 17:27Comment(0)日記