2019/05/13

Automatically startup RoS-BOT 3.022 on Windows 10

剛離職沒多久,想說很久沒玩D3了;就回歸去玩!!
D3本身是買斷的刷寶遊戲,不過呢本人都快30了;心想何必堅持以前的純手動,不如讓BOT替我代勞吧XD
幾年前就有DemonbuddyRoS-BOT兩家較為活躍的D3外掛

兩家其實做法都不一樣
Demonbuddy的做法是直接調用API,不影響操作
RoS-BOT的做法是模擬鍵盤滑鼠,會影響操作
最後選擇RoS-BOT是因為有Web介面可以讓我知道打到什麼寶物


另外RoS-BOT有免費Licenses可以用(1隻帳號兩組),雖然一個月算一算也才快200元左右吧;不過懶得辦卡的我還是覺得付款方式很麻煩XDDD


RoS-BOT因為是模擬鍵盤滑鼠,所以相對它需要給它一台沒再用的電腦或一個VM
怕影響到其他工作,就給他一台VM
規格如下:




CPU:2C1T
CPU:2C1T
RAM:8G
SSD:80G
GPU:2G
Display:1280 * 1024
Audio:Disable
Network Adapters:2


再本機上開啟工作排程器,新增一個Reset VM用的條件

Reset VM.bat:
@echo off
rem UTF8
chcp 65001
@echo 正在重啟ROS BOT VM中
rem vmrun.exe path reset vm.vmx
"vmrun.exe path" reset "ROS-BOT VM Path.vmx"







如果不會卡住就不要設定
我的則是有時候RoS-BOT會莫名其妙卡住,但輸入法關掉之後就可以安穩運行


接著連線至VM將AutoIt下載下來並安裝,安裝完成將下列程式碼貼至AutoIt Script Editor
並Build成exe檔

Start Ros-BoT.au3:
;RoS-BOT path
Local $rosPath = "Your RoS-Bot path"
;Change directory to BoS-BOT folder
FileChangeDir ( $rosPath )
;run RoS-BOT
Run ( "RoS-BoT.exe" )
;get RoS-BOT memory address
Local $hWnd = WinWait("[CLASS:WindowsForms10.Window.8.app.0.9585cb_r6_ad1]", "", 20)
;Sleep 3s
Sleep(3000)
;focus RoS-BOT.exe
WinActivate($hWnd)
;Sleep 1s
Sleep(1000)
;Click Start botting!
ControlClick("[CLASS:WindowsForms10.Window.8.app.0.9585cb_r6_ad1]", "", "[CLASS:WindowsForms10.BUTTON.app.0.9585cb_r6_ad1; INSTANCE:8]")
;Sleep 23s
Sleep(23000)
;Close IME
Send("{ENTER}")
Send("^{SPACE}")


在桌面按下Windows 標誌鍵+ R,輸入下方指令並執行
shell:startup

再該資料夾底下建立一個StartupExe.bat,程式碼如下
@ECHO OFF

rem UTF8
chcp 65001

rem sleep 10s
TIMEOUT /T 10

rem Run Au3 output exe
RUN "Your Au3 output exe path"


這樣VM重啟就會自動運行RoS-BOT腳本啦
程式碼都放在github上,需要就自行去拿吧


參考資料:
https://www.vmware.com/support/ws55/doc/ws_learning_cli_vmrun.html
https://www.ros-bot.com/forums/general-discussion/autostart-parameter-not-working-498747
https://www.autoitscript.com/autoit3/docs/functions/MouseClick.htm
https://www.autoitscript.com/autoit3/docs/functions/WinWait.htm
https://www.autoitscript.com/autoit3/docs/functions/ControlClick.htm
https://support.microsoft.com/zh-tw/help/4026268/windows-10-change-startup-apps
https://stackoverflow.com/questions/37078953/in-which-cases-does-program-exit-with-0x40010004-code
https://docs.microsoft.com/zh-tw/windows/desktop/Shutdown/wm-queryendsession
https://www.autoitscript.com/forum/topic/194631-controlspace/
https://www.autoitscript.com/autoit3/docs/appendix/SendKeys.htm
https://www.autoitscript.com/autoit3/docs/functions/Send.htm