はじめに
こんにちは、ハンターのみなさん!流行に乗り遅れましたが、モンスターハンターライズにハマっています。
しかし、ある程度プレイしたところで、レベル上げやマカ錬金などの周回が面倒くさくなってしまいました。
そこで、Arduino Leonardoの出番です!
この記事では、モンハンライズの周回を自動化する方法をご紹介します。
プログラミングとちょっとした工夫で、狩りの面倒な部分をラクにしましょう。
環境・必要なもの
PCを除いて予算5000円程度あれば大丈夫です!
- PC (筆者はMac使用)
- Arduino Leonardo
- 接続端子
セットアップ
Arduino IDEのインストール
購入したArduinoにプログラムを書き込むための、Arudiuno IDEをインストールします。
自身の使用しているOSに合わせてインストールしてください。
ライブラリマネージャ
ライブラリマネージャーの検索欄にArduinoSTL
と入力し、下のものと同じものをインストールしてください。バージョンは最新のもので大丈夫です。
ボードマネージャ
続いてボードマネージャの検索欄にArduino AVR Boards
と入力し、下の画像と同じものをインストールしてください。
※ 注意! バージョンは1.8.6にしてください!
Switch自動化Github
Switchの自動化には、こちらのGitHubのレポジトリを使用します。
code
からDownload Zip
を選択します。その後、SwitchControlLibrary-master
フォルダをArduinoのライブラリフォルダに置きます。
コーディング
先程のGithubのREAD.MEに使用方法が書いてあります。そのため、基本的な操作方法は省かせていただきます。
モンハン自動化をする際に、必要となったコードを下に書いておきます。
連打機能
unsigned long t0 = millis() / 1000;
unsigned long t = millis() / 1000;
int min = 17;
// min分間の間攻撃
while(t-t0 < min * 60) {
t = millis() / 1000;
SwitchControlLibrary().pressButton(Button::X);
SwitchControlLibrary().pressButton(Button::ZR);
SwitchControlLibrary().sendReport();
delay(50);
SwitchControlLibrary().releaseButton(Button::X);
SwitchControlLibrary().releaseButton(Button::ZR);
SwitchControlLibrary().sendReport();
delay(150);
}
min
の分数の間だけ、ボタンを連打する機能です。一定時間、モンスターに攻撃し続けるために、ボタンを連打する機能が必要でした。
完成品
完成品の動画です!
コードはGitHubにあります!ご自由に使用してください!
delayの時間は、自分のSwitchの環境にあわせて、変更してください!
終わりに
直感的にコードを書けて、意外と簡単にできました。これを使えば、他のゲームの自動化などもできそうですね。
ぜひ、みなさんも試してみてください!