This commit is contained in:
Kyouka 2024-10-15 21:27:55 +08:00
parent 1c73c0cd71
commit 9637aa5108
1 changed files with 76 additions and 14 deletions

View File

@ -18,7 +18,7 @@ stdScreenH := 2160
waitTolerance := 50 waitTolerance := 50
colorTolerance := 15 colorTolerance := 15
currentVersion := "v0.1.12" currentVersion := "v0.1.13"
usr := "kyokakawaii" usr := "kyokakawaii"
repo := "DoroHelper" repo := "DoroHelper"
@ -109,16 +109,17 @@ CheckForUpdate()
;functions ;functions
UserClick(sX, sY, k) UserClick(sX, sY, k)
{ {
uX := Integer(sX * k) uX := Round(sX * k)
uY := Integer(sY * k) uY := Round(sY * k)
Send "{Click " uX " " uY "}" Send "{Click " uX " " uY "}"
} }
UserCheckColor(sX, sY, sC, k) { UserCheckColor(sX, sY, sC, k)
{
loop sX.Length { loop sX.Length {
uX := Integer(sX[A_Index] * k) uX := Round(sX[A_Index] * k)
uY := Integer(sY[A_Index] * k) uY := Round(sY[A_Index] * k)
uC := PixelGetColor(uX, uY) uC := PixelGetColor(uX, uY)
if (!IsSimilarColor(uC, sC[A_Index])) if (!IsSimilarColor(uC, sC[A_Index]))
return 0 return 0
@ -126,6 +127,48 @@ UserCheckColor(sX, sY, sC, k) {
return 1 return 1
} }
isAutoOff(sX, sY, k)
{
uX := Round(sX * k)
uY := Round(sY * k)
uC := PixelGetColor(uX, uY)
r := Format("{:d}", "0x" . substr(uC, 3, 2))
g := Format("{:d}", "0x" . substr(uC, 5, 2))
b := Format("{:d}", "0x" . substr(uC, 7, 2))
if Abs(r - g) < 10 && Abs(r - b) < 10 && Abs(g - b) < 10
return true
return false
}
autoBurstOn := false
autoAimOn := false
CheckAutoBattle()
{
global autoBurstOn
global autoAimOn
if !autoAimOn && UserCheckColor([216], [160], ["0xFFFFFF"], scrRatio) {
if isAutoOff(60, 57, scrRatio) {
UserClick(60, 71, scrRatio)
Sleep sleepTime
}
autoAimOn := true
}
if !autoBurstOn && UserCheckColor([216], [160], ["0xFFFFFF"], scrRatio) {
if isAutoOff(202, 66, scrRatio) {
Send "{Tab}"
Sleep sleepTime
}
autoBurstOn := true
}
}
Login() Login()
{ {
@ -157,7 +200,7 @@ Login()
Sleep sleepTime Sleep sleepTime
} }
if A_Index > waitTolerance * 20 { if A_Index > waitTolerance * 50 {
MsgBox "登录失败!" MsgBox "登录失败!"
ExitApp ExitApp
} }
@ -436,6 +479,22 @@ CashShop()
} }
} }
stdCkptX := [514]
stdCkptY := [1018]
desiredColor := ["0xF2F8FC"]
if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
stdTargetX := stdTargetX - 172
UserClick(stdTargetX, stdTargetY, scrRatio)
Sleep sleepTime // 2
UserClick(stdTargetX, stdTargetY, scrRatio)
Sleep sleepTime // 2
UserClick(stdTargetX, stdTargetY, scrRatio)
Sleep sleepTime // 2
UserClick(stdTargetX, stdTargetY, scrRatio)
Sleep sleepTime // 2
}
del := 336 del := 336
stdCkptX := [1311] stdCkptX := [1311]
@ -1704,8 +1763,9 @@ SimulationRoom()
while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) { while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
;UserClick(stdTargetX, stdTargetY - 300, scrRatio) ;UserClick(stdTargetX, stdTargetY - 300, scrRatio)
CheckAutoBattle()
Sleep sleepTime Sleep sleepTime
if A_Index > waitTolerance * 3 { if A_Index > waitTolerance * 8 {
MsgBox "模拟室boss战异常" MsgBox "模拟室boss战异常"
ExitApp ExitApp
} }
@ -2234,7 +2294,7 @@ LoveTalking(times)
while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) { while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
UserClick(stdTargetX, stdTargetY, scrRatio) UserClick(stdTargetX, stdTargetY, scrRatio)
Sleep sleepTime Sleep sleepTime
if A_Index + numOfTalked >= times if A_Index + numOfTalked >= times + 2
break 2 break 2
if A_Index > waitTolerance { if A_Index > waitTolerance {
MsgBox "咨询失败!" MsgBox "咨询失败!"
@ -2607,6 +2667,7 @@ CompanyTower()
;等待战斗结束 ;等待战斗结束
WaitForBattleEnd: WaitForBattleEnd:
while !(MissionCompleted() || MissionFailed() || MissionEnded()) { while !(MissionCompleted() || MissionFailed() || MissionEnded()) {
CheckAutoBattle()
Sleep sleepTime Sleep sleepTime
if A_Index > waitTolerance * 20 { if A_Index > waitTolerance * 20 {
MsgBox "企业塔自动战斗失败!" MsgBox "企业塔自动战斗失败!"
@ -2982,6 +3043,7 @@ EnterInterception()
desiredColor := ["0xE6E6E6", "0xE6E6E6", "0x000000"] desiredColor := ["0xE6E6E6", "0xE6E6E6", "0x000000"]
while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) { while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
CheckAutoBattle()
Sleep sleepTime Sleep sleepTime
if A_Index > waitTolerance * 20 { if A_Index > waitTolerance * 20 {
MsgBox "自动战斗失败!" MsgBox "自动战斗失败!"
@ -3293,7 +3355,7 @@ ClickOnHelp(*)
############################################# #############################################
- -- + 16:9 16:9 - -- + 16:9 16:9
- -- - --
- -- - --
- -
@ -3303,7 +3365,7 @@ ClickOnHelp(*)
############################################# #############################################
-NIKKE启动器ACE反作弊系统扫完NIKKE主程序中央SHIFT UP logo出现之后DORO!NIKKEDoro完成工作了 -NIKKE启动器ACE反作弊系统扫完NIKKE主程序中央SHIFT UP logo出现之后DORO!Doro完成工作了
-DORO! -DORO!
-使Doro -使Doro
@ -3352,6 +3414,9 @@ ClickOnDoro(*)
if isCheckedFreeShop if isCheckedFreeShop
FreeShop(numOfBook) FreeShop(numOfBook)
if isCheckedOutposeDefence
OutpostDefence()
if isCheckedExpedtion if isCheckedExpedtion
Expedition() Expedition()
@ -3373,9 +3438,6 @@ ClickOnDoro(*)
if isCheckedCompanyTower if isCheckedCompanyTower
CompanyTower() CompanyTower()
if isCheckedOutposeDefence
OutpostDefence()
EnterInterception() EnterInterception()
} }