OpenCVが敷居が高いという場合はUWSCが簡単かも?
より簡単にADB SHELLを使用したいという方に、UWSCがおすすめ
自身が作成したFFGMの自動レベル上げを参考に添付
※画像は配布していません。ご自身でがんばってみてください
プログラムの流れは下記
スマフォのスクリーンショット撮影
|
PCに画像コピー
|
画像を開く
|
画像サイズをスマフォ解像度の約半分にACWで指定し、背面でも操作可能にMORG設定
|
ループ処理
|
スマフォのSS(ry
|
特定のクエストを、画像判別して選択
|
ゲームクリアが表示されていたらクリアをクリック
|
報酬画面の閉じるを認識したら閉じるをクリック
|
敵が3体いたら全体攻撃
|
敵が1体の場合は単体攻撃
|
戦闘終了画面を判別したら画面をクリックしリザルトを飛ばす
|
上記状態に当てはまらない状態では、クエストMobのサーチ、センタリングから移動、戦闘に移行
|
ループ
//携帯画面サイズ 720x1280
// half 360x640
DOSCMD("adb shell screencap -p /sdcard/screen.png")
DOSCMD("adb pull /sdcard/screen.png")
sleep(0.5)
DOSCMD("C:\*****screen.png")
sleep(0.5)
id = GETID("- Windows フォト ビューアー")
ACW(id, 0, 0, 374, 768 )
MouseOrg(id, 2,MORG_BACK)
While True
DOSCMD("adb shell screencap -p /sdcard/screen.png")
DOSCMD("adb pull /sdcard/screen.png")
sleep(1)
//Quest Select
ifb CHKIMG("quest_select.bmp",0)
//print "quest_select"
sleep(2)
DOSCMD( "adb shell input touchscreen tap 250 580")
sleep(2.5)
DOSCMD( "adb shell input touchscreen tap 301 1077")
sleep(5)
DOSCMD("adb shell screencap -p /sdcard/screen.png")
DOSCMD("adb pull /sdcard/screen.png")
sleep(5)
endif
// clear
ifb CHKIMG("clear.bmp",-1)
//print "clear"
sleep(0.5)
DOSCMD( "adb shell input touchscreen tap 150 180")
sleep(3)
endif
// close
ifb CHKIMG("close.bmp",0)
//print "close"
sleep(0.5)
DOSCMD( "adb shell input touchscreen tap 364 825")
sleep(10)
DOSCMD("adb shell screencap -p /sdcard/screen.png")
DOSCMD("adb pull /sdcard/screen.png")
sleep(5)
endif
// Battle 3
ifb (CHKIMG("left_skel.bmp",1)=true) AND (CHKIMG("right_skel.bmp",1)=true)
//print "Battle3-1"
sleep(0.4)
DOSCMD( "adb shell input touchscreen tap 430 1000")
sleep(1.2)
endif
// Battle 1
//ifb (CHKIMG("center_skel.bmp",1)=TRUE) AND (CHKIMG("TP100.bmp",1,0,0,300,50)=TRUE)
//print "Battle1-1"
//sleep(0.4)
//DOSCMD( "adb shell input touchscreen tap 300 1000")
//endif
// Battle 1-2
ifb CHKIMG("center_skel.bmp",1)
//print "Battle1-2"
sleep(0.4)
DOSCMD( "adb shell input touchscreen tap 60 1000")
sleep(1.2)
endif
// Battle end
ifb CHKIMG("bend.bmp",0)
//print "Battle end"
sleep(0.5)
DOSCMD( "adb shell input touchscreen tap 360 645 ")
sleep(1)
endif
// Serch
ifb (CHKIMG("name.bmp",0)=true) AND (CHKIMG("center_skel.bmp",0)=false) AND (CHKIMG("quest_select.bmp",0)=false) AND (CHKIMG("left_skel.bmp",0)=false) AND (CHKIMG("right_skel.bmp",0)=false) AND (CHKIMG("clear.bmp",0)=false) AND (CHKIMG("close.bmp",0)=false)
//print "Serch"
DOSCMD( "adb shell input touchscreen tap 250 90")
sleep(2.5)
DOSCMD( "adb shell input touchscreen tap 360 645")
sleep(1)
endif
Wend
上記にて、FFGMでひたすら敵を狩り続けるマクロを作成することが出来た
FFGMもすでに引退気味のため、自動化を試してみたところうまく動作させることが出来たが、UWSCの場合画像認識のマッチング率を指定出来ず、1dotでもずれると判別が出来なくなるため、OpernCVを用いた方があいまい判別が出来、画像処理だけに関しては楽に処理できると感じた
星のドラゴンクエストやFF BRAVE EXVIUSでも自動化は可能だが、スタミナがあるゲームのためあまり自動狩りのメリットは感じられない
一番効率が良い使い方として、リセットマラソン・通称リセマラをする場合、UWSCやOpenCVを用いた自動処理が有効だと思われる
例)☆5が出るまでひたすらリセマラを繰り返す
☆5が出たらPC音源を鳴らして知らせたり、メールを送って知らせることも可能
自身が作成したFFGMの自動レベル上げを参考に添付
※画像は配布していません。ご自身でがんばってみてください
プログラムの流れは下記
スマフォのスクリーンショット撮影
|
PCに画像コピー
|
画像を開く
|
画像サイズをスマフォ解像度の約半分にACWで指定し、背面でも操作可能にMORG設定
|
ループ処理
|
スマフォのSS(ry
|
特定のクエストを、画像判別して選択
|
ゲームクリアが表示されていたらクリアをクリック
|
報酬画面の閉じるを認識したら閉じるをクリック
|
敵が3体いたら全体攻撃
|
敵が1体の場合は単体攻撃
|
戦闘終了画面を判別したら画面をクリックしリザルトを飛ばす
|
上記状態に当てはまらない状態では、クエストMobのサーチ、センタリングから移動、戦闘に移行
|
ループ
//携帯画面サイズ 720x1280
// half 360x640
DOSCMD("adb shell screencap -p /sdcard/screen.png")
DOSCMD("adb pull /sdcard/screen.png")
sleep(0.5)
DOSCMD("C:\*****screen.png")
sleep(0.5)
id = GETID("- Windows フォト ビューアー")
ACW(id, 0, 0, 374, 768 )
MouseOrg(id, 2,MORG_BACK)
While True
DOSCMD("adb shell screencap -p /sdcard/screen.png")
DOSCMD("adb pull /sdcard/screen.png")
sleep(1)
//Quest Select
ifb CHKIMG("quest_select.bmp",0)
//print "quest_select"
sleep(2)
DOSCMD( "adb shell input touchscreen tap 250 580")
sleep(2.5)
DOSCMD( "adb shell input touchscreen tap 301 1077")
sleep(5)
DOSCMD("adb shell screencap -p /sdcard/screen.png")
DOSCMD("adb pull /sdcard/screen.png")
sleep(5)
endif
// clear
ifb CHKIMG("clear.bmp",-1)
//print "clear"
sleep(0.5)
DOSCMD( "adb shell input touchscreen tap 150 180")
sleep(3)
endif
// close
ifb CHKIMG("close.bmp",0)
//print "close"
sleep(0.5)
DOSCMD( "adb shell input touchscreen tap 364 825")
sleep(10)
DOSCMD("adb shell screencap -p /sdcard/screen.png")
DOSCMD("adb pull /sdcard/screen.png")
sleep(5)
endif
// Battle 3
ifb (CHKIMG("left_skel.bmp",1)=true) AND (CHKIMG("right_skel.bmp",1)=true)
//print "Battle3-1"
sleep(0.4)
DOSCMD( "adb shell input touchscreen tap 430 1000")
sleep(1.2)
endif
// Battle 1
//ifb (CHKIMG("center_skel.bmp",1)=TRUE) AND (CHKIMG("TP100.bmp",1,0,0,300,50)=TRUE)
//print "Battle1-1"
//sleep(0.4)
//DOSCMD( "adb shell input touchscreen tap 300 1000")
//endif
// Battle 1-2
ifb CHKIMG("center_skel.bmp",1)
//print "Battle1-2"
sleep(0.4)
DOSCMD( "adb shell input touchscreen tap 60 1000")
sleep(1.2)
endif
// Battle end
ifb CHKIMG("bend.bmp",0)
//print "Battle end"
sleep(0.5)
DOSCMD( "adb shell input touchscreen tap 360 645 ")
sleep(1)
endif
// Serch
ifb (CHKIMG("name.bmp",0)=true) AND (CHKIMG("center_skel.bmp",0)=false) AND (CHKIMG("quest_select.bmp",0)=false) AND (CHKIMG("left_skel.bmp",0)=false) AND (CHKIMG("right_skel.bmp",0)=false) AND (CHKIMG("clear.bmp",0)=false) AND (CHKIMG("close.bmp",0)=false)
//print "Serch"
DOSCMD( "adb shell input touchscreen tap 250 90")
sleep(2.5)
DOSCMD( "adb shell input touchscreen tap 360 645")
sleep(1)
endif
Wend
上記にて、FFGMでひたすら敵を狩り続けるマクロを作成することが出来た
FFGMもすでに引退気味のため、自動化を試してみたところうまく動作させることが出来たが、UWSCの場合画像認識のマッチング率を指定出来ず、1dotでもずれると判別が出来なくなるため、OpernCVを用いた方があいまい判別が出来、画像処理だけに関しては楽に処理できると感じた
星のドラゴンクエストやFF BRAVE EXVIUSでも自動化は可能だが、スタミナがあるゲームのためあまり自動狩りのメリットは感じられない
一番効率が良い使い方として、リセットマラソン・通称リセマラをする場合、UWSCやOpenCVを用いた自動処理が有効だと思われる
例)☆5が出るまでひたすらリセマラを繰り返す
☆5が出たらPC音源を鳴らして知らせたり、メールを送って知らせることも可能