プリコネRの自動化を試みた
プリコネで自動化を試みていたが、ある程度成果が出たので情報を公開する
結果
使用したツール
SikuliX
http://sikulix.com/
設定の概要
スクリーンショットを撮り、Pythonに似たコードを書くことで自動化を試みる
保存時にコードとスクリーンショットは同一フォルダに格納される
ソースコード
pricone.py
#SleepTimeの設定
st = 3
#マナスキップ & 経験値クエスト
def mana_exp_skip():
click("1571729629965.png")
sleep(st)
click("1571729641493.png")
sleep(st)
click("1571729676939.png")
sleep(st)
click("1571729698045.png")
sleep(st)
click("1571729712028.png")
sleep(st)
click("1571729735027.png")
sleep(st)
click("1571729757050.png")
sleep(st+7)
click("1571729831307.png")
sleep(st)
click("1571729860301.png")
sleep(st)
click("1571729874508.png")
sleep(st)
click("1571729899220.png")
sleep(st)
click("1571729909252.png")
sleep(st)
click("1571729922564.png")
sleep(st+7)
click("1571729831307.png")
sleep(st)
#ギルドハウス受取
def guildskip():
click("1571730031164.png")
sleep(st)
click("1571730053140.png")
sleep(st)
click("1571730104342.png")
sleep(st)
#ダンジョンクエスト(EXTREAM2)
def dungeonskip():
click("1571730195565.png")
sleep(st)
click("1571927756012.png")
sleep(st)
click("1571730278445.png")
sleep(st)
click("1571730313522.png")
sleep(st+2)
click("1571730331597.png")
sleep(st)
click("1571730365276.png")
sleep(st)
click("1571730447004.png")
sleep(1)
click("1571730455612.png")
sleep(1)
click("1571730468332.png")
sleep(1)
click("1571730477045.png")
sleep(1)
click("1571730487308.png")
sleep(1)
click("1571730537844.png")
sleep(st+27)
click("1571730578595.png")
sleep(st+4)
click("1571730607428.png")
sleep(st+2)
click("1571730690831.png")
sleep(st)
click("1571730365276.png")
sleep(st)
click("1571730537844.png")
sleep(st+27)
click("1571730578595.png")
sleep(st+4)
click("1571730901173.png")
sleep(st+2)
click("1571730927485.png")
sleep(st)
click("1571730365276.png")
sleep(st)
click("1571730537844.png")
sleep(st+27)
click("1571730578595.png")
sleep(st+4)
click("1571730901173.png")
sleep(st+2)
click("1571730960138.png")
sleep(st)
click("1571730365276.png")
sleep(st)
click("1571730537844.png")
sleep(40)
click("1571730578595.png")
sleep(st+4)
click("1571730901173.png")
sleep(st+2)
click("1571731502063.png")
sleep(st)
click("1571731526329.png")
sleep(st)
#VERY HARD SKIP
def mainquestskip():
click("1572533939037.png")
sleep(st)
click("1571731631151.png")
sleep(st)
if exists("1571731661184.png"):
click("1571731661184.png")
sleep(st)
click("1572261257395.png")
sleep(st)
click("1571731739366.png")
click("1571731739366.png")
sleep(st)
click("1571731777992.png")
sleep(st)
click("1571731802006.png")
sleep(st+4)
click("1571731839998.png")
sleep(st)
#限定クエストはキャンセル
if exists("1572353217106.png"):
click("1571731869070.png")
sleep(st)
click("1571731869070.png")
sleep(st)
#調査クエスト
def searchquestskip():
click("1571730195565.png")
sleep(st)
click("1571732056359.png")
sleep(st)
click("1571732074597.png")
sleep(st)
click("1571732104071.png")
sleep(st)
click("1571732134918.png")
click("1571732134918.png")
click("1571732134918.png")
click("1571732134918.png")
sleep(st)
click("1571732163559.png")
sleep(st)
click("1571732181966.png")
sleep(9)
click("1571732207730.png")
sleep(st)
click("1571732227983.png")
sleep(st)
click("1571732249743.png")
sleep(st)
click("1571732134918.png")
click("1571732134918.png")
click("1571732134918.png")
click("1571732134918.png")
sleep(st)
click("1571732163559.png")
sleep(st)
click("1571732181966.png")
sleep(st+6)
click("1571732207730.png")
sleep(st)
click("1571732227983.png")
sleep(st)
#マイページクリック
def myPageClick():
click("1571732523543.png")
sleep(st+2)
#メインルーチン
mana_exp_skip()
myPageClick()
guildskip()
myPageClick()
dungeonskip()
myPageClick()
mainquestskip()
myPageClick()
searchquestskip()
myPageClick()
参考
SikuliXの導入手順(簡易メモ)
https://qiita.com/JINPLAYSGUITAR/items/5bccebec808faf791d4b
SikuliXでソーシャルゲームを自動化する
https://qiita.com/JINPLAYSGUITAR/items/8b85319e0e34e64beb65