#艦これ 艦これ解体新書

艦これのあれこれと、主に愛宕さんファンサイトです。
※鹿島さん始めました。
本サイトは18禁です。
子供はブラウザをそっと閉じて、ポケモンでもやってましょう。

カテゴリ: システム解析

2017/07/09:
 BOTを使ってないのに猫の刑されまくりの方の投稿がございましたので返答をします。
 僕の知る限り、艦これのサーバーは有効なクリックと無効なクリックを区別しています。
 元ソースの公開は守秘義務違反でリアル法的にあぼんなので、「ヘイ!クソ運営!お前のところのBOT検知なんてダダ漏れなんだよ!」と言いたいですがここだけにしておきます。
 actionScript3.0で言えば、クリックがあったのに、クリックイベントが発生しない様な場合ですね。
 要するに無意味なクリックです。これが1軸。
 2軸目は時間ですね。一般論としてクソBOTでも12時間以内ならOKというのはここに由来します。投稿者さんはたぶん丁寧なクリックをしているのかなー、と思います。普通にプレイしていても、「はよロードしろこのクソゲーが!」とか思いながら連打してたら猫の刑にはあいません。
 逆に無駄クリック無く丁寧にクリックしていると、確率的に猫ります。(必然的ではありません)
 投稿者さんは入院とおっしゃいましたが、四肢に関する入院でしょうか?
 例えば、手首に負担が行かない様に丁寧なマウスクリックだったりするとたぶんそれが原因です。
 解体BOTは詳しくは言えませんが、随所に無駄クリックを行う箇所があり、
 もっと言うと、BOTとは思えない程、クリック連打します。←ココ重要。
 先には運営怖い的な発言からパラノイア的な事を言いましたが、
 何かもう普通に公開していいよね?コピーフリーでどうぞって気になってきました。

2017/07/08:
 大破進軍バグがありました。ふと見ると大破艦が戦ってます(大汗
 直さないと怖くて使い物になれませんね。
 でも、今まで死ぬ程2-3回っても無かったのに、2-5回しててイキナリなんで起こったのかわかりません><
 コード精査してそれでもバグが無かった場合、マウスが結構動く場所に置いていたので、妖精さんがマウスを動かしたとしか思えない…(何ともいえないけど…仕様上それしか考えられない)

コード見直しました。明確なバグ有りです。まず航海日誌拡張版の戦況ウインドウから大破等のステータスを取得しているのですが、ステータスが取れなかった場合のエラーフローがありませんでした。例えば、ウインドウが表示されていない場合や、他のウインドウに隠れている場合などは、「被害なし」と判断されてしまいます。
 また画像認識の条件が「完全一致」になっていました。航海日誌から画像を拾う場合、完全一致だと拾えない場合が稀にあるかもしれません。(まあ、適当な閾値を設定してやるだけでいいんですけど)

応急処置として、完全一致を止めました。次に時間が出来たら、この問題で絶対転ばないマンにします。

2017/07/01:
 あ。5月作戦。第三群入れました。実は賢いクリック関数のお陰で落ちなくなったので、故意に落とさないといつまででも2-3回り続けるマンになってしまい、気がつくと30時間以上2-3を回り続けているという不自然なログになってしまいまして、「これはさすがにアウトかもしれん」とおもいましたが、それでも「101位以下ならOKじゃね?」とも思いましたので、結果入賞はホッとしました。
 あと、このblogは解体新書なので、「解体BOT」と名付けます。(滅茶苦茶不審な名前…)
 それから5-4専用BOTのリリースですが、そもそも今UWSCのソース自体触ってません…
 要するに未着手です。
 もうすぐ夏イベですね…
 11
 12













































2017/06/11:
 忙しいので、進行どころか既知のバグすらとってません。
 これだとリリースがいつになるのか全くの不明なので、5-4固定。遠征なし(つまりUIが全く不要)バージョンを先行リリースする事を考えてます。全くのフリーウェアで、勝手に配布してもらって構いません。5-4レベリングにしか使えないという限定バージョンなので、厳しくする理由がないと思いましたので。

2017/06/03:
 5月作戦。100位ランキングは無理ゲーでした。最後に見たのが150位だったんですが。
「ボーキ1000から始めるランキング狙い」だったので、時間も資源も無く、戦果MAP、任務だけクリアしたら150位でした。4月作戦もランカーになれたし、前より「普通に人間がBOTを落とさないと、不自然な程動き続ける」様になったので、秘書艦に体調の心配されまくりです。
あと、賢いクリック関数ですが、更に自動運行強度を高めたいなぁ、と思いながら今の「俺専」に満足してしまい色々中途半端です。BOTへの命令用のテキストをまとめたり、でもまだα版にもなってなくて、「僕しか使えない」作りは相変わらずです。

2017/05/28:「賢いクリック関数レベル2」
 ONCLICK系関数を強力に改造。まず、誰かさんが作ったモジュールを利用させてもらって、読み込む画像ファイルの各種属性の取得が出来るようになりました。

たとえば、

IFB CHKIMG(画像ファイル,0,x1,y1,x2,y2) //標準画像認識関数
 ONCLICK(適当なxywh)//自作クリック関数。これだけでも結構複雑な事をしてる。
ENDIF

というのがこのソフトの基本的な画像チェック&クリックの流れだったのを、
適当なxywhではなく、画像ファイルの高さと幅を拾ってセットして、

ONCLICK3(適当な画像)

だけで、その画像があれば、それをクリックし、真理値を返す様にしたり、

ONCLICK2(目的の画像,変化する画像)

で、画面の画像の変化をチェックして、ボタンを押したら画面が、変化するかを判定したりする関数を実装。(これがまた相当複雑な動作をしてる。なにしろ、原則今までの「画像認識→クリック」の部分を全て一つの関数に置き換えられる様な役割で作ったので)

得にONCLICK2は画面が目的の変化をするまで、しつこくチェックを繰り返すので、BOTを無視して、任務の操作をしても、BOTは画面の変化をひたすら待つので、人間とBOTの共生というコンセプトには非常に良い流れになってきましたが、問題点は補給画面から、任務画面に行って、元に戻る画面先を忘れると、BOTは永久に補給画面が来るのを待つので、グローバルで親画面画像のパラメーターを持って、親画面画像(補給画面のどこか)が無くなったら、もう戻ってこないと判断し、メインループに戻る。という形にするつもりです。

2017/05/24:
>気になっていたのですが、 
艦これのBot検知が甘いということですが、 
稼働時間 
非人間性 

この二つの部分をクリアすれば検知されないのでしょうかねー? 
稼働時間はほぼ関係ありません。それを含めての非人間性です。

今回の春イベント時、手動で50時間やりこんでいたユーザーが検知に引っ掛かったという報告もあるため 
逆に今のランカー上位陣はどのように潜り抜けていると思いますかー? 
BOT検知(猫)は確率論的動作をしていると思います。4日間ほぼ無猫で動く時もあれば、15時間位で猫が出た事もあります。身内にも全くBOTを使っておらず、かつ常識的なプレイ時間なのに、猫られたという報告がありました。ランカー上位は「猫ろうが構わずプレイ」してるんだと思います。

(個人的に6割はBotなんじゃないかと疑っています。) 
それはあり得ません。ランカー100位程度なら、BOT検知プログラムで判定しますが、ランカー10位以内はデータを人間が見て判斷しているので、相当人間らしい動きをしないと、人間の眼は誤魔化せません。例えば、前までは修理の後に必ず補給という流れをしているので、このコマンドの流れは100%揺るぎないものでしたが、今はランダムで修理が先か補給が先かを決めています。それでも、コマンドの流れはハードコーディングなので、徐々に全体の構造を乱数的な流れになるようにしているところです。でないと人間の眼で見れば一発でBOTだとバレるからです。

>人間性をもたらすのに、無駄な待機時間、関係ないところをたまにクリックさえ心がけるものを作ればいけるのでしょうかね。 
それだけではなく、挙動です。例えば補給ですが、今は遠征第二艦隊から第四艦隊までかならず舐める様に補給チェックをしていますが、人間なら、第三艦隊が帰ってきたら、第三艦隊しか補給しない筈です。
結論を言うと、人間はBOTに比べて極めて効率的なプレイをしています。
「どうでも良い部分はどうでも良く、こうするのが答えだと言える様な動作はその様にプレイしているのが人間だと言えます。そしてBOTは現状人間には程遠い動作しかしていません」

>画像認識でクリックも認識した座標ではなく、その画像がクリック判定される範囲でランダム座標を置かせているとかでしょうか。
その通りです。加えて言うと「誤クリック」も人間の特性です。より正確に言うと、ショットガン式ランダマイズ(中央から放射線状に誤クリックがされている)のが人間ですが、現状、「矩形での乱数化」しかしていません。なので、クリックMAPを作ると、人間の眼には人間なのかBOTなのかは一目瞭然です。
なので「BOTで100位以内に入れた」のはBOTチェックを人間がしていないからであり、10位以内であればBOTチェックを人間がすると思います。なので現状10位以内のランカーでBOTが居るとは思えません。
まだ当てずっぽうですが、一応、上記の様な事を考えています。

2017/05/17:またまたコメント頂きました。今度は明確に「欲しい」との事なので、一人でも欲しいと仰る方がいれば、公開に向けて舵を切りたいと思います。今までは「俺用」「実験スクリプト」「バグってても気にしない」という3大害悪に蝕まれていましたが、公開するに当たってはそうは言っていられないので、とりあえずコードの整理をしつつ安定性を目指します。
次には公開用のコードですね。
前も言った様に二次配布禁止コードを書かないといけないので。こんな辺境のBlogにたどり着いた方にはサービスしても良いと思うんですが、とにかく運営にバレるのが一番怖いので、何が何でも二次配布禁止。別にこのBOTで利益をあげたいとか、広めたいとも思ってない。ただ僕の暇つぶしと自己満足の為に存在するので、アマギフもお金も欲しくありません。ただ、本人確認の為に僕の口座に100円でも振り込んでくれればいいです。口座振り込み+フリーメール禁止+二次配布禁止+ISP登録で、たぶん運営に見つかっても手も足も出ないでしょう。UWSCはproだとexe化(コンパイルでは無く、スクリプトをexeで包んでくれる様です)出来るので、exe形態での配布。これだけガチガチにして利用者が極小なら艦これの運営も目を瞑ると思うのでOKでしょう。

どうでもいいですが、まるゆ解体バグ直りました。ていうか、フォントの抜き色画像を作るのが面倒くさかったです。PhotoShopだいぶ長い間使ってなくて今のPCに入って無いのでGIMPでも入れようかと思いましたが、たかだか画像1枚の抜き色絵を作るのにアプリ入れるのも何だかなぁと思い、Windows標準のお絵かきソフトでチクチク直しました。動作確認は完璧。まるゆはまるゆとして認識されて弾かれる様になりました。ただ、解体数指定を多くすると、ページをめくらず、11隻目、12隻目と、どんどん下へ行き画面外へとカーソールが移動するのはご愛嬌。ロック艦2隻見つけたらその時点でbreakする様にしよう。


2017/05/15:初めて、コメント頂きました。ありがとうございます。
さて、春イベは問題なく甲クリア。オール甲維持してます。E2まるゆ掘り対応スクリプトを書きました。ただ、丸一日動かして釣果無し。結局問題はE2を乙クリアしたので、ドロップポイントが1箇所減ってるというので、大回りするコースに変更。この変更で3時間位動かしたらまるゆ1匹釣れました。
しかし自動解体からまるゆを弾くプログラムがどうもうまく動作していなかったらしく、まるゆ1隻目の前で解体されてしまいました。><
今はすくなくともまるゆを弾く判定が動作していなかった場合、解体のボタンが表示される手順に変えたので、もしまるゆで解体ボタンが表示されたら、素早くスクリプトを停止しなければならないという…
色々面倒くさいですし、スクリプト停止バグはほぼ絶対取れない(スクリプト動作中でもマウス操作を受け付けるので、スクリプトが動いている時にマウスを動かされるとバグる可能性が高い)
ですが、ほぼあらゆる艦これBOTには無い特徴「サーバーのBOT判定を掻い潜れる」というのはオンリーワンなので、安いタブレットPCを艦これBOT専用機にして、ほぼずっと動かしていてもBOT判定に引っかかりません。現状見る限りでは相当ヌルいです。
むしろ他のBOT製作者が何故艦これのBOT判定で黒食らうのか全く理解出来ません。

2017/04/30:3月作戦の報酬が貰えました。BOT使ってたのに、猫の刑にあってなかったので、もしかしたら大丈夫かな?と思ったら、報酬貰えちゃいました。これ実は凄い事です。BOTでランカー入りって。
ScreenShot_20170430044931ScreenShot_20170430044847













































ScreenShot_20170430044758
























細かいBUGFIX。でもまだまだ細かいバグが多くて、特に停止バグが多いです。ユーザーの操作を同時に受け付けるというコンセプトなので、修理のタイミングでユーザーが母港に戻る操作をすると、停止します。極端でも何でもない話、置いてあるマウスが何かの拍子で動いただけで止まります。どうしようか思案中。
2017/04/18:1ヶ月ぶりの更新。2-3ローテーションで色々変わりました。
まず可能な限り修理ドックを使おうとします。修理ドックの4つ目はバケツ専用ドックになります。(全部バケツにする事も出来ます。その辺りは設定値になってます)
ローテーション出撃時に「修理中がいる場合」「疲労している場合」出撃出来ませんので、
即次のローテーションに回します。
出撃可能編成を見つけるまでローテーションは続きます。
大体、オリョクル潜水艦艦隊6編成位無いと修理中で3部隊取られる事があるので、キツイです。
でも、これで極力バケツを節約したオリョクルが可能になります。
Threadを使いすぎて、タイミングを取るのが滅茶苦茶難しくなったので、開き直ってThreadは一部にしか使わない様にしました。
修理ドックの最適化をしました。今までは無駄な動きが多かったのですが、ほぼ人間がやるような動きで修理ドックを扱います。
「無駄マウス動作」を色々差し込みました。
職人さんが一つ一つ手作りで無駄な動作をプログラムしてます。出撃するエリアの選択を1発選択じゃなくて、2,3回クリックしてサブウインドウを開けたり閉めたりした後に決定を押したりとか。
なお、誰もこのマクロを使いたいと言わないので未だに僕用です。

2017/03/18:ゲーム的には色々進展はありましたが、BOT開発はまるゆ掘り用に自動解体でまるゆを弾く機能を実装。(同じ理屈で北上、大井、三隈等特定艦を弾く機能にもなりますが面倒くさいのでまるゆのみ実装)なお、試験するも資材が尽きるまで掘ってもまるゆは出ず…
2017/03/10:UWSCにはマウスを直接イベントとして対象ウインドに投げる機能があるんですが、これを使うとユーザーがマウスを普通に使いながら、艦これのBOTはユーザーマウスとは無関係に動作します。ところが、艦これではこれが使えない。一晩中かけて調べた結果、通常のブラウザを使う限り、(HTMLに組み込まれたjsの細工のせいで)、マウスイベントを送り込むとDMMネットゲームのトップページが表示されてしまい、動作しない。専ブラを使えば巧くいきそうですが、とりあえずこの方法は失敗。
2017/03/03:冬イベは資材が切れて資材課金して甲クリアしましたが、資材稼ぎに時間がかかり、まるゆ掘りの時間が無く、ラスト1日でまるゆ掘りBOT動員で一応まるゆが2隻掘れました。
資材と時間さえあれば…と思うイベントでした。
2017/02/22:艦これのBOT対策内部コード観ました。まあ常識的に考えて社外秘ですけど。想定していた通りのところや、「僕の考え過ぎ」なところもあり、ただ、今後の対策も分からないので、「今の艦これに最適化」は止めておきます。
ヒントというか、当たり前のことですけど、「人間はミスやムダをするが、機械はしない」ですね。
本気で「BOTでランカー」狙えそうです。
ただ、バグがまた良い感じに人間ぽくて、長時間放置すると、特定のタイミングで「無限停止」バグが起こります。
「これ、人間で言う、休憩時間モードの実装、不要じゃね?」と思えるので、放置してますけど。
直す労力と真っ当なコーディングよりバグってるメリットの方が大きい。
商品じゃないもんな。誰も僕のBOT使いたいなんて言わないし。
色々、UI作ることも考えましたけど、「別に今のままで僕一人が使う分には困らないよね」って感じです。

2017/02/13:開発言語をバラします。
基本これでどんな事をやろうとしてるのか分かる人には分かると思いますが、今まで言語を伏せていたのはもったいぶっていたのではなく、UWSC界隈がBOT作り特化なおかつ、「カス」が多いからです。
UWSCの艦これBOTの公開コード見ましたがお粗末過ぎです。こんなコード対策取れと言われたら半日あれば出来ます。UWSCを使って、運営にバレないコードを書く為に「UWSC」の名前を伏せていましたが、
UWSC界隈は粕が多い中、Threadを使った極めてコアな人を見つけて、それを応用させて頂いたので、その人は別に再利用に何の制限もかけていませんでしたが、一人でもマトモな開発者が居るなら、コードは公開しないけど(それをすると全てあぼんなので)少なくとも出せる情報はオープンにします。

あと、裏BOT(僕が参考にしているBOT)は既にイベE1対応してますが、イベどうしようか悩んでます。
個人的にはまるゆ掘りBOTが出来ればそれで良いし、まだまだ自分で使う用の域を出ていませんが、
どこからもニーズが全く聞こえて来ないので、チラシの裏程度に書き続けます。

キラ付け用に便利で簡単なアイデアが浮かんだんで、あ号攻略も兼ねて1-1キラ付けコード書こうかな、と。
ただ、アホの子やめんどくさがり屋さんが多いので、バイト艦+円陣でキラ付け艦にはほとんどダメージ受けずに、なおかつ効率的にキラ付けが出来ないか考えてます。ただ問題なのがコンディション値を航海日誌からパクるのがクソみたいに面倒くさいので、その点でどうしようか、考えてます。アホの子なら、絶対値で書いちゃうだろうけど、それコーディングで一番やっちゃいけない事の一つだから!可視性(コードの読みやすさ)がガタンと落ちます。UWSCは基本言語構造自体は最低レベルの要件を満たしていないクソ言語なので、無理は無いですが、「画像認識」とか、Windowの管理とかに特化している、まあ半分マクロみたいな言語なのでやむなしですか。
なお、裏BOTなるものも「猫の刑対策」は取っていません。こんな簡単なBOT検知の手口に誰も対応しないなんて、バカじゃねーの?艦これのBOT掲示板みても半日猫の刑は確定事項になってるし。
こっちは1週間で書いたコードが4日間動き続けたよw(で、猫った<通称アルティメット猫の刑>)

2017/01/21までの1週間のまとめ
・開発コンセプト
1)極力猫の刑に合わない(人間らしい挙動)→出来ればBOT使いでのランカーを目指す
画像認識+パケットキャプチャ(航海日誌拡張版タダ乗り)で人間らしいプレイを自動化。
2)実用的な動作(5-4レベリングやオリョクルローテーション等に実用可能なもの)
3)フルオートメーション機能の充実(デイリーの建造はどうせオール30なので、工廠に入って建造完成したものは自動的にオープンする等)
4)配布は進捗次第では考えます。可能なら公開する方向で。ただし、EXEオンリーでの公開(ソースコード非公開)+メールでのアクチベーションコードの配布です。だって運営にバレて対応取られたら即死だもの。バレない様にするしかないです。アクチベーションコードの配布は二次配布禁止を明確にする為に認証サーバーを置いて、重複するログインキーでの接続があった場合、その両方のアクチベーションコードを無効にして使えなくします。
5)航海日誌拡張版との連携(ていうか、航海日誌拡張版の画面開けてないとエラーが出ます)これで、画像取得系マクロとパケットキャプチャ系マクロの美味しいところ取りが出来ます。(でもこれは考える余地あるかも。なぜかというと、Windowsのフォント設定で画像が変わってしまうので、その人のWindowsの設定ごとに画像が必要になるからです。でも現状、コンディション値の取得は航海日誌拡張版から拾ってますので、そもそもコンディション値はマスクされてますから、「最悪ユーザーに自分の環境でのマクロ用画像をキャプチャしてもらう」かも)
6)GUI系未定です。どうしようか悩んでます。プログラミングプラットフォームがGUI系に弱いのでアホみたいなダイアログしか出せないので、HTMLか、VB連携かEXCEL連携(OPENOFFICE=無料のOFFICEツールでも可)の3択っぽいですが。どれもめんどくさい…「連携」って名前がつくのはどれもめんどくさいです。

現状
・まず猫の刑リローダーを作りました。
 猫ったら自動的にリロードしてゲームを再開します
 ・最初の目標は5-4周回BOTです。
 ローテーションしなくていいし、基本難しい事は無いので割と簡単に出来ました。
 ・次にオリョクルローテーションを作りました。編成1→オリョクル→編成2→オリョクル→編成3…ですね。
簡単に出来るかなーと思ったら、これ自体は何かノーミス(エラーなし即動作)で動きました。
・一応、1-5とか、4-2とか、3-3とか使いそうなのは組み込みました。絵の切り出しがとにかく大量に要るので、最初は面倒くさいので使う分だけ実装です。この辺りは出撃のMAP構成は変則性が高いので、全て直画像+生コーディングです。
・遠征の実装。遠征とオリョクルが同時に動いたりするとタイミング的に面倒です。今でもタイミング次第では稀に補給無しで遠征に出してしまう事があります。(遠征前補給チェック未実装。これはいつかやります)
・ 遠征は決め手になる画像があまり無いので座標決め打ちで動かしてます。まあ、目分量でコーディングしましたけど、変な動作は無いみたいなんでOKぽいです。でも最終的にはデバッガー募集するかも。
座標決め打ちのお陰で出撃みたいに3-5未実装とかは無く、全遠征に対応済です。
・4日間連続して動かしましたら、4日目に1回猫りました。
おおよその想像はしてましたが、猫の刑システムは座標を艦これクライアントが記録して確率論的に猫を発生させているんだと思います。僕の子がマクロ全く使ってないのに、僕はプレイ出来ているのに子供だけ突然猫とかあったのは偶然(確率論的)猫の刑発動だったんだと思います。
・猫の刑システムに関しては事前に1日12時間までのマクロプレイなら猫らないというのはマクラーには周知の事実ですが、4日連続猫無しプレイ可能だったというのはテスト段階にしては成功と言えるでしょう。
 ・遠征/修理モードの実装。通常(単独編成、ローテーション編成出撃時)はバケツ修復ですが、出撃しない遠征モードでは、修理はバケツを使わず、ドックを順次空いている順に使います。これは大破>中破>小破で修理をします。未実装ですが、ローテーション出撃モード←→遠征/修理モードをオートで切り替えるシステムがあると面白いかも。そうすると動作もより自然=猫の刑に合わない+バケツ節約。
・キラ付け半自動(バイト艦設定手動)一応、1-1でバイト艦を手動で雇ってキラ付け。ていうかむしろ各種自動機能を止めて、1-1で自動戦闘するだけのモード。せっかく航海日誌拡張版利用を前提にしてるんだからコンディション管理も出来たら便利かも。(未実装)

既知のバグ:すげぇたくさん。今も演習要員がそのままオリョクルに出撃していった…
特定の画面からのマクロ開始以外変な動作になる
 イベ・新規艦完全未対応。「めんどくさい作業を自動化する」のが目的で、せっかくのイベまで自動化したら、艦これの何が楽しいのか訳が分からんので、やりません。特に新規艦だろうが所持艦数MAXになると10艦解体します。原理的には解体除外艦とかは可能ですが、作るのが面倒くさい割に使い道が無いので実装しません。
 
色々問題あるけど、1週間でそれなりに形になった。つか5-4とオリョクルと遠征さえそれなりに完成していれば、ほぼ8割完成なんだよね。残りの2割に90%の時間使うのが普通だけど。

現状で完全に失敗したもの。「任務の自動化」→勝手に操作される割に動きが鈍くて、自分で操作した方が手っ取り早い。やっぱマクロは繰り返し性の高い作業でないと寂しいわ。

・2017/01/26
色々バグ取り。ていうか、実験的なコードはそのままだと使えません!
実は「大破撤退コードは機能していなかった」これすげえ怖いwオリョクル要員がいつの間にか1隻減ってた謎がこれで分かりました。後は「夜戦後の大破で<航海日誌拡張版が見つかりません>で動作が停止する」これは?????で、検証実験もなかなか出来ないので、放置。
陣形選択関連がバグる。まず陣形選択が正しく行われない様になって、しばらくイジっていたら、陣形選択画面で止まる様になって、?????なのをなんとか紐解いて、直す。ホント、今まで動いていたのが不思議なコードを書くのが僕は得意だなぁ…関連して、例えば2戦目だけを夜戦指定とか正常動作。「あ号任務」なんかもマクロでGO。関係ないけど3-3任務もマクロでGO。
しかし、艦これBOTの反応が何か鈍い気がするので、自分用でもいいかなぁって思い始める。
GUI作るのすげえ面倒な割に本来の機能には余り関与しないので。
またはsetup.iniテキストに直接どういう動作をさせたいのか、メモ帳で書いてもらって、起動させて貰うとか。
(GUI=グラフィックユーザーインターフェイス、なおテキストを使ったインターフェイスをCUIと言います)
しかし、1週間以上動かして、猫の刑1回っていうのはマクロ動作としては非常に優秀だと思う。(自画自賛)
これで1日に1時間位、自動的に休むモードを入れればただの廃人ゲーマーにしか見えないので、マクロで500位くらいはいけそう。今月は500位無理なので、来月試してみます。100位以内だと運営のチェックも相当厳しいと思うので、やめたほうがいいかも。
 
・2017/01/27
書けばバグは増えますが、書かないと進行しません。なんか、この企画すげー反応薄いんで、僕が使う用でもいいかなーと思いますが、一般提督に一言。
運営の言う「マクロ、チート行為はお止め下さい。BANの対象になります」→BANされません。
1,2年位前にチーターを運営は大量にBANしたんですが、それで課金が相当減ったんですよ。
結局廃ゲーマー=チーター=重課金兵だったという事です。
なので、今運営が言うマクロ関連の発言は全部「ふかし」です。
ですから、マークされる不安はあっても(ランキングから外される)、今はBANはありません。
ていうか、チーターは日常的にマクロ使ってます。どこまで使えば、猫の刑に合わずにすむか、とか。
この艦これBOT開発の動機は「何日間も猫らない最新鋭のBOT」です。
実際まあ、それはほぼ可能(4日間連続動作後猫った)だった訳で、4日間不眠不休のプレイヤーなんていないよね、って言う猫回避システムとは別のシステムで猫ったんだと思います。
あ。それから、猫の刑リロードシステムは排除しました。4日間連続動作後の「アルティメット猫の刑」だとリロードが効かないからです。IEの再起動からやらないとダメなんでめんどくさいんで止めました。
そんな事する位なら、猫の刑にあわない工夫をした方がマシだと思いましたので。
それから今は、任務に合わせて色々書いてます。まあ、あ号オリョクルとか、北方任務3-3周回とかですけど。
基本ウイークリーは全部マクロで出来る様になりました。まあ、既存のコードの拡張ですけどね。

・2017/02/01
細かい実用面での挙動を詰めてます。ドック入りの挙動とか。本当はドックの状態を記憶して毎回確認する必要も無くすればベストなんだけど、それをやるにはドック入りの時間取得=数字を拾わなければならない=激難しい。ビットマップの数字列をキャラクタ列の数列に直すなんて滅茶苦茶難しいよ…
まあ、色々変な動きをする部分を潰して、これなら良いだろうって動きに直してました。
後は人間には不可能!って程でも無い程度の範囲での高速操作。ざっくり「9秒待つ」とかじゃなくて、0.5秒単位で「目標の画像が拾えたか?」をチェックしたりとかに書き直してます。場合によっては8秒じゃあダメで、10秒だと何か長過ぎるとか思えたので、いっその事何秒単位の待ち時間は処理に負担の無い範囲で画像認識をループさせたりしてます。キビキビかつ、適切&漏れ無し。
そんな感じで挙動に関する不自然さを片っ端から潰してます。半分位出来たかな?

・2017/02/07
まだ細かいバグや、未着手項目はありますが、基本使えるものになりました。昨日も丸一日オリョクルさせてましたが、何の問題もなし。ただ、一番大きな未着手項目はGUIが無い。です。設定を変える時はまだプログラムコード(と言っても先頭の数値だけですけど)を書き直す必要があります。せめて設定ファイルを読み込む形式にすれば、最低限公開出来そうなんですが…なんか、ここのログ読むと注目してる人がほとんど居ないので、まあ、自分用でいいかなって思います。公開してほしい人がいたら、コメント残して下さい。
                                                                                                                                                      

前提)
分かりやすい確率の話です。
2人の人がいます。
1人目は歩けない人で歩いた歩数は0歩。
2人目は歩ける人で歩いた歩数は1歩の時、
ある人が歩ける歩数は何歩でしょう?

ここで0.5歩とか答えちゃうのが(線形)確率で、艦これで言う「ドロップ率」です。
でも世の中そんな器用な人は居ませんw
なので、正解は0歩または1歩です。

驚きの予備知識)
艦これのサーバーに0から始まる数字の六面体サイコロを振らせました。
1の出る確率はいくつでしょうか?

六分の1←模範的不正解

0←実装に基づいた正解(典型的なサーバーの落とし穴の中におけるサンプル)

なんと、0なんです。
理由はサイコロの目を偶数倍でしか作られないからでしたーwwwwwwww(艦これに限らないですが、よくあるサーバーのバグなんですw)
なので、サイコロに書いてある数字は、0,1,2,3,4,5ではなく、
0,0、2、2、4、4なのですw
ね?1なんてどこにも無いでしょ?

端折ってますけど、こういう事もあるんだよ、と。

艦これ的表現における、極論。
艦娘1のドロップ率は0!

以上の事から)
ドロップ率集計システムの2%とかは大集団からの総集計なので出てくる数!
出るヤツは1回でもアクイラ出る!
出ないヤツは100回回そうが出ない!←観測的事実

+ナイショの事実)
艦これのドロップには、ハマる状態があり、
これに陥るとレア艦のドロップが、100回やろうが、200回やろうが出ませんw←非公開ソース!

問題)
ドロップにハマるには2つの原因があります。
1)艦これは自分のログイン状態をずっと維持してプレイしている

→PCの電源を落とそうが、キャッシュをクリアしようが、クッキーをクリアしようが、無駄!
逆を言うとログイン状態を維持する細工をすると、BANされようが、艦これはプレイできちゃうwwwww
(詳しくは難しい話をあちこちソース探してぐぐりまくらないといけないので端折ります)

2)同じ状態の時、艦これ(+ナイショの事実)の作る乱数には、偏りが存在する。→艦娘1のドロップ率は0!
 
解決策) 
「自分もしかして、ハマってる?」と感じた時。
 そう、例えば、掘りで48周しても全部那珂ちゃんだった時。
BZmJo5ACMAAPMw5






















答えは「ハマったと感じたらDMMからログアウトする」です。
色々疑問も残しますが、確実に言えるのは、これです。
「DMMからログアウト?なにそれ?」と思った方。
なんと、あれだけみんながワイワイ騒いだ問題の解決ボタンは堂々と置いてありましたw
ScreenShot_20160821114524

 




























ロwグwアwウwトwボwタwンwwこれかよw
毎回押す奴なんていねーよwwwwwwwwwwwwwwwwwwwwwwwwwww
もう大草原不可避ですが、何百万の人が振り回されたものの答えがこんなに堂々とw
 
詳しくはDMMのサーバーとログインサーバー(ログイン認証)のセッション処理の話になり、
ちょっとSE系の人でないと説明出来ませんが、
ログインサーバーを経由しただけだと、
果たして本当に自分の状態が新しくなるかどうか不明という結論が現状なので、
DMMサーバーから「ログアウト」してしまえば確実です。

FAQ
ある人:結局ドロップは運なんだと思います

僕: 運という言葉は便利すぎるんですよ。1回でアクイラドロップした人もいれば100回回してドロップしない人もざらです。ここで問題にしているのは、2%ドロップの筈なのに100回回して出ない人が多いのは何故か?です。50回回した時点でDMMからログアウトすれば、残り50回も出ないという可能性を回避出来る可能性が非常に高いというのが今回の発見です。

このページのトップヘ