當有一堆物資要捐的時候,手動真的很累人
試過用Razor錄製效果也很不好
只好自己想法子用EasyUO來寫
這個腳本是利用顏色來判斷彩磚種類,可捐的彩磚種類如下:
暗銅、暗鐵、OldCopper、Rusty、銅、青銅、金
請準備2個包包放在bank,請自行修改腳本中包包的ID
1個裏面放要捐的彩磚,請勿放上述以外的磚,
另1個主要是因應特殊狀況造成彩磚不到500個來收納用
請自行移動到捐獻箱同一層樓,捐獻箱附近再執行腳本
如果有問題再告訴我
代碼: 選擇全部
initevents
; 可捐彩磚:暗銅、暗鐵、OldCopper、Rusty、銅、青銅、金,單位以500計,請準備500倍數的彩磚
; 且不要放入其他種類的磚,放入其他種類的磚無法執行請自行處理
; 請準備2個包包,一個放彩磚,一個收納萬一出狀況不足500個彩磚
set %sbag HMCOCND ;放捐彩磚包包的ID,請自行修改
set %pbag CVXAYMD ;收納不足500個彩磚包包的ID,請自行修改
set %x 2925 ;捐彩磚站位的座標X值
set %y 974 ;捐彩磚站位的座標Y值
start:
repeat
if #charposx <> %x || #charposy <> %y
{
event pathfind %x %y -21 ;捐彩磚的座標,可自行決定
wait 20
}
until #charposx = %x && #charposy = %y
msg $ bank $ ;就定位開bank
wait 20
set #lobjectid %sbag ;放彩磚的包包,彩磚請放500的倍數,如要改變每次捐的數量請自行修改腳本
event macro 17 0
wait 10
loop:
if #charposx <> %x || #charposy <> %y ;如果不小心移位,bank會關掉,請從頭來
goto start
finditem %sbag C_ ;找放彩磚的包包,如果找不到就是bank關掉了,請從頭來
if #findcnt < 1
goto start
finditem ENK C_ , %sbag ;在來源包包中找彩磚
if #findstack > 499
{
exevent drag #findid 500
wait 10
exevent dropc #backpackid
wait 10
set #lobjectid ITWYJMD ;把捐獻箱設為lastobject
event macro 17 0
wait 10
if #findcol = 2419 ;暗銅
{
click 557 393
wait 8
click 557 393
wait 8
click 290 325
wait 8
}
if #findcol = 2406 ;暗鐵
{
click 557 393
wait 8
click 557 393
wait 8
click 290 355
wait 8
}
if #findcol = 1424 ;OldCopper
{
click 557 393
wait 8
click 557 393
wait 8
click 557 393
wait 8
click 290 220
wait 8
}
if #findcol = 1872 ;Rusty
{
click 557 393
wait 8
click 557 393
wait 8
click 557 393
wait 8
click 290 250
wait 8
}
if #findcol = 2413 ;銅
{
click 557 393
wait 8
click 557 393
wait 8
click 557 393
wait 8
click 290 280
wait 8
}
if #findcol = 2418 ;青銅
{
click 557 393
wait 8
click 557 393
wait 8
click 557 393
wait 8
click 290 310
wait 8
}
if #findcol = 2213 ;金
{
click 557 393
wait 8
click 557 393
wait 8
click 557 393
wait 8
click 290 340
wait 8
}
key 5
key 0
key 0
key ENTER
}
if #findstack < 500 && #findstack > 0
{
exevent drag #findid #findstack
wait 10
exevent dropc %pbag ;收納不足500個彩磚的包包請自行修改
wait 10
}
if #findcnt > 0
goto loop
msg $ 彩磚捐完了,腳本結束 $
halt