├── .gitignore
├── doro.ico
├── img
├── preview.png
├── setting1.png
└── setting2.png
├── README.md
└── DoroHelper.ahk
/.gitignore:
--------------------------------------------------------------------------------
1 | *.exe
2 | *.ini
3 | lib/
4 | myver/
--------------------------------------------------------------------------------
/doro.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kyokakawaii/DoroHelper_classic/HEAD/doro.ico
--------------------------------------------------------------------------------
/img/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kyokakawaii/DoroHelper_classic/HEAD/img/preview.png
--------------------------------------------------------------------------------
/img/setting1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kyokakawaii/DoroHelper_classic/HEAD/img/setting1.png
--------------------------------------------------------------------------------
/img/setting2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kyokakawaii/DoroHelper_classic/HEAD/img/setting2.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 注意
2 |
3 | 应朋友要求,还是修复了DoroHelper的老版本。因为作者比较忙,老版本基本不会添加新功能。
4 |
5 | 新版本对代码进行了全方位的重构,添加了大量新功能,且有新作者及时维护。详见
6 |
7 |
8 | # 免责声明
9 |
10 | 本项目仅供个人学习研究使用,严禁用于商业用途。除Github以外其他任何网站、社交平台中有关本项目的内容**均非本人发布**,若造成侵犯著作权、版权或违反网络安全法规等任何后果,均与本人无关。
11 |
12 | # 前言
13 |
14 | PC端自用日常任务清理助手:DoroHelper。支持国际服和港澳台服客户端。支持多开。
15 |
16 |
17 | ### 叠甲:
18 |
19 | 使用任何脚本程序均有封号风险,请谨慎。
20 |
21 | ### 再叠甲:
22 |
23 | 程序是根据我自己的账号进度写的,所以可能会有操作不兼容的情况出现。第一次使用最好在旁边看着。万一Doro失控,请按Ctrl + 1组合键结束进程。
24 |
25 |
26 | # 下载
27 |
28 | 在右边的release里有我编译好的exe文件可以直接用。
29 |
30 | 不放心的话也可以下载代码,安装AutoHotkey V2.0并以管理员模式运行`DoroHelper.ahk`。也可以用任意文本编辑器打开`DoroHelper.ahk`修改(史山)代码以适配自己的情况。
31 |
32 | 也可以使用Ahk2Exe编译`DoroHelper.ahk`自己生成exe可执行文件。
33 |
34 |
35 | # 功能介绍
36 |
37 | Doro只是想让你少被该死的读条、闪光弹和重复劳动折磨。一键清理多项日常事务,包括:
38 |
39 | - **前哨基地防御**
40 |
41 | _1次一举歼灭+2次收菜_
42 |
43 | - **付费商店**
44 |
45 | _领取每日、周、月免费钻_
46 |
47 | - **免费商店**
48 |
49 | _普通商店每天白嫖2次,竞技场购买自定义数量的属性技能书,购买公司武器熔炉_
50 |
51 | - **派遣远征和收菜**
52 |
53 | - **收取赠送好友点数**
54 |
55 | - **模拟室5C通关**
56 |
57 | - **新人竞技场进行自定义数量的战斗**
58 |
59 | _顺带收取pjjc囤积超过50%的菜_
60 |
61 | - **进行自定义次数的好感度咨询**
62 |
63 | _支持补充咨询图鉴_
64 |
65 | - **光速爬塔失败1次**
66 |
67 | _蹭每日任务点数_
68 |
69 | - **爬企业塔**
70 |
71 | - **自动异常拦截**
72 |
73 | 若不勾选自动异常拦截,在完成任务清单后,每日任务点数为90。此时Doro会自动进入异常拦截战斗页面并停留,方便指挥官直接手动开打。打完以后每日任务点数即来到100。
74 |
75 | # 使用说明
76 |
77 | 对大多数老玩家来说Doro设置保持默认就好。
78 |
79 | 万一Doro失控,请按Ctrl + 1组合键结束进程。
80 |
81 | 万一Doro失控,请按Ctrl + 1组合键结束进程。
82 |
83 | 万一Doro失控,请按Ctrl + 1组合键结束进程。
84 |
85 | ## 要求:
86 |
87 | - 【设定-画质-全屏幕模式 + 16:9的显示器比例】(推荐) 或 【16:9的窗口模式】(窗口尽量拉大,否则像素识别可能出现误差)
88 |
89 | - 设定-画质-开启光晕效果
90 |
91 | - 设定-画质-开启颜色分级
92 |
93 | - 游戏语言设置为简体中文
94 |
95 | - 以**管理员身份**运行DoroHelper
96 |
97 | - 不要开启windows HDR显示
98 |
99 | ## 步骤:
100 |
101 | 打开NIKKE启动器。点击启动。等右下角腾讯ACE反作弊系统扫完,NIKKE主程序中央SHIFT UP logo出现之后,再切出来点击“DORO!”按钮。如果你看到鼠标开始在左下角连点,那就代表启动成功了。然后就可以悠闲地去泡一杯咖啡,或者刷一会儿手机,等待Doro完成工作了。
102 |
103 | 也可以在游戏处在大厅界面时(有看板娘的页面)切出来点击“DORO!”按钮启动程序。
104 |
105 | 游戏需要更新的时候请更新完再使用Doro。
106 |
107 | ## 其他:
108 |
109 | 如果出现死循环,提高点击间隔可以解决80%的问题。
110 |
111 | 如果你的电脑配置较好的话,可以尝试降低点击间隔。
112 |
113 | 可以尝试设置得和我一样:
114 |
115 | 
116 | 
117 |
118 | # 借物表
119 |
120 |
--------------------------------------------------------------------------------
/DoroHelper.ahk:
--------------------------------------------------------------------------------
1 | #Requires AutoHotkey >=v2.0
2 |
3 | #Include %A_ScriptDir%\lib\github.ahk
4 |
5 |
6 | CoordMode "Pixel", "Client"
7 | CoordMode "Mouse", "Client"
8 |
9 |
10 | ;操作间隔(单位:毫秒)
11 | sleepTime := 1500
12 | scrRatio := 1.0
13 |
14 |
15 | ;consts
16 | stdScreenW := 3840
17 | stdScreenH := 2160
18 | waitTolerance := 50
19 | colorTolerance := 15
20 |
21 | currentVersion := "v0.1.16.13"
22 | usr := "kyokakawaii"
23 | repo := "DoroHelper_classic"
24 |
25 |
26 | ;utilities
27 | IsSimilarColor(targetColor, color)
28 | {
29 | tr := Format("{:d}", "0x" . substr(targetColor, 3, 2))
30 | tg := Format("{:d}", "0x" . substr(targetColor, 5, 2))
31 | tb := Format("{:d}", "0x" . substr(targetColor, 7, 2))
32 |
33 | pr := Format("{:d}", "0x" . substr(color, 3, 2))
34 | pg := Format("{:d}", "0x" . substr(color, 5, 2))
35 | pb := Format("{:d}", "0x" . substr(color, 7, 2))
36 |
37 | ;MsgBox tr tg tb pr pg pb
38 |
39 | distance := sqrt((tr - pr) ** 2 + (tg - pg) ** 2 + (tb - pb) ** 2)
40 |
41 | if (distance < colorTolerance)
42 | return true
43 |
44 | return false
45 | }
46 |
47 |
48 | ClickOnCheckForUpdate(*)
49 | {
50 | latestObj := Github.latest(usr, repo)
51 | if currentVersion != latestObj.version
52 | {
53 | userResponse := MsgBox(
54 | "DoroHelper怀旧版存在更新版本:`n"
55 | "`nVersion: " latestObj.version
56 | "`nNotes:`n"
57 | . latestObj.change_notes
58 | "`n`n是否下载?",, '36')
59 |
60 | if (userResponse = "Yes") {
61 | try {
62 | Github.Download(latestObj.downloadURLs[1], A_ScriptDir "\DoroDownload")
63 | }
64 | catch as err {
65 | MsgBox "下载失败,请检查网络。"
66 | }
67 | else {
68 | FileMove "DoroDownload.exe", "DoroHelper-" latestObj.version ".exe"
69 | MsgBox "已下载至当前目录。"
70 | ExitApp
71 | }
72 | }
73 | }
74 | else {
75 | MsgBox "当前Doro已是最新版本。"
76 | }
77 | }
78 |
79 |
80 | CheckForUpdate()
81 | {
82 | latestObj := Github.latest(usr, repo)
83 | if currentVersion != latestObj.version
84 | {
85 | userResponse := MsgBox(
86 | "DoroHelper怀旧版存在更新版本:`n"
87 | "`nVersion: " latestObj.version
88 | "`nNotes:`n"
89 | . latestObj.change_notes
90 | "`n`n是否下载?",, '36')
91 |
92 | if (userResponse = "Yes") {
93 | try {
94 | Github.Download(latestObj.downloadURLs[1], A_ScriptDir "\DoroDownload")
95 | }
96 | catch as err {
97 | MsgBox "下载失败,请检查网络。"
98 | }
99 | else {
100 | FileMove "DoroDownload.exe", "DoroHelper-" latestObj.version ".exe"
101 | MsgBox "已下载至当前目录。"
102 | ExitApp
103 | }
104 | }
105 | }
106 | }
107 |
108 |
109 | ;functions
110 | UserClick(sX, sY, k)
111 | {
112 | uX := Round(sX * k)
113 | uY := Round(sY * k)
114 | Send "{Click " uX " " uY "}"
115 | }
116 |
117 |
118 | UserCheckColor(sX, sY, sC, k)
119 | {
120 | loop sX.Length {
121 | uX := Round(sX[A_Index] * k)
122 | uY := Round(sY[A_Index] * k)
123 | uC := PixelGetColor(uX, uY)
124 | if (!IsSimilarColor(uC, sC[A_Index]))
125 | return 0
126 | }
127 | return 1
128 | }
129 |
130 | isAutoOff(sX, sY, k)
131 | {
132 | uX := Round(sX * k)
133 | uY := Round(sY * k)
134 | uC := PixelGetColor(uX, uY)
135 |
136 | r := Format("{:d}", "0x" . substr(uC, 3, 2))
137 | g := Format("{:d}", "0x" . substr(uC, 5, 2))
138 | b := Format("{:d}", "0x" . substr(uC, 7, 2))
139 |
140 | if Abs(r - g) < 10 && Abs(r - b) < 10 && Abs(g - b) < 10
141 | return true
142 |
143 | return false
144 | }
145 |
146 |
147 | autoBurstOn := false
148 | autoAimOn := false
149 |
150 | CheckAutoBattle()
151 | {
152 | global autoBurstOn
153 | global autoAimOn
154 |
155 | if !autoAimOn && UserCheckColor([216], [160], ["0xFFFFFF"], scrRatio) {
156 | if isAutoOff(60, 57, scrRatio) {
157 | UserClick(60, 71, scrRatio)
158 | Sleep sleepTime
159 | }
160 | autoAimOn := true
161 | }
162 |
163 | if !autoBurstOn && UserCheckColor([216], [160], ["0xFFFFFF"], scrRatio) {
164 | if isAutoOff(202, 66, scrRatio) {
165 | Send "{Tab}"
166 | Sleep sleepTime
167 | }
168 | autoBurstOn := true
169 | }
170 | }
171 |
172 |
173 | Login()
174 | {
175 | stdTargetX := 333
176 | stdTargetY := 2041
177 | UserClick(stdTargetX, stdTargetY, scrRatio)
178 | Sleep sleepTime
179 |
180 | stdCkptX := [64]
181 | stdCkptY := [470]
182 | desiredColor := ["0xFAA72C"]
183 |
184 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
185 | UserClick(stdTargetX, stdTargetY, scrRatio)
186 | Sleep sleepTime
187 |
188 | if UserCheckColor([1973, 1969], [1368, 1432], ["0x00ADFB", "0x00ADFB"], scrRatio) {
189 | UserClick(2127, 1400, scrRatio)
190 | Sleep sleepTime
191 | }
192 |
193 | if UserCheckColor([1965, 1871], [1321, 1317], ["0x00A0EB", "0xF7F7F7"], scrRatio) {
194 | UserClick(2191, 1350, scrRatio)
195 | Sleep sleepTime
196 | }
197 |
198 | if UserCheckColor([1720, 2111], [1539, 1598], ["0x00AEFF", "0x00AEFF"], scrRatio) {
199 | UserClick(1905, 1568, scrRatio)
200 | Sleep sleepTime
201 | }
202 |
203 | ;新版下载
204 | if UserCheckColor([1951, 1848], [1328, 1344], ["0x00ADFB", "0xF5F5F3"], scrRatio) {
205 | UserClick(2175, 1392, scrRatio)
206 | Sleep sleepTime
207 | }
208 |
209 | if A_Index > waitTolerance * 50 {
210 | MsgBox "登录失败!"
211 | ExitApp
212 | }
213 | }
214 | }
215 |
216 |
217 | BackToHall()
218 | {
219 | stdTargetX := 333
220 | stdTargetY := 2041
221 | UserClick(stdTargetX, stdTargetY, scrRatio)
222 | Sleep sleepTime
223 |
224 | stdCkptX := [64]
225 | stdCkptY := [470]
226 | desiredColor := ["0xFAA72C"]
227 |
228 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
229 | UserClick(stdTargetX, stdTargetY, scrRatio)
230 | Sleep sleepTime
231 | if A_Index > waitTolerance {
232 | MsgBox "退回大厅失败!"
233 | ExitApp
234 | }
235 | }
236 | }
237 |
238 |
239 | ;=============================================================
240 | ;1: 防御前哨基地奖励
241 | OutpostDefence()
242 | {
243 | Start:
244 | stdTargetX := 1092
245 | stdTargetY := 1795
246 | UserClick(stdTargetX, stdTargetY, scrRatio)
247 | Sleep sleepTime
248 |
249 |
250 | ;standard checkpoint
251 | stdCkptX := [1500, 1847]
252 | stdCkptY := [1816, 1858]
253 | desiredColor := ["0xF8FCFD", "0xF7FCFD"]
254 |
255 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
256 | UserClick(stdTargetX, stdTargetY, scrRatio)
257 | Sleep sleepTime
258 | if A_Index > waitTolerance {
259 | MsgBox "进入防御前哨失败!"
260 | ExitApp
261 | }
262 |
263 | if A_Index > 3 {
264 | BackToHall()
265 | goto Start
266 | }
267 | }
268 |
269 | ;一举歼灭
270 | stdTargetX := 1686
271 | stdTargetY := 1846
272 | UserClick(stdTargetX, stdTargetY, scrRatio)
273 | Sleep sleepTime
274 |
275 | stdCkptX := [1500, 1847]
276 | stdCkptY := [1816, 1858]
277 | desiredColor := ["0xF8FCFD", "0xF7FCFD"]
278 |
279 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
280 | UserClick(stdTargetX, stdTargetY, scrRatio)
281 | Sleep sleepTime
282 | if A_Index > waitTolerance {
283 | MsgBox "进入一举歼灭失败!"
284 | ExitApp
285 | }
286 |
287 | if A_Index > 10 {
288 | BackToHall()
289 | goto Start
290 | }
291 | }
292 |
293 | ;如有免费次数则扫荡,否则跳过
294 | stdCkptX := [1933]
295 | stdCkptY := [1648]
296 | desiredColor := ["0xE9ECF0"]
297 |
298 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
299 | stdTargetX := 2093
300 | stdTargetY := 1651
301 | UserClick(stdTargetX, stdTargetY, scrRatio)
302 | Sleep sleepTime
303 | ;UserClick(stdTargetX, stdTargetY, scrRatio)
304 | ;Sleep sleepTime
305 |
306 | stdCkptX := [1933]
307 | stdCkptY := [1648]
308 | desiredColor := ["0x11ADF5"]
309 |
310 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
311 | UserClick(stdTargetX, stdTargetY, scrRatio)
312 | Sleep sleepTime
313 |
314 |
315 | if UserCheckColor([2088], [1327], ["0x00A0EB"], scrRatio) {
316 | UserClick(2202, 1342, scrRatio)
317 | }
318 |
319 | if A_Index > 10 {
320 | BackToHall()
321 | goto Start
322 | }
323 | }
324 |
325 | ;如果升级,把框点掉
326 | stdCkptX := [2356]
327 | stdCkptY := [1870]
328 | desiredColor := ["0x0EAFF4"]
329 | stdTargetX := 2156
330 | stdTargetY := 1846
331 |
332 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
333 | UserClick(stdTargetX, stdTargetY, scrRatio)
334 | Sleep sleepTime
335 |
336 |
337 | if UserCheckColor([2088], [1327], ["0x00A0EB"], scrRatio) {
338 | UserClick(2202, 1342, scrRatio)
339 | }
340 |
341 | if A_Index > 10 {
342 | BackToHall()
343 | goto Start
344 | }
345 | }
346 | }
347 | else {
348 | stdCkptX := [2356]
349 | stdCkptY := [1870]
350 | desiredColor := ["0x0EAFF4"]
351 | stdTargetX := 2156
352 | stdTargetY := 1846
353 |
354 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
355 | UserClick(stdTargetX, stdTargetY, scrRatio)
356 | Sleep sleepTime
357 |
358 |
359 | if UserCheckColor([2088], [1327], ["0x00A0EB"], scrRatio) {
360 | UserClick(2202, 1342, scrRatio)
361 | }
362 |
363 | if A_Index > 10 {
364 | BackToHall()
365 | goto Start
366 | }
367 | }
368 | }
369 |
370 |
371 | ;获得奖励
372 | stdTargetX := 2156
373 | stdTargetY := 1846
374 | UserClick(stdTargetX, stdTargetY, scrRatio)
375 | Sleep sleepTime
376 | ;UserClick(stdTargetX, stdTargetY, scrRatio)
377 | ;Sleep sleepTime // 2
378 | ;多点一下,以防升级
379 | ;UserClick(stdTargetX, stdTargetY, scrRatio)
380 | ;Sleep sleepTime // 2
381 |
382 | stdCkptX := [64]
383 | stdCkptY := [470]
384 | desiredColor := ["0xFAA72C"]
385 |
386 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
387 | UserClick(stdTargetX, stdTargetY, scrRatio)
388 | Sleep sleepTime
389 | if UserCheckColor([2088], [1327], ["0x00A0EB"], scrRatio) {
390 | UserClick(2202, 1342, scrRatio)
391 | }
392 | if A_Index > waitTolerance {
393 | MsgBox "前哨基地防御异常!"
394 | ExitApp
395 | }
396 | if A_Index > 10 {
397 | BackToHall()
398 | goto Start
399 | }
400 | }
401 | }
402 |
403 |
404 | ;=============================================================
405 | ;2: 付费商店每日每周免费钻
406 | CashShop()
407 | {
408 | ;进入商店
409 | stdTargetX := 1163
410 | stdTargetY := 1354
411 | UserClick(stdTargetX, stdTargetY, scrRatio)
412 | Sleep sleepTime
413 |
414 | stdCkptX := [158, 199]
415 | stdCkptY := [525, 439]
416 | desiredColor := ["0x0DC2F4", "0x3B3E41"]
417 |
418 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
419 | if UserCheckColor([2047], [1677], ["0x00A0EB"], scrRatio) or UserCheckColor([2047], [1677], ["0x9A9B9A"], scrRatio) {
420 | UserClick(1789, 1387, scrRatio)
421 | Sleep sleepTime
422 | UserClick(1789, 1387, scrRatio)
423 | Sleep sleepTime
424 | UserClick(2144, 1656, scrRatio)
425 | Sleep sleepTime
426 | while UserCheckColor([2047], [1677], ["0x00A0EB"], scrRatio) {
427 | UserClick(2144, 1656, scrRatio)
428 | Sleep sleepTime
429 | }
430 | break
431 | }
432 |
433 | UserClick(stdTargetX, stdTargetY, scrRatio)
434 | Sleep sleepTime
435 | if UserCheckColor([2088], [1327], ["0x00A0EB"], scrRatio) {
436 | UserClick(2202, 1342, scrRatio)
437 | }
438 | if A_Index > waitTolerance {
439 | MsgBox "进入付费商店失败!"
440 | ExitApp
441 | }
442 | }
443 |
444 | Sleep sleepTime
445 | if UserCheckColor([2047], [1677], ["0x00A0EB"], scrRatio) or UserCheckColor([2047], [1677], ["0x9A9B9A"], scrRatio) {
446 | UserClick(1789, 1387, scrRatio)
447 | Sleep sleepTime
448 | UserClick(1789, 1387, scrRatio)
449 | Sleep sleepTime
450 | UserClick(2144, 1656, scrRatio)
451 | Sleep sleepTime
452 | while UserCheckColor([2047], [1677], ["0x00A0EB"], scrRatio) {
453 | UserClick(2144, 1656, scrRatio)
454 | Sleep sleepTime
455 | }
456 | }
457 |
458 | delta := false
459 |
460 | stdCkptX := [52]
461 | stdCkptY := [464]
462 | desiredColor := ["0xF7FCFD"]
463 |
464 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio)
465 | delta := true
466 |
467 |
468 | stdTargetX := 256
469 | if delta
470 | stdTargetX := 432
471 | stdTargetY := 486
472 | UserClick(stdTargetX, stdTargetY, scrRatio)
473 | Sleep sleepTime
474 |
475 | stdCkptX := [194]
476 | if delta
477 | stdCkptX := [373]
478 | stdCkptY := [436]
479 | desiredColor := ["0x0FC7F5"]
480 | if delta
481 | desiredColor := ["0x0BC7F4"]
482 |
483 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
484 | UserClick(stdTargetX, stdTargetY, scrRatio)
485 | Sleep sleepTime // 2
486 | if A_Index > waitTolerance {
487 | MsgBox "进入礼包页面失败!"
488 | ExitApp
489 | }
490 | }
491 |
492 | stdCkptX := [514]
493 | stdCkptY := [1018]
494 | desiredColor := ["0xF2F8FC"]
495 |
496 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
497 | stdTargetX := stdTargetX - 172
498 | UserClick(stdTargetX, stdTargetY, scrRatio)
499 | Sleep sleepTime // 2
500 | UserClick(stdTargetX, stdTargetY, scrRatio)
501 | Sleep sleepTime // 2
502 | UserClick(stdTargetX, stdTargetY, scrRatio)
503 | Sleep sleepTime // 2
504 | UserClick(stdTargetX, stdTargetY, scrRatio)
505 | Sleep sleepTime // 2
506 | }
507 |
508 | del := 336
509 |
510 | stdCkptX := [1311]
511 | stdCkptY := [612]
512 | desiredColor := ["0xA0A0AC"]
513 |
514 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio)
515 | del := 0
516 |
517 | ;每日
518 | stdTargetX := 545 - del
519 | stdTargetY := 610
520 | UserClick(stdTargetX, stdTargetY, scrRatio)
521 | Sleep sleepTime
522 |
523 | stdCkptX := [431 - del]
524 | stdCkptY := [594]
525 | desiredColor := ["0x0EC7F5"]
526 |
527 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
528 | UserClick(stdTargetX, stdTargetY, scrRatio)
529 | Sleep sleepTime // 2
530 | if A_Index > waitTolerance {
531 | MsgBox "进入每日礼包页面失败!"
532 | ExitApp
533 | }
534 | }
535 |
536 | stdTargetX := 212
537 | stdTargetY := 1095
538 | UserClick(stdTargetX, stdTargetY, scrRatio)
539 | Sleep sleepTime // 2
540 | UserClick(stdTargetX, stdTargetY, scrRatio)
541 | Sleep sleepTime // 2
542 | UserClick(stdTargetX, stdTargetY, scrRatio)
543 | Sleep sleepTime // 2
544 |
545 | ;每周
546 | stdTargetX := 878 - del
547 | stdTargetY := 612
548 | UserClick(stdTargetX, stdTargetY, scrRatio)
549 | Sleep sleepTime
550 |
551 | stdCkptX := [769 - del]
552 | stdCkptY := [600]
553 | desiredColor := ["0x0CC8F4"]
554 |
555 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
556 | UserClick(stdTargetX, stdTargetY, scrRatio)
557 | Sleep sleepTime // 2
558 | if A_Index > waitTolerance {
559 | MsgBox "进入每周礼包页面失败!"
560 | ExitApp
561 | }
562 | }
563 |
564 | stdTargetX := 212
565 | stdTargetY := 1095
566 | UserClick(stdTargetX, stdTargetY, scrRatio)
567 | Sleep sleepTime // 2
568 | UserClick(stdTargetX, stdTargetY, scrRatio)
569 | Sleep sleepTime // 2
570 | UserClick(stdTargetX, stdTargetY, scrRatio)
571 | Sleep sleepTime // 2
572 |
573 | ;每月
574 | stdTargetX := 1211 - del
575 | stdTargetY := 612
576 | UserClick(stdTargetX, stdTargetY, scrRatio)
577 | Sleep sleepTime
578 |
579 | stdCkptX := [1114 - del]
580 | stdCkptY := [600]
581 | desiredColor := ["0x0CC8F4"]
582 |
583 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
584 | UserClick(stdTargetX, stdTargetY, scrRatio)
585 | Sleep sleepTime // 2
586 | if A_Index > waitTolerance {
587 | MsgBox "进入每月礼包页面失败!"
588 | ExitApp
589 | }
590 | }
591 |
592 | stdTargetX := 212
593 | stdTargetY := 1095
594 | UserClick(stdTargetX, stdTargetY, scrRatio)
595 | Sleep sleepTime // 2
596 | UserClick(stdTargetX, stdTargetY, scrRatio)
597 | Sleep sleepTime // 2
598 | UserClick(stdTargetX, stdTargetY, scrRatio)
599 | Sleep sleepTime // 2
600 |
601 | ;回到大厅
602 | stdTargetX := 333
603 | stdTargetY := 2041
604 | UserClick(stdTargetX, stdTargetY, scrRatio)
605 | Sleep sleepTime
606 |
607 | stdCkptX := [64]
608 | stdCkptY := [470]
609 | desiredColor := ["0xFAA72C"]
610 |
611 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
612 | UserClick(stdTargetX, stdTargetY, scrRatio)
613 | Sleep sleepTime // 2
614 | if A_Index > waitTolerance {
615 | MsgBox "退出付费商店失败!"
616 | ExitApp
617 | }
618 | }
619 | }
620 |
621 |
622 | ;=============================================================
623 | ;3: 免费商店
624 | BuyThisBook(coor, k)
625 | {
626 | uX := Round(coor[1] * k)
627 | uY := Round(coor[2] * k)
628 |
629 | uC := PixelGetColor(uX, uY)
630 |
631 | R := Format("{:d}", "0x" . substr(uC, 3, 2))
632 | G := Format("{:d}", "0x" . substr(uC, 5, 2))
633 | B := Format("{:d}", "0x" . substr(uC, 7, 2))
634 |
635 | if B > G and B > R {
636 | return isCheckedBook[2]
637 | }
638 |
639 | if G > R and G > B {
640 | return isCheckedBook[3]
641 | }
642 |
643 | if R > G and G > B and G > Format("{:d}", "0x50") {
644 | return isCheckedBook[5]
645 | }
646 |
647 | if R > B and B > G and B > Format("{:d}", "0x50") {
648 | return isCheckedBook[4]
649 | }
650 |
651 | return isCheckedBook[1]
652 | }
653 |
654 | FreeShop(numOfBook)
655 | {
656 | ;进入商店
657 | stdTargetX := 1193
658 | stdTargetY := 1487
659 | UserClick(stdTargetX, stdTargetY, scrRatio)
660 | Sleep sleepTime
661 |
662 | stdCkptX := [118]
663 | stdCkptY := [908]
664 | desiredColor := ["0xF99217"]
665 |
666 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
667 | UserClick(stdTargetX, stdTargetY, scrRatio)
668 | Sleep sleepTime
669 | if A_Index > waitTolerance {
670 | MsgBox "进入普通商店失败!"
671 | ExitApp
672 | }
673 | }
674 |
675 | ;如果今天没白嫖过
676 | stdCkptX := [349]
677 | stdCkptY := [1305]
678 | desiredColor := ["0x127CD7"]
679 |
680 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
681 | ;白嫖第一次
682 | stdTargetX := 383
683 | stdTargetY := 1480
684 | UserClick(stdTargetX, stdTargetY, scrRatio)
685 | Sleep sleepTime
686 |
687 | stdCkptX := [2063]
688 | stdCkptY := [1821]
689 | desiredColor := ["0x079FE4"]
690 |
691 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
692 | UserClick(stdTargetX, stdTargetY, scrRatio)
693 | Sleep sleepTime // 2
694 | if A_Index > waitTolerance {
695 | MsgBox "普通商店白嫖异常!"
696 | ExitApp
697 | }
698 | }
699 |
700 | stdTargetX := 2100
701 | stdTargetY := 1821
702 | UserClick(stdTargetX, stdTargetY, scrRatio)
703 | Sleep sleepTime
704 |
705 | stdCkptX := [118]
706 | stdCkptY := [908]
707 | desiredColor := ["0xF99217"]
708 |
709 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
710 | UserClick(stdTargetX, stdTargetY, scrRatio)
711 | Sleep sleepTime // 2
712 | if A_Index > waitTolerance {
713 | MsgBox "普通商店白嫖异常!"
714 | ExitApp
715 | }
716 | }
717 |
718 | ;如果还有免费次数,则白嫖第二次
719 | stdCkptX := [697]
720 | stdCkptY := [949]
721 | desiredColor := ["0xFB5C24"]
722 |
723 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
724 | ;刷新
725 | stdTargetX := 476
726 | stdTargetY := 981
727 | UserClick(stdTargetX, stdTargetY, scrRatio)
728 | Sleep sleepTime
729 |
730 | stdCkptX := [2133]
731 | stdCkptY := [1345]
732 | desiredColor := ["0x00A0EB"]
733 |
734 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
735 | UserClick(stdTargetX, stdTargetY, scrRatio)
736 | Sleep sleepTime // 2
737 | if A_Index > waitTolerance {
738 | MsgBox "普通商店刷新异常!"
739 | ExitApp
740 | }
741 | }
742 |
743 | stdTargetX := 2221
744 | stdTargetY := 1351
745 | UserClick(stdTargetX, stdTargetY, scrRatio)
746 | Sleep sleepTime
747 |
748 | stdCkptX := [118]
749 | stdCkptY := [908]
750 | desiredColor := ["0xF99217"]
751 | stdTargetX := 588
752 | stdTargetY := 1803
753 |
754 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
755 | UserClick(stdTargetX, stdTargetY, scrRatio)
756 | Sleep sleepTime // 2
757 | if A_Index > waitTolerance {
758 | MsgBox "普通商店刷新异常!"
759 | ExitApp
760 | }
761 | }
762 |
763 | ;第二次白嫖
764 | stdTargetX := 383
765 | stdTargetY := 1480
766 | UserClick(stdTargetX, stdTargetY, scrRatio)
767 | Sleep sleepTime
768 |
769 | stdCkptX := [2063]
770 | stdCkptY := [1821]
771 | desiredColor := ["0x079FE4"]
772 |
773 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
774 | UserClick(stdTargetX, stdTargetY, scrRatio)
775 | Sleep sleepTime // 2
776 | if A_Index > waitTolerance {
777 | MsgBox "普通商店白嫖异常!"
778 | ExitApp
779 | }
780 | }
781 |
782 | stdTargetX := 2100
783 | stdTargetY := 1821
784 | UserClick(stdTargetX, stdTargetY, scrRatio)
785 | Sleep sleepTime
786 |
787 | stdCkptX := [118]
788 | stdCkptY := [908]
789 | desiredColor := ["0xF99217"]
790 |
791 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
792 | UserClick(stdTargetX, stdTargetY, scrRatio)
793 | Sleep sleepTime // 2
794 | if A_Index > waitTolerance {
795 | MsgBox "普通商店白嫖异常!"
796 | ExitApp
797 | }
798 | }
799 | }
800 |
801 | }
802 |
803 |
804 | ;废铁商店检查是否已经购买
805 | stdTargetX := 137
806 | stdTargetY := 1737
807 | UserClick(stdTargetX, stdTargetY, scrRatio)
808 | Sleep sleepTime
809 |
810 | stdCkptX := [137]
811 | stdCkptY := [1650]
812 | desiredColor := ["0xFB931A"]
813 |
814 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
815 | UserClick(stdTargetX, stdTargetY, scrRatio)
816 | Sleep sleepTime // 2
817 | if A_Index > waitTolerance {
818 | MsgBox "废铁商店进入异常!"
819 | ExitApp
820 | }
821 | }
822 |
823 | if sleepTime < 1500
824 | Sleep 1000
825 |
826 | global isBoughtTrash
827 |
828 | stdCkptX := [1281]
829 | stdCkptY := [1307]
830 | desiredColor := ["0x137CD5"]
831 |
832 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
833 | isBoughtTrash := 0
834 | }
835 | else {
836 | isBoughtTrash := 1
837 | }
838 |
839 |
840 | ;如果需要,则购买竞技场商店前三本书
841 | if numOfBook >= 1 or isCheckedCompanyWeapon {
842 | stdTargetX := 134
843 | stdTargetY := 1403
844 | UserClick(stdTargetX, stdTargetY, scrRatio)
845 | Sleep sleepTime
846 |
847 | stdCkptX := [134]
848 | stdCkptY := [1316]
849 | desiredColor := ["0xFA9318"]
850 |
851 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
852 | UserClick(stdTargetX, stdTargetY, scrRatio)
853 | Sleep sleepTime // 2
854 | if A_Index > waitTolerance {
855 | MsgBox "竞技场商店进入异常!"
856 | ExitApp
857 | }
858 | }
859 |
860 | if sleepTime < 1500
861 | Sleep 500
862 | }
863 |
864 | if numOfBook >= 1 {
865 | ;购买第一本书
866 | ;如果今天没买过
867 | stdCkptX := [349]
868 | stdCkptY := [1305]
869 | desiredColor := ["0x127CD7"]
870 |
871 | ;如果今天没买过
872 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) and BuyThisBook([378, 1210], scrRatio) {
873 | stdTargetX := 384
874 | stdTargetY := 1486
875 | UserClick(stdTargetX, stdTargetY, scrRatio)
876 | Sleep sleepTime
877 |
878 | stdCkptX := [2067]
879 | stdCkptY := [1770]
880 | desiredColor := ["0x07A0E4"]
881 |
882 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
883 | UserClick(stdTargetX, stdTargetY, scrRatio)
884 | Sleep sleepTime // 2
885 | if A_Index > waitTolerance {
886 | MsgBox "第一本书购买异常!"
887 | ExitApp
888 | }
889 | }
890 |
891 | stdTargetX := 2067
892 | stdTargetY := 1770
893 | UserClick(stdTargetX, stdTargetY, scrRatio)
894 | Sleep sleepTime
895 |
896 | stdCkptX := [134]
897 | stdCkptY := [1316]
898 | desiredColor := ["0xFA9318"]
899 |
900 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
901 | UserClick(stdTargetX, stdTargetY, scrRatio)
902 | Sleep sleepTime // 2
903 | if A_Index >= 2 {
904 | stdTargetX := 2067
905 | stdTargetY := 1970
906 | }
907 | if A_Index > waitTolerance {
908 | MsgBox "第一本书购买异常!"
909 | ExitApp
910 | }
911 | }
912 | }
913 | }
914 |
915 | if numOfBook >= 2 {
916 | ;购买第二本书
917 | ;如果今天没买过
918 | stdCkptX := [673]
919 | stdCkptY := [1305]
920 | desiredColor := ["0x137CD5"]
921 |
922 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) and BuyThisBook([702, 1210], scrRatio) {
923 | stdTargetX := 702
924 | stdTargetY := 1484
925 | UserClick(stdTargetX, stdTargetY, scrRatio)
926 | Sleep sleepTime
927 |
928 | stdCkptX := [2067]
929 | stdCkptY := [1770]
930 | desiredColor := ["0x07A0E4"]
931 |
932 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
933 | UserClick(stdTargetX, stdTargetY, scrRatio)
934 | Sleep sleepTime // 2
935 | if A_Index > waitTolerance {
936 | MsgBox "第二本书购买异常!"
937 | ExitApp
938 | }
939 | }
940 |
941 | stdTargetX := 2067
942 | stdTargetY := 1770
943 | UserClick(stdTargetX, stdTargetY, scrRatio)
944 | Sleep sleepTime
945 |
946 | stdCkptX := [134]
947 | stdCkptY := [1316]
948 | desiredColor := ["0xFA9318"]
949 |
950 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
951 | UserClick(stdTargetX, stdTargetY, scrRatio)
952 | Sleep sleepTime // 2
953 | if A_Index >= 2 {
954 | stdTargetX := 2067
955 | stdTargetY := 1970
956 | }
957 | if A_Index > waitTolerance {
958 | MsgBox "第二本书购买异常!"
959 | ExitApp
960 | }
961 | }
962 | }
963 | }
964 |
965 | if numOfBook >= 3 {
966 | ;购买第三本书
967 | ;如果今天没买过
968 | stdCkptX := [997]
969 | stdCkptY := [1304]
970 | desiredColor := ["0x147BD4"]
971 |
972 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) and BuyThisBook([1025, 1210], scrRatio) {
973 | stdTargetX := 1030
974 | stdTargetY := 1485
975 | UserClick(stdTargetX, stdTargetY, scrRatio)
976 | Sleep sleepTime
977 |
978 | stdCkptX := [2067]
979 | stdCkptY := [1770]
980 | desiredColor := ["0x07A0E4"]
981 |
982 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
983 | UserClick(stdTargetX, stdTargetY, scrRatio)
984 | Sleep sleepTime // 2
985 | if A_Index > waitTolerance {
986 | MsgBox "第三本书购买异常!"
987 | ExitApp
988 | }
989 | }
990 |
991 | stdTargetX := 2067
992 | stdTargetY := 1770
993 | UserClick(stdTargetX, stdTargetY, scrRatio)
994 | Sleep sleepTime
995 |
996 | stdCkptX := [134]
997 | stdCkptY := [1316]
998 | desiredColor := ["0xFA9318"]
999 |
1000 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1001 | UserClick(stdTargetX, stdTargetY, scrRatio)
1002 | Sleep sleepTime // 2
1003 | if A_Index >= 2 {
1004 | stdTargetX := 2067
1005 | stdTargetY := 1970
1006 | }
1007 | if A_Index > waitTolerance {
1008 | MsgBox "第三本书购买异常!"
1009 | ExitApp
1010 | }
1011 | }
1012 | }
1013 | }
1014 |
1015 | if isCheckedCompanyWeapon {
1016 | stdCkptX := [2011]
1017 | stdCkptY := [1213]
1018 | desiredColor := ["0xD65E46"]
1019 |
1020 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1021 | stdTargetX := 2017
1022 | stdTargetY := 1485
1023 | UserClick(stdTargetX, stdTargetY, scrRatio)
1024 | Sleep sleepTime
1025 |
1026 | stdCkptX := [2067]
1027 | stdCkptY := [1770]
1028 | desiredColor := ["0x07A0E4"]
1029 |
1030 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1031 | UserClick(stdTargetX, stdTargetY, scrRatio)
1032 | Sleep sleepTime // 2
1033 | if A_Index > waitTolerance {
1034 | MsgBox "公司武器熔炉购买异常!"
1035 | ExitApp
1036 | }
1037 | }
1038 |
1039 | stdTargetX := 2067
1040 | stdTargetY := 1770
1041 | UserClick(stdTargetX, stdTargetY, scrRatio)
1042 | Sleep sleepTime
1043 |
1044 | stdCkptX := [134]
1045 | stdCkptY := [1316]
1046 | desiredColor := ["0xFA9318"]
1047 |
1048 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1049 | UserClick(stdTargetX, stdTargetY, scrRatio)
1050 | Sleep sleepTime // 2
1051 | if A_Index >= 2 {
1052 | stdTargetX := 2067
1053 | stdTargetY := 1970
1054 | }
1055 | if A_Index > waitTolerance {
1056 | MsgBox "公司武器熔炉购买异常!"
1057 | ExitApp
1058 | }
1059 | }
1060 | }
1061 | }
1062 |
1063 | stdTargetX := 333
1064 | stdTargetY := 2041
1065 | UserClick(stdTargetX, stdTargetY, scrRatio)
1066 | Sleep sleepTime
1067 |
1068 | stdCkptX := [64]
1069 | stdCkptY := [470]
1070 | desiredColor := ["0xFAA72C"]
1071 |
1072 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1073 | UserClick(stdTargetX, stdTargetY, scrRatio)
1074 | Sleep sleepTime // 2
1075 | if A_Index > waitTolerance {
1076 | MsgBox "退出免费商店失败!"
1077 | ExitApp
1078 | }
1079 | }
1080 | }
1081 |
1082 |
1083 | ;=============================================================
1084 | ;4: 派遣
1085 | Expedition()
1086 | {
1087 | ;进入前哨基地
1088 | stdTargetX := 1169
1089 | stdTargetY := 1663
1090 | UserClick(stdTargetX, stdTargetY, scrRatio)
1091 | Sleep sleepTime
1092 |
1093 | stdCkptX := [64]
1094 | stdCkptY := [470]
1095 | desiredColor := ["0xFAA72C"]
1096 |
1097 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1098 | UserClick(stdTargetX, stdTargetY, scrRatio)
1099 | Sleep sleepTime
1100 | if A_Index > waitTolerance {
1101 | MsgBox "进入前哨基地失败!"
1102 | ExitApp
1103 | }
1104 | }
1105 |
1106 | stdCkptX := [1907, 1963, 1838, 2034]
1107 | stdCkptY := [1817, 1852, 1763, 1877]
1108 | desiredColor := ["0xFFFFFF", "0xFFFFFF", "0x0B1219", "0x0B1219"]
1109 |
1110 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1111 | Sleep sleepTime
1112 | if A_Index > waitTolerance {
1113 | MsgBox "进入前哨基地失败!"
1114 | ExitApp
1115 | }
1116 | }
1117 |
1118 | ;派遣公告栏
1119 | ;收菜
1120 | stdTargetX := 2002
1121 | stdTargetY := 2046
1122 | UserClick(stdTargetX, stdTargetY, scrRatio)
1123 | Sleep sleepTime
1124 |
1125 | stdCkptX := [2113, 2119, 2387]
1126 | stdCkptY := [372, 399, 384]
1127 | desiredColor := ["0x404240", "0x404240", "0x404240"]
1128 |
1129 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1130 | UserClick(stdTargetX, stdTargetY, scrRatio)
1131 | Sleep sleepTime
1132 | if A_Index > waitTolerance {
1133 | MsgBox "进入派遣失败!"
1134 | ExitApp
1135 | }
1136 | }
1137 |
1138 | stdTargetX := 2268
1139 | stdTargetY := 1814
1140 | UserClick(stdTargetX, stdTargetY, scrRatio)
1141 | Sleep sleepTime // 2
1142 | UserClick(stdTargetX, stdTargetY, scrRatio)
1143 | Sleep sleepTime
1144 | UserClick(stdTargetX, stdTargetY, scrRatio)
1145 | Sleep sleepTime
1146 | UserClick(stdTargetX, stdTargetY, scrRatio)
1147 | Sleep sleepTime
1148 |
1149 | Sleep 3000
1150 |
1151 | ;全部派遣
1152 | stdCkptX := [1869, 1977]
1153 | stdCkptY := [1777, 1847]
1154 | desiredColor := ["0xCFCFCF", "0xCFCFCF"]
1155 |
1156 | ;如果今天没派遣过
1157 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1158 | stdTargetX := 1930
1159 | stdTargetY := 1813
1160 | UserClick(stdTargetX, stdTargetY, scrRatio)
1161 | Sleep sleepTime
1162 |
1163 | stdCkptX := [2199, 2055]
1164 | stdCkptY := [1796, 1853]
1165 | desiredColor := ["0x00ADFF", "0x00ADFF"]
1166 |
1167 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1168 | UserClick(stdTargetX, stdTargetY, scrRatio)
1169 | Sleep sleepTime
1170 | if A_Index > waitTolerance {
1171 | MsgBox "全部派遣失败!"
1172 | ExitApp
1173 | }
1174 |
1175 | if UserCheckColor([1779], [1778], ["0xCFCFCF"], scrRatio)
1176 | break
1177 | }
1178 |
1179 | stdTargetX := 2073
1180 | stdTargetY := 1818
1181 | UserClick(stdTargetX, stdTargetY, scrRatio)
1182 | Sleep sleepTime
1183 |
1184 | stdCkptX := [2199, 2055]
1185 | stdCkptY := [1796, 1853]
1186 | desiredColor := ["0x00ADFF", "0x00ADFF"]
1187 |
1188 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1189 | UserClick(stdTargetX, stdTargetY, scrRatio)
1190 | Sleep sleepTime
1191 | if A_Index > waitTolerance {
1192 | MsgBox "全部派遣失败!"
1193 | ExitApp
1194 | }
1195 | }
1196 | }
1197 |
1198 | ;回到大厅
1199 | stdTargetX := 333
1200 | stdTargetY := 2041
1201 | UserClick(stdTargetX, stdTargetY, scrRatio)
1202 | Sleep sleepTime
1203 |
1204 | stdCkptX := [64]
1205 | stdCkptY := [470]
1206 | desiredColor := ["0xFAA72C"]
1207 |
1208 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1209 | UserClick(stdTargetX, stdTargetY, scrRatio)
1210 | Sleep sleepTime
1211 | if A_Index > waitTolerance {
1212 | MsgBox "退出前哨基地失败!"
1213 | ExitApp
1214 | }
1215 | }
1216 | }
1217 |
1218 |
1219 | ;=============================================================
1220 | ;5: 好友点数收取
1221 | FriendPoint()
1222 | {
1223 | stdTargetX := 3729
1224 | stdTargetY := 553
1225 | UserClick(stdTargetX, stdTargetY, scrRatio)
1226 | Sleep sleepTime
1227 |
1228 | stdCkptX := [64]
1229 | stdCkptY := [470]
1230 | desiredColor := ["0xFAA72C"]
1231 |
1232 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1233 | UserClick(stdTargetX, stdTargetY, scrRatio)
1234 | Sleep sleepTime
1235 | if A_Index > waitTolerance {
1236 | MsgBox "进入好友界面失败!"
1237 | ExitApp
1238 | }
1239 | }
1240 |
1241 | stdCkptX := [2104, 2197]
1242 | stdCkptY := [1825, 1838]
1243 | desiredColor := ["0x0CAFF4", "0xF7FDFE"]
1244 | stdTargetX := 2276
1245 | stdTargetY := 1837
1246 |
1247 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) && !UserCheckColor([2104, 2054], [1825, 1876], ["0x8B8788", "0x8B8788"], scrRatio) {
1248 | Sleep sleepTime
1249 | if A_Index > waitTolerance {
1250 | MsgBox "进入好友界面失败!"
1251 | ExitApp
1252 | }
1253 | }
1254 |
1255 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1256 | UserClick(stdTargetX, stdTargetY, scrRatio)
1257 | Sleep sleepTime
1258 | if A_Index > waitTolerance {
1259 | MsgBox "赠送好友点数失败"
1260 | ExitApp
1261 | }
1262 | }
1263 |
1264 | stdTargetX := 333
1265 | stdTargetY := 2041
1266 | UserClick(stdTargetX, stdTargetY, scrRatio)
1267 | Sleep sleepTime
1268 |
1269 | stdCkptX := [64]
1270 | stdCkptY := [470]
1271 | desiredColor := ["0xFAA72C"]
1272 |
1273 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1274 | UserClick(stdTargetX, stdTargetY, scrRatio)
1275 | Sleep sleepTime
1276 | if A_Index > waitTolerance {
1277 | MsgBox "退出好友界面失败!"
1278 | ExitApp
1279 | }
1280 | }
1281 | }
1282 |
1283 |
1284 | ;=============================================================
1285 | ;5.1: 邮箱收取
1286 | Mail()
1287 | {
1288 | stdTargetX := 3667
1289 | stdTargetY := 81
1290 | UserClick(stdTargetX, stdTargetY, scrRatio)
1291 | Sleep sleepTime
1292 |
1293 | stdCkptX := [64]
1294 | stdCkptY := [470]
1295 | desiredColor := ["0xFAA72C"]
1296 |
1297 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1298 | UserClick(stdTargetX, stdTargetY, scrRatio) ;检测大厅点邮箱
1299 | Sleep sleepTime
1300 | if A_Index > waitTolerance {
1301 | MsgBox "进入邮箱失败1!"
1302 | ExitApp
1303 | }
1304 | }
1305 |
1306 | stdCkptX := [2344]
1307 | stdCkptY := [456]
1308 | desiredColor := ["0x2B4160"]
1309 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1310 | Sleep sleepTime
1311 | if A_Index > waitTolerance {
1312 | MsgBox "进入邮箱失败2!"
1313 | ExitApp
1314 | }
1315 | }
1316 |
1317 | stdTargetX := 2067
1318 | stdTargetY := 1830
1319 | UserClick(stdTargetX, stdTargetY, scrRatio)
1320 | Sleep sleepTime
1321 | UserClick(stdTargetX, stdTargetY, scrRatio)
1322 | Sleep sleepTime
1323 | UserClick(stdTargetX, stdTargetY, scrRatio)
1324 | Sleep sleepTime
1325 |
1326 | stdCkptX := [64]
1327 | stdCkptY := [470]
1328 | desiredColor := ["0xFAA72C"]
1329 | stdTargetX := 2394
1330 | stdTargetY := 291
1331 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1332 | UserClick(stdTargetX, stdTargetY, scrRatio) ;确认领取+返回直到回到大厅
1333 | Sleep sleepTime
1334 | if A_Index > waitTolerance {
1335 | MsgBox "退出邮箱失败!"
1336 | ExitApp
1337 | }
1338 | }
1339 | }
1340 |
1341 | ;=============================================================
1342 | ;6: 模拟室5C
1343 | checkOverClockRefresh()
1344 | {
1345 | stdTargetX := 1914
1346 | stdTargetY := 1271
1347 | stdCkptX := [2020, 1814]
1348 | stdCkptY := [1257, 1299]
1349 | desiredColor := ["0x9D2925", "0x9D2A25"]
1350 |
1351 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1352 | UserClick(stdTargetX, stdTargetY, scrRatio)
1353 | Sleep sleepTime
1354 | }
1355 | }
1356 |
1357 |
1358 | SimulationRoom()
1359 | {
1360 | stdTargetX := 2689
1361 | stdTargetY := 1463
1362 | UserClick(stdTargetX, stdTargetY, scrRatio)
1363 | Sleep sleepTime
1364 |
1365 | stdCkptX := [64]
1366 | stdCkptY := [470]
1367 | desiredColor := ["0xFAA72C"]
1368 |
1369 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1370 | UserClick(stdTargetX, stdTargetY, scrRatio)
1371 | Sleep sleepTime // 2
1372 | if A_Index > waitTolerance {
1373 | MsgBox "进入方舟失败!"
1374 | ExitApp
1375 | }
1376 | }
1377 |
1378 | stdCkptX := [1607]
1379 | stdCkptY := [283]
1380 | desiredColor := ["0x01D4F6"]
1381 |
1382 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1383 | Sleep sleepTime
1384 | if A_Index > waitTolerance {
1385 | MsgBox "进入方舟失败!"
1386 | ExitApp
1387 | }
1388 | }
1389 |
1390 | ;进入模拟室
1391 | stdTargetX := 1547
1392 | stdTargetY := 1138
1393 | UserClick(stdTargetX, stdTargetY, scrRatio)
1394 | Sleep sleepTime
1395 |
1396 | stdCkptX := [1764, 2024, 222]
1397 | stdCkptY := [1087, 1094, 889]
1398 | desiredColor := ["0xF8FCFD", "0xF8FCFD", "0x000000"]
1399 |
1400 | global isOverclockRefreshed
1401 |
1402 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1403 | UserClick(stdTargetX, stdTargetY, scrRatio)
1404 | Sleep sleepTime
1405 | ;TODO查看是否刷新超频
1406 | checkOverClockRefresh()
1407 | if A_Index > waitTolerance {
1408 | MsgBox "进入模拟室失败!"
1409 | ExitApp
1410 | }
1411 | }
1412 |
1413 | ;查看是否刷新超频
1414 | Sleep sleepTime
1415 |
1416 | checkOverClockRefresh()
1417 |
1418 | stdCkptX := [1878]
1419 | stdCkptY := [1732]
1420 | desiredColor := ["0xEA5148"]
1421 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1422 | isOverclockRefreshed := 1
1423 | }
1424 |
1425 |
1426 | ;MsgBox "ok"
1427 |
1428 | ;开始模拟
1429 | stdTargetX := 1917
1430 | stdTargetY := 1274
1431 | UserClick(stdTargetX, stdTargetY, scrRatio)
1432 | Sleep sleepTime
1433 |
1434 | stdCkptX := [1406]
1435 | stdCkptY := [1845]
1436 | desiredColor := ["0x04AEF4"]
1437 |
1438 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1439 | checkOverClockRefresh()
1440 | if UserCheckColor([1878], [1732], ["0xEA5148"], scrRatio) {
1441 | isOverclockRefreshed := 1
1442 | }
1443 | UserClick(stdTargetX, stdTargetY, scrRatio)
1444 | Sleep sleepTime
1445 | if A_Index > waitTolerance {
1446 | MsgBox "进入选关失败!"
1447 | ExitApp
1448 | }
1449 | }
1450 |
1451 | ;选择5C
1452 | stdTargetX := 2325
1453 | stdTargetY := 776
1454 | UserClick(stdTargetX, stdTargetY, scrRatio)
1455 | Sleep sleepTime // 2
1456 | UserClick(stdTargetX, stdTargetY, scrRatio)
1457 | Sleep sleepTime // 2
1458 |
1459 | stdTargetX := 2265
1460 | stdTargetY := 1214
1461 | UserClick(stdTargetX, stdTargetY, scrRatio)
1462 | Sleep sleepTime // 2
1463 | UserClick(stdTargetX, stdTargetY, scrRatio)
1464 | Sleep sleepTime
1465 |
1466 | ;打开快速模拟
1467 | stdCkptX := [1833]
1468 | stdCkptY := [1689]
1469 | desiredColor := ["0x18AFF4"]
1470 | stdTargetX := 1888
1471 | stdTargetY := 1691
1472 |
1473 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1474 | UserClick(stdTargetX, stdTargetY, scrRatio)
1475 | Sleep sleepTime
1476 | }
1477 |
1478 |
1479 | ;点击开始模拟
1480 | ;开始模拟
1481 | stdTargetX := 2210
1482 | stdTargetY := 1870
1483 | UserClick(stdTargetX, stdTargetY, scrRatio)
1484 | Sleep sleepTime
1485 |
1486 | stdCkptX := [1974]
1487 | stdCkptY := [1838]
1488 | desiredColor := ["0xFA801A"]
1489 |
1490 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1491 | UserClick(stdTargetX, stdTargetY, scrRatio)
1492 | Sleep sleepTime
1493 | if A_Index > waitTolerance {
1494 | MsgBox "开始模拟失败!"
1495 | ExitApp
1496 | }
1497 | }
1498 |
1499 |
1500 | stdTargetX := 1903
1501 | stdTargetY := 1369
1502 | stdCkptX := [304]
1503 | stdCkptY := [179]
1504 | desiredColor := ["0x858289"]
1505 |
1506 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1507 | UserClick(stdTargetX, stdTargetY, scrRatio)
1508 | Sleep sleepTime
1509 |
1510 | ;如果直接快速模拟完成
1511 | if UserCheckColor([1709, 2134, 1971], [1515, 1517, 1817], ["0xEFF2F5", "0xEFF2F5", "0x603004"], scrRatio) {
1512 |
1513 | while UserCheckColor([1709, 2134, 1971], [1515, 1517, 1817], ["0xEFF2F5", "0xEFF2F5", "0x603004"], scrRatio) {
1514 | UserClick(1916, 1542, scrRatio)
1515 | Sleep sleepTime
1516 | }
1517 |
1518 | ;退回大厅
1519 | stdTargetX := 333
1520 | stdTargetY := 2041
1521 | UserClick(stdTargetX, stdTargetY, scrRatio)
1522 | Sleep sleepTime
1523 |
1524 | stdCkptX := [64]
1525 | stdCkptY := [470]
1526 | desiredColor := ["0xFAA72C"]
1527 |
1528 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1529 | UserClick(stdTargetX, stdTargetY, scrRatio)
1530 | Sleep sleepTime
1531 | if A_Index > waitTolerance {
1532 | MsgBox "退回大厅失败!"
1533 | ExitApp
1534 | }
1535 | }
1536 |
1537 | return
1538 | }
1539 |
1540 | if A_Index > waitTolerance {
1541 | MsgBox "进入buff选择页面失败!"
1542 | ExitApp
1543 | }
1544 | }
1545 |
1546 | stdCkptX := [1760]
1547 | yy := 2160
1548 | stdCkptY := [yy]
1549 | desiredColor := ["0xDFE1E1"]
1550 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1551 | yy := yy - 30
1552 | stdCkptY := [yy]
1553 | if A_Index > waitTolerance {
1554 | ExitApp
1555 | }
1556 | }
1557 |
1558 | stdTargetX := 1760
1559 | stdTargetY := yy
1560 |
1561 | stdCkptX := [2053]
1562 | stdCkptY := [1933]
1563 | desiredColor := ["0x2E77C1"]
1564 |
1565 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1566 | UserClick(stdTargetX, stdTargetY, scrRatio)
1567 | Sleep sleepTime
1568 | if A_Index > waitTolerance {
1569 | MsgBox "进入战斗准备页面失败!"
1570 | ExitApp
1571 | }
1572 | }
1573 |
1574 | /*
1575 | stdCkptX := [1682]
1576 | stdCkptY := [1863]
1577 | desiredColor := ["0x000000"]
1578 |
1579 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1580 | Sleep sleepTime
1581 | if A_Index > waitTolerance {
1582 | MsgBox "开始模拟失败!"
1583 | ExitApp
1584 | }
1585 | }
1586 |
1587 | ;1C-5C
1588 | loop 5 {
1589 | ;选择最右边的关卡
1590 | stdTargetX := 2255
1591 | stdTargetY := 1478
1592 | UserClick(stdTargetX, stdTargetY, scrRatio)
1593 | Sleep sleepTime
1594 |
1595 | stdCkptX := [1912]
1596 | stdCkptY := [1943]
1597 | desiredColor := ["0xF8FCFD"]
1598 |
1599 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1600 | UserClick(stdTargetX, stdTargetY, scrRatio)
1601 | Sleep sleepTime
1602 | if A_Index > waitTolerance {
1603 | MsgBox "选择关卡失败!"
1604 | ExitApp
1605 | }
1606 | }
1607 |
1608 | stdCkptX := [2062]
1609 | stdCkptY := [1850]
1610 | desiredColor := ["0xF96F36"]
1611 |
1612 | ;如果是战斗关卡
1613 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1614 | ;点击快速战斗
1615 | stdTargetX := 2233
1616 | stdTargetY := 1854
1617 | UserClick(stdTargetX, stdTargetY, scrRatio)
1618 | Sleep sleepTime
1619 |
1620 | stdCkptX := [2062]
1621 | stdCkptY := [1850]
1622 | desiredColor := ["0xF96F36"]
1623 |
1624 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1625 | UserClick(stdTargetX, stdTargetY, scrRatio)
1626 | Sleep sleepTime
1627 | if A_Index > waitTolerance {
1628 | MsgBox "快速战斗失败!"
1629 | ExitApp
1630 | }
1631 | }
1632 |
1633 | stdCkptX := [2112]
1634 | stdCkptY := [1808]
1635 | desiredColor := ["0x05A0E3"]
1636 |
1637 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) && !UserCheckColor(stdCkptX, [1808 + 79], desiredColor, scrRatio) {
1638 | Sleep sleepTime
1639 | if A_Index > waitTolerance {
1640 | MsgBox "快速战斗失败!"
1641 | ExitApp
1642 | }
1643 | }
1644 |
1645 | Sleep 2000 ;kkk
1646 | if sleepTime <= 1000
1647 | Sleep 250
1648 |
1649 | ;点击不选择
1650 | deltaY := 0
1651 | stdCkptX := [1599]
1652 | stdCkptY := [1811 + 79]
1653 | desiredColor := ["0xDEE1E1"]
1654 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio)
1655 | deltaY := 79
1656 |
1657 | ;if deltaY == 79
1658 | ; MsgBox "79"
1659 |
1660 | stdTargetX := 1631
1661 | stdTargetY := 1811 + deltaY
1662 | UserClick(stdTargetX, stdTargetY, scrRatio)
1663 | Sleep sleepTime
1664 |
1665 | stdCkptX := [2112]
1666 | stdCkptY := [1808 + deltaY]
1667 | desiredColor := ["0x05A0E3"]
1668 |
1669 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1670 | UserClick(stdTargetX, stdTargetY, scrRatio)
1671 | Sleep sleepTime
1672 | if A_Index > waitTolerance {
1673 | MsgBox "不选择buff失败!"
1674 | ExitApp
1675 | }
1676 | }
1677 |
1678 | ;点击确认
1679 | stdTargetX := 2146
1680 | stdTargetY := 1349
1681 | UserClick(stdTargetX, stdTargetY, scrRatio)
1682 | Sleep sleepTime
1683 |
1684 | stdCkptX := [2081]
1685 | stdCkptY := [1320]
1686 | desiredColor := ["0x00A0EB"]
1687 |
1688 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1689 | UserClick(stdTargetX, stdTargetY, scrRatio)
1690 | Sleep sleepTime
1691 | if A_Index > waitTolerance {
1692 | MsgBox "不选择buff失败!"
1693 | ExitApp
1694 | }
1695 | }
1696 | }
1697 | else {
1698 | Sleep 2000 ;kkk
1699 | if sleepTime <= 1000
1700 | Sleep 250
1701 |
1702 | stdCkptX := [1636, 2053]
1703 | stdCkptY := [1991, 1991]
1704 | desiredColor := ["0xE0E2E2", "0x13A1E4"]
1705 |
1706 | ;如果是可以不选择的buff关卡
1707 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1708 | ;点击不选择
1709 | stdTargetX := 1743
1710 | stdTargetY := 2019
1711 | UserClick(stdTargetX, stdTargetY, scrRatio)
1712 | Sleep sleepTime
1713 |
1714 | stdCkptX := [2053]
1715 | stdCkptY := [1991]
1716 | desiredColor := ["0x13A1E4"]
1717 |
1718 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1719 | UserClick(stdTargetX, stdTargetY, scrRatio)
1720 | Sleep sleepTime
1721 | if A_Index > waitTolerance {
1722 | MsgBox "不选择buff失败!"
1723 | ExitApp
1724 | }
1725 | }
1726 |
1727 | ;点击确认
1728 | stdTargetX := 2180
1729 | stdTargetY := 1346
1730 | UserClick(stdTargetX, stdTargetY, scrRatio)
1731 | Sleep sleepTime
1732 |
1733 | stdCkptX := [2080]
1734 | stdCkptY := [1319]
1735 | desiredColor := ["0x00A0EB"]
1736 |
1737 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1738 | UserClick(stdTargetX, stdTargetY, scrRatio)
1739 | Sleep sleepTime
1740 | if A_Index > waitTolerance {
1741 | MsgBox "不选择buff失败!"
1742 | ExitApp
1743 | }
1744 | }
1745 |
1746 | ;点击确认
1747 | stdTargetX := 1932
1748 | stdTargetY := 1293
1749 | UserClick(stdTargetX, stdTargetY, scrRatio)
1750 | Sleep sleepTime
1751 |
1752 | stdCkptX := [1836]
1753 | stdCkptY := [1260]
1754 | desiredColor := ["0x069FE3"]
1755 |
1756 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1757 | UserClick(stdTargetX, stdTargetY, scrRatio)
1758 | Sleep sleepTime
1759 | if A_Index > waitTolerance {
1760 | MsgBox "不选择buff失败!"
1761 | ExitApp
1762 | }
1763 | }
1764 | }
1765 | else {
1766 | ;是必须选择的关卡
1767 | ;选择buff
1768 | stdTargetX := 1885
1769 | stdTargetY := 1862
1770 | UserClick(stdTargetX, stdTargetY, scrRatio)
1771 | Sleep sleepTime // 2
1772 | stdTargetX := 1904
1773 | stdTargetY := 1900
1774 | UserClick(stdTargetX, stdTargetY, scrRatio)
1775 | Sleep sleepTime
1776 |
1777 | if sleepTime <= 1000
1778 | Sleep 1000
1779 |
1780 | ;点击确认
1781 | stdCkptX := [1858]
1782 | stdCkptY := [1572]
1783 | desiredColor := ["0x069FE3"]
1784 |
1785 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1786 | stdTargetX := 1923
1787 | stdTargetY := 1589
1788 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1789 | UserClick(stdTargetX, stdTargetY, scrRatio)
1790 | Sleep sleepTime
1791 | if A_Index > waitTolerance {
1792 | MsgBox "确认失败!"
1793 | ExitApp
1794 | }
1795 | }
1796 | }
1797 | else {
1798 | stdTargetX := 1908
1799 | stdTargetY := 2016
1800 | UserClick(stdTargetX, stdTargetY, scrRatio)
1801 | Sleep sleepTime // 2
1802 | UserClick(stdTargetX, stdTargetY, scrRatio)
1803 | Sleep sleepTime
1804 | UserClick(stdTargetX, stdTargetY, scrRatio)
1805 | Sleep sleepTime
1806 | UserClick(stdTargetX, stdTargetY, scrRatio)
1807 | Sleep sleepTime
1808 |
1809 | ;不替换buff
1810 | ;点击不选择和确定
1811 | tX := 2104
1812 | tY := 1656
1813 | desiredColor := ["0x089FE4"]
1814 |
1815 | flag := true
1816 |
1817 | while !UserCheckColor([tX], [tY], desiredColor, scrRatio) {
1818 | tY := tY + 65
1819 | if tY > 2160 {
1820 | flag := false
1821 | break
1822 | }
1823 | }
1824 |
1825 | if !flag {
1826 | /*
1827 | stdTargetX := 1908
1828 | stdTargetY := 2016
1829 | UserClick(stdTargetX, stdTargetY, scrRatio)
1830 | Sleep sleepTime // 2
1831 | UserClick(stdTargetX, stdTargetY, scrRatio)
1832 | Sleep sleepTime // 2
1833 | UserClick(stdTargetX, stdTargetY, scrRatio)
1834 | Sleep sleepTime // 2
1835 | UserClick(stdTargetX, stdTargetY, scrRatio)
1836 | Sleep sleepTime
1837 |
1838 | continue
1839 | }
1840 |
1841 | ;MsgBox "点不选择"
1842 | stdTargetX := 2185
1843 | stdTargetY := tY - 200
1844 | UserClick(stdTargetX, stdTargetY, scrRatio)
1845 | Sleep sleepTime // 2
1846 | UserClick(stdTargetX, stdTargetY, scrRatio)
1847 | Sleep sleepTime // 2
1848 |
1849 | ;MsgBox "点击确定"
1850 | stdTargetX := 2185
1851 | stdTargetY := tY
1852 | UserClick(stdTargetX, stdTargetY, scrRatio)
1853 | Sleep sleepTime
1854 |
1855 | stdCkptX := [2104]
1856 | stdCkptY := [tY]
1857 | desiredColor := ["0x089FE4"]
1858 |
1859 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1860 | UserClick(stdTargetX, stdTargetY, scrRatio)
1861 | Sleep sleepTime
1862 | if A_Index > waitTolerance {
1863 | MsgBox "模拟室结束异常!"
1864 | ExitApp
1865 | }
1866 | }
1867 |
1868 | stdTargetX := 1908
1869 | stdTargetY := 2016
1870 | UserClick(stdTargetX, stdTargetY, scrRatio)
1871 | Sleep sleepTime // 2
1872 | UserClick(stdTargetX, stdTargetY, scrRatio)
1873 | Sleep sleepTime // 2
1874 | UserClick(stdTargetX, stdTargetY, scrRatio)
1875 | Sleep sleepTime
1876 | UserClick(stdTargetX, stdTargetY, scrRatio)
1877 | Sleep sleepTime
1878 | }
1879 | }
1880 | }
1881 | }
1882 |
1883 | ;6C
1884 | ;选择右边一个关卡
1885 | stdTargetX := 2084
1886 | stdTargetY := 1508
1887 | UserClick(stdTargetX, stdTargetY, scrRatio)
1888 | Sleep sleepTime
1889 |
1890 | stdCkptX := [1921]
1891 | stdCkptY := [1921]
1892 | desiredColor := ["0x000000"]
1893 |
1894 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1895 | UserClick(stdTargetX, stdTargetY, scrRatio)
1896 | Sleep sleepTime
1897 | if A_Index > waitTolerance {
1898 | MsgBox "选择关卡失败!"
1899 | ExitApp
1900 | }
1901 | }
1902 |
1903 | Sleep 1500 ;kkk
1904 | if sleepTime <= 1000
1905 | Sleep 750
1906 |
1907 | stdCkptX := [1648]
1908 | stdCkptY := [1995]
1909 | desiredColor := ["0xE1E2E2"]
1910 |
1911 | ;如果是属性提升
1912 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1913 | stdTargetX := 1711
1914 | stdTargetY := 2020
1915 | UserClick(stdTargetX, stdTargetY, scrRatio)
1916 | Sleep sleepTime
1917 |
1918 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1919 | UserClick(stdTargetX, stdTargetY, scrRatio)
1920 | Sleep sleepTime
1921 | if A_Index > waitTolerance {
1922 | MsgBox "不选择失败!"
1923 | ExitApp
1924 | }
1925 | }
1926 |
1927 | stdTargetX := 2304
1928 | stdTargetY := 1338
1929 | UserClick(stdTargetX, stdTargetY, scrRatio)
1930 | Sleep sleepTime // 2
1931 | UserClick(stdTargetX, stdTargetY, scrRatio)
1932 | Sleep sleepTime // 2
1933 | UserClick(stdTargetX, stdTargetY, scrRatio)
1934 | Sleep sleepTime // 2
1935 | }
1936 | else {
1937 | ;如果是疗养室
1938 | stdTargetX := 1908
1939 | stdTargetY := 1767
1940 | UserClick(stdTargetX, stdTargetY, scrRatio)
1941 | Sleep sleepTime // 2
1942 | UserClick(stdTargetX, stdTargetY, scrRatio)
1943 | Sleep sleepTime // 2
1944 |
1945 | stdTargetX := 1892
1946 | stdTargetY := 2014
1947 | UserClick(stdTargetX, stdTargetY, scrRatio)
1948 | Sleep sleepTime // 2
1949 | UserClick(stdTargetX, stdTargetY, scrRatio)
1950 | Sleep sleepTime // 2
1951 | UserClick(stdTargetX, stdTargetY, scrRatio)
1952 | Sleep sleepTime // 2
1953 | }
1954 |
1955 | ;7C
1956 | stdTargetX := 1916
1957 | stdTargetY := 1471
1958 | UserClick(stdTargetX, stdTargetY, scrRatio)
1959 | Sleep sleepTime
1960 |
1961 | stdCkptX := [837, 951]
1962 | stdCkptY := [1407, 1762]
1963 | desiredColor := ["0xF8FCFE", "0xF8FCFE"]
1964 |
1965 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1966 | UserClick(stdTargetX, stdTargetY, scrRatio)
1967 | Sleep sleepTime
1968 | if A_Index > waitTolerance {
1969 | MsgBox "选择关卡失败!"
1970 | ExitApp
1971 | }
1972 | }
1973 | */
1974 |
1975 | ;点击进入战斗
1976 | stdTargetX := 2225
1977 | stdTargetY := 2004
1978 | UserClick(stdTargetX, stdTargetY, scrRatio)
1979 | Sleep sleepTime // 2
1980 | UserClick(stdTargetX, stdTargetY, scrRatio)
1981 | Sleep sleepTime // 2
1982 | UserClick(stdTargetX, stdTargetY, scrRatio)
1983 | Sleep sleepTime // 2
1984 |
1985 | stdCkptX := [1420, 3713]
1986 | stdCkptY := [1204, 2035]
1987 | desiredColor := ["0xFFFFFF", "0xE6E6E6"]
1988 |
1989 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
1990 | ;UserClick(stdTargetX, stdTargetY - 300, scrRatio)
1991 | CheckAutoBattle()
1992 | Sleep sleepTime
1993 | if A_Index > waitTolerance * 2 {
1994 | ;MsgBox "模拟室boss战异常!"
1995 | break
1996 | }
1997 | }
1998 |
1999 | stdTargetX := 1898
2000 | stdTargetY := 1996
2001 | UserClick(stdTargetX, stdTargetY, scrRatio)
2002 | Sleep sleepTime
2003 |
2004 | stdCkptX := [2115]
2005 | stdCkptY := [1305]
2006 | stdCkptX2 := [2115]
2007 | stdCkptY2 := [1556]
2008 | desiredColor := ["0xEFF3F5"]
2009 |
2010 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) && !UserCheckColor(stdCkptX2, stdCkptY2, desiredColor, scrRatio) {
2011 | UserClick(stdTargetX, stdTargetY, scrRatio)
2012 | Sleep sleepTime
2013 | if A_Index > waitTolerance {
2014 | MsgBox "模拟室结束异常!"
2015 | ExitApp
2016 | }
2017 | }
2018 |
2019 | if colorTolerance != 15 {
2020 | Sleep 5000
2021 | }
2022 |
2023 | ;点击模拟结束
2024 | stdTargetX := 1923
2025 | stdTargetY := 1276
2026 | if UserCheckColor(stdCkptX2, stdCkptY2, desiredColor, scrRatio) {
2027 | stdTargetX := 1923
2028 | stdTargetY := 1552
2029 | }
2030 | UserClick(stdTargetX, stdTargetY, scrRatio)
2031 | Sleep sleepTime // 2
2032 | UserClick(stdTargetX, stdTargetY, scrRatio)
2033 | Sleep sleepTime // 2
2034 | UserClick(stdTargetX, stdTargetY, scrRatio)
2035 | Sleep sleepTime
2036 |
2037 | /*
2038 | stdTargetX := 1902
2039 | stdTargetY := 1461
2040 | UserClick(stdTargetX, stdTargetY, scrRatio)
2041 | Sleep sleepTime // 2
2042 | UserClick(stdTargetX, stdTargetY, scrRatio)
2043 | Sleep sleepTime // 2
2044 | */
2045 |
2046 | ;点击不选择和确定
2047 | /*
2048 | tX := 2104
2049 | tY := 1656
2050 | desiredColor := ["0x089FE4"]
2051 |
2052 | while !UserCheckColor([tX], [tY], desiredColor, scrRatio) {
2053 | tY := tY + 65
2054 | if tY > 2160 {
2055 | MsgBox "模拟室结束异常!"
2056 | ExitApp
2057 | }
2058 | }
2059 |
2060 | ;MsgBox "点不选择"
2061 | stdTargetX := 2185
2062 | stdTargetY := tY - 200
2063 | UserClick(stdTargetX, stdTargetY, scrRatio)
2064 | Sleep sleepTime // 2
2065 | UserClick(stdTargetX, stdTargetY, scrRatio)
2066 | Sleep sleepTime // 2
2067 |
2068 | ;MsgBox "点击确定"
2069 | stdTargetX := 2185
2070 | stdTargetY := tY
2071 | UserClick(stdTargetX, stdTargetY, scrRatio)
2072 | Sleep sleepTime
2073 |
2074 | stdCkptX := [2104]
2075 | stdCkptY := [tY]
2076 | desiredColor := ["0x089FE4"]
2077 |
2078 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2079 | UserClick(stdTargetX, stdTargetY, scrRatio)
2080 | Sleep sleepTime
2081 | if A_Index > waitTolerance {
2082 | MsgBox "模拟室结束异常!"
2083 | ExitApp
2084 | }
2085 | }
2086 |
2087 | stdTargetX := 2191
2088 | stdTargetY := 1349
2089 | UserClick(stdTargetX, stdTargetY, scrRatio)
2090 | Sleep sleepTime // 2
2091 | UserClick(stdTargetX, stdTargetY, scrRatio)
2092 | Sleep sleepTime // 2
2093 | UserClick(stdTargetX, stdTargetY, scrRatio)
2094 | Sleep sleepTime
2095 | */
2096 |
2097 | ;退回大厅
2098 | stdTargetX := 333
2099 | stdTargetY := 2041
2100 | UserClick(stdTargetX, stdTargetY, scrRatio)
2101 | Sleep sleepTime
2102 |
2103 | stdCkptX := [64]
2104 | stdCkptY := [470]
2105 | desiredColor := ["0xFAA72C"]
2106 |
2107 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2108 | UserClick(stdTargetX, stdTargetY, scrRatio)
2109 | Sleep sleepTime
2110 | if A_Index > waitTolerance {
2111 | MsgBox "退回大厅失败!"
2112 | ExitApp
2113 | }
2114 | }
2115 | }
2116 |
2117 |
2118 | ;=============================================================
2119 | ;7: 新人竞技场打第三位,顺带收50%以上的菜
2120 | RookieArena(times)
2121 | {
2122 | ;进入方舟
2123 | stdTargetX := 2689
2124 | stdTargetY := 1463
2125 | UserClick(stdTargetX, stdTargetY, scrRatio)
2126 | Sleep sleepTime
2127 |
2128 | stdCkptX := [64]
2129 | stdCkptY := [470]
2130 | desiredColor := ["0xFAA72C"]
2131 |
2132 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2133 | UserClick(stdTargetX, stdTargetY, scrRatio)
2134 | Sleep sleepTime // 2
2135 | if A_Index > waitTolerance {
2136 | MsgBox "进入方舟失败!"
2137 | ExitApp
2138 | }
2139 | }
2140 |
2141 | stdCkptX := [1607]
2142 | stdCkptY := [283]
2143 | desiredColor := ["0x01D4F6"]
2144 |
2145 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2146 | Sleep sleepTime
2147 | if A_Index > waitTolerance {
2148 | MsgBox "进入方舟失败!"
2149 | ExitApp
2150 | }
2151 | }
2152 |
2153 | ;收pjjc菜
2154 | if sleepTime < 1500
2155 | Sleep 1000
2156 |
2157 | stdTargetX := 2261
2158 | stdTargetY := 956
2159 | UserClick(stdTargetX, stdTargetY, scrRatio)
2160 | Sleep sleepTime
2161 | UserClick(stdTargetX, stdTargetY, scrRatio)
2162 | Sleep sleepTime
2163 |
2164 | stdCkptX := [1607]
2165 | stdCkptY := [283]
2166 | desiredColor := ["0x01D4F6"]
2167 |
2168 | stdTargetX := 2129
2169 | stdTargetY := 1920
2170 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2171 | UserClick(stdTargetX, stdTargetY, scrRatio)
2172 | Sleep sleepTime
2173 | }
2174 |
2175 | ;进入竞技场
2176 | stdTargetX := 2383
2177 | stdTargetY := 1353
2178 | UserClick(stdTargetX, stdTargetY, scrRatio)
2179 | Sleep sleepTime
2180 |
2181 | stdCkptX := [1607]
2182 | stdCkptY := [283]
2183 | desiredColor := ["0x01D4F6"]
2184 |
2185 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2186 | UserClick(stdTargetX, stdTargetY, scrRatio)
2187 | Sleep sleepTime
2188 | if A_Index > waitTolerance {
2189 | MsgBox "进入竞技场失败!"
2190 | ExitApp
2191 | }
2192 | }
2193 |
2194 |
2195 | stdCkptX := [1683]
2196 | stdCkptY := [606]
2197 | desiredColor := ["0xF7FCFE"]
2198 |
2199 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2200 | Sleep sleepTime
2201 | if A_Index > waitTolerance {
2202 | MsgBox "进入竞技场失败!"
2203 | ExitApp
2204 | }
2205 | }
2206 |
2207 |
2208 | ;进入新人竞技场
2209 | stdTargetX := 1647
2210 | stdTargetY := 1164
2211 | UserClick(stdTargetX, stdTargetY, scrRatio)
2212 | Sleep sleepTime
2213 |
2214 | stdCkptX := [784]
2215 | stdCkptY := [1201]
2216 | desiredColor := ["0xF8FCFE"]
2217 |
2218 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2219 | UserClick(stdTargetX, stdTargetY, scrRatio)
2220 | Sleep sleepTime
2221 |
2222 | if A_Index > 5 {
2223 | ;退回大厅
2224 | stdTargetX := 333
2225 | stdTargetY := 2041
2226 | UserClick(stdTargetX, stdTargetY, scrRatio)
2227 | Sleep sleepTime
2228 |
2229 | stdCkptX := [64]
2230 | stdCkptY := [470]
2231 | desiredColor := ["0xFAA72C"]
2232 |
2233 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2234 | UserClick(stdTargetX, stdTargetY, scrRatio)
2235 | Sleep sleepTime
2236 | if A_Index > waitTolerance {
2237 | MsgBox "退回大厅失败!"
2238 | ExitApp
2239 | }
2240 | }
2241 |
2242 | return
2243 | }
2244 |
2245 | if A_Index > waitTolerance {
2246 | MsgBox "进入新人竞技场失败!"
2247 | ExitApp
2248 | }
2249 | }
2250 |
2251 | loop times {
2252 | ;点击进入战斗
2253 | stdTargetX := 2371
2254 | stdTargetY := 1847
2255 | UserClick(stdTargetX, stdTargetY, scrRatio)
2256 | Sleep sleepTime
2257 |
2258 | stdCkptX := [2700]
2259 | stdCkptY := [1691]
2260 | desiredColor := ["0xF7FCFE"]
2261 |
2262 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2263 | UserClick(stdTargetX, stdTargetY, scrRatio)
2264 | Sleep sleepTime
2265 | if A_Index > waitTolerance {
2266 | MsgBox "选择对手失败!"
2267 | ExitApp
2268 | }
2269 | }
2270 |
2271 | ;点击进入战斗
2272 | stdTargetX := 2123
2273 | stdTargetY := 1784
2274 | UserClick(stdTargetX, stdTargetY, scrRatio)
2275 | Sleep sleepTime
2276 |
2277 | stdCkptX := [2784]
2278 | stdCkptY := [1471]
2279 | desiredColor := ["0xF8FCFD"]
2280 |
2281 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2282 | UserClick(stdTargetX, stdTargetY, scrRatio)
2283 | Sleep sleepTime
2284 | if A_Index > waitTolerance {
2285 | MsgBox "新人竞技场作战失败!"
2286 | ExitApp
2287 | }
2288 | }
2289 | }
2290 |
2291 | ;退回大厅
2292 | stdTargetX := 333
2293 | stdTargetY := 2041
2294 | UserClick(stdTargetX, stdTargetY, scrRatio)
2295 | Sleep sleepTime
2296 |
2297 | stdCkptX := [64]
2298 | stdCkptY := [470]
2299 | desiredColor := ["0xFAA72C"]
2300 |
2301 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2302 | UserClick(stdTargetX, stdTargetY, scrRatio)
2303 | Sleep sleepTime
2304 | if A_Index > waitTolerance {
2305 | MsgBox "退回大厅失败!"
2306 | ExitApp
2307 | }
2308 | }
2309 | }
2310 |
2311 |
2312 | ;=============================================================
2313 | ;8: 对前n位nikke进行好感度咨询(可以通过收藏把想要咨询的nikke排到前面)
2314 | NotAllCollection()
2315 | {
2316 | stdCkptX := [2447]
2317 | stdCkptY := [1464]
2318 | desiredColor := ["0x444547"]
2319 | return UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio)
2320 | }
2321 |
2322 | LoveTalking(times)
2323 | {
2324 | ;进入妮姬列表
2325 | stdTargetX := 1497
2326 | stdTargetY := 2004
2327 | UserClick(stdTargetX, stdTargetY, scrRatio)
2328 | Sleep sleepTime
2329 |
2330 | stdCkptX := [64]
2331 | stdCkptY := [470]
2332 | desiredColor := ["0xFAA72C"]
2333 |
2334 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2335 | UserClick(stdTargetX, stdTargetY, scrRatio)
2336 | Sleep sleepTime // 2
2337 | if A_Index > waitTolerance {
2338 | MsgBox "进入妮姬列表失败!"
2339 | ExitApp
2340 | }
2341 | }
2342 |
2343 | stdCkptX := [1447, 1845]
2344 | stdCkptY := [428, 433]
2345 | desiredColor := ["0x3A3B3D", "0x3B3C3E"]
2346 |
2347 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2348 | Sleep sleepTime
2349 | if A_Index > waitTolerance {
2350 | MsgBox "进入妮姬列表失败!"
2351 | ExitApp
2352 | }
2353 | }
2354 |
2355 | ;进入咨询页面
2356 | stdTargetX := 3308
2357 | stdTargetY := 257
2358 | UserClick(stdTargetX, stdTargetY, scrRatio)
2359 | Sleep sleepTime
2360 |
2361 | stdCkptX := [1650]
2362 | stdCkptY := [521]
2363 | desiredColor := ["0x14B0F5"]
2364 |
2365 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2366 | ;如果没次数了,直接退出
2367 | if UserCheckColor(stdCkptX, stdCkptY, ["0xE0E0E2"], scrRatio) {
2368 | stdTargetX := 333
2369 | stdTargetY := 2041
2370 | UserClick(stdTargetX, stdTargetY, scrRatio)
2371 | Sleep sleepTime
2372 |
2373 | stdCkptX := [64]
2374 | stdCkptY := [470]
2375 | desiredColor := ["0xFAA72C"]
2376 |
2377 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2378 | UserClick(stdTargetX, stdTargetY, scrRatio)
2379 | Sleep sleepTime
2380 | if A_Index > waitTolerance {
2381 | MsgBox "退回大厅失败!"
2382 | ExitApp
2383 | }
2384 | }
2385 | return
2386 | }
2387 | UserClick(stdTargetX, stdTargetY, scrRatio)
2388 | Sleep sleepTime
2389 | if A_Index > waitTolerance {
2390 | MsgBox "进入咨询页面失败!"
2391 | ExitApp
2392 | }
2393 | }
2394 |
2395 | ;点进第一个妮姬
2396 | stdTargetX := 736
2397 | stdTargetY := 749
2398 | UserClick(stdTargetX, stdTargetY, scrRatio)
2399 | Sleep sleepTime
2400 |
2401 | stdCkptX := [1504]
2402 | stdCkptY := [1747]
2403 | desiredColor := ["0xF99F22"]
2404 |
2405 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2406 | UserClick(stdTargetX, stdTargetY, scrRatio)
2407 | Sleep sleepTime
2408 | if A_Index > waitTolerance {
2409 | MsgBox "进入妮姬咨询页面失败!"
2410 | ExitApp
2411 | }
2412 | }
2413 |
2414 | loop times {
2415 | stdCkptX := [1994]
2416 | stdCkptY := [1634]
2417 | desiredColor := ["0xFA6E34"]
2418 |
2419 | ;如果能够快速咨询
2420 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) && !(isCheckedLongTalk && NotAllCollection()) {
2421 | ;点击快速咨询
2422 | stdTargetX := 2175
2423 | stdTargetY := 1634
2424 | UserClick(stdTargetX, stdTargetY, scrRatio)
2425 | Sleep sleepTime
2426 |
2427 | stdCkptX := [1994]
2428 | stdCkptY := [1634]
2429 | desiredColor := ["0xFA6E34"]
2430 |
2431 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2432 | UserClick(stdTargetX, stdTargetY, scrRatio)
2433 | Sleep sleepTime
2434 | if A_Index > waitTolerance {
2435 | MsgBox "进入妮姬咨询页面失败!"
2436 | ExitApp
2437 | }
2438 | }
2439 |
2440 | ;点击确定
2441 | stdTargetX := 2168
2442 | stdTargetY := 1346
2443 | UserClick(stdTargetX, stdTargetY, scrRatio)
2444 | Sleep sleepTime
2445 |
2446 | stdCkptX := [1504]
2447 | stdCkptY := [1747]
2448 | desiredColor := ["0xF99F22"]
2449 |
2450 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2451 | UserClick(stdTargetX, stdTargetY, scrRatio)
2452 | Sleep sleepTime
2453 | if A_Index > waitTolerance {
2454 | MsgBox "快速咨询失败!"
2455 | ExitApp
2456 | }
2457 | }
2458 | }
2459 | else {
2460 | ;如果不能快速咨询
2461 | stdCkptX := [1982]
2462 | stdCkptY := [1819]
2463 | desiredColor := ["0x4A4A4C"]
2464 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2465 | stdTargetX := 2168
2466 | stdTargetY := 1777
2467 | UserClick(stdTargetX, stdTargetY, scrRatio)
2468 | Sleep sleepTime
2469 |
2470 | stdCkptX := [1504]
2471 | stdCkptY := [1747]
2472 | desiredColor := ["0xF99F22"]
2473 |
2474 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2475 | UserClick(stdTargetX, stdTargetY, scrRatio)
2476 | Sleep sleepTime
2477 | if A_Index > waitTolerance {
2478 | MsgBox "咨询失败!"
2479 | ExitApp
2480 | }
2481 | }
2482 |
2483 | ;点击确认
2484 | stdTargetX := 2192
2485 | stdTargetY := 1349
2486 | UserClick(stdTargetX, stdTargetY, scrRatio)
2487 | Sleep sleepTime
2488 |
2489 | stdCkptX := [2109]
2490 | stdCkptY := [1342]
2491 | desiredColor := ["0x00A0EB"]
2492 |
2493 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2494 | UserClick(stdTargetX, stdTargetY, scrRatio)
2495 | Sleep sleepTime
2496 | if A_Index > waitTolerance {
2497 | MsgBox "咨询失败!"
2498 | ExitApp
2499 | }
2500 | }
2501 |
2502 | stdCkptX := [1504]
2503 | stdCkptY := [1747]
2504 | desiredColor := ["0xF99F22"]
2505 | stdTargetX := 1903
2506 | stdTargetY := 1483
2507 |
2508 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2509 | if Mod(A_Index, 2) == 0
2510 | UserClick(stdTargetX, stdTargetY, scrRatio)
2511 | else
2512 | UserClick(stdTargetX, 1625, scrRatio)
2513 | Sleep sleepTime // 2
2514 | if A_Index > waitTolerance * 2 {
2515 | MsgBox "咨询失败!"
2516 | ExitApp
2517 | }
2518 | }
2519 | }
2520 | }
2521 |
2522 | if A_Index >= times
2523 | break
2524 |
2525 | ;翻页
2526 | stdTargetX := 3778
2527 | stdTargetY := 940
2528 | UserClick(stdTargetX, stdTargetY, scrRatio)
2529 | Sleep sleepTime
2530 |
2531 | stdCkptX := [1982]
2532 | stdCkptY := [1819]
2533 | desiredColor := ["0x4A4A4C"]
2534 |
2535 | numOfTalked := A_Index
2536 |
2537 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2538 | UserClick(stdTargetX, stdTargetY, scrRatio)
2539 | Sleep sleepTime
2540 | if A_Index + numOfTalked >= times + 5
2541 | break 2
2542 | if A_Index > waitTolerance {
2543 | MsgBox "咨询失败!"
2544 | ExitApp
2545 | }
2546 | }
2547 | }
2548 |
2549 | ;退回大厅
2550 | stdTargetX := 333
2551 | stdTargetY := 2041
2552 | UserClick(stdTargetX, stdTargetY, scrRatio)
2553 | Sleep sleepTime
2554 |
2555 | stdCkptX := [64]
2556 | stdCkptY := [470]
2557 | desiredColor := ["0xFAA72C"]
2558 |
2559 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2560 | UserClick(stdTargetX, stdTargetY, scrRatio)
2561 | Sleep sleepTime
2562 | if A_Index > waitTolerance {
2563 | MsgBox "退回大厅失败!"
2564 | ExitApp
2565 | }
2566 | }
2567 | }
2568 |
2569 |
2570 | ;=============================================================
2571 | ;9: 爬塔一次(做每日任务)
2572 | TribeTower()
2573 | {
2574 | stdTargetX := 2689
2575 | stdTargetY := 1463
2576 | UserClick(stdTargetX, stdTargetY, scrRatio)
2577 | Sleep sleepTime
2578 |
2579 | stdCkptX := [64]
2580 | stdCkptY := [470]
2581 | desiredColor := ["0xFAA72C"]
2582 |
2583 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2584 | UserClick(stdTargetX, stdTargetY, scrRatio)
2585 | Sleep sleepTime // 2
2586 | if A_Index > waitTolerance {
2587 | MsgBox "进入方舟失败!"
2588 | ExitApp
2589 | }
2590 | }
2591 |
2592 | stdCkptX := [1607]
2593 | stdCkptY := [283]
2594 | desiredColor := ["0x01D4F6"]
2595 |
2596 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2597 | Sleep sleepTime
2598 | if A_Index > waitTolerance {
2599 | MsgBox "进入方舟失败!"
2600 | ExitApp
2601 | }
2602 | }
2603 |
2604 | ;进入无限之塔
2605 | stdTargetX := 2278
2606 | stdTargetY := 776
2607 | UserClick(stdTargetX, stdTargetY, scrRatio)
2608 | Sleep sleepTime
2609 |
2610 | stdCkptX := [2405]
2611 | stdCkptY := [1014]
2612 | desiredColor := ["0xF8FBFE"]
2613 |
2614 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2615 | UserClick(stdTargetX, stdTargetY, scrRatio)
2616 | Sleep sleepTime
2617 | if A_Index > waitTolerance {
2618 | MsgBox "进入无限之塔失败!"
2619 | ExitApp
2620 | }
2621 | }
2622 |
2623 | stdTargetX := 1953
2624 | stdTargetY := 934
2625 | UserClick(stdTargetX, stdTargetY, scrRatio)
2626 | Sleep sleepTime
2627 |
2628 | stdCkptX := [2129, 2305]
2629 | stdCkptY := [1935, 1935]
2630 | desiredColor := ["0x2E77C2", "0x2E77C2"]
2631 |
2632 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2633 | UserClick(stdTargetX, stdTargetY, scrRatio)
2634 | Sleep sleepTime
2635 | if A_Index > waitTolerance {
2636 | MsgBox "选择作战失败!"
2637 | ExitApp
2638 | }
2639 | }
2640 |
2641 | stdTargetX := 2242
2642 | stdTargetY := 2001
2643 | UserClick(stdTargetX, stdTargetY, scrRatio)
2644 | Sleep sleepTime
2645 |
2646 | stdCkptX := [2129, 2305]
2647 | stdCkptY := [1935, 1935]
2648 | desiredColor := ["0x2E77C2", "0x2E77C2"]
2649 |
2650 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2651 | UserClick(stdTargetX, stdTargetY, scrRatio)
2652 | Sleep sleepTime
2653 | if A_Index > waitTolerance {
2654 | MsgBox "进入作战失败!"
2655 | ExitApp
2656 | }
2657 | }
2658 |
2659 | ;按esc
2660 | stdCkptX := [2065]
2661 | stdCkptY := [1954]
2662 | desiredColor := ["0x238CFD"]
2663 | stdTargetX := 3780
2664 | stdTargetY := 75
2665 |
2666 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2667 | UserClick(stdTargetX, stdTargetY, scrRatio)
2668 | Sleep sleepTime
2669 | if A_Index > waitTolerance {
2670 | MsgBox "按esc失败!"
2671 | ExitApp
2672 | }
2673 | }
2674 |
2675 | ;按放弃战斗
2676 | stdCkptX := [2065]
2677 | stdCkptY := [1954]
2678 | desiredColor := ["0x238CFD"]
2679 | stdTargetX := 1678
2680 | stdTargetY := 1986
2681 |
2682 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2683 | UserClick(stdTargetX, stdTargetY, scrRatio)
2684 | Sleep sleepTime
2685 | if A_Index > waitTolerance {
2686 | MsgBox "放弃战斗失败!"
2687 | ExitApp
2688 | }
2689 | }
2690 |
2691 | ;退回大厅
2692 | stdTargetX := 301
2693 | stdTargetY := 2030
2694 | UserClick(stdTargetX, stdTargetY, scrRatio)
2695 | Sleep sleepTime
2696 |
2697 | stdCkptX := [64]
2698 | stdCkptY := [470]
2699 | desiredColor := ["0xFAA72C"]
2700 |
2701 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2702 | UserClick(stdTargetX, stdTargetY, scrRatio)
2703 | Sleep sleepTime
2704 | if A_Index > waitTolerance {
2705 | MsgBox "退回大厅失败!"
2706 | ExitApp
2707 | }
2708 | }
2709 | }
2710 |
2711 |
2712 | ;=============================================================
2713 | MissionCompleted()
2714 | {
2715 | stdCkptX := [3451, 3756]
2716 | stdCkptY := [2077, 2075]
2717 | desiredColor := ["0x00A1FF", "0x00A1FF"]
2718 |
2719 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio)
2720 | return true
2721 | else
2722 | return false
2723 | }
2724 |
2725 | MissionFailed()
2726 | {
2727 | stdCkptX := [2306, 1920, 1590, 1560]
2728 | stdCkptY := [702, 1485, 1489, 1473]
2729 | desiredColor1 := ["0xB71013", "0xE9E9E7", "0x161515", "0xE9E9E7"]
2730 | desiredColor2 := ["0xAD080B", "0xE9E9E7", "0x161515", "0xE9E9E7"]
2731 |
2732 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor1, scrRatio) or UserCheckColor(stdCkptX, stdCkptY, desiredColor2, scrRatio)
2733 | return true
2734 | else
2735 | return false
2736 | }
2737 |
2738 | MissionEnded()
2739 | {
2740 | stdCkptX := [3494, 3721, 3526, 3457, 3339, 3407]
2741 | stdCkptY := [2086, 2093, 2033, 2043, 2040, 2043]
2742 | desiredColor := ["0x6F6F6F", "0x6F6F6F", "0x030303", "0x434343", "0xE6E6E6", "0x000000"]
2743 |
2744 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio)
2745 | return true
2746 | else
2747 | return false
2748 | }
2749 |
2750 | failedTower := Array()
2751 |
2752 | CompanyTowerInfo()
2753 | {
2754 | info := ""
2755 | loop failedTower.Length {
2756 | info := info failedTower[A_Index] " "
2757 | }
2758 | if info != "" {
2759 | info := "`n" info "已经爬不动惹dororo..."
2760 | }
2761 | return info
2762 | }
2763 |
2764 | ;10: 企业塔
2765 | CompanyTower()
2766 | {
2767 | stdTargetX := 2689
2768 | stdTargetY := 1463
2769 | UserClick(stdTargetX, stdTargetY, scrRatio)
2770 | Sleep sleepTime
2771 |
2772 | stdCkptX := [64]
2773 | stdCkptY := [470]
2774 | desiredColor := ["0xFAA72C"]
2775 |
2776 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2777 | UserClick(stdTargetX, stdTargetY, scrRatio)
2778 | Sleep sleepTime // 2
2779 | if A_Index > waitTolerance {
2780 | MsgBox "进入方舟失败!"
2781 | ExitApp
2782 | }
2783 | }
2784 |
2785 | stdCkptX := [1607]
2786 | stdCkptY := [283]
2787 | desiredColor := ["0x01D4F6"]
2788 |
2789 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2790 | Sleep sleepTime
2791 | if A_Index > waitTolerance {
2792 | MsgBox "进入方舟失败!"
2793 | ExitApp
2794 | }
2795 | }
2796 |
2797 | ;进入无限之塔
2798 | stdTargetX := 2278
2799 | stdTargetY := 776
2800 | UserClick(stdTargetX, stdTargetY, scrRatio)
2801 | Sleep sleepTime
2802 |
2803 | stdCkptX := [2405]
2804 | stdCkptY := [1014]
2805 | desiredColor := ["0xF8FBFE"]
2806 |
2807 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2808 | UserClick(stdTargetX, stdTargetY, scrRatio)
2809 | Sleep sleepTime
2810 | if A_Index > waitTolerance {
2811 | MsgBox "进入无限之塔失败!"
2812 | ExitApp
2813 | }
2814 | }
2815 |
2816 | Sleep 1500
2817 |
2818 | ;尝试进入每座企业塔
2819 | targX := [1501, 1779, 2061, 2332]
2820 | targY := [1497, 1497, 1497, 1497]
2821 | ckptX := [1383, 1665, 1935, 2222]
2822 | ckptY := [1925, 1925, 1925, 1925]
2823 |
2824 | loop targX.Length {
2825 | i := A_Index
2826 |
2827 | stdTargetX := targX[i]
2828 | stdTargetY := targY[i]
2829 | stdCkptX := [ckptX[i]]
2830 | stdCkptY := [ckptY[i]]
2831 | desiredColor := ["0x00AAF4"]
2832 |
2833 | ;如果未开放,则检查下一个企业
2834 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio)
2835 | continue
2836 |
2837 | ;点击进入企业塔
2838 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2839 | UserClick(stdTargetX, stdTargetY, scrRatio)
2840 | Sleep sleepTime
2841 | if A_Index > waitTolerance {
2842 | MsgBox "进入企业塔失败!"
2843 | ExitApp
2844 | }
2845 | }
2846 |
2847 | ;直到成功进入企业塔
2848 | stdCkptX := [3738]
2849 | stdCkptY := [447]
2850 | desiredColor := ["0xF8FCFE"]
2851 |
2852 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2853 | Sleep sleepTime
2854 | if A_Index > waitTolerance {
2855 | MsgBox "进入企业塔失败!"
2856 | ExitApp
2857 | }
2858 | }
2859 |
2860 | ;进入关卡页面
2861 | stdTargetX := 1918
2862 | stdTargetY := 919
2863 |
2864 | stdCkptX := [992]
2865 | stdCkptY := [2011]
2866 | desiredColor := ["0x000000"]
2867 |
2868 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2869 | UserClick(stdTargetX, stdTargetY, scrRatio)
2870 | Sleep sleepTime
2871 | if A_Index > waitTolerance {
2872 | MsgBox "进入企业塔关卡页面失败!"
2873 | ExitApp
2874 | }
2875 | }
2876 |
2877 | ;如果战斗次数已经用完
2878 | Sleep 1000
2879 | stdCkptX := [2038]
2880 | stdCkptY := [2057]
2881 | desiredColor := ["0x4D4E50"]
2882 | if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2883 | stdCkptX := [3738]
2884 | stdCkptY := [447]
2885 | desiredColor := ["0xF8FCFE"]
2886 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2887 | Send "{Escape}"
2888 | Sleep sleepTime
2889 | }
2890 |
2891 | stdCkptX := [2405]
2892 | stdCkptY := [1014]
2893 | desiredColor := ["0xF8FBFE"]
2894 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio)
2895 | Sleep sleepTime
2896 |
2897 | Sleep 1500
2898 | continue
2899 | }
2900 |
2901 | ;点击进入战斗
2902 | stdTargetX := 2249
2903 | stdTargetY := 1997
2904 | UserClick(stdTargetX, stdTargetY, scrRatio)
2905 | Sleep sleepTime
2906 | UserClick(stdTargetX, stdTargetY, scrRatio)
2907 | Sleep sleepTime
2908 | UserClick(stdTargetX, stdTargetY, scrRatio)
2909 | Sleep sleepTime
2910 |
2911 | ;等待战斗结束
2912 | WaitForBattleEnd:
2913 | while !(MissionCompleted() || MissionFailed() || MissionEnded()) {
2914 | CheckAutoBattle()
2915 | Sleep sleepTime
2916 | if A_Index > waitTolerance * 20 {
2917 | MsgBox "企业塔自动战斗失败!"
2918 | ExitApp
2919 | }
2920 | }
2921 |
2922 | ;如果战斗失败或次数用完
2923 | if MissionFailed() || MissionEnded() {
2924 | if MissionFailed() {
2925 | towerName := ""
2926 | global failedTower
2927 | switch i {
2928 | case 1:
2929 | towerName := "极乐净土塔"
2930 | case 2:
2931 | towerName := "米西利斯塔"
2932 | case 3:
2933 | towerName := "泰特拉塔"
2934 | case 4:
2935 | towerName := "朝圣者塔"
2936 | default:
2937 | towerName := ""
2938 | }
2939 | failedTower.Push towerName
2940 | }
2941 |
2942 | Send "{Escape}"
2943 | Sleep sleepTime
2944 |
2945 | while MissionFailed() || MissionEnded() {
2946 | Send "{Escape}"
2947 | Sleep sleepTime
2948 | }
2949 |
2950 | stdCkptX := [3738]
2951 | stdCkptY := [447]
2952 | desiredColor := ["0xF8FCFE"]
2953 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2954 | UserClick(3666, 1390, scrRatio)
2955 | Sleep sleepTime
2956 | if UserCheckColor([2088], [1327], ["0x00A0EB"], scrRatio) {
2957 | UserClick(2202, 1342, scrRatio)
2958 | Sleep sleepTime
2959 | }
2960 | }
2961 |
2962 | Sleep 5000
2963 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2964 | UserClick(3666, 1390, scrRatio)
2965 | Sleep sleepTime
2966 | if UserCheckColor([2088], [1327], ["0x00A0EB"], scrRatio) {
2967 | UserClick(2202, 1342, scrRatio)
2968 | Sleep sleepTime
2969 | }
2970 | }
2971 |
2972 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
2973 | Send "{Escape}"
2974 | Sleep sleepTime
2975 | }
2976 |
2977 | stdCkptX := [2405]
2978 | stdCkptY := [1014]
2979 | desiredColor := ["0xF8FBFE"]
2980 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio)
2981 | Sleep sleepTime
2982 |
2983 | Sleep 1500
2984 | continue
2985 | }
2986 |
2987 | ;如果战斗胜利
2988 | while MissionCompleted() {
2989 | Send "t"
2990 | Sleep sleepTime
2991 | }
2992 |
2993 | goto WaitForBattleEnd
2994 | }
2995 |
2996 | ;退回大厅
2997 | stdTargetX := 301
2998 | stdTargetY := 2030
2999 | UserClick(stdTargetX, stdTargetY, scrRatio)
3000 | Sleep sleepTime
3001 |
3002 | stdCkptX := [64]
3003 | stdCkptY := [470]
3004 | desiredColor := ["0xFAA72C"]
3005 |
3006 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3007 | UserClick(stdTargetX, stdTargetY, scrRatio)
3008 | Sleep sleepTime
3009 | if A_Index > waitTolerance {
3010 | MsgBox "退回大厅失败!"
3011 | ExitApp
3012 | }
3013 | }
3014 | }
3015 |
3016 |
3017 | ;=============================================================
3018 | ;11: 进入异拦
3019 | EnterInterception()
3020 | {
3021 | stdTargetX := 2689
3022 | stdTargetY := 1463
3023 | UserClick(stdTargetX, stdTargetY, scrRatio)
3024 | Sleep sleepTime
3025 |
3026 | stdCkptX := [64]
3027 | stdCkptY := [470]
3028 | desiredColor := ["0xFAA72C"]
3029 |
3030 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3031 | UserClick(stdTargetX, stdTargetY, scrRatio)
3032 | Sleep sleepTime // 2
3033 | if A_Index > waitTolerance {
3034 | MsgBox "进入方舟失败!"
3035 | ExitApp
3036 | }
3037 | }
3038 |
3039 | stdCkptX := [1607]
3040 | stdCkptY := [283]
3041 | desiredColor := ["0x01D4F6"]
3042 |
3043 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3044 | Sleep sleepTime
3045 | if A_Index > waitTolerance {
3046 | MsgBox "进入方舟失败!"
3047 | ExitApp
3048 | }
3049 | }
3050 |
3051 | ;进入拦截战
3052 | stdTargetX := 1670
3053 | stdTargetY := 1590
3054 | UserClick(stdTargetX, stdTargetY, scrRatio)
3055 | Sleep sleepTime
3056 |
3057 | stdCkptX := [1607]
3058 | stdCkptY := [283]
3059 | desiredColor := ["0x01D4F6"]
3060 |
3061 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3062 | UserClick(stdTargetX, stdTargetY, scrRatio)
3063 | Sleep sleepTime
3064 | if A_Index > waitTolerance {
3065 | MsgBox "进入拦截战失败!"
3066 | ExitApp
3067 | }
3068 | }
3069 |
3070 | ;不勾选自动拦截就直接退出
3071 | if !isCheckedInterception
3072 | return
3073 |
3074 | /*
3075 | stdCkptX := [1917]
3076 | stdCkptY := [910]
3077 | desiredColor := ["0x037EF9"]
3078 |
3079 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3080 | Sleep sleepTime
3081 | if A_Index > waitTolerance {
3082 | MsgBox "进入拦截战失败!"
3083 | ExitApp
3084 | }
3085 | }
3086 | */
3087 |
3088 | stdTargetX := 559
3089 | stdTargetY := 1571
3090 | UserClick(stdTargetX, stdTargetY, scrRatio)
3091 | Sleep 1000
3092 | UserClick(stdTargetX, stdTargetY, scrRatio)
3093 | Sleep 1000
3094 | UserClick(stdTargetX, stdTargetY, scrRatio)
3095 | Sleep 1000
3096 |
3097 | ;选择BOSS
3098 | switch InterceptionBoss {
3099 | case 1:
3100 | stdTargetX := 1556
3101 | stdTargetY := 886
3102 | stdCkptX := [1907]
3103 | stdCkptY := [898]
3104 | desiredColor := ["0xFA910E"]
3105 |
3106 | case 2:
3107 | stdTargetX := 2279
3108 | stdTargetY := 1296
3109 | stdCkptX := [1923]
3110 | stdCkptY := [908]
3111 | desiredColor := ["0xFB01F1"]
3112 |
3113 | case 3:
3114 | stdCkptX := [1917]
3115 | stdCkptY := [910]
3116 | desiredColor := ["0x037EF9"]
3117 |
3118 | case 4:
3119 | stdTargetX := 2281
3120 | stdTargetY := 899
3121 | stdCkptX := [1916]
3122 | stdCkptY := [907]
3123 | desiredColor := ["0x00F556"]
3124 |
3125 | case 5:
3126 | stdTargetX := 1551
3127 | stdTargetY := 1299
3128 | stdCkptX := [1919]
3129 | stdCkptY := [890]
3130 | desiredColor := ["0xFD000F"]
3131 |
3132 | default:
3133 | MsgBox "BOSS选择错误!"
3134 | ExitApp
3135 | }
3136 |
3137 | /*
3138 | if InterceptionBoss != 3 {
3139 | while UserCheckColor([1917], [910], ["0x037EF9"], scrRatio) {
3140 | UserClick(stdTargetX, stdTargetY, scrRatio)
3141 | Sleep sleepTime
3142 | if A_Index > waitTolerance {
3143 | MsgBox "选择BOSS失败!"
3144 | ExitApp
3145 | }
3146 | }
3147 | }
3148 | */
3149 | stdTargetX := 1556
3150 | stdTargetY := 886
3151 |
3152 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3153 | UserClick(stdTargetX, stdTargetY, scrRatio)
3154 | Sleep 2000
3155 | if A_Index > waitTolerance {
3156 | MsgBox "选择BOSS失败!"
3157 | ExitApp
3158 | }
3159 | }
3160 |
3161 | ;点击挑战按钮
3162 | if UserCheckColor([1735], [1730], ["0x28282A"], scrRatio) {
3163 | stdTargetX := 301
3164 | stdTargetY := 2030
3165 | UserClick(stdTargetX, stdTargetY, scrRatio)
3166 | Sleep sleepTime
3167 |
3168 | stdCkptX := [64]
3169 | stdCkptY := [470]
3170 | desiredColor := ["0xFAA72C"]
3171 |
3172 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3173 | UserClick(stdTargetX, stdTargetY, scrRatio)
3174 | Sleep sleepTime
3175 | if A_Index > waitTolerance {
3176 | MsgBox "退回大厅失败!"
3177 | ExitApp
3178 | }
3179 | }
3180 | return
3181 | }
3182 |
3183 | stdTargetX := 1924
3184 | stdTargetY := 1779
3185 |
3186 | /*
3187 | stdCkptX := [1735]
3188 | stdCkptY := [1730]
3189 | desiredColor := [""]
3190 |
3191 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3192 | UserClick(stdTargetX, stdTargetY, scrRatio)
3193 | Sleep sleepTime
3194 | if A_Index > waitTolerance {
3195 | MsgBox "点击挑战失败!"
3196 | ExitApp
3197 | }
3198 | }
3199 | */
3200 |
3201 | stdCkptX := [1390]
3202 | stdCkptY := [1799]
3203 | desiredColor := ["0x01AEF3"]
3204 |
3205 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3206 | UserClick(stdTargetX, stdTargetY, scrRatio)
3207 | Sleep sleepTime
3208 | if A_Index > waitTolerance {
3209 | MsgBox "点击挑战失败!"
3210 | ExitApp
3211 | }
3212 | }
3213 |
3214 | ;选择编队
3215 | switch InterceptionBoss {
3216 | case 1:
3217 | stdTargetX := 1882
3218 | stdTargetY := 1460
3219 | stdCkptX := [1843]
3220 | stdCkptY := [1428]
3221 |
3222 | case 2:
3223 | stdTargetX := 2020
3224 | stdTargetY := 1460
3225 | stdCkptX := [1981]
3226 | stdCkptY := [1428]
3227 |
3228 | case 3:
3229 | stdTargetX := 2151
3230 | stdTargetY := 1460
3231 | stdCkptX := [2113]
3232 | stdCkptY := [1428]
3233 |
3234 | case 4:
3235 | stdTargetX := 2282
3236 | stdTargetY := 1460
3237 | stdCkptX := [2248]
3238 | stdCkptY := [1428]
3239 |
3240 | case 5:
3241 | stdTargetX := 2421
3242 | stdTargetY := 1460
3243 | stdCkptX := [2380]
3244 | stdCkptY := [1428]
3245 |
3246 | default:
3247 | MsgBox "BOSS选择错误!"
3248 | ExitApp
3249 | }
3250 |
3251 | desiredColor := ["0x02ADF5"]
3252 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3253 | UserClick(stdTargetX, stdTargetY, scrRatio)
3254 | Sleep 1500
3255 | if A_Index > waitTolerance {
3256 | MsgBox "选择编队失败!"
3257 | ExitApp
3258 | }
3259 | }
3260 |
3261 | ;如果不能快速战斗,就进入战斗
3262 | stdCkptX := [1964]
3263 | stdCkptY := [1800]
3264 | desiredColor := ["0xF96B2F"]
3265 |
3266 | if !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3267 | stdTargetX := 2219
3268 | stdTargetY := 1992
3269 | stdCkptX := [1978]
3270 | stdCkptY := [1939]
3271 | desiredColor := ["0xEC2E15"]
3272 |
3273 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3274 | UserClick(stdTargetX, stdTargetY, scrRatio)
3275 | Sleep sleepTime
3276 | if A_Index > waitTolerance {
3277 | MsgBox "进入战斗失败!"
3278 | ExitApp
3279 | }
3280 | }
3281 |
3282 | ;退出结算页面
3283 |
3284 | stdTargetX := 904
3285 | stdTargetY := 1805
3286 | stdCkptX := [3731, 3713, 3638]
3287 | stdCkptY := [2040, 2034, 2091]
3288 | desiredColor := ["0xE6E6E6", "0xE6E6E6", "0x000000"]
3289 |
3290 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3291 | CheckAutoBattle()
3292 | Sleep sleepTime
3293 | if A_Index > waitTolerance * 20 {
3294 | MsgBox "自动战斗失败!"
3295 | ExitApp
3296 | }
3297 | }
3298 |
3299 | /*
3300 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3301 | UserClick(stdTargetX, stdTargetY, scrRatio)
3302 | Sleep sleepTime
3303 | if A_Index > waitTolerance {
3304 | MsgBox "退出结算页面失败!"
3305 | ExitApp
3306 | }
3307 | }
3308 | */
3309 | }
3310 | else {
3311 | stdTargetX := 2226
3312 | stdTargetY := 1817
3313 |
3314 | stdCkptX := [1981, 2463]
3315 | stdCkptY := [1795, 1791]
3316 | desiredColor := ["0x656768", "0x656668"]
3317 |
3318 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3319 | UserClick(stdTargetX, stdTargetY, scrRatio)
3320 | Sleep sleepTime
3321 | if A_Index > waitTolerance {
3322 | MsgBox "每周快速战斗失败!"
3323 | ExitApp
3324 | }
3325 | }
3326 | }
3327 |
3328 | /*
3329 | ;检查是否退出
3330 | stdCkptX := [1390]
3331 | stdCkptY := [1799]
3332 | desiredColor := ["0x01AEF3"]
3333 |
3334 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3335 | Sleep sleepTime
3336 | if A_Index > waitTolerance {
3337 | MsgBox "退出结算页面失败!"
3338 | ExitApp
3339 | }
3340 | }
3341 | */
3342 |
3343 | ;快速战斗
3344 | /*
3345 | stdTargetX := 2229
3346 | stdTargetY := 1842
3347 | stdCkptX := [1964]
3348 | stdCkptY := [1800]
3349 | desiredColor := ["0xF96B2F"]
3350 |
3351 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3352 | UserClick(stdTargetX, stdTargetY, scrRatio)
3353 | Sleep sleepTime
3354 |
3355 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3356 | UserClick(stdTargetX, stdTargetY, scrRatio)
3357 | Sleep sleepTime
3358 | if A_Index > waitTolerance {
3359 | MsgBox "快速战斗失败!"
3360 | ExitApp
3361 | }
3362 | }
3363 |
3364 | ;退出结算页面
3365 | stdTargetX := 904
3366 | stdTargetY := 1805
3367 | stdCkptX := [2232, 2391, 2464]
3368 | stdCkptY := [2100, 2099, 2051]
3369 | desiredColor := ["0x000000", "0x000000", "0x000000"]
3370 |
3371 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3372 | Sleep sleepTime
3373 | if A_Index > waitTolerance {
3374 | MsgBox "快速战斗结算失败!"
3375 | ExitApp
3376 | }
3377 | }
3378 |
3379 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3380 | UserClick(stdTargetX, stdTargetY, scrRatio)
3381 | Sleep sleepTime
3382 | if A_Index > waitTolerance {
3383 | MsgBox "退出结算页面失败!"
3384 | ExitApp
3385 | }
3386 | }
3387 | /*
3388 | stdTargetX := 904
3389 | stdTargetY := 1805
3390 | stdCkptX := [1893, 1913, 1933]
3391 | stdCkptY := [1951, 1948, 1956]
3392 | desiredColor := ["0xFFFFFF", "0xFFFFFF", "0xFFFFFF"]
3393 |
3394 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3395 | Sleep sleepTime
3396 | if A_Index > waitTolerance {
3397 | MsgBox "快速战斗结算失败!"
3398 | ExitApp
3399 | }
3400 | }
3401 |
3402 | while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3403 | UserClick(stdTargetX, stdTargetY, scrRatio)
3404 | Sleep sleepTime
3405 | if A_Index > waitTolerance {
3406 | MsgBox "退出结算页面失败!"
3407 | ExitApp
3408 | }
3409 | }
3410 |
3411 | ;检查是否退出
3412 | stdCkptX := [1390]
3413 | stdCkptY := [1799]
3414 | desiredColor := ["0x01AEF3"]
3415 |
3416 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3417 | Sleep sleepTime
3418 | if A_Index > waitTolerance {
3419 | MsgBox "退出结算页面失败!"
3420 | ExitApp
3421 | }
3422 | }
3423 |
3424 | Sleep 1000
3425 |
3426 | stdTargetX := 2229
3427 | stdTargetY := 1842
3428 | stdCkptX := [1964]
3429 | stdCkptY := [1800]
3430 | desiredColor := ["0xF96B2F"]
3431 | }
3432 |
3433 | ;退回大厅
3434 | stdTargetX := 301
3435 | stdTargetY := 2030
3436 | UserClick(stdTargetX, stdTargetY, scrRatio)
3437 | Sleep sleepTime
3438 |
3439 | stdCkptX := [64]
3440 | stdCkptY := [470]
3441 | desiredColor := ["0xFAA72C"]
3442 |
3443 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3444 | UserClick(stdTargetX, stdTargetY, scrRatio)
3445 | Sleep sleepTime
3446 | if A_Index > waitTolerance {
3447 | MsgBox "退回大厅失败!"
3448 | ExitApp
3449 | }
3450 | }
3451 | */
3452 |
3453 | ;进入特殊拦截战
3454 | /*
3455 | stdTargetX := 2059
3456 | stdTargetY := 1689
3457 | UserClick(stdTargetX, stdTargetY, scrRatio)
3458 | Sleep sleepTime
3459 |
3460 | stdCkptX := [1425]
3461 | stdCkptY := [1852]
3462 | desiredColor := ["0x02AEF5"]
3463 |
3464 | while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) {
3465 | UserClick(stdTargetX, stdTargetY, scrRatio)
3466 | Sleep sleepTime
3467 | if A_Index > waitTolerance {
3468 | MsgBox "进入特殊拦截战失败!"
3469 | ExitApp
3470 | }
3471 | }
3472 | */
3473 | }
3474 |
3475 |
3476 | ClickOnOutpostDefence(*)
3477 | {
3478 | global isCheckedOutposeDefence
3479 | isCheckedOutposeDefence := 1 - isCheckedOutposeDefence
3480 | }
3481 |
3482 | ClickOnCashShop(*)
3483 | {
3484 | global isCheckedCashShop
3485 | isCheckedCashShop := 1 - isCheckedCashShop
3486 | }
3487 |
3488 | ClickOnFreeShop(*)
3489 | {
3490 | global isCheckedFreeShop
3491 | isCheckedFreeShop := 1 - isCheckedFreeShop
3492 | }
3493 |
3494 | ClickOnExpedition(*)
3495 | {
3496 | global isCheckedExpedtion
3497 | isCheckedExpedtion := 1 - isCheckedExpedtion
3498 | }
3499 |
3500 | ClickOnFriendPoint(*)
3501 | {
3502 | global isCheckedFriendPoint
3503 | isCheckedFriendPoint := 1 - isCheckedFriendPoint
3504 | }
3505 |
3506 | ClickOnMail(*)
3507 | {
3508 | global isCheckedMail
3509 | isCheckedMail := 1 - isCheckedMail
3510 | }
3511 |
3512 | ClickOnSimulationRoom(*)
3513 | {
3514 | global isCheckedSimulationRoom
3515 | isCheckedSimulationRoom := 1 - isCheckedSimulationRoom
3516 | }
3517 |
3518 | ClickOnRookieArena(*)
3519 | {
3520 | global isCheckedRookieArena
3521 | isCheckedRookieArena := 1 - isCheckedRookieArena
3522 | }
3523 |
3524 | ClickOnLoveTalking(*)
3525 | {
3526 | global isCheckedLoveTalking
3527 | isCheckedLoveTalking := 1 - isCheckedLoveTalking
3528 | }
3529 |
3530 | ClickOnCompanyTower(*)
3531 | {
3532 | global isCheckedCompanyTower
3533 | isCheckedCompanyTower := 1 - isCheckedCompanyTower
3534 | }
3535 |
3536 | ClickOnTribeTower(*)
3537 | {
3538 | global isCheckedTribeTower
3539 | isCheckedTribeTower := 1 - isCheckedTribeTower
3540 | }
3541 |
3542 | ClickOnCompanyWeapon(*)
3543 | {
3544 | global isCheckedCompanyWeapon
3545 | isCheckedCompanyWeapon := 1 - isCheckedCompanyWeapon
3546 | }
3547 |
3548 | ClickOnInterception(*)
3549 | {
3550 | global isCheckedInterception
3551 | isCheckedInterception := 1 - isCheckedInterception
3552 | }
3553 |
3554 | ClickOnLongTalk(*)
3555 | {
3556 | global isCheckedLongTalk
3557 | isCheckedLongTalk := 1 - isCheckedLongTalk
3558 | }
3559 |
3560 | ClickAutoCheckUpdate(*)
3561 | {
3562 | global isCheckedAutoCheckUpdate
3563 | isCheckedAutoCheckUpdate := 1 - isCheckedAutoCheckUpdate
3564 | }
3565 |
3566 | ClickOnFireBook(*)
3567 | {
3568 | global isCheckedBook
3569 | isCheckedBook[1] := 1 - isCheckedBook[1]
3570 | }
3571 |
3572 | ClickOnWaterBook(*)
3573 | {
3574 | global isCheckedBook
3575 | isCheckedBook[2] := 1 - isCheckedBook[2]
3576 | }
3577 |
3578 | ClickOnWindBook(*)
3579 | {
3580 | global isCheckedBook
3581 | isCheckedBook[3] := 1 - isCheckedBook[3]
3582 | }
3583 |
3584 | ClickOnElecBook(*)
3585 | {
3586 | global isCheckedBook
3587 | isCheckedBook[4] := 1 - isCheckedBook[4]
3588 | }
3589 |
3590 | ClickOnIronBook(*)
3591 | {
3592 | global isCheckedBook
3593 | isCheckedBook[5] := 1 - isCheckedBook[5]
3594 | }
3595 |
3596 | ChangeOnNumOfBook(GUICtrl, *)
3597 | {
3598 | global numOfBook
3599 | numOfBook := GUICtrl.Value - 1
3600 | }
3601 |
3602 | ChangeOnNumOfBattle(GUICtrl, *)
3603 | {
3604 | global numOfBattle
3605 | numOfBattle := GUICtrl.Value + 1
3606 | }
3607 |
3608 | ChangeOnNumOfLoveTalking(GUICtrl, *)
3609 | {
3610 | global numOfLoveTalking
3611 | numOfLoveTalking := GUICtrl.Value
3612 | }
3613 |
3614 | ChangeOnInterceptionBoss(GUICtrl, *)
3615 | {
3616 | global InterceptionBoss
3617 | InterceptionBoss := GUICtrl.Value
3618 | }
3619 |
3620 | ChangeOnSleepTime(GUICtrl, *)
3621 | {
3622 | global sleepTime
3623 | switch GUICtrl.Value {
3624 | case 1: sleepTime := 750
3625 | case 2: sleepTime := 1000
3626 | case 3: sleepTime := 1250
3627 | case 4: sleepTime := 1500
3628 | case 5: sleepTime := 1750
3629 | case 6: sleepTime := 2000
3630 | default: sleepTime := 1500
3631 | }
3632 | }
3633 |
3634 | ChangeOnColorTolerance(GUICtrl, *)
3635 | {
3636 | global colorTolerance
3637 | switch GUICtrl.Value {
3638 | case 1: colorTolerance := 15
3639 | case 2: colorTolerance := 35
3640 | default: colorTolerance := 15
3641 | }
3642 | }
3643 |
3644 | ClickOnHelp(*)
3645 | {
3646 | msgbox "
3647 | (
3648 | #############################################
3649 | 使用说明
3650 |
3651 | 对大多数老玩家来说Doro设置保持默认就好。
3652 | 万一Doro失控,请按Ctrl + 1组合键结束进程。
3653 | 万一Doro失控,请按Ctrl + 1组合键结束进程。
3654 | 万一Doro失控,请按Ctrl + 1组合键结束进程。
3655 |
3656 | #############################################
3657 | 要求:
3658 |
3659 | - 【设定-画质-全屏幕模式 + 16:9的显示器比例】(推荐) 或 【16:9的窗口模式(窗口尽量拉大,否则像素识别可能出现误差)】
3660 | - 设定-画质-开启光晕效果
3661 | - 设定-画质-开启颜色分级
3662 | - 游戏语言设置为简体中文
3663 | - 以**管理员身份**运行DoroHelper
3664 | - 不要开启windows HDR显示
3665 |
3666 | #############################################
3667 | 步骤:
3668 |
3669 | -打开NIKKE启动器。点击启动。等右下角腾讯ACE反作弊系统扫完,NIKKE主程序中央SHIFT UP logo出现之后,再切出来点击“DORO!”按钮。如果你看到鼠标开始在左下角连点,那就代表启动成功了。然后就可以悠闲地去泡一杯咖啡,或者刷一会儿手机,等待Doro完成工作了。
3670 | -也可以在游戏处在大厅界面时(有看板娘的页面)切出来点击“DORO!”按钮启动程序。
3671 | -游戏需要更新的时候请更新完再使用Doro。
3672 |
3673 | #############################################
3674 | 其他:
3675 |
3676 | -检查是否发布了新版本。
3677 | -如果出现死循环,提高点击间隔可以解决80%的问题。
3678 | -如果你的电脑配置较好的话,或许可以尝试降低点击间隔。
3679 |
3680 | )"
3681 |
3682 | }
3683 |
3684 | ClickOnDoro(*)
3685 | {
3686 | WriteSettings()
3687 |
3688 | title := "勝利女神:妮姬"
3689 | try {
3690 | WinGetClientPos ,, &userScreenW, &userScreenH, "勝利女神:妮姬"
3691 | } catch as err {
3692 | title := "ahk_exe nikke.exe"
3693 | }
3694 |
3695 | numNikke := WinGetCount(title)
3696 |
3697 | if numNikke = 0 {
3698 | MsgBox "未检测到NIKKE主程序"
3699 | ExitApp
3700 | }
3701 |
3702 | loop numNikke {
3703 |
3704 | nikkeID := WinGetIDLast(title)
3705 |
3706 | WinGetClientPos ,, &userScreenW, &userScreenH, nikkeID
3707 | global scrRatio
3708 | scrRatio := userScreenW / stdScreenW
3709 |
3710 | ;nikkeID := WinWait(title)
3711 | WinActivate nikkeID
3712 |
3713 | Login()
3714 |
3715 | if isCheckedOutposeDefence
3716 | OutpostDefence()
3717 |
3718 | if isCheckedCashShop
3719 | CashShop()
3720 |
3721 | if isCheckedFreeShop
3722 | FreeShop(numOfBook)
3723 |
3724 | ;if isCheckedOutposeDefence
3725 | ; OutpostDefence()
3726 |
3727 | if isCheckedExpedtion
3728 | Expedition()
3729 |
3730 | if isCheckedFriendPoint
3731 | FriendPoint()
3732 |
3733 | if isCheckedMail
3734 | Mail()
3735 |
3736 | if isCheckedSimulationRoom
3737 | SimulationRoom()
3738 |
3739 | if isCheckedRookieArena
3740 | RookieArena(numOfBattle)
3741 |
3742 | if isCheckedLoveTalking
3743 | LoveTalking(numOfLoveTalking)
3744 |
3745 | if isCheckedTribeTower
3746 | TribeTower()
3747 |
3748 | if isCheckedCompanyTower && !isCheckedTribeTower
3749 | CompanyTower()
3750 |
3751 | EnterInterception()
3752 |
3753 | }
3754 |
3755 | if isBoughtTrash == 0
3756 | MsgBox "协同作战商店似乎已经刷新了,快去看看吧"
3757 |
3758 | if isOverclockRefreshed == 1
3759 | MsgBox "模拟室超频已经刷新了,快去看看吧"
3760 |
3761 | MsgBox "Doro完成任务!记得异拦再扫荡两次,竞猜、签到等活动清完哦~" CompanyTowerInfo()
3762 |
3763 | ExitApp
3764 | }
3765 |
3766 |
3767 | SleepTimeToLabel(sleepTime)
3768 | {
3769 | return String(sleepTime / 250 - 2)
3770 | }
3771 |
3772 |
3773 | ColorToleranceToLabel(colorTolerance)
3774 | {
3775 | switch colorTolerance {
3776 | case 15: return "1"
3777 | case 35: return "2"
3778 | default:
3779 | return "1"
3780 | }
3781 | }
3782 |
3783 |
3784 | IsCheckedToString(foo)
3785 | {
3786 | if foo
3787 | return "Checked"
3788 | else
3789 | return ""
3790 | }
3791 |
3792 |
3793 | NumOfBookToLabel(n)
3794 | {
3795 | return String(n + 1)
3796 | }
3797 |
3798 |
3799 | NumOfBattleToLabel(n)
3800 | {
3801 | return String(n - 1)
3802 | }
3803 |
3804 | NumOfLoveTalkingToLabel(n)
3805 | {
3806 | return String(n)
3807 | }
3808 |
3809 | InterceptionBossToLabel(n)
3810 | {
3811 | return String(n)
3812 | }
3813 |
3814 |
3815 | WriteSettings()
3816 | {
3817 | IniWrite(sleepTime, "settings.ini", "section1", "sleepTime")
3818 | IniWrite(colorTolerance, "settings.ini", "section1", "colorTolerance")
3819 | IniWrite(isCheckedOutposeDefence, "settings.ini", "section1", "isCheckedOutposeDefence")
3820 | IniWrite(isCheckedCashShop, "settings.ini", "section1", "isCheckedCashShop")
3821 | IniWrite(isCheckedFreeShop, "settings.ini", "section1", "isCheckedFreeShop")
3822 | IniWrite(isCheckedExpedtion, "settings.ini", "section1", "isCheckedExpedtion")
3823 | IniWrite(isCheckedFriendPoint, "settings.ini", "section1", "isCheckedFriendPoint")
3824 | IniWrite(isCheckedMail, "settings.ini", "section1", "isCheckedMail")
3825 | IniWrite(isCheckedSimulationRoom, "settings.ini", "section1", "isCheckedSimulationRoom")
3826 | IniWrite(isCheckedRookieArena, "settings.ini", "section1", "isCheckedRookieArena")
3827 | IniWrite(isCheckedLoveTalking, "settings.ini", "section1", "isCheckedLoveTalking")
3828 | IniWrite(isCheckedCompanyTower, "settings.ini", "section1", "isCheckedCompanyTower")
3829 | IniWrite(isCheckedTribeTower, "settings.ini", "section1", "isCheckedTribeTower")
3830 | IniWrite(isCheckedCompanyWeapon, "settings.ini", "section1", "isCheckedCompanyWeapon")
3831 | IniWrite(numOfBook, "settings.ini", "section1", "numOfBook")
3832 | IniWrite(numOfBattle, "settings.ini", "section1", "numOfBattle")
3833 | IniWrite(numOfLoveTalking, "settings.ini", "section1", "numOfLoveTalking")
3834 | IniWrite(isCheckedInterception, "settings.ini", "section1", "isCheckedInterception")
3835 | IniWrite(InterceptionBoss, "settings.ini", "section1", "InterceptionBoss")
3836 | IniWrite(isCheckedLongTalk, "settings.ini", "section1", "isCheckedLongTalk")
3837 | IniWrite(isCheckedAutoCheckUpdate, "settings.ini", "section1", "isCheckedAutoCheckUpdate")
3838 | IniWrite(isCheckedBook[1], "settings.ini", "section1", "isCheckedBook[1]")
3839 | IniWrite(isCheckedBook[2], "settings.ini", "section1", "isCheckedBook[2]")
3840 | IniWrite(isCheckedBook[3], "settings.ini", "section1", "isCheckedBook[3]")
3841 | IniWrite(isCheckedBook[4], "settings.ini", "section1", "isCheckedBook[4]")
3842 | IniWrite(isCheckedBook[5], "settings.ini", "section1", "isCheckedBook[5]")
3843 | }
3844 |
3845 |
3846 | LoadSettings()
3847 | {
3848 | global sleepTime
3849 | global colorTolerance
3850 | global isCheckedOutposeDefence
3851 | global isCheckedCashShop
3852 | global isCheckedFreeShop
3853 | global isCheckedExpedtion
3854 | global isCheckedFriendPoint
3855 | global isCheckedMail
3856 | global isCheckedSimulationRoom
3857 | global isCheckedRookieArena
3858 | global isCheckedLoveTalking
3859 | global isCheckedCompanyTower
3860 | global isCheckedTribeTower
3861 | global isCheckedCompanyWeapon
3862 | global numOfBook
3863 | global numOfBattle
3864 | global numOfLoveTalking
3865 | global isCheckedInterception
3866 | global InterceptionBoss
3867 | global isCheckedLongTalk
3868 | global isCheckedAutoCheckUpdate
3869 | global isCheckedBook
3870 |
3871 | sleepTime := IniRead("settings.ini", "section1", "sleepTime")
3872 | colorTolerance := IniRead("settings.ini", "section1", "colorTolerance")
3873 | isCheckedOutposeDefence := IniRead("settings.ini", "section1", "isCheckedOutposeDefence")
3874 | isCheckedCashShop := IniRead("settings.ini", "section1", "isCheckedCashShop")
3875 | isCheckedFreeShop := IniRead("settings.ini", "section1", "isCheckedFreeShop")
3876 | isCheckedExpedtion := IniRead("settings.ini", "section1", "isCheckedExpedtion")
3877 | isCheckedFriendPoint := IniRead("settings.ini", "section1", "isCheckedFriendPoint")
3878 | isCheckedSimulationRoom := IniRead("settings.ini", "section1", "isCheckedSimulationRoom")
3879 | isCheckedRookieArena := IniRead("settings.ini", "section1", "isCheckedRookieArena")
3880 | isCheckedLoveTalking := IniRead("settings.ini", "section1", "isCheckedLoveTalking")
3881 | isCheckedTribeTower := IniRead("settings.ini", "section1", "isCheckedTribeTower")
3882 | isCheckedCompanyWeapon := IniRead("settings.ini", "section1", "isCheckedCompanyWeapon")
3883 | numOfBook := IniRead("settings.ini", "section1", "numOfBook")
3884 | numOfBattle := IniRead("settings.ini", "section1", "numOfBattle")
3885 | numOfLoveTalking := IniRead("settings.ini", "section1", "numOfLoveTalking")
3886 |
3887 | try {
3888 | isCheckedInterception := IniRead("settings.ini", "section1", "isCheckedInterception")
3889 | }
3890 | catch as err {
3891 | IniWrite(isCheckedInterception, "settings.ini", "section1", "isCheckedInterception")
3892 | }
3893 |
3894 | try {
3895 | InterceptionBoss := IniRead("settings.ini", "section1", "InterceptionBoss")
3896 | }
3897 | catch as err {
3898 | IniWrite(InterceptionBoss, "settings.ini", "section1", "InterceptionBoss")
3899 | }
3900 |
3901 | try {
3902 | isCheckedCompanyTower := IniRead("settings.ini", "section1", "isCheckedCompanyTower")
3903 | }
3904 | catch as err {
3905 | IniWrite(isCheckedCompanyTower, "settings.ini", "section1", "isCheckedCompanyTower")
3906 | }
3907 |
3908 | try {
3909 | isCheckedLongTalk := IniRead("settings.ini", "section1", "isCheckedLongTalk")
3910 | }
3911 | catch as err {
3912 | IniWrite(isCheckedLongTalk, "settings.ini", "section1", "isCheckedLongTalk")
3913 | }
3914 |
3915 | try {
3916 | isCheckedAutoCheckUpdate := IniRead("settings.ini", "section1", "isCheckedAutoCheckUpdate")
3917 | }
3918 | catch as err {
3919 | IniWrite(isCheckedAutoCheckUpdate, "settings.ini", "section1", "isCheckedAutoCheckUpdate")
3920 | }
3921 |
3922 | try {
3923 | isCheckedBook[1] := IniRead("settings.ini", "section1", "isCheckedBook[1]")
3924 | }
3925 | catch as err {
3926 | IniWrite(isCheckedBook[1], "settings.ini", "section1", "isCheckedBook[1]")
3927 | }
3928 |
3929 | try {
3930 | isCheckedBook[2] := IniRead("settings.ini", "section1", "isCheckedBook[2]")
3931 | }
3932 | catch as err {
3933 | IniWrite(isCheckedBook[2], "settings.ini", "section1", "isCheckedBook[2]")
3934 | }
3935 |
3936 | try {
3937 | isCheckedBook[3] := IniRead("settings.ini", "section1", "isCheckedBook[3]")
3938 | }
3939 | catch as err {
3940 | IniWrite(isCheckedBook[3], "settings.ini", "section1", "isCheckedBook[3]")
3941 | }
3942 |
3943 | try {
3944 | isCheckedBook[4] := IniRead("settings.ini", "section1", "isCheckedBook[4]")
3945 | }
3946 | catch as err {
3947 | IniWrite(isCheckedBook[4], "settings.ini", "section1", "isCheckedBook[4]")
3948 | }
3949 |
3950 | try {
3951 | isCheckedBook[5] := IniRead("settings.ini", "section1", "isCheckedBook[5]")
3952 | }
3953 | catch as err {
3954 | IniWrite(isCheckedBook[5], "settings.ini", "section1", "isCheckedBook[5]")
3955 | }
3956 |
3957 | try {
3958 | isCheckedMail := IniRead("settings.ini", "section1", "isCheckedMail")
3959 | }
3960 | catch as err {
3961 | IniWrite(isCheckedMail, "settings.ini", "section1", "isCheckedMail")
3962 | }
3963 | }
3964 |
3965 |
3966 | isCheckedOutposeDefence := 1
3967 | isCheckedCashShop := 1
3968 | isCheckedFreeShop := 1
3969 | isCheckedExpedtion := 1
3970 | isCheckedFriendPoint := 1
3971 | isCheckedMail := 1
3972 | isCheckedSimulationRoom := 1
3973 | isCheckedRookieArena := 1
3974 | isCheckedLoveTalking := 1
3975 | isCheckedCompanyWeapon := 1
3976 | isCheckedInterception := 0
3977 | isCheckedCompanyTower := 1
3978 | isCheckedTribeTower := 0
3979 | isCheckedLongTalk := 1
3980 | isCheckedAutoCheckUpdate := 0
3981 | isCheckedBook := [1, 1, 1, 1, 1]
3982 | InterceptionBoss := 1
3983 | numOfBook := 3
3984 | numOfBattle := 5
3985 | numOfLoveTalking := 10
3986 | isBoughtTrash := 1
3987 | isOverclockRefreshed := 0
3988 |
3989 |
3990 | /*
3991 | ^1::{
3992 | MsgBox isCheckedOutposeDefence " " isCheckedCashShop " " isCheckedFreeShop " " isCheckedExpedtion " " isCheckedFriendPoint " " isCheckedMail " " isCheckedSimulationRoom " " isCheckedRookieArena " " isCheckedLoveTalking " " isCheckedTribeTower
3993 | }
3994 | ^2::{
3995 | MsgBox colorTolerance
3996 | }
3997 | */
3998 |
3999 | if !A_IsAdmin {
4000 | MsgBox "请以管理员身份运行Doro"
4001 | ExitApp
4002 | }
4003 |
4004 | ;读取设置
4005 | SetWorkingDir A_ScriptDir
4006 | try {
4007 | LoadSettings()
4008 | }
4009 | catch as err {
4010 | WriteSettings()
4011 | }
4012 |
4013 | /*
4014 | if not FileExist("settings.ini") {
4015 | ;MsgBox "write"
4016 | WriteSettings()
4017 | } else {
4018 | ;MsgBox "load"
4019 | LoadSettings()
4020 | }
4021 | */
4022 |
4023 | if isCheckedAutoCheckUpdate {
4024 | CheckForUpdate()
4025 | }
4026 |
4027 | ;创建gui
4028 | doroGui := Gui(, "DoroHelper " currentVersion)
4029 | doroGui.Opt("+Resize")
4030 | doroGui.MarginY := Round(doroGui.MarginY * 0.9)
4031 | doroGui.SetFont("cred s15")
4032 | doroGui.Add("Text", "R1", "紧急停止按ctrl + 1")
4033 | doroGui.Add("Link"," R1", '项目地址')
4034 | doroGui.SetFont()
4035 | doroGui.Add("Button", "R1 x+10", "帮助").OnEvent("Click", ClickOnHelp)
4036 | doroGui.Add("Button","R1 x+10","检查怀旧版更新").OnEvent("Click", ClickOnCheckForUpdate)
4037 | Tab := doroGui.Add("Tab3","xm") ;由于bug只能这样写
4038 | Tab.Add(["doro设置","收获","日常","默认参数"])
4039 | Tab.UseTab("doro设置")
4040 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedAutoCheckUpdate) "R2", "自动检查更新(确保能连上github)").OnEvent("Click", ClickAutoCheckUpdate)
4041 | doroGui.Add("Text",, "点击间隔(单位毫秒),谨慎更改")
4042 | doroGui.Add("DropDownList", "Choose" SleepTimeToLabel(sleepTime), [750, 1000, 1250, 1500, 1750, 2000]).OnEvent("Change", ChangeOnSleepTime)
4043 | doroGui.Add("Text",, "色差容忍度,能跑就别改")
4044 | doroGui.Add("DropDownList", "Choose" ColorToleranceToLabel(colorTolerance), ["严格", "宽松"]).OnEvent("Change", ChangeOnColorTolerance)
4045 | Tab.UseTab("收获")
4046 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedOutposeDefence) " R1.2", "领取前哨基地防御奖励+1次免费歼灭").OnEvent("Click", ClickOnOutpostDefence)
4047 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedCashShop) " R1.2", "领取付费商店免费钻(进不了商店的别选)").OnEvent("Click", ClickOnCashShop)
4048 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedExpedtion) " R1.2", "派遣委托").OnEvent("Click", ClickOnExpedition)
4049 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedFriendPoint) " R1.2", "好友点数收取").OnEvent("Click", ClickOnFriendPoint)
4050 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedMail) " R1.2", "邮箱收取").OnEvent("Click", ClickOnMail)
4051 | Tab.UseTab("日常")
4052 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedFreeShop) " R1.2 Section ", "普通商店 每日白嫖2次,并购买手册:").OnEvent("Click", ClickOnFreeShop)
4053 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedBook[1]) " R1.2 XP+15 Y+M", "燃烧").OnEvent("Click", ClickOnFireBook)
4054 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedBook[2]) " R1.2 X+1", "水冷").OnEvent("Click", ClickOnWaterBook)
4055 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedBook[3]) " R1.2 X+1", "风压").OnEvent("Click", ClickOnWindBook)
4056 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedBook[4]) " R1.2 X+1", "电击").OnEvent("Click", ClickOnElecBook)
4057 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedBook[5]) " R1.2 X+1", "铁甲").OnEvent("Click", ClickOnIronBook)
4058 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedCompanyWeapon) " R1.2 xs+15", "购买公司武器熔炉").OnEvent("Click", ClickOnCompanyWeapon)
4059 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedSimulationRoom) " R1.2 xs", "模拟室5C(普通关卡需要快速战斗)").OnEvent("Click", ClickOnSimulationRoom)
4060 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedRookieArena) " R1.2", "新人竞技场(请点开快速战斗)").OnEvent("Click", ClickOnRookieArena)
4061 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedLoveTalking) " " " R1.2 xs Section", "咨询妮姬(可以通过收藏改变妮姬排序)").OnEvent("Click", ClickOnLoveTalking)
4062 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedLongTalk) " R1.2 XP+15 Y+M", "若图鉴未满,则进行详细咨询").OnEvent("Click", ClickOnLongTalk)
4063 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedCompanyTower) " R1.2 xs Section", "爬企业塔").OnEvent("Click", ClickOnCompanyTower)
4064 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedTribeTower) " R1.2 XP+15 Y+M", "只完成每日任务,在进入后直接退出").OnEvent("Click", ClickOnTribeTower)
4065 | doroGui.Add("Checkbox", IsCheckedToString(isCheckedInterception) " R1.2 xs", "使用对应编队进行异常拦截自动战斗").OnEvent("Click", ClickOnInterception)
4066 | doroGui.Add("Text", "XP+15 Y+M", "打哪个boss?(勾选上条生效,否则停在异拦界面)")
4067 | doroGui.Add("DropDownList", "Choose" InterceptionBossToLabel(InterceptionBoss), ["克拉肯(石),编队1", "过激派(头),编队2", "镜像容器(手),编队3", "茵迪维利亚(衣),编队4", "死神(脚),编队5"]).OnEvent("Change", ChangeOnInterceptionBoss)
4068 | Tab.UseTab("默认参数")
4069 | doroGui.Add("Text", , "购买几本属性书?")
4070 | doroGui.Add("DropDownList", "Choose" NumOfBookToLabel(numOfBook), [0, 1, 2, 3]).OnEvent("Change", ChangeOnNumOfBook)
4071 | doroGui.Add("Text", , "新人竞技场打几次?")
4072 | doroGui.Add("DropDownList", "Choose" NumOfBattleToLabel(numOfBattle), [2, 3, 4, 5]).OnEvent("Change", ChangeOnNumOfBattle)
4073 | doroGui.Add("Text", , "咨询几位妮姬?")
4074 | doroGui.Add("DropDownList", "Choose" NumOfLoveTalkingToLabel(numOfLoveTalking), [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]).OnEvent("Change", ChangeOnNumOfLoveTalking)
4075 | Tab.UseTab()
4076 | doroGui.Add("Button", "Default w80 xm+110", "DORO!").OnEvent("Click", ClickOnDoro)
4077 | doroGui.Show()
4078 |
4079 | ^1::{
4080 | ExitApp
4081 | }
4082 |
4083 |
4084 |
4085 |
4086 |
4087 |
4088 | /*
4089 | ;登陆到主界面
4090 | Login()
4091 |
4092 | ;前哨基地防御奖励
4093 | OutpostDefence()
4094 |
4095 | ;付费商店领免费钻
4096 | CashShop()
4097 |
4098 | ;普通商店白嫖
4099 | FreeShop()
4100 |
4101 | ;派遣
4102 | Expedition()
4103 |
4104 | ;好友点数收取
4105 | FriendPoint()
4106 |
4107 | ;模拟室5C(不拿buff)
4108 | SimulationRoom()
4109 |
4110 | RookieArenaTimes := 0
4111 |
4112 | ;新人竞技场n次打第三位,顺带收50%以上的菜
4113 | RookieArena(RookieArenaTimes)
4114 |
4115 | LoveTalkingTimes := 10
4116 |
4117 | ;对前n位nikke进行好感度咨询(可以通过收藏把想要咨询的nikke排到前面)
4118 | ;LoveTalking(LoveTalkingTimes)
4119 |
4120 | ;爬塔一次(蹭每日任务)
4121 | TribeTower()
4122 |
4123 | ;再次收前哨基地防御奖励(蹭每日任务)
4124 | OutpostDefence()
4125 |
4126 | ;进入特拦界面
4127 | EnterInterception()
4128 |
4129 | ;邮箱收取
4130 | Mail()
4131 | */
--------------------------------------------------------------------------------