-
Notifications
You must be signed in to change notification settings - Fork 46
Expand file tree
/
Copy pathDoroHelper.ahk
More file actions
7618 lines (7618 loc) · 414 KB
/
DoroHelper.ahk
File metadata and controls
7618 lines (7618 loc) · 414 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#Requires AutoHotkey >=v2.0
#SingleInstance Force
#Include <github>
#Include <FindText>
#Include <PicLib>
#Include <GuiCtrlTips>
#Include <RichEdit>
if not A_IsAdmin {
try {
; 尝试以管理员权限重新运行该脚本
Run "*RunAs " A_ScriptFullPath
} catch {
MsgBox("无法获取管理员权限,脚本将退出。请手动以管理员身份运行。`nPlease run DoroHelper as administrator!")
}
ExitApp ; 关闭当前非管理员实例
}
CoordMode "Pixel", "Client"
CoordMode "Mouse", "Client"
;region 设置常量
try TraySetIcon "doro.ico"
currentVersion := "v1.14.10"
; 判断拓展名
SplitPath A_ScriptFullPath, , , &scriptExtension
scriptExtension := StrLower(scriptExtension)
usr := "1204244136"
repo := "DoroHelper"
;endregion 设置常量
;region 设置变量
;tag 简单开关
global g_settings := Map(
;登录游戏
"Login", 0, ; 登录游戏总开关
;商店
"Shop", 0, ; 商店总开关
"ShopCash", 1, ; 付费商店
"ShopCashFree", 0, ; 付费商店免费物品
"ShopCashFreePackage", 0, ; 付费商店免费STEPUP
"ShopGeneral", 1, ; 普通商店
"ShopGeneralFree", 0, ; 普通商店:免费物品
"ShopGeneralDust", 0, ; 普通商店:芯尘盒
"ShopGeneralPackage", 0, ; 普通商店:简介个性化礼包
"ShopArena", 1, ; 竞技场商店
"ShopArenaBookFire", 0, ; 竞技场商店:燃烧手册
"ShopArenaBookWater", 0, ; 竞技场商店:水冷手册
"ShopArenaBookWind", 0, ; 竞技场商店:风压手册
"ShopArenaBookElec", 0, ; 竞技场商店:电击手册
"ShopArenaBookIron", 0, ; 竞技场商店:铁甲手册
"ShopArenaBookBox", 0, ; 竞技场商店:手册宝箱
"ShopArenaPackage", 0, ; 竞技场商店:简介个性化礼包
"ShopArenaFurnace", 0, ; 竞技场商店:公司武器熔炉
"ShopRecycling", 1, ; 废铁商店
"ShopRecyclingGem", 0, ; 废铁商店:珠宝
"ShopRecyclingVoucher", 0, ; 废铁商店:好感券
"ShopRecyclingResources", 0, ; 废铁商店:养成资源
"ShopRecyclingTeamworkBox", 0, ; 废铁商店:团队合作宝箱
"ShopRecyclingKitBox", 0, ; 废铁商店:保养工具箱
"ShopRecyclingArms", 0, ; 废铁商店:企业精选武装
;模拟室
"SimulationRoom", 0, ; 模拟室
"SimulationNormal", 0, ; 普通模拟室
"SimulationOverClock", 0, ; 模拟室超频
;竞技场
"Arena", 0, ; 竞技场总开关
"AwardArena", 0, ; 竞技场收菜
"ArenaRookie", 0, ; 新人竞技场
"ArenaSpecial", 0, ; 特殊竞技场
"ArenaChampion", 0, ; 冠军竞技场
;无限之塔
"Tower", 0, ; 无限之塔总开关
"TowerCompany", 0, ; 企业塔
"TowerUniversal", 0, ; 通用塔
;拦截
"Interception", 0, ; 拦截战
"InterceptionNormal", 0, ; 普通拦截战
"InterceptionAnomaly", 0, ; 异常拦截战
"InterceptionScreenshot", 0, ; 拦截截图
"InterceptionRedCircle", 0, ; 拦截红圈
"InterceptionExit7", 0, ; 满7退出
"InterceptionReminder", 0, ; 快速战斗提醒
;常规奖励
"Award", 0, ; 奖励领取总开关
"AwardOutpost", 0, ; 前哨基地收菜
"AwardOutpostDispatch", 0, ; 派遣
"AwardAdvise", 0, ; 咨询
"AwardAdviseForce", 0, ; 强制咨询
"AwardAdviseAward", 0, ; 咨询奖励
"AwardAppreciation", 0, ; 花絮鉴赏会
"AwardFriendPoint", 0, ; 好友点数
"AwardMail", 0, ; 邮箱
"AwardRanking", 0, ; 排名奖励
"AwardDaily", 0, ; 任务
"AwardPass", 0, ; 通行证
;活动
"Event", 0, ; 活动总开关
;小活动
"EventSmall", 0, ; 小活动
"EventSmallChallenge", 0, ; 小活动挑战
"EventSmallStory", 0, ; 小活动剧情
"EventSmallMission", 0, ; 小活动任务
;小活动·额外
"EventSmallExtra", 0, ; 小活动·额外
"EventSmallExtraChallenge", 0, ; 小活动挑战·额外
"EventSmallExtraStory", 0, ; 小活动剧情·额外
"EventSmallExtraMission", 0, ; 小活动任务·额外
;大活动
"EventLarge", 0, ; 大活动
"EventLargeSign", 0, ; 大活动签到
"EventLargeChallenge", 0, ; 大活动挑战
"EventLargeStory", 0, ; 大活动剧情
"EventLargeMinigame", 0, ; 大活动小游戏
"EventLargeDaily", 0, ; 大活动奖励
;大活动·额外
"EventLargeExtra", 0, ; 大活动·额外
"EventLargeExtraSign", 0, ; 大活动签到·额外
"EventLargeExtraChallenge", 0, ; 大活动挑战·额外
"EventLargeExtraStory", 0, ; 大活动剧情·额外
"EventLargeExtraMinigame", 0, ; 大活动小游戏·额外
"EventLargeExtraDaily", 0, ; 大活动奖励·额外
;限时奖励
"AwardFreeRecruit", 0, ; 活动期间每日免费招募
"AwardCooperate", 0, ; 协同作战
"AwardSoloRaid", 0, ; 个人突击
;妙妙工具
"StoryModeAutoStar", 0, ; 剧情模式自动收藏
"StoryModeAutoChoose", 0, ; 剧情模式自动选择
;清除红点
"ClearRed", 0, ; 总开关
"ClearRedNotice", 0, ; 清除公告红点
"ClearRedShop", 0, ; 清除商店红点
"ClearRedWallpaper", 0, ; 清除壁纸红点
"ClearRedRecycling", 0, ; 自动升级循环室
"ClearRedSynchro", 0, ; 自动升级同步器
"ClearRedCube", 0, ; 自动升级魔方
"ClearRedSynchroForce", 0, ; 开箱子
"ClearRedLimit", 0, ; 自动突破妮姬
"ClearRedProfile", 0, ; 清除个人页红点
"ClearRedBla", 0, ; 清除Bla红点
"ClearRedBlaAwards", 0, ; 自动对话
"BriefEncounter", 0, ; 突发活动
;启动/退出相关
"CloseAdvertisement", 0, ; 关闭广告提示
"CloseHelp", 0, ; 关闭帮助提示
"AutoSwitchLanguage", 0, ; 自动切换语言
"AutoCheckUpdate", 1, ; 自动检查更新
"SkipUserGroupCheckForFreeUser", 0, ; 非会员用户跳过用户组检查
"AutoDeleteOldFile", 0, ; 自动删除旧版本
"DoroClosing", 0, ; 完成后自动关闭Doro
"LoopMode", 0, ; 完成后自动关闭游戏
"CloseLauncher", 0, ; 关闭启动器
"CheckEvent", 0, ; 活动结束提醒
"CheckUnderGround", 0, ; 地面活动提醒
"OpenBlablalink", 0, ; 完成后打开Blablalink
"AutoStartNikke", 0, ; 使用脚本启动NIKKE
"Timedstart", 0, ; 定时启动
"Autostart", 0, ; 自动运行
;其他
"AutoFill", 0, ; 自动填充加成妮姬
"CheckAuto", 0, ; 开启自动射击和爆裂
"TestModeInitialization", 1, ; 调试模式预初始化
"BluePill", 0, ; 万用开关
"RedPill", 0 ; 万用开关
)
;tag 其他非简单开关
global g_numeric_settings := Map(
"doroGuiX", 200, ; DoroHelper窗口X坐标
"doroGuiY", 200, ; DoroHelper窗口Y坐标
"TestModeValue", "", ; 调试模式值
"BurstModeValue", "|ASASAS|", ; 爆裂模式值
"StartupTime", "", ; 定时启动时间
"StartupPath", "", ; 启动路径
"StartDelay", "", ; 启动延迟
"SleepTime", 1000, ; 默认等待时间
"InterceptionBossNormal", 1, ; 普通拦截战BOSS选择
"InterceptionBoss", 1, ; 异常拦截战BOSS选择
"LanguageList", 1, ; 语言选择
"Tolerance", 1, ; 宽容度
"MirrorCDK", "", ; Mirror酱的CDK
"Version", currentVersion, ; 版本号
"UpdateChannels", "正式版", ; 更新渠道
"DownloadSource", "GitHub", ; 下载源
"GroupDataSource", "Gitee", ; 用户组数据源 (Gitee/GitHub/jsDelivr)
"PreferredHttpRequest", "WinHttp.WinHttpRequest.5.1", ; HTTP 请求优先级
"UserGroup", "普通用户", ; 用户组
"UserLevel", 0 ; 用户级别
)
;tag 其他全局变量
outputText := ""
finalMessageText := ""
LastVictoryCount := 0
BattleSkip := 0
QuickBattle := 0
PicTolerance := g_numeric_settings["Tolerance"]
g_settingPages := Map()
Hashed := ""
stdScreenW := 3840
stdScreenH := 2160
nikkeID := ""
NikkeX := 0
NikkeY := 0
NikkeW := 0
NikkeH := 0
NikkeXP := 0
NikkeYP := 0
NikkeWP := 0
NikkeHP := 0
TrueRatio := 1
;是否能进入战斗,0表示根本没找到进入战斗的图标,1表示能,2表示能但次数耗尽(灰色的进入战斗)
BattleActive := 1
; 确定地区
LocaleName := GetUserLocaleName()
; 会员等级定义
g_MembershipLevels := Map(
"普通用户", { monthlyCost: 0, userLevel: 0 },
"铜Doro会员", { monthlyCost: 1, userLevel: 1 },
"银Doro会员", { monthlyCost: 3, userLevel: 2 },
"金Doro会员", { monthlyCost: 5, userLevel: 3 },
"金Doro企业版", { monthlyCost: 100, userLevel: 4 } ; 新增企业版,等级设为4
)
; 地区价格映射表
defaultPriceData := { Unitprice: 1, Currency: "USD", currencySymbol: "$" }
g_PriceMap := Map(
"zh-CN", { Unitprice: 6, Currency: "CNY", currencySymbol: "¥" },
"en-US", defaultPriceData, ; 示例:美国
)
g_DefaultRegionPriceData := defaultPriceData
;退出时保存设置
OnExit(WriteSettings)
;检测管理员身份
if !A_IsAdmin {
try Run('*RunAs "' A_ScriptFullPath '"', A_ScriptDir)
catch {
MsgBox "请以管理员身份运行DoroHelper!`nPlease run DoroHelper as administrator!"
}
ExitApp ; 无论成功提权或失败提示,都退出当前非管理员实例
}
;tag 彩蛋
konami_code := "UUDDLRLRBA" ; 目标序列 (U=Up, D=Down, L=Left, R=Right)
key_history := "" ; 用于存储用户按键历史的变量
if (scriptExtension = "ahk") {
MyFileHash := HashGitSHA1(A_ScriptFullPath)
global MyFileShortHash := SubStr(MyFileHash, 1, 7)
}
;tag 变量备份
g_default_settings := g_settings.Clone()
g_default_numeric_settings := g_numeric_settings.Clone()
;tag 更新相关变量
global latestObj := Map( ; latestObj 是全局变量,在此处初始化,并通过辅助函数直接填充
"version", "",
"change_notes", "无更新说明",
"download_url", "",
"source", "", ; 例如: "github", "mirror", "ahk"
"display_name", "" ; 例如: "GitHub", "Mirror酱", "AHK版"
)
;endregion 设置变量
;region 读取设置
SetWorkingDir A_ScriptDir
;tag 变量名修改提示
try {
LoadSettings()
if InStr(currentVersion, "v1.12.15") and g_numeric_settings["Version"] != currentVersion {
MsgBox("该版本部分选项被重置了,请按需勾选")
g_settings["CloseHelp"] := 0
g_numeric_settings["Version"] := currentVersion
}
}
catch {
WriteSettings()
}
; 检查是否为 AHK 脚本
if (scriptExtension = "ahk") {
if RegExMatch(currentVersion, "\.(\d+)$", &match) {
patchNumber := match.1
newPatchNumber := patchNumber + 1
currentVersion := RegExReplace(currentVersion, "\.(\d+)$", "." . newPatchNumber)
}
currentVersion := currentVersion . "-beta"
}
;endregion 读取设置
;region 创建GUI
;tag 基础配置
g_settingPages := Map("Default", [], "Login", [], "Shop", [], "SimulationRoom", [], "Arena", [], "Tower", [], "Interception", [], "Event", [], "Award", [], "Settings", [], "After", [])
title := "DoroHelper - " currentVersion
doroGui := Gui("+Resize", title)
doroGui.Opt("+DPIScale +OwnDialogs")
doroGui.Tips := GuiCtrlTips(doroGui) ; 为 doroGui 实例化 GuiCtrlTips
doroGui.Tips.SetBkColor(0xFFFFFF)
doroGui.Tips.SetTxColor(0x000000)
doroGui.Tips.SetMargins(3, 3, 3, 3)
doroGui.Tips.SetDelayTime("AUTOPOP", 10000)
doroGui.MarginY := Round(doroGui.MarginY * 1)
doroGui.SetFont('s12', 'Microsoft YaHei UI')
;tag 框
Update := doroGui.AddGroupBox("x10 y10 w250 h210 ", "更新")
;tag 赞助
BtnSponsor := doroGui.Add("Button", "x70 yp-1 w50 h25", "赞助")
doroGui.Tips.SetTip(BtnSponsor, "Sponsor")
BtnSponsor.OnEvent("Click", MsgSponsor)
;tag 帮助
BtnHelp := doroGui.Add("Button", "x130 yp w50 h25", "帮助")
doroGui.Tips.SetTip(BtnHelp, "Help")
BtnHelp.OnEvent("Click", ClickOnHelp)
;tag 广告
BtnAdvertisement := doroGui.Add("Button", "x190 yp w50 h25", "广告")
doroGui.Tips.SetTip(BtnAdvertisement, "Advertisement")
BtnAdvertisement.OnEvent("Click", Advertisement)
;tag 版本
TextVersion := doroGui.Add("Text", "x20 y40 R1 +0x0100", "版本:" currentVersion)
doroGui.Tips.SetTip(TextVersion, "Version")
;tag 检查更新
BtnUpdate := doroGui.Add("Button", "x190 yp-1 w50 h25", "检查")
doroGui.Tips.SetTip(BtnUpdate, "Check for updates")
BtnUpdate.OnEvent("Click", ClickOnCheckForUpdate)
;tag 用户组
TextUserGroup := doroGui.Add("Text", "x20 y+5 R1 +0x0100 Section", "用户组:")
doroGui.Tips.SetTip(TextUserGroup, "你可以通点击上方的赞助按钮来获得更高级的用户组`nUserGroup:You can upgrade your membership by clicking the Sponsor button above`n普通用户:Normal User|铜:Copper|银:Silver|金:Gold")
VariableUserGroup := doroGui.Add("Text", "x+0.5 w100 R1 +0x0100", g_numeric_settings["UserGroup"])
;tag 检查用户组
BtnCheckUserGroup := doroGui.Add("Button", "x190 yp-1 w50 h25", "检查")
doroGui.Tips.SetTip(BtnCheckUserGroup, "Check for UserGroup")
BtnCheckUserGroup.OnEvent("Click", (Ctrl, Info) => CheckUserGroup(true))
;tag 更新渠道
TextUpdateChannels := doroGui.Add("Text", "Section x20 y+8 R1 +0x0100", "更新渠道")
doroGui.Tips.SetTip(TextUpdateChannels, "UpdateChannels`n正式版:稳定,适合大多数用户|Stable: Reliable, recommended for most users.`n测试版|Beta")
cbUpdateChannels := doroGui.Add("DropDownList", "x140 yp w100", ["正式版", "测试版"])
cbUpdateChannels.Text := g_numeric_settings["UpdateChannels"]
cbUpdateChannels.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["UpdateChannels"] := Ctrl.Text)
;tag 资源下载
TextDownloadSource := doroGui.Add("Text", "xs R1 +0x0100", "资源下载源")
doroGui.Tips.SetTip(TextDownloadSource, "Download Source")
cbDownloadSource := doroGui.AddDropDownList(" x140 yp w100", ["GitHub", "Mirror酱"])
cbDownloadSource.Text := g_numeric_settings["DownloadSource"]
cbDownloadSource.OnEvent("Change", (Ctrl, Info) => ShowMirror(Ctrl, Info))
;tag Mirror酱
MirrorText := doroGui.Add("Text", "xs R1 +0x0100", "Mirror酱CDK❔️")
doroGui.Tips.SetTip(MirrorText, "Mirror酱是一个第三方应用分发平台,让你能在普通网络环境下更新应用`n网址:https://mirrorchyan.com/zh/get-start?source=doro-github-release(付费使用)`nMirror酱和Doro会员并无任何联系")
MirrorEditControl := doroGui.Add("Edit", "x140 yp+1 w100 h20")
MirrorEditControl.Value := g_numeric_settings["MirrorCDK"]
MirrorEditControl.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["MirrorCDK"] := Ctrl.Value)
; 初始化隐藏状态
if g_numeric_settings["DownloadSource"] = "Mirror酱" {
ShowMirror(cbDownloadSource, "")
} else {
MirrorText.Visible := false
MirrorEditControl.Visible := false
}
;tag 任务列表
global g_taskListCheckboxes := []
doroGui.AddGroupBox("x10 y230 w250 h420 ", "任务列表")
;tag 全选/全不选
doroGui.SetFont('s9')
BtnCheckAll := doroGui.Add("Button", "xp+180 R1", "✅️")
doroGui.Tips.SetTip(BtnCheckAll, "勾选全部|Check All")
BtnCheckAll.OnEvent("Click", CheckAllTasks)
BtnUncheckAll := doroGui.Add("Button", "xp+40 R1", "🔲")
doroGui.Tips.SetTip(BtnUncheckAll, "取消勾选全部|Uncheck All")
BtnUncheckAll.OnEvent("Click", UncheckAllTasks)
;tag 任务总开关
doroGui.SetFont('s14')
TextSettings := doroGui.Add("Text", "x20 yp+40 Section +0x0100", " 设置")
doroGui.Tips.SetTip(TextSettings, "Basic Settings")
BtnSetting := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("Settings"))
cbLogin := AddCheckboxSetting(doroGui, "Login", "登录", "xs", true)
doroGui.Tips.SetTip(cbLogin, "是否先尝试进入大厅页面|Login:Proceed to the lobby first")
BtnLogin := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("Login"))
cbShop := AddCheckboxSetting(doroGui, "Shop", "商店", "xs", true)
doroGui.Tips.SetTip(cbShop, "Shop")
BtnShop := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("Shop"))
cbSimulationRoom := AddCheckboxSetting(doroGui, "SimulationRoom", "模拟室", "xs", true)
doroGui.Tips.SetTip(cbSimulationRoom, "SimulationRoom")
BtnSimulationRoom := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("SimulationRoom"))
cbArena := AddCheckboxSetting(doroGui, "Arena", "竞技场", "xs", true)
doroGui.Tips.SetTip(cbArena, "Arena")
BtnArena := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("Arena"))
cbTower := AddCheckboxSetting(doroGui, "Tower", "无限之塔", "xs", true)
doroGui.Tips.SetTip(cbTower, "Tribe Tower")
BtnTower := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("Tower"))
cbInterception := AddCheckboxSetting(doroGui, "Interception", "拦截战", "xs", true)
doroGui.Tips.SetTip(cbInterception, "Interception")
BtnInterception := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("Interception"))
cbAward := AddCheckboxSetting(doroGui, "Award", "奖励收取", "xs", true)
doroGui.Tips.SetTip(cbAward, "Award")
BtnAward := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("Award"))
cbEvent := AddCheckboxSetting(doroGui, "Event", "活动", "xs", true)
doroGui.Tips.SetTip(cbEvent, "Event")
BtnEvent := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("Event"))
cbAfterText := doroGui.Add("Text", "x20 yp+40 Section +0x0100", " 任务完成后")
doroGui.Tips.SetTip(cbAfterText, "After Task Completion")
BtnAfter := doroGui.Add("Button", "x210 yp-2 w30 h30", "🔧").OnEvent("Click", (Ctrl, Info) => ShowSetting("After"))
doroGui.SetFont('s12')
BtnDoro := doroGui.Add("Button", "w80 xm+80 yp+40", "DORO!")
doroGui.Tips.SetTip(BtnDoro, "开始运行Doro|Start Doro")
BtnDoro.OnEvent("Click", ClickOnDoro)
doroGui.SetFont('s16')
BtnSaveSettings := doroGui.Add("Button", "x210 yp+2 w30 h30 ", "♻️")
doroGui.Tips.SetTip(BtnSaveSettings, "保存并重启Doro|Save and Restart Doro")
BtnSaveSettings.OnEvent("Click", SaveAndRestart)
;tag 二级设置
doroGui.SetFont('s12')
TaskSettings := doroGui.AddGroupBox("x280 y10 w300 h640 +0x0100", "任务设置")
doroGui.Tips.SetTip(TaskSettings, "Task Settings")
;tag 二级默认Default
SetNotice1 := doroGui.Add("Text", "x290 y40 w280 +0x0100 Section", "====提示====")
doroGui.Tips.SetTip(SetNotice1, "Notice")
g_settingPages["Default"].Push(SetNotice1)
SetNotice2 := doroGui.Add("Text", "x290 y+10 w280 +0x0100", "鼠标悬停任务文本以查看对应详细信息")
doroGui.Tips.SetTip(SetNotice2, "Hover the mouse to view the corresponding detailed information")
g_settingPages["Default"].Push(SetNotice2)
SetSize1 := doroGui.Add("Text", "x290 y+10 w280 +0x0100", "====游戏尺寸设置====")
doroGui.Tips.SetTip(SetSize1, "Game size Settings")
g_settingPages["Default"].Push(SetSize1)
SetSize2 := doroGui.Add("Text", "x290 y+10 w280 +0x0100", "推荐1080p分辨率的用户使用游戏内部的全屏(而不通过本软件调整)`n1080p以上分辨率的用户选择1080p")
doroGui.Tips.SetTip(SetSize2, "For 1080p, use in-game fullscreen (not via this app), and for higher resolutions, select 1080p.")
g_settingPages["Default"].Push(SetSize2)
Btn1080 := doroGui.Add("Button", "w150 h30 ", "点击设置为1080p")
Btn1080.OnEvent("Click", (Ctrl, Info) => AdjustSize(1920, 1080))
doroGui.Tips.SetTip(Btn1080, "Click to set to 1080p")
g_settingPages["Default"].Push(Btn1080)
;tag 二级设置Settings
SetNormalTitle := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====常规设置====")
g_settingPages["Settings"].Push(SetNormalTitle)
cbCloseAdvertisement := AddCheckboxSetting(doroGui, "CloseAdvertisement", "移除广告提示🎁", "R1")
doroGui.Tips.SetTip(cbCloseAdvertisement, "Remove ads[Copper Doro]")
g_settingPages["Settings"].Push(cbCloseAdvertisement)
cbAutoSwitchLanguage := AddCheckboxSetting(doroGui, "AutoSwitchLanguage", "自动切换语言", "R1")
doroGui.Tips.SetTip(cbAutoSwitchLanguage, "填入你原本使用的语言,简体中文建议不勾选`nFill in the language you originally used. (For simplified Chinese, please do not select this option.)")
g_settingPages["Settings"].Push(cbAutoSwitchLanguage)
DropDownListLanguage := doroGui.Add("DropDownList", "x+20 w120 Choose" g_numeric_settings["LanguageList"], ["ENGLISH", "日本语", "中文 (繁体)", "中文 (简体)"])
doroGui.Tips.SetTip(DropDownListLanguage, "请以你选择的语言运行游戏。程序会最终切换回你选择的语言`nPlease run the game in the language of your choice. The program will eventually switch back to the language you have chosen")
DropDownListLanguage.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["LanguageList"] := Ctrl.Value)
g_settingPages["Settings"].Push(DropDownListLanguage)
cbAutoCheckVersion := AddCheckboxSetting(doroGui, "AutoCheckUpdate", "自动检查更新", " xs R1")
doroGui.Tips.SetTip(cbAutoCheckVersion, "Check for updates automatically at startup")
g_settingPages["Settings"].Push(cbAutoCheckVersion)
cbAutoDeleteOldFile := AddCheckboxSetting(doroGui, "AutoDeleteOldFile", "自动删除旧版本", "R1")
doroGui.Tips.SetTip(cbAutoDeleteOldFile, "Delete old versions automatically after updating")
g_settingPages["Settings"].Push(cbAutoDeleteOldFile)
CheckAutoText := AddCheckboxSetting(doroGui, "CheckAuto", "自动开启自动射击和爆裂", "R1")
doroGui.Tips.SetTip(CheckAutoText, "Enable Auto Shoot and Burst automatically")
g_settingPages["Settings"].Push(CheckAutoText)
;tag 用户组设置
SetUserGroupTitle := doroGui.Add("Text", "R1 +0x0100", "====用户组设置====")
g_settingPages["Settings"].Push(SetUserGroupTitle)
cbSkipGroupCheck := AddCheckboxSetting(doroGui, "SkipUserGroupCheckForFreeUser", "非会员跳过用户组检查", "R1")
doroGui.Tips.SetTip(cbSkipGroupCheck, "勾选后,非会员用户启动时将跳过用户组检查以节省时间`nSkip user group check for free users to save startup time")
g_settingPages["Settings"].Push(cbSkipGroupCheck)
TextGroupDataSource := doroGui.Add("Text", "R1 +0x0100", "用户组数据源")
doroGui.Tips.SetTip(TextGroupDataSource, "用户组数据源镜像`nGitee:国内源(推荐)|GitHub:官方源|jsDelivr:CDN加速`nUser Group Data Source Mirror`nGitee: Domestic (Recommended) | GitHub: Official | jsDelivr: CDN Accelerated")
g_settingPages["Settings"].Push(TextGroupDataSource)
cbGroupDataSource := doroGui.AddDropDownList("x+20 w100", ["Gitee", "GitHub", "jsDelivr"])
cbGroupDataSource.Text := g_numeric_settings["GroupDataSource"]
cbGroupDataSource.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["GroupDataSource"] := Ctrl.Text)
g_settingPages["Settings"].Push(cbGroupDataSource)
TextPreferredHttp := doroGui.Add("Text", "xs R1 +0x0100", "HTTP请求方式")
doroGui.Tips.SetTip(TextPreferredHttp, "选择优先使用的HTTP请求组件`nWinHttp.WinHttpRequest.5.1: 兼容性更好`nMSXML2.ServerXMLHTTP: 更轻量`nPreferred HTTP request component")
g_settingPages["Settings"].Push(TextPreferredHttp)
cbPreferredHttp := doroGui.AddDropDownList("x+20 w100", ["WinHttp.WinHttpRequest.5.1", "MSXML2.ServerXMLHTTP"])
cbPreferredHttp.Text := g_numeric_settings["PreferredHttpRequest"]
cbPreferredHttp.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["PreferredHttpRequest"] := Ctrl.Text)
g_settingPages["Settings"].Push(cbPreferredHttp)
;tag 二级登录Login
SetLogin := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====登录====")
g_settingPages["Login"].Push(SetLogin)
StartupText := AddCheckboxSetting(doroGui, "AutoStartNikke", "使用脚本启动NIKKE🎁", "R1")
doroGui.Tips.SetTip(StartupText, "勾选后,脚本会尝试通过填写的路径启动NIKKE`nLaunch NIKKEwith Script:If checked, the script will attempt to start NIKKE using the specified path")
g_settingPages["Login"].Push(StartupText)
StartupPathText := doroGui.Add("Text", "xs+20 R1 +0x0100", "启动器路径")
doroGui.Tips.SetTip(StartupPathText, "Path of NIKKE Launcher")
g_settingPages["Login"].Push(StartupPathText)
StartupPathEdit := doroGui.Add("Edit", "x+5 yp+1 w160 h20")
StartupPathEdit.Value := g_numeric_settings["StartupPath"]
StartupPathEdit.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["StartupPath"] := Ctrl.Value)
doroGui.Tips.SetTip(StartupPathEdit, "例如:C:\NIKKE\Launcher\nikke_launcher.exe`nFor example: C:\NIKKE\Launcher\nikke_launcher.exe")
g_settingPages["Login"].Push(StartupPathEdit)
SetTimedstart := AddCheckboxSetting(doroGui, "Timedstart", "定时启动🎁", "xs R1")
doroGui.Tips.SetTip(SetTimedstart, "勾选后,脚本会在指定时间自动视为点击DORO!,让程序保持后台即可`nTimed start[Gold Doro]:If checked, the script will Click DORO! at the specified time. Just keep the program running in the background.")
g_settingPages["Login"].Push(SetTimedstart)
StartupTimeText := doroGui.Add("Text", "xs+20 R1 +0x0100", "启动时间")
doroGui.Tips.SetTip(StartupTimeText, "Time to start NIKKE")
g_settingPages["Login"].Push(StartupTimeText)
StartupTimeEdit := doroGui.Add("Edit", "x+5 yp+1 w100 h20")
StartupTimeEdit.Value := g_numeric_settings["StartupTime"]
StartupTimeEdit.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["StartupTime"] := Ctrl.Value)
doroGui.Tips.SetTip(StartupTimeEdit, "填写格式为 HHmmss 例如:080000 表示早上8点`nTime format must be HHmmss. For example, 080000 represents 08:00 AM.")
g_settingPages["Login"].Push(StartupTimeEdit)
cbLoopMode := AddCheckboxSetting(doroGui, "LoopMode", "自律模式", "xs+20 R1 +0x0100")
doroGui.Tips.SetTip(cbLoopMode, "勾选后,当 DoroHelper 完成所有已选任务后,NIKKE将自动退出,同时会自动重启Doro,以便再次定时启动`nLoopMode:If checked, when DoroHelper completes all selected tasks, NIKKE will automatically exit, and Doro will automatically restart to facilitate timed restarts.")
g_settingPages["Login"].Push(cbLoopMode)
cbCloseLauncher := AddCheckboxSetting(doroGui, "CloseLauncher", "关闭启动器", "xs+20 R1")
doroGui.Tips.SetTip(cbCloseLauncher, "勾选后,完成任务时,脚本会尝试关闭NIKKE启动器`nClose Launcher: If checked, when tasks are completed, the script will try to close the NIKKE launcher.")
g_settingPages["Login"].Push(cbCloseLauncher)
SetAutostart := AddCheckboxSetting(doroGui, "Autostart", "自动运行🎁", "xs R1")
doroGui.Tips.SetTip(SetAutostart, "勾选后,脚本会在启动后经过10秒延迟后自动视为点击DORO!`nThe script will be automatically regarded as a click on DORO after a 10-second delay after startup.")
g_settingPages["Login"].Push(SetAutostart)
;tag 二级商店Shop
SetShop := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====商店选项====")
g_settingPages["Shop"].Push(SetShop)
SetShopCashTitle := doroGui.Add("Text", "R1", "===付费商店===")
doroGui.Tips.SetTip(SetShopCashTitle, "Cash Shop")
g_settingPages["Shop"].Push(SetShopCashTitle)
SetShopCashFree := AddCheckboxSetting(doroGui, "ShopCashFree", "购买付费商店免费珠宝", "R1")
doroGui.Tips.SetTip(SetShopCashFree, "Automatically purchase free gems when they appear in the cash shop")
g_settingPages["Shop"].Push(SetShopCashFree)
SetShopCashFreePackage := AddCheckboxSetting(doroGui, "ShopCashFreePackage", "购买付费商店免费礼包", "R1")
doroGui.Tips.SetTip(SetShopCashFreePackage, "Automatically purchase free packages when they appear in the cash shop")
g_settingPages["Shop"].Push(SetShopCashFreePackage)
SetShopGeneralTitle := doroGui.Add("Text", "R1", "===普通商店===")
doroGui.Tips.SetTip(SetShopCashTitle, "General shop")
g_settingPages["Shop"].Push(SetShopGeneralTitle)
SetShopGeneralFree := AddCheckboxSetting(doroGui, "ShopGeneralFree", "购买普通商店免费商品", "R1")
doroGui.Tips.SetTip(SetShopGeneralFree, "Automatically purchase free item when they appear in the General shop")
g_settingPages["Shop"].Push(SetShopGeneralFree)
SetShopGeneralDust := AddCheckboxSetting(doroGui, "ShopGeneralDust", "用信用点买芯尘盒", "R1")
doroGui.Tips.SetTip(SetShopGeneralDust, "Automatically purchase Core Dust Case using Credit when they appear in the General shop")
g_settingPages["Shop"].Push(SetShopGeneralDust)
SetShopGeneralPackage := AddCheckboxSetting(doroGui, "ShopGeneralPackage", "购买简介个性化礼包", "R1")
doroGui.Tips.SetTip(SetShopGeneralPackage, "Automatically purchase Profile Custom Pack in the General shop")
g_settingPages["Shop"].Push(SetShopGeneralPackage)
SetShopArenaTitle := doroGui.Add("Text", " R1 xs +0x0100", "===竞技场商店===")
doroGui.Tips.SetTip(SetShopArenaTitle, "Arena Shop")
g_settingPages["Shop"].Push(SetShopArenaTitle)
; SetShopArena := AddCheckboxSetting(doroGui, "ShopArena", "总开关", "R1")
; g_settingPages["Shop"].Push(SetShopArena)
SetShopArenaBookFire := AddCheckboxSetting(doroGui, "ShopArenaBookFire", "燃烧", "R1")
doroGui.Tips.SetTip(SetShopArenaBookFire, "Fire")
g_settingPages["Shop"].Push(SetShopArenaBookFire)
SetShopArenaBookWater := AddCheckboxSetting(doroGui, "ShopArenaBookWater", "水冷", "R1 X+0.1")
doroGui.Tips.SetTip(SetShopArenaBookWater, "Water")
g_settingPages["Shop"].Push(SetShopArenaBookWater)
SetShopArenaBookWind := AddCheckboxSetting(doroGui, "ShopArenaBookWind", "风压", "R1 X+0.1")
doroGui.Tips.SetTip(SetShopArenaBookWind, "Wind")
g_settingPages["Shop"].Push(SetShopArenaBookWind)
SetShopArenaBookElec := AddCheckboxSetting(doroGui, "ShopArenaBookElec", "电击", "R1 X+0.1")
doroGui.Tips.SetTip(SetShopArenaBookElec, "Electric")
g_settingPages["Shop"].Push(SetShopArenaBookElec)
SetShopArenaBookIron := AddCheckboxSetting(doroGui, "ShopArenaBookIron", "铁甲", "R1 X+0.1")
doroGui.Tips.SetTip(SetShopArenaBookIron, "Iron")
g_settingPages["Shop"].Push(SetShopArenaBookIron)
SetShopArenaBookBox := AddCheckboxSetting(doroGui, "ShopArenaBookBox", "购买代码手册宝箱", "xs R1.2")
doroGui.Tips.SetTip(SetShopArenaBookBox, "Automatically purchase Code Manual Selection Box when they appear in the Arena shop")
g_settingPages["Shop"].Push(SetShopArenaBookBox)
SetShopArenaPackage := AddCheckboxSetting(doroGui, "ShopArenaPackage", "购买简介个性化礼包", "R1.2")
doroGui.Tips.SetTip(SetShopArenaPackage, "Automatically purchase Profile Custom Pack in the Arena shop")
g_settingPages["Shop"].Push(SetShopArenaPackage)
SetShopArenaFurnace := AddCheckboxSetting(doroGui, "ShopArenaFurnace", "购买公司武器熔炉", "R1.2")
doroGui.Tips.SetTip(SetShopArenaFurnace, "Automatically purchase Manufacturer Arms Furnace in the Arena shop")
g_settingPages["Shop"].Push(SetShopArenaFurnace)
SetShopRecyclingTitle := doroGui.Add("Text", "R1 xs Section +0x0100", "===废铁商店===")
doroGui.Tips.SetTip(SetShopRecyclingTitle, "Recycling Shop")
g_settingPages["Shop"].Push(SetShopRecyclingTitle)
; SetShopRecycling := AddCheckboxSetting(doroGui, "ShopRecycling", "总开关", "R1")
; g_settingPages["Shop"].Push(SetShopRecycling)
SetShopRecyclingGem := AddCheckboxSetting(doroGui, "ShopRecyclingGem", "购买珠宝", "R1.2")
doroGui.Tips.SetTip(SetShopRecyclingGem, "Automatically purchase Gems when they appear in the Recycling shop")
g_settingPages["Shop"].Push(SetShopRecyclingGem)
SetShopRecyclingVoucher := AddCheckboxSetting(doroGui, "ShopRecyclingVoucher", "购买全部好感券", "R1.2")
doroGui.Tips.SetTip(SetShopRecyclingVoucher, "Automatically purchase all types of Vouchers when they appear in the Recycling shop")
g_settingPages["Shop"].Push(SetShopRecyclingVoucher)
SetShopRecyclingResources := AddCheckboxSetting(doroGui, "ShopRecyclingResources", "购买全部养成资源", "R1.2")
doroGui.Tips.SetTip(SetShopRecyclingResources, "Automatically purchase all types of Development Resources when they appear in the Recycling shop")
g_settingPages["Shop"].Push(SetShopRecyclingResources)
SetRecyclingTeamworkBox := AddCheckboxSetting(doroGui, "ShopRecyclingTeamworkBox", "购买团队协作宝箱", "R1.2")
doroGui.Tips.SetTip(SetRecyclingTeamworkBox, "Automatically purchase Teamwork Box when they appear in the Recycling shop")
g_settingPages["Shop"].Push(SetRecyclingTeamworkBox)
SetShopRecyclingKitBox := AddCheckboxSetting(doroGui, "ShopRecyclingKitBox", "购买保养工具箱", "R1.2")
doroGui.Tips.SetTip(SetShopRecyclingKitBox, "Automatically purchase Maintenance Kit Box when they appear in the Recycling shop")
g_settingPages["Shop"].Push(SetShopRecyclingKitBox)
SetShopRecyclingArmsBox := AddCheckboxSetting(doroGui, "ShopRecyclingArms", "购买企业精选武装", "R1.2")
doroGui.Tips.SetTip(SetShopRecyclingArmsBox, "Automatically purchase Manufacturer Arms when they appear in the Recycling shop")
g_settingPages["Shop"].Push(SetShopRecyclingArmsBox)
;tag 二级模拟室SimulationRoom
SetSimulationTitle := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====模拟室选项====")
g_settingPages["SimulationRoom"].Push(SetSimulationTitle)
SetSimulationNormal := AddCheckboxSetting(doroGui, "SimulationNormal", "普通模拟室", "R1")
doroGui.Tips.SetTip(SetSimulationNormal, "此功能需要你在游戏内已经解锁了快速模拟功能才能正常使用,需要预勾选5C`nNormal Simulation Room:This feature requires you to have unlocked the Quick Simulation function in the game to work properly, and you need to pre-check 5C")
g_settingPages["SimulationRoom"].Push(SetSimulationNormal)
SetSimulationOverClock := AddCheckboxSetting(doroGui, "SimulationOverClock", "模拟室超频", "R1")
doroGui.Tips.SetTip(SetSimulationOverClock, "程序会默认尝试使用你上次进行超频挑战时选择的增益标签组合。挑战难度必须是25,且需要勾选「禁止无关人员进入」和「好战型战术」`nSimulationOverClock:The program will by default try to use the combination of boost tags you selected the last time you did an overclock challenge. The challenge difficulty must be 25, and you need to check 'Relevant Personnel Only' and 'Aggressive Tactics'")
g_settingPages["SimulationRoom"].Push(SetSimulationOverClock)
;tag 二级竞技场Arena
SetArenaTitle := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====竞技场选项====")
g_settingPages["Arena"].Push(SetArenaTitle)
SetAwardArena := AddCheckboxSetting(doroGui, "AwardArena", "竞技场收菜", "R1")
doroGui.Tips.SetTip(SetAwardArena, "Claim Arena Accumulated Rewards")
g_settingPages["Arena"].Push(SetAwardArena)
SetArenaRookie := AddCheckboxSetting(doroGui, "ArenaRookie", "新人竞技场", "R1")
doroGui.Tips.SetTip(SetArenaRookie, "使用五次每日免费挑战次数挑战第三位`nRookie Arena:Use five daily free challenge attempts to challenge the third place")
g_settingPages["Arena"].Push(SetArenaRookie)
SetArenaSpecial := AddCheckboxSetting(doroGui, "ArenaSpecial", "特殊竞技场", "R1")
doroGui.Tips.SetTip(SetArenaSpecial, "使用两次每日免费挑战次数挑战第三位`nSpecial Arena:Use two daily free challenge attempts to challenge the third place")
g_settingPages["Arena"].Push(SetArenaSpecial)
SetArenaChampion := AddCheckboxSetting(doroGui, "ArenaChampion", "冠军竞技场", "R1")
doroGui.Tips.SetTip(SetArenaChampion, "在活动期间进行跟风竞猜`nChampion Arena:Follow the Trend with your event predictions.")
g_settingPages["Arena"].Push(SetArenaChampion)
;tag 二级无限之塔Tower
SetTowerTitle := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====无限之塔选项====")
g_settingPages["Tower"].Push(SetTowerTitle)
SetTowerCompany := AddCheckboxSetting(doroGui, "TowerCompany", "爬企业塔", "R1")
doroGui.Tips.SetTip(SetTowerCompany, "自动挑战当前可进入的所有企业塔,直到无法通关或次数用尽`nCompany Tower:Automatically challenge all currently accessible company towers until you can no longer pass or run out of attempts")
g_settingPages["Tower"].Push(SetTowerCompany)
SetTowerUniversal := AddCheckboxSetting(doroGui, "TowerUniversal", "爬通用塔", "R1")
doroGui.Tips.SetTip(SetTowerUniversal, "自动挑战通用无限之塔,直到无法通关`nUniversal Tower:Automatically challenge the Tribe Tower until you can no longer pass")
g_settingPages["Tower"].Push(SetTowerUniversal)
;tag 二级拦截战Interception
SetInterceptionTitle := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====拦截战选项====")
g_settingPages["Interception"].Push(SetInterceptionTitle)
SetInterceptionNormal := AddCheckboxSetting(doroGui, "InterceptionNormal", "普通拦截", "R1")
doroGui.Tips.SetTip(SetInterceptionNormal, "暂不支持`nNormal Interception:Not supported yet")
g_settingPages["Interception"].Push(SetInterceptionNormal)
DropDownListBossNormal := doroGui.Add("DropDownList", "x+10 w150 Choose" g_numeric_settings["InterceptionBossNormal"], ["Level D", "Level S", "特殊目标拦截战"])
DropDownListBossNormal.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["InterceptionBossNormal"] := Ctrl.Value)
g_settingPages["Interception"].Push(DropDownListBossNormal)
SetInterceptionAnomaly := AddCheckboxSetting(doroGui, "InterceptionAnomaly", "异常拦截", "R1 xs")
doroGui.Tips.SetTip(SetInterceptionAnomaly, "Anomaly Interception")
g_settingPages["Interception"].Push(SetInterceptionAnomaly)
DropDownListBoss := doroGui.Add("DropDownList", "x+10 w150 Choose" g_numeric_settings["InterceptionBoss"], ["克拉肯,编队1", "镜像容器,编队2", "茵迪维利亚,编队3", "过激派,编队4", "死神,编队5"])
doroGui.Tips.SetTip(DropDownListBoss, "例如,选择克拉肯(模组),编队1,则程序会使用你的编队1去挑战克拉肯`nfor example, if you choose Kraken, Team 1, the program will use your Team 1 to challenge the Kraken`n克拉肯(模组):Kraken(Module)`n镜像容器(手):Mirage Container(Hand)`n茵迪维利亚(衣):Indivilia(Clothes)`n过激派(头):UItra(Head)`n死神(脚):Harvester(foot)")
DropDownListBoss.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["InterceptionBoss"] := Ctrl.Value)
g_settingPages["Interception"].Push(DropDownListBoss)
SetInterceptionNormalTitle := doroGui.Add("Text", "R1 +0x0100 xs", "===基础选项===")
doroGui.Tips.SetTip(SetInterceptionNormalTitle, "Basic Options")
g_settingPages["Interception"].Push(SetInterceptionNormalTitle)
SetRedCircle := AddCheckboxSetting(doroGui, "InterceptionRedCircle", "自动打红圈", "R1.2")
doroGui.Tips.SetTip(SetRedCircle, "请务必在设置-战斗-控制中开启「同步游标与准星」|只对克拉肯有效`nAutomatically attack the red circle`nMake sure to turn on 'Sync Cursor and Crosshair' in Settings - Combat - Controls | Only effective for Kraken")
g_settingPages["Interception"].Push(SetRedCircle)
SetInterceptionExit7 := AddCheckboxSetting(doroGui, "InterceptionExit7", "满7自动退出🎁", "R1.2")
doroGui.Tips.SetTip(SetInterceptionExit7, "Exit immediately after the Boss reaches phase 7[Gold Doro]")
g_settingPages["Interception"].Push(SetInterceptionExit7)
SetInterceptionScreenshot := AddCheckboxSetting(doroGui, "InterceptionScreenshot", "结果截图", "R1.2")
doroGui.Tips.SetTip(SetInterceptionScreenshot, "自动截取结算画面的图片,并保存在程序目录下的「Screenshot」文件夹中`nAutomatic screenshot of the settlement screen, saved in the 'Screenshot' folder in the program directory")
g_settingPages["Interception"].Push(SetInterceptionScreenshot)
SetInterceptionReminder := AddCheckboxSetting(doroGui, "InterceptionReminder", "每周首次战斗改为手动", "R1.2")
doroGui.Tips.SetTip(SetInterceptionReminder, "在每周快速战斗功能重置时进行提醒。`n勾选此项后,在手动战斗之前,不会自动战斗`nReminder for Quick Battle reset")
g_settingPages["Interception"].Push(SetInterceptionReminder)
;tag 二级奖励Award
SetAwardTitle := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====奖励选项====")
g_settingPages["Award"].Push(SetAwardTitle)
SetAwardNormalTitle := doroGui.Add("Text", "R1", "===常规奖励===")
doroGui.Tips.SetTip(SetAwardNormalTitle, "Regular Awards")
g_settingPages["Award"].Push(SetAwardNormalTitle)
SetAwardOutpost := AddCheckboxSetting(doroGui, "AwardOutpost", "领取前哨基地防御奖励+1次免费歼灭", "R1")
doroGui.Tips.SetTip(SetAwardOutpost, "Automatically collects the Outpost Defense rewards and uses 1 free annihilation.")
g_settingPages["Award"].Push(SetAwardOutpost)
SetAwardOutpostDispatch := AddCheckboxSetting(doroGui, "AwardOutpostDispatch", "领取并重新派遣委托", "R1 xs+15")
doroGui.Tips.SetTip(SetAwardOutpostDispatch, "Automatically collects and redeploys Outpost Dispatchs")
g_settingPages["Award"].Push(SetAwardOutpostDispatch)
SetAwardAdvise := AddCheckboxSetting(doroGui, "AwardAdvise", "咨询妮姬", "R1 xs Section")
doroGui.Tips.SetTip(SetAwardAdvise, "你可以通过在游戏内将妮姬设置为收藏状态来调整咨询的优先顺序`nNikke Advise:You can adjust the priority of consultation by setting Nikke to the collection status in the game")
g_settingPages["Award"].Push(SetAwardAdvise)
SetAwardAdviseAward := AddCheckboxSetting(doroGui, "AwardAdviseAward", "自动领取咨询奖励🎁", "R1 xs+15")
doroGui.Tips.SetTip(SetAwardAdviseAward, "自动观看妮姬升级产生的新花絮并领取奖励`nAdviseAward[Gold Doro]:automatically watch new Episode generated by Nikke's upgrade and receive rewards")
g_settingPages["Award"].Push(SetAwardAdviseAward)
SetAwardAdviseForce := AddCheckboxSetting(doroGui, "AwardAdviseForce", "强制咨询", "R1 xs+15")
doroGui.Tips.SetTip(SetAwardAdviseForce, "即使咨询不会有任何奖励也会强制进行咨询`nAdviseForce:force to consult even if there is no reward")
g_settingPages["Award"].Push(SetAwardAdviseForce)
SetAwardAppreciation := AddCheckboxSetting(doroGui, "AwardAppreciation", "花絮鉴赏会", "R1 xs+15")
doroGui.Tips.SetTip(SetAwardAppreciation, "Episode Viewing")
g_settingPages["Award"].Push(SetAwardAppreciation)
SetAwardFriendPoint := AddCheckboxSetting(doroGui, "AwardFriendPoint", "好友点数收发", "R1 xs")
doroGui.Tips.SetTip(SetAwardFriendPoint, "Receive and send Social Points")
g_settingPages["Award"].Push(SetAwardFriendPoint)
SetAwardMail := AddCheckboxSetting(doroGui, "AwardMail", "邮箱收取", "R1.2")
doroGui.Tips.SetTip(SetAwardMail, "Automatically collect all items in the mailbox")
g_settingPages["Award"].Push(SetAwardMail)
SetAwardRanking := AddCheckboxSetting(doroGui, "AwardRanking", "方舟排名奖励", "R1.2")
doroGui.Tips.SetTip(SetAwardRanking, "Automatically collect Ark Ranking Rewards")
g_settingPages["Award"].Push(SetAwardRanking)
SetAwardDaily := AddCheckboxSetting(doroGui, "AwardDaily", "任务收取", "R1.2")
doroGui.Tips.SetTip(SetAwardDaily, "收取每日任务、每周任务、主线任务以及成就等已完成任务的奖励`nDailyAward:Automatically collect rewards for completed Daily, Weekly, Main, and Achievement tasks")
g_settingPages["Award"].Push(SetAwardDaily)
SetAwardPass := AddCheckboxSetting(doroGui, "AwardPass", "通行证收取", "R1.2")
doroGui.Tips.SetTip(SetAwardPass, "Collect rewards in the pass")
g_settingPages["Award"].Push(SetAwardPass)
SetAwardCooperate := AddCheckboxSetting(doroGui, "AwardCooperate", "协同作战", "R1.2")
doroGui.Tips.SetTip(SetAwardCooperate, "参与每日三次的普通难度协同作战|是会员的情况下也可参与大活动的协同作战`nCooperate:Participate in the three daily normal difficulty cooperative battles | if you are gold doro , can also participate in the cooperative battles of events")
g_settingPages["Award"].Push(SetAwardCooperate)
SetAwardSoloRaid := AddCheckboxSetting(doroGui, "AwardSoloRaid", "单人突击日常", "R1.2")
doroGui.Tips.SetTip(SetAwardSoloRaid, "参与单人突击,自动对最新的关卡进行战斗或快速战斗`nSolo Raid:Participate in Solo Raid, automatically fight or quick fight the latest level")
g_settingPages["Award"].Push(SetAwardSoloRaid)
SetLimitedAwardTitle := doroGui.Add("Text", "R1 Section +0x0100", "===限时奖励===")
doroGui.Tips.SetTip(SetLimitedAwardTitle, "设置在特定活动期间可领取的限时奖励或可参与的限时活动`nSet time-limited rewards or time-limited activities that can be participated in during specific events")
g_settingPages["Award"].Push(SetLimitedAwardTitle)
SetAwardFreeRecruit := AddCheckboxSetting(doroGui, "AwardFreeRecruit", "活动期间每日免费招募", "R1.2")
doroGui.Tips.SetTip(SetAwardFreeRecruit, "如果在特定活动期间有每日免费招募机会,则自动进行募`nFree Recruit:if there is a daily free recruitment opportunity during a specific event, it will be recruited automatically")
g_settingPages["Award"].Push(SetAwardFreeRecruit)
;tag 二级活动Event
SetEventUniversal := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====通用选项====")
doroGui.Tips.SetTip(SetEventUniversal, "Universal Options")
g_settingPages["Event"].Push(SetEventUniversal)
SetAutoFill := AddCheckboxSetting(doroGui, "AutoFill", "剧情活动自动添加妮姬🎁", "R1")
doroGui.Tips.SetTip(SetAutoFill, "Automatically add Nikke for story events[Gold Doro]")
g_settingPages["Event"].Push(SetAutoFill)
SetEventTitle := doroGui.Add("Text", "R1 +0x0100", "====活动选项====")
doroGui.Tips.SetTip(SetEventTitle, "Event Options")
g_settingPages["Event"].Push(SetEventTitle)
SetEventSmall := AddCheckboxSetting(doroGui, "EventSmall", "小活动🎁", "xs R1")
doroGui.Tips.SetTip(SetEventSmall, "Small Events")
g_settingPages["Event"].Push(SetEventSmall)
SetEventSmallChallenge := AddCheckboxSetting(doroGui, "EventSmallChallenge", "小活动挑战", "R1 xs+15")
doroGui.Tips.SetTip(SetEventSmallChallenge, "Small Events Challenge")
g_settingPages["Event"].Push(SetEventSmallChallenge)
SetEventSmallStory := AddCheckboxSetting(doroGui, "EventSmallStory", "小活动剧情", "R1 xs+15")
doroGui.Tips.SetTip(SetEventSmallStory, "Small Events Story")
g_settingPages["Event"].Push(SetEventSmallStory)
SetEventSmallMission := AddCheckboxSetting(doroGui, "EventSmallMission", "小活动任务", "R1 xs+15")
doroGui.Tips.SetTip(SetEventSmallMission, "Small Events Mission")
g_settingPages["Event"].Push(SetEventSmallMission)
; SetEventSmallExtra := AddCheckboxSetting(doroGui, "EventSmallExtra", "小活动🎁", "xs R1")
; doroGui.Tips.SetTip(SetEventSmallExtra, "Small Events")
; g_settingPages["Event"].Push(SetEventSmallExtra)
; SetEventSmallExtraChallenge := AddCheckboxSetting(doroGui, "EventSmallExtraChallenge", "小活动挑战", "R1 xs+15")
; doroGui.Tips.SetTip(SetEventSmallExtraChallenge, "Small Events Challenge")
; g_settingPages["Event"].Push(SetEventSmallExtraChallenge)
; SetEventSmallExtraStory := AddCheckboxSetting(doroGui, "EventSmallExtraStory", "小活动剧情", "R1 xs+15")
; doroGui.Tips.SetTip(SetEventSmallExtraStory, "Small Events Story")
; g_settingPages["Event"].Push(SetEventSmallExtraStory)
; SetEventSmallExtraMission := AddCheckboxSetting(doroGui, "EventSmallExtraMission", "小活动任务", "R1 xs+15")
; doroGui.Tips.SetTip(SetEventSmallExtraMission, "Small Events Mission")
; g_settingPages["Event"].Push(SetEventSmallExtraMission)
SetEventLarge := AddCheckboxSetting(doroGui, "EventLarge", "大活动🎁[STAR ANIS]", "R1 xs")
doroGui.Tips.SetTip(SetEventLarge, "Large Events")
g_settingPages["Event"].Push(SetEventLarge)
SetEventLargeSign := AddCheckboxSetting(doroGui, "EventLargeSign", "大活动签到", "R1 xs+15")
doroGui.Tips.SetTip(SetEventLargeSign, "Large Events Sign-in")
g_settingPages["Event"].Push(SetEventLargeSign)
SetEventLargeChallenge := AddCheckboxSetting(doroGui, "EventLargeChallenge", "大活动挑战", "R1 xs+15")
doroGui.Tips.SetTip(SetEventLargeChallenge, "Large Events Challenge")
g_settingPages["Event"].Push(SetEventLargeChallenge)
SetEventLargeStory := AddCheckboxSetting(doroGui, "EventLargeStory", "大活动剧情", "R1 xs+15")
doroGui.Tips.SetTip(SetEventLargeStory, "Large Events Story")
g_settingPages["Event"].Push(SetEventLargeStory)
SetEventLargeMinigame := AddCheckboxSetting(doroGui, "EventLargeMinigame", "大活动小游戏", "R1 xs+15")
doroGui.Tips.SetTip(SetEventLargeMinigame, "Large Event Minigame")
g_settingPages["Event"].Push(SetEventLargeMinigame)
SetEventLargeDaily := AddCheckboxSetting(doroGui, "EventLargeDaily", "大活动奖励", "R1 xs+15")
doroGui.Tips.SetTip(SetEventLargeDaily, "Large Events Daily Rewards")
g_settingPages["Event"].Push(SetEventLargeDaily)
;tag 二级设置After
SetAfterTitle := doroGui.Add("Text", "x290 y40 R1 +0x0100 Section", "====任务完成后====")
g_settingPages["After"].Push(SetAfterTitle)
cbClearRed := AddCheckboxSetting(doroGui, "ClearRed", "任务完成后🎁", "R1")
g_settingPages["After"].Push(cbClearRed)
cbClearRedRecycling := AddCheckboxSetting(doroGui, "ClearRedRecycling", "升级循环室", "R1 xs+15")
doroGui.Tips.SetTip(cbClearRedRecycling, "Upgrade Recycle Room")
g_settingPages["After"].Push(cbClearRedRecycling)
cbClearRedSynchro := AddCheckboxSetting(doroGui, "ClearRedSynchro", "升级同步器", "R1 xs+15")
doroGui.Tips.SetTip(cbClearRedSynchro, "Upgrade Synchro Device")
g_settingPages["After"].Push(cbClearRedSynchro)
cbClearRedSynchroForce := AddCheckboxSetting(doroGui, "ClearRedSynchroForce", "开箱子", "R1 x+5")
doroGui.Tips.SetTip(cbClearRedSynchroForce, "Open Resource Cases")
g_settingPages["After"].Push(cbClearRedSynchroForce)
cbClearRedLimit := AddCheckboxSetting(doroGui, "ClearRedLimit", "突破/强化妮姬", "R1 xs+15")
doroGui.Tips.SetTip(cbClearRedLimit, "Limit Break/Enhance Nikke")
g_settingPages["After"].Push(cbClearRedLimit)
cbClearRedCube := AddCheckboxSetting(doroGui, "ClearRedCube", "升级魔方", "R1 xs+15")
doroGui.Tips.SetTip(cbClearRedCube, "Upgrade Cubes")
g_settingPages["After"].Push(cbClearRedCube)
cbClearRedNotice := AddCheckboxSetting(doroGui, "ClearRedNotice", "清除公告红点", "R1 xs+15")
doroGui.Tips.SetTip(cbClearRedNotice, "Clear Notice Red Dot")
g_settingPages["After"].Push(cbClearRedNotice)
cbClearRedShop := AddCheckboxSetting(doroGui, "ClearRedShop", "清除商店红点", "R1 xs+15")
doroGui.Tips.SetTip(cbClearRedShop, "Clear Shop Red Dot")
g_settingPages["After"].Push(cbClearRedShop)
cbClearRedWallpaper := AddCheckboxSetting(doroGui, "ClearRedWallpaper", "清除壁纸红点", "R1 xs+15")
doroGui.Tips.SetTip(cbClearRedWallpaper, "Clear Wallpaper Red Dot")
g_settingPages["After"].Push(cbClearRedWallpaper)
cbClearRedProfile := AddCheckboxSetting(doroGui, "ClearRedProfile", "清除个人页红点", "R1 xs+15")
doroGui.Tips.SetTip(cbClearRedProfile, "Clear Profile Red Dot")
g_settingPages["After"].Push(cbClearRedProfile)
cbClearRedBla := AddCheckboxSetting(doroGui, "ClearRedBla", "清除blabla红点", "R1 xs+15")
doroGui.Tips.SetTip(cbClearRedBla, "Clear blabla Red Dot")
g_settingPages["After"].Push(cbClearRedBla)
cbClearRedBlaAwards := AddCheckboxSetting(doroGui, "ClearRedBlaAwards", "自动对话", "R1 x+5")
doroGui.Tips.SetTip(cbClearRedBlaAwards, "Open Resource Cases")
g_settingPages["After"].Push(cbClearRedBlaAwards)
cbBriefEncounter := AddCheckboxSetting(doroGui, "BriefEncounter", "突发活动", "R1 xs+15")
doroGui.Tips.SetTip(cbBriefEncounter, "Auto BriefEncounter")
g_settingPages["After"].Push(cbBriefEncounter)
; cbCheckUnderGround := AddCheckboxSetting(doroGui, "CheckUnderGround", "地面玩法提醒", "R1 xs+15")
; doroGui.Tips.SetTip(cbCheckUnderGround, "在作战报告达到上限时进行提醒`nUnderGround Reminder:remind you when the combat report reaches the limit")
; g_settingPages["After"].Push(cbCheckUnderGround)
cbCheckEvent := AddCheckboxSetting(doroGui, "CheckEvent", "活动结束提醒", "R1 xs")
doroGui.Tips.SetTip(cbCheckEvent, "在大小活动结束前进行提醒`nEvent End Reminder:remind you before the end of major and minor events")
g_settingPages["After"].Push(cbCheckEvent)
cbOpenBlablalink := AddCheckboxSetting(doroGui, "OpenBlablalink", "打开Blablalink", "R1")
doroGui.Tips.SetTip(cbOpenBlablalink, "Open the Blablalink website")
g_settingPages["After"].Push(cbOpenBlablalink)
cbDoroClosing := AddCheckboxSetting(doroGui, "DoroClosing", "关闭DoroHelper", "R1")
doroGui.Tips.SetTip(cbDoroClosing, "Close DoroHelper")
g_settingPages["After"].Push(cbDoroClosing)
;tag 妙妙工具
doroGui.SetFont('s12')
doroGui.AddGroupBox("x600 y10 w400 h240 Section", "妙妙工具")
MiaoInfo := doroGui.Add("Text", "xp+70 yp-1 R1 +0x0100", "❔️")
doroGui.Tips.SetTip(MiaoInfo, "提供一些与日常任务流程无关的额外小功能`nProvides ancillary features that operate outside the scope of the daily task workflow.")
; 仓库地址
btnRepository := doroGui.Add("Button", "xp xs+10 w80 h30", "设备信息")
doroGui.Tips.SetTip(btnRepository, "Device code")
btnRepository.OnEvent("Click", Devicecode)
; Blablalink
btnBlablalink := doroGui.Add("Button", "x+10 w60 h30", "Blalink")
btnBlablalink.OnEvent("Click", (*) => Run("https://www.blablalink.com/"))
; CDK兑换
btnCDK := doroGui.Add("Button", "x+10 w80 h30", "CDK兑换")
doroGui.Tips.SetTip(btnCDK, "Nikke CDK Exchange")
btnCDK.OnEvent("Click", (*) => Run("https://nikke.hayasa.link/"))
; 反馈qq群
btnFeedbackQQ := doroGui.Add("Button", "x+10 w50 h30", "qq群")
doroGui.Tips.SetTip(btnFeedbackQQ, "Join the feedback group")
btnFeedbackQQ.OnEvent("Click", (*) => Run("https://qm.qq.com/q/ZhvLeKMO2q"))
; 反馈 dc群
btnFeedbackDC := doroGui.Add("Button", "x+10 w70 h30", "Discord")
doroGui.Tips.SetTip(btnFeedbackDC, "Join the feedback group")
btnFeedbackDC.OnEvent("Click", (*) => Run("https://discord.gg/f4rAWJVNJj"))
; 剧情模式
TextStoryModeLabel := doroGui.Add("Text", "xp R1 xs+10 +0x0100", "剧情模式")
doroGui.Tips.SetTip(TextStoryModeLabel, "自动点击对话选项,自动进行下一段剧情,自动auto`nAutomatically click dialogue options, automatically proceed to the next segment of the story, automatically start auto")
cbStoryModeAutoStar := AddCheckboxSetting(doroGui, "StoryModeAutoStar", "自动收藏", "x+5 R1")
doroGui.Tips.SetTip(cbStoryModeAutoStar, "Automatically bookmark the current story")
cbStoryModeAutoChoose := AddCheckboxSetting(doroGui, "StoryModeAutoChoose", "自动抉择", "x+5 R1")
doroGui.Tips.SetTip(cbStoryModeAutoChoose, "Automatically choose the first option in choices")
BtnStoryMode := doroGui.Add("Button", " x+5 yp-3 w25 h25", "▶️").OnEvent("Click", StoryMode)
TextTestModeLabel := doroGui.Add("Text", "xp R1 xs+10 +0x0100", "调试模式")
doroGui.Tips.SetTip(TextTestModeLabel, "根据输入的函数直接执行对应任务`nTestMode:Directly execute the corresponding task according to the input function")
TestModeEditControl := doroGui.Add("Edit", "x+10 yp w145 h20")
TestModeEditControl.Value := g_numeric_settings["TestModeValue"]
cbTestModeInitialization := AddCheckboxSetting(doroGui, "TestModeInitialization", "预初始化", "x+5 R1")
doroGui.Tips.SetTip(cbTestModeInitialization, "Initialize before executing tasks")
BtnTestMode := doroGui.Add("Button", " x+5 yp-3 w25 h25", "▶️").OnEvent("Click", TestMode)
TextBurstMode := doroGui.Add("Text", "xp R1 xs+10 +0x0100", "爆裂模式🎁")
doroGui.Tips.SetTip(TextBurstMode, "启动后,会自动使用爆裂,速度比自带的自动快`nAfter starting, Burst will be used automatically, Fater than the built-in auto.")
BurstModeEditControl := doroGui.Add("Edit", "x+10 yp w145 h20")
BurstModeEditControl.Value := g_numeric_settings["BurstModeValue"]
doroGui.Tips.SetTip(BurstModeEditControl, "自定义爆裂顺序`n皇马流程:AAA|AAS|ASA|AAS|AAA|ASS`nCustom burst order")
BtnBurstMode := doroGui.Add("Button", " x+5 yp-3 w25 h25", "▶️").OnEvent("Click", BurstMode)
TextAutoAdvance := doroGui.Add("Text", "xp R1 xs+10 +0x0100", "推图模式🎁")
doroGui.Tips.SetTip(TextAutoAdvance, "[beta3]半自动推图。视野调到最大。在地图中靠近怪的地方启动,有时需要手动找怪和找机关`nMap Advancement:Semi-automatic map advancement. Set the view to the maximum. Start near the monster in the map, sometimes you need to manually find monsters and mechanisms")
BtnAutoAdvance := doroGui.Add("Button", " x+5 yp-3 w25 h25", "▶️").OnEvent("Click", AutoAdvance)
;tag 日志
doroGui.AddGroupBox("x600 y260 w400 h390 Section", "日志")
btnCopyLog := doroGui.Add("Button", "xp+320 yp-5 w80 h30", "导出日志")
doroGui.Tips.SetTip(btnCopyLog, "Export log")
btnCopyLog.OnEvent("Click", CopyLog)
doroGui.SetFont('s10')
LogBox := RichEdit(doroGui, "xs+10 ys+30 w380 h340 -HScroll +0x80 ReadOnly")
LogBox.WordWrap(true)
HideAllSettings()
ShowSetting("Default")
doroGui.OnEvent("Close", (*) => ExitApp())
doroGui.Show("x" g_numeric_settings["doroGuiX"] " y" g_numeric_settings["doroGuiY"])
ShowMigrationNotice()
;endregion 创建GUI
;tag 彩蛋
CheckSequence(key_char) {
global key_history, konami_code, g_numeric_settings
; 将当前按键对应的字符追加到历史记录中
key_history .= key_char
; 为了防止历史记录字符串无限变长,我们只保留和目标代码一样长的末尾部分
if (StrLen(key_history) > StrLen(konami_code)) {
key_history := SubStr(key_history, -StrLen(konami_code) + 1)
}
; 检查当前的历史记录是否与目标代码完全匹配
if (key_history == konami_code) {
AddLog("🎉 彩蛋触发! 🎉!Konami Code 已输入!", "Blue")
VariableUserGroup.Value := "炫彩Doro"
key_history := "" ; 重置历史记录,以便可以再次触发
g_numeric_settings["UserLevel"] := 0 ; 直接修改 Map 中的值
}
}
try {
#HotIf WinActive(title)
~Up:: CheckSequence("U")
~Down:: CheckSequence("D")
~Left:: CheckSequence("L")
~Right:: CheckSequence("R")
~b:: CheckSequence("B")
~a:: CheckSequence("A")
#HotIf
}
;region 前置任务
;tag 语言提示
if !(LocaleName = "zh-CN") {
AddLog("Hover your mouse over to view the English translatio, except for the content of the log")
AddLog("For our international users,this will be a much faster and better way to get support. Here's the invite link:https://discord.gg/f4rAWJVNJj")
}
;tag 检查用户组
if A_UserName != "12042" {
if (g_settings["SkipUserGroupCheckForFreeUser"]) {
AddLog("已跳过用户组检查(非会员跳过已启用)", "Blue")
} else {
CheckUserGroup
}
}
;tag 广告
; 如果满足以下任一条件,则显示广告:
; 1. 未勾选关闭广告 (无论用户是谁)
; 2. 是普通用户 (无论是否勾选了关闭广告,因为普通用户无法关闭)
if (!g_settings["CloseAdvertisement"] OR g_numeric_settings["UserLevel"] < 1) {
Advertisement
}
if !g_settings["CloseHelp"] {
ClickOnHelp
}
;tag 删除旧文件
if g_settings["AutoDeleteOldFile"]
DeleteOldFile
;tag 检查更新
if g_settings["AutoCheckUpdate"]
CheckForUpdate(false)
;tag 自动运行
if g_settings["Autostart"] {
if g_numeric_settings["UserLevel"] >= 3 {
AutoStartDoro()
} else {
MsgBox("当前用户组不支持自动运行,请点击左上角赞助按钮升级会员组或取消勾选该功能,脚本即将暂停")
Pause
}
}
;tag 定时启动
if g_settings["Timedstart"] {
if g_numeric_settings["UserLevel"] >= 3 {
if !g_numeric_settings["StartupTime"] {
MsgBox("请设置定时启动时间")
Pause
}
StartDailyTimer()
return
} else {
MsgBox("当前用户组不支持定时启动,请点击左上角赞助按钮升级会员组或取消勾选该功能,脚本即将暂停")
Pause
}
}
;endregion 前置任务
;region 点击运行
ClickOnDoro(*) {
global finalMessageText
;清空文本
LogBox.Value := ""
;写入设置
WriteSettings()
;设置窗口标题匹配模式为完全匹配
SetTitleMatchMode 3
if g_settings["Login"] {
if g_settings["AutoStartNikke"] {
if g_numeric_settings["UserLevel"] >= 3 {
AutoStartNikke()
}
else {
MsgBox("当前用户组不支持定时启动,请点击左上角赞助按钮升级会员组或取消勾选该功能,脚本即将暂停")
Pause
}
}
}
Initialization
if g_settings["Login"]
Login()
if g_settings["AutoSwitchLanguage"]
AutoSwitchLanguage()
if g_settings["Shop"] {
if g_settings["ShopCashFree"]
ShopCash()
if g_settings["ShopGeneral"] or g_settings["ShopArena"] or g_settings["ShopRecycling"] {
Shop()
}
if g_settings["ShopGeneral"]
ShopGeneral()
if g_settings["ShopArena"]
ShopArena()
if g_settings["ShopRecycling"]
ShopRecycling()
BackToHall
}
if g_settings["SimulationRoom"] {
if g_settings["SimulationNormal"]
SimulationNormal()
if g_settings["SimulationOverClock"]
SimulationOverClock()
GoBack
}
if g_settings["Arena"] {
if g_settings["AwardArena"]
AwardArena()
if g_settings["ArenaRookie"] or g_settings["ArenaSpecial"] or g_settings["ArenaChampion"] {
EnterToArk()
EnterToArena()
if g_settings["ArenaRookie"]
ArenaRookie()
if g_settings["ArenaSpecial"]
ArenaSpecial()
if g_settings["ArenaChampion"]
ArenaChampion()
GoBack
}
}
if g_settings["Tower"] {
if g_settings["TowerCompany"]
TowerCompany()
if g_settings["TowerUniversal"]
TowerUniversal()
GoBack
}