SikuliXによるスマホゲーム自動化

無料のRPAツールを使ってスマホゲームを自動化するためのサイトです

4.クエスト周回を自動化する

このページの目的

  • ひたすら同一クエストを周回するというソシャゲでよくある作業を自動化します。

前提

今回自動化する作業

プリコネの同一のイベントクエストで周回する作業で、実施手順は以下の通り。

  • 手順①:クエスト画面で挑戦するをクリック
  • 手順②:もしスタミナがないときには回復
  • 手順③:「バトル開始」ボタンをクリック
  • 手順④:戦闘が終わるまで待機し、戦闘終了後の画面で「次へ」ボタンをクリック
  • 手順⑤:アイテム一覧画面で「次へ」をクリック
  • 手順⑥:限定ショップ出現が表示されたときには「キャンセル」ボタンをクリック
  • 手順⑦:「再戦する」ボタンをクリック
  • 手順⑧:「OKボタン」をクリック
  • 以降、戦闘が再開するため④〜⑧をループ

具体的なコード

f:id:sikulix:20210313153035p:plain

コードの内容

#手順①
doubleClick("挑戦するボタン")
#手順②
if exists("スタミナが不足しています。回復しますか?"):
    click("OKボタン")
    click("OKボタン")
    click("OKボタン")
#手順③
click("バトル開始ボタン")
sleep(5)
#手順④
for i in range(3):    
    wait("次へボタン",240)
#手順⑤
    click("次へボタン")
#手順⑥
    if exists("限定ショップ出現"):
        click("キャンセル")
    sleep(2)
#手順⑦
    click("再戦する")
    sleep(2)
#手順⑧
    click("OKボタン")
    sleep(10)

コードのポイント解説

  • 手順② 手順⑥
    • if exists(画像)は、指定の画像が表示された場合のみ以下の動作を実行するというコマンド。
    • スマホゲームで、毎回同じ表示になるのではなくて、○○が出た場合には○○するという場合に使う。
    • 上記の条件下で実行するコマンドについては、行頭にタブもしくはスペース4字を入れて記載する
  • 手順④〜⑧を繰り返す
    • for i in range(数字): は、指定された回数、以下の動作を繰り返すというコマンド
    • 上記の条件下で実行するコマンドについては、行頭にタブもしくはスペース4字を入れて記載する

動作する様子


クエストの周回を自動化する