巷で話題になっているスマホゲーム「ウマ娘 プリティーダービー」のリセマラを自動周回させます。
はじめに
ウマ娘の最終目標である「URAファイナルズ」に出場するため、リセマラを使って出来るだけ有利にスタートダッシュを決めたい。
そのためリセマラを何十回もやって、キャラクターを厳選する必要があります。
1回のリセマラが5分以内で終わるので、そこまで苦じゃないがやっぱり楽をしたい。
そんな私の欲望を叶えるため、ひと肌脱いできました。
目標
この記事を読んで出来ること。
1周する毎にフォルダの中にガチャ結果とデータ連携の結果が保存されて行きます。
1周5分ぐらいかな、たまに失敗してるけど。
それぞれのフォルダの中身はこんな感じ。
今の時期だと10連ガチャが7回出来るみたい。
あとはガチャ結果がよかったアカウントを、データ連携で戻して最高のスタートダッシュを決めます。
さらに今回の方法を使うと、マウスカーソルが奪われずに複数のNoxPlayerを同時に操作してリセマラを行うことができます。ネットサーフィンしていても問題ないですよ。
準備
Python
NoxPlayerを自動操作して、ウマ娘のリセマラをしていくのに Python をインストールする必要があります。 Python はインタプリタ型のプログラム言語で、Microsoft Store から誰でも簡単にインストールすることができます。
こちらから Python 3.8 をインストールして下さい。若干バージョンが違っていても問題ありません。
アンドロイド自動操作モジュール
NoxPlayerを自動操作するために、アンドロイド自動操作モジュール を使います。なので事前に、コマンドプロンプトからインストールしておきます。
インストール方法
「Win」キーと「R」キーを同時に押して「ファイル名を指定して実行」ダイアログに「cmd」と入力し、コマンドプロンプトを開きます。
で、開いたコマンドプロンプトに 下記コマンド を入力して アンドロイド自動操作モジュール をインストールします。
1 | pip install android-auto-play-opencv |
Successfully と出ればインストール成功です。
ウマ娘自動リセマラ周回スクリプト
Python の準備が整ったので、私が組んだ ウマ娘自動リセマラ周回スクリプト をダウンロードして展開しましょう。
https://github.com/noitaro/python-umamusume
上記サイトからを ウマ娘自動リセマラ周回スクリプト をダウンロードし、
展開すると「umamusume.py」とテンプレート画像が入っています。
NoxPlayer
次に NoxPlayer をインストールします。NoxPlayer は PC上でアンドロイドを動かすことが出来るツールです。複数同時起動ができるので、いろいろなアプリを同時に実行することができて、とっても役にたつツールです。
NoxPlayer を使う場合は 64bitベータ版 を使うことをオススメします。
私の環境で試したところアプリ起動時によくクラッシュしていましたが、64bit版を使うようになったら多少改善されました。まあ落ちる時は落ちるので、気休め程度ですけどね。
解像度 960x540
今回のスクリプトは「解像度 960x540」で作っちゃったので、このサイズでしか上手く動かせません。
タップ位置とか比較画像のサイズを再設定すれば別の端末でも動かせるので、別の端末で動かしたい人はスクリプトの修正が必要です。
ウマ娘 チュートリアル
事前にチュートリアルを1回終わらせて、スキップ出来る状態にしておいて下さい。
実行
展開したフォルダに「umamusume.py」が入っています。
そのフォルダでコマンドプロンプトを開いて Python を実行すると自動で動き出します。
1 | python umamusume.py |
コマンドプロンプトの開き方は?
「umamusume.py」があるフォルダでコマンドプロンプトを開かないと正しく実行されません。
テンプレート画像が相対パスなので、ちょっと注意が必要です。
エクスプローラーのアドレスバーに「cmd」と入力しエンタキーで開けます。
ADBパス設定
もし動かない場合は、NoxPlayer の ADBパスを設定する必要があります。
候補を何個か登録してありますが、NoxPlayer のインストール設定によっては変わることがあるので、動かない場合は手動で追加して下さい。
1 | adbpathCandidates = [ |
NoxPlayer用の adb.exe の調べ方
デスクトップにある NoxPlayerのショートカットを右クリックして「ファイルの場所を開く」を選択
開いたフォルダに NoxPlayer用の adb.exe があります。なので、そのフォルダパスを adbpathCandidates に追加すればOK
Python は エンマークがエスケープ文字に設定されているので、エンマークを使いたい時は2回続けて書く必要があります。
1 | 'D:\Program Files\Nox64\bin\' # NG |
複数端末に対応 2021/06/20:追記
同時に複数の端末で自動操作できるように修正しました。
https://noitaro.github.io/multi-startup/
効率アップですね。