PC・ゲーム前回よりももう少ししっかりとした内容になったので、2パターン記載する。操作手順が一定の繰り返しのパターンと、操作分岐が多いパターン。手順がほぼ決まってるループの場合。手順が決まっている場合は、上記のように順番にマウス操作させる。無限ループする場合はwhile-wend,回数決める場合はfor-nextを追加する。止まりやすい所では、sleep()でインターバルを取ると改善することもある。後々まで流用したいので、今回は操作ごとにuwsファイルを分け、使い回しし易い(多分)ようにした。ファイルが多くなってしまったので、フォルダを分けて整理した。各uwsファイルの一例。画像を認識するまでwhile-wendをループし続ける。気にする必要がないので、手順が決まっている場合はこれを並べるだけで十分動作する。chkimgxのパラメータも追加した。画像ファイル後のパラメータは[ID,x1,y1,x2,y2,番号,判定閾値,着目する色]。IDは思うように設定できなかったので、使っていない。設定すると認識精度も捜査時間も向上する。判定閾値は1-10%くらいの範囲で設定するのがよさそう。通常は5%で問題ない。パラメータ設定が必要なのかわからないが、chkimgxは文字の画像認識が思い通りに動作しないことが多かった。ランプが5個並んでいて、1個点灯、2個点灯・・・の違いを認識させる場合は、1%設定のほうがうまく認識した。クリック後のmmvのカーソル移動はこの後の操作でマウスカーソルが邪魔にならないように、検索範囲外に移動させている。上記は載せきらなかったが、以下elseif文が10くらい続く。操作手順が複雑になる場合、このようにifb,elseifですべての操作に対応させるのがいいと思う。ブラウザゲームなので、複雑といってもそれほど操作種類は多くないから。trueは無限ループ用。trueはif文のいずれかを実行するまでループさせる。if文は上から順番に実行するため、優先順位の高い操作を上に書いていくことが大切。各操作が終わったら、一旦breakでループから抜けることが分かりやすくていいと思う。各操作の後にmmvで微妙にカーソル位置をずらしているのは、どこで止まったか分かりやすくするため。デバックで便利しただけなので無くてもいい。if文だけでは処理できない場合は上記のようなcall文で対応すれば、大抵の操作は出来る気がする。chkimgxを毎回starup/shutdownで処理しているが、試行錯誤した結果なので、一番最初にstartup,一番最後にshutdownを入力するだけでいいのかもしれない。100周くらいは止まらないようにUWSCで出来ないか、と試行錯誤してたら、UWSCでマクロ作るほうがゲームするより面白くなってしまった。改善の余地はあるし、ゲーム側のバグだったり、予想外のことで止まってしまうことはある。順調なら一晩くらいは止まらなくなったので、ちょっと満足。PC・ゲームブラウザゲームをやっていると、どうしても周回が必要になることが多く、面倒くさいのでUWSCを使って簡易的ではあるけど自動化してみた。プログラミングは素人なので忘れないように書いておく。やりたいことは、ゲームのクエストの周回。完全自動化はハードルが高いので、まずは行動力が枯れるまでの数十周を自動化させること。用意するものはUWSC本体、あいまい画像認識につかうChkimgx。更新の止まっているUWSCを使う理由の一つは、このChkimgxを使いたいから。UWSCフォルダにChkimgx.dll、Chkimgx.uws、Nekoaddon.dllの3つのファイルをコピー。クリックしたい画像もUWSCフォルダにコピー。準備が終わったらuwsファイル作成。各パラメータはあまり理解していないので適当。Chkimgxで画像検索し、見つかったらクリック。breakで次の処理へ、という流れ。初心者なので、breakコマンドにたどり着くまで時間かかった。基本的にクリックだけでも周回できる場合も多いが、戦闘時間にばらつきが出て途中で止まる。時間マージンとると、時間がかかりすぎたりする、といった場合に画像認識を使うのがいいと思う。画像認識をもっと増やせば周回時間が短くなるかもしれないが、反面、アイコン画像なんて、イベントやメンテナンス等ですぐ変わるものなので、単純に変更するのが面倒くさい。気が向けば、なんとなく出来そうなので、回復アイテムで行動力を回復しクエスト無限周回をやってみようと思う。カメラ横の立ち見最前選択。VRカメラが視界に入り、非常に不快。正面中央に配置する神経を疑う。女性優先ということで、Bingoは1巡でも座席後方か、立ち見最前の端の選択で立ち見を選んだ。対外よりマシ、くらいの感じで応募するのがいいかも。