UWSCを使ってリセマラを自動化する方法[デレステ]
ソシャゲにおいて無課金ユーザー、課金ユーザーを問わずゲームを有利に進めるためには必須ともいえるリセマラですが、デレステではSSRが出る確率は1.5%とかなりの回数をリセマラしないとSSRは出ません。
また、好きなキャラのSSRがでるまでリセマラするとなるとさらに多くリセマラをしなければなりません。
そこで何百回もリセマラをするのは非常に面倒くさいのでUWSCというフリーソフトをつかって自動化させてみました。
デレステのリセマラを楽に終わらせたい人、他のソシャゲのリセマラを効率化させたい人はこの記事を参考にしてもらえればいいと思います。
UWSCというフリーソフトは自動化さたい動作を記録して再生させることで簡単にいろいろな動作を自動化させることができるもので今回はより動作を安定させるためにスクリプトにいろいろ書き加えてみました。
もう一つMobizenというフリーソフトを使います。
これはスマホの画面をパソコン上に表示させて、マウスやキーボードをつかってスマホを操作することのできるミラーリングソフトです。
Mobizenでスマホをパソコン上で操作できるようにしてUWSCで自分のリセマラを行う動作を記録、再生することによってリセマラを自動化するという形になります。
UWSCの導入
まずはUWSCの導入です。
UWSCの導入方法や使い方については以前、他の記事で紹介したのでそちらを参考にしてください。
Mobizenの導入
つぎにMobizenを導入します。
MobizenはAndroid端末でミラーリングできるソフトで他のミラーリングソフトは動作が重くなりがちですがMobizenは動作が非常に軽いのが特徴です。
スマホをUSB接続かWifi接続かでパソコンにつなぐ事によって使えるようになりますが、Wifi接続では動作が少し遅くなるのでUSB接続で使いましょう。
まずはスマホでGooglePlayからアプリをダウンロードします。
赤枠部分をクリックします。
インストーラーが起動するので「次へ」をクリックします。
「同意します」を選択後「次へ」をクリックします。
「次へ」をクリックします。
「インストール」をクリックします。
「完了」をクリックします。
デスクトップ上にMobizenのアイコンが出てくるので起動させます。
下のような画面になるのでMobizenアプリで設定したメールアドレスとパスワードを入力します。
するとこのようにスマホの画面がパソコン上に表示されるのでこれでマウスやキーボードでスマホ画面を操作することができるようになります。
リセマラの自動化
それでは実際にリセマラを自動化させていきます。
まずはデレステのデータをリセットしてからガシャを引く直前までを自動化させます。
データをリセットするところから自動化させることによってデレステのデータが残っている状態でも保存したUWSファイルを起動させるだけでリセマラを開始することができるからです。
データのリセットはわざわざアプリをアンインストールしなくてもAndroidの「設定」-「アプリ」から「データを消去」をタップすれば簡単にリセットすることができます。
リセマラ動作の記録
それではリセマラの動作をUWSCを使って記録していきます。
まずはUWSCとMobizenを起動した状態でUWSCの赤丸部分の記録ボタンを押します。
青丸で囲ってあるのは記録した動作の再生ボタンです。
次に実際にMobizenで手動でマウスを使ってデータのリセットからガシャを引く直前までを行います。
終わったらUWSCのストップボタンを押します。
これで手動で行ったリセマラの動作を記録することができました。
試しにUWSCの再生ボタンを押してみるとデータのリセットからガシャを引く直前まで自分の操作を再生してくれます。
ひとまずこの自動化した操作を名前を付けて保存しておきましょう。
これだけでもファイルをクリックするだけでデータのリセットからガシャを引くところまでは自動化することができます。
ガシャだけ自分で引いてSSRが出なかったときは再び保存したUWSファイルを実行というようにしてリセマラを半自動化することもこの時点で可能です。
しかし、SSRが出るまですべて自動化する場合にはもう少し頑張らないといけません。
次に行うのがレア度の判別です。
最初はUWSCの画像認識機能を使ってレア度を判別しようとしましたがなかなか上手くいかなかったので今回は別の方法でのレア度の判別について紹介しようと思います。
レア度の判別
どのようにレア度を判別していくのかというと
ガシャを引くと画面が暗転してサインが浮かび上がるSSR確定演出を利用します。
正確に言うとレア度を判別するにはこのような演出が発生した場合ガシャを引いてからガシャ結果の画面に移行するために最低限必要な画面をタップする回数が一回増えることを利用します。
上の画像のような演出です。
暗転演出が発生した場合はこの暗転画面をスキップするために一回多く画面をタップする必要があるということです。
まず簡単に流れを説明すると
①はじめにSSR以下のレア度のガシャを引いたときの最低限必要なタップ回数でガシャ を引く動作をUWSCで記録します。
②次にUWSCで今の画面がガシャ結果の画面かどうかを判別させます。
SSRを引けなかった場合にはガシャ結果の画面に移行しています。
SSRを引いた場合にはガシャ結果の画面に移行せずガシャを引く画面のままです。
この画面がガシャ結果の画面になります。
これで今引いたガシャでSSRが出たか出なかったかということが判別できます。
そこで重要なのが最低限必要なタップ回数とガシャ結果の画面の判別方法です。
今回、デレステのリセマラを自動化した際にはガシャを引く動作をひたすら画面を連打してUWSCで動作を記録し保存したUWSファイルをメモ帳で開いてクリックを命令する文を一つずつ消してタップする回数を減らしていきながら最低限必要なタップ回数でのガシャを引く動作のUWSファイルを作りました。
タップする命令を表す文はBTN(LEFT,CLICK,…なのでこの一文を連打して記録したUWSファイルから消していきます。
ガシャ結果の判別方法についてはUWSCの画像認識機能を利用して行いました。
ガシャ結果の画面は白い部分が多いので画面に白い部分があるかどうかで今いる画面がガシャ結果の画面かどうかを判別します。
まずガシャ結果の画面のスクリーンショットを保存してペイントなどで白い部分をトリミングします。
トリミングした画像は拡張子をbmpにしてリセマラを実行するUWSファイルと同じフォルダに保存します。
ガシャ結果.bmpという名前で保存したということで説明していきます。
次に
IFB CHKIMG("ガシャ結果.bmp")
sleep(5)
ELSE
MSGBOX("リセマラ終了")
EXITEXIT
ENDIF
と自動化するスクリプトのガシャを引き終わった行に書き加えます。
最後にリセマラ全体の自動化をループさせてSSRが出た場合には自動化を停止させるためにスクリプトの一行目に「While True」最後の行に「Wend」と書き加えます。
これでUWSファイルを起動するだけでSSRを引くまで自動でリセマラさせ続けることができるようになりました。
以上でデレステのリセマラを自動化した方法についての紹介は終了です。
このほかにも自動化を安定させるためにいくつか工夫した点などもありますがそのことについては近々新しい記事を書いていくつもりです。
UWSCでリセマラを自動化する方法はデレステだけでなくほかのソシャゲでも可能なので興味のある人は試してみるのも良いと思います。