犬を飼いたい社内ニートのブログ

一生懸命作った、クソコードを紹介していくつもりです。

NoxPlayerでアビスリウムのイベントアイテム回収を自動化してみた

アビスリウムとは

こんにちは、犬を飼いたい社内ニート Castoroides です!
突然ですが、スマホゲームのアビスリウムってご存じですか?

apps.apple.com

ゆっくり休みながら楽しむゲーム

「アビスリウム – タップで育つ水族館」は、忙しい日常で疲れたあなたを癒す放置型癒し系ゲームです。癒しが必要な可愛い魚たちを深海のアクアリウムに招き、癒されながら成長の喜びを味わうことができます。"静かな水族館を賑やかにし、干からびた日常に癒しを与え、水族館を成長させながらたくさんの可愛い魚たちに出会える、放置型癒し系ゲーム「アビスリウム」をあなたにおすすめします。"


雑に言うと、タップしまくって水族館を成長させるゲームです。


今回はそのタップゲーのタップ要素をNoxplayerを使って自動化したいと思います。

NoxPlayerについて

まずはNoxPlayerについて知らない人も多いと思うので簡単にご説明します。

NoxPlayerはAndroid アプリを PC で動かすための無料ソフトウェアです。
jp.bignox.com

PCに接続しているキーボードやマウスが利用できるので、ゲームによっては快適にプレイできます。

なにより、マクロを組むことによって単純操作を自動化することができるんです。
また、スクリプト」という機能で、Excelのマクロのように操作を記録することもできます。


単純操作の自動化

それではNoxPlayerのマクロ機能を使用し、さっそくアビスリウムを自動化していこうと思います。

Step 1 仮想キーの作成

まず、Noxplayerでアビスリウムを開きます。
f:id:castoroides_uky:20211016222248p:plain

右上に「仮想キーの設定」があるのでこちらをマウスでクリックします。
f:id:castoroides_uky:20211016222538p:plain

「マクロ」をクリック
f:id:castoroides_uky:20211016224441p:plain

作成されたcolliderを確認した後、マクロを実行させるショートカットキーを設定できます。
f:id:castoroides_uky:20211016225307p:plain

今回はCtrl+Aに設定します。
f:id:castoroides_uky:20211016225851p:plain


Step 2 マクロの設定

ショートカットを設定した後は右下の鉛筆マークをクリックしてのエディターを開きます。

マクロエディターでは、例えばクリック操作をさせたい場合はクリックの X か Y どちらかのテキストボックスをアクティブにした状態で、実際にゲーム画面をクリックすることで該当の座標が入力されます。その状態で以下画像右の「+」ボタンを押すとマクロキーエディットにコードが追加されます。
f:id:castoroides_uky:20211016230422p:plain

その他いろいろとできそうなパーツが揃っていそうですが、今回は「クリック」と「ループ」以外使わないので割愛です。

要するに、今回組んだのはイベントアイテムやその他時間経過により出現するアイテムが取得できるように、まんべんなくクリックする座標を散らせてその操作を無限ループさせるというマクロです。

以下、コードの全容です。

loop 1000000

click 50 200
click 100 200
click 150 200
click 200 200
click 250 200
click 300 200
click 350 200
click 400 200
click 450 200
click 500 200

click 50 300
click 100 300
click 150 300
click 200 300
click 250 300
click 300 300
click 350 300
click 400 300
click 450 300
click 460 320
click 500 300

click 50 400
click 100 400
click 150 400
click 200 400
click 250 400
click 300 400
click 350 400
click 400 400
click 450 400
click 500 400

click 50 500
click 100 500
click 150 500
click 200 500


click 350 500
click 400 500
click 450 500
click 500 500

click 50 600
click 100 600
click 150 600
click 200 600
click 250 600
click 300 600
click 350 600
click 400 600
click 450 600
click 500 600

click 190 800

loop 1000000でそれより以下の処理を1,000,000回ループさせています。(無限ループのやり方がわからなかったので…… 、どなたか教えてください)

あとは画面の左上から右下までをまんべんなくクリックさせています。
ところどころ虫食い状態になっていますがこれは、動画視聴の宝箱等を避けるためです。降りてくる最中のものはクリックしちゃいますが。

最後のclick 190 800は、動画視聴の宝箱をクリックしてしまったときに「取り消し」を選択できるように加えています。


動かしてみた

動かしてみるとこんな感じ!

youtu.be



これでイベントも楽々走り切れそうです!
ぜひコードをコピーして使ってみてくださいね^^

!