プラズマBOTの反乱


(2009/03/02)
(2009/11/02追加・修正)
(2010/02/18追加)

何故プラズマをするのか?人それぞれに目的があることでしょう。
・材料集め?
・マッカ稼ぎ?
・レアドロップ?
・仲魔クエ?

実装当時は期待感から人口密度も高かったし、雷神剣の出る場所は競争も激しかったものです・・・(≡。≡) 遠い目
刀匠・アームズが見放されてしまった現状では仲魔クエでする人が一番多いのでしょうか?

慣れないと(慣れても?)中々上手くいかないものです・・。ナカノの黄色いのとか、ギリ沸きの超高速とか・・・
Stopを押す→離すの「離す」時が判定条件なので、手動に拘るのであれば「押しながら待って」タイミングを見計らって「離す」が良いかな

話しは変わりますが、自動化した時にどの程度であれば規約に引っかからないでしょうか?
ここ(マクロ使いの憂鬱)に纏めてみた

結論としてはプレイヤーがPCの前に座っていて自動化させている分には引っかからないようです。
つまり、
・プラズマを探す
・移動する
・プラズマをクリック
・目押し
・遺品回収
前半を手動、後半を自動にすればOKかな?

遺品回収はAutoCollectモドキと似たようなものなのでそこから流用するとして、問題は目押しの部分かな。

・プラズマ画面になるのを待つ
・マーカーが動き始めるまで待つ
・色つきエリアにマーカーが来たらStopを押す

手動でするなら凄く簡単な事です。


プラズマ画面になるのを待つ
   目で見て判断するときに何をもってプラズマ画面だと認識しているのだろうか??
人は感覚的に判断できるがスクリプトではそうは行かない
色々試行(ショトカなど)した結果、左上に表示しているPCステータスのHPバーの有無で判断することにした。

マップ切り替えなどステ窓が消えるとプラズマ画面と判断してしまう・・・

マーカーが動き始めるまで待つ
   マーカーが動き出す前にStopボタンが明るくなるので、それで判断が出来る
座標のチューニングは必要でしたが結構簡単!

色つきエリアにマーカーが来たらStopを押す
   この部分はさらに2つに分けることが出来て、
1、色付きエリアの座標算出
2、マーカーがその座標に来たらStopを押す
となる。

とかとかをパターンマッチすれば良い

は当初、「マーカーが右端に到達する時間と色付きエリアの座標」から「色付きエリアまでの時間」を算出しようとしました。 がが、そこまで細かな時間制御が出来なかった・・・。
結局、「色付きエリアの座標にマーカーのオレンジ色が来たら」って条件に変更。
実装時には画面とのシンクロを考慮して3箇所でチェック。



解像度は1024x768の窓モードのみ動作確認。座標を固定で指定しているので他のモードでは変更しないと動かない。


(2010/01/05)追記
acと連携するようにしたのでファイルを統合
(2010/02/18)追記
解像度を自動判別するようにしてみた

http://homepage3.nifty.com/sherry/imagine/file/ac20100218.zip