diff --git a/DoroHelper.ahk b/DoroHelper.ahk index 072c66e..0fbf437 100644 --- a/DoroHelper.ahk +++ b/DoroHelper.ahk @@ -10,7 +10,7 @@ stdScreenW := 3840 stdScreenH := 2160 waitTolerance := 50 colorTolerance := 15 -currentVersion := "v0.1.22" +currentVersion := "v0.1.23" usr := "kyokakawaii" repo := "DoroHelper" ;颜色判断 @@ -33,8 +33,7 @@ CheckForUpdateHandler(isManualCheck) { try { latestObj := Github.latest(usr, repo) if (currentVersion != latestObj.version) { - ; 发现新版本 - userResponse := MsgBox( + userResponse := MsgBox( ; 发现新版本 "DoroHelper存在更新版本:`n" "`nVersion: " latestObj.version "`nNotes:`n" @@ -580,8 +579,7 @@ FreeShop(numOfBook) { firstClaimCkptY := [1305] firstClaimUsedColor := ["0x127CD7"] ; 领取过的按钮颜色 if !UserCheckColor(firstClaimCkptX, firstClaimCkptY, firstClaimUsedColor, scrRatio) { - ; --- 执行第一次免费领取 --- - ShopFreeClaim() ; 调用辅助函数处理领取流程 + ShopFreeClaim() ; 执行第一次免费领取 ; 检查是否还有第二次免费次数 (刷新按钮是否有红点) refreshCkptX := [697] refreshCkptY := [949] @@ -626,7 +624,7 @@ FreeShop(numOfBook) { } } Sleep 1000 ; 刷新后额外等待一下界面加载 - ShopFreeClaim() ; --- 执行第二次免费领取 --- + ShopFreeClaim() ; 执行第二次免费领取 } } ;废铁商店检查是否已经购买 @@ -1073,7 +1071,6 @@ SimulationRoom() { ExitApp } } - ;MsgBox "ok" ;开始模拟 stdTargetX := 1917 stdTargetY := 1274 @@ -1212,64 +1209,6 @@ SimulationRoom() { Sleep sleepTime // 2 UserClick(stdTargetX, stdTargetY, scrRatio) Sleep sleepTime - /* - stdTargetX := 1902 - stdTargetY := 1461 - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime // 2 - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime // 2 - */ - ;点击不选择和确定 - /* - tX := 2104 - tY := 1656 - desiredColor := ["0x089FE4"] - - while !UserCheckColor([tX], [tY], desiredColor, scrRatio) { - tY := tY + 65 - if tY > 2160 { - MsgBox "模拟室结束异常!" - ExitApp - } - } - - ;MsgBox "点不选择" - stdTargetX := 2185 - stdTargetY := tY - 200 - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime // 2 - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime // 2 - - ;MsgBox "点击确定" - stdTargetX := 2185 - stdTargetY := tY - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime - - stdCkptX := [2104] - stdCkptY := [tY] - desiredColor := ["0x089FE4"] - - while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) { - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime - if A_Index > waitTolerance { - MsgBox "模拟室结束异常!" - ExitApp - } - } - - stdTargetX := 2191 - stdTargetY := 1349 - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime // 2 - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime // 2 - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime - */ ;退回大厅 stdTargetX := 333 stdTargetY := 2041 @@ -1287,8 +1226,8 @@ SimulationRoom() { } } } -;7: 新人竞技场打第三位,顺带收50%以上的菜 -RookieArena(times) { +;7: 新人竞技场收菜 +Arena() { ;进入方舟 stdTargetX := 2689 stdTargetY := 1463 @@ -1332,6 +1271,9 @@ RookieArena(times) { Sleep sleepTime // 2 UserClick(stdTargetX, stdTargetY, scrRatio) Sleep sleepTime // 2 +} +;新人竞技场 +RookieArena(times) { ;进入竞技场 stdTargetX := 2208 stdTargetY := 1359 @@ -1444,6 +1386,9 @@ RookieArena(times) { } } } +;特殊竞技场 +SpecialArena(times) { +} ;8: 对前n位nikke进行好感度咨询(可以通过收藏把想要咨询的nikke排到前面) NotAllCollection() { stdCkptX := [2447] @@ -1663,7 +1608,7 @@ LoveTalking(times) { } } ;9: 爬塔一次(做每日任务) -TribeTower() { +FailTower() { stdTargetX := 2689 stdTargetY := 1463 UserClick(stdTargetX, stdTargetY, scrRatio) @@ -2079,24 +2024,6 @@ Interception() { ExitApp } } - /* - ;不勾选自动拦截就直接退出 - if !isCheckedInterception - return - */ - /* - stdCkptX := [1917] - stdCkptY := [910] - desiredColor := ["0x037EF9"] - - while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) { - Sleep sleepTime - if A_Index > waitTolerance { - MsgBox "进入拦截战失败!" - ExitApp - } - } - */ stdTargetX := 559 stdTargetY := 1571 UserClick(stdTargetX, stdTargetY, scrRatio) @@ -2311,30 +2238,6 @@ Interception() { ExitApp } } - /* - stdTargetX := 904 - stdTargetY := 1805 - stdCkptX := [1893, 1913, 1933] - stdCkptY := [1951, 1948, 1956] - desiredColor := ["0xFFFFFF", "0xFFFFFF", "0xFFFFFF"] - - while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) { - Sleep sleepTime - if A_Index > waitTolerance { - MsgBox "快速战斗结算失败!" - ExitApp - } - } - - while UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) { - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime - if A_Index > waitTolerance { - MsgBox "退出结算页面失败!" - ExitApp - } - } - */ ;检查是否退出 stdCkptX := [1390] stdCkptY := [1799] @@ -2369,26 +2272,6 @@ Interception() { ExitApp } } - ;进入特殊拦截战 - /* - stdTargetX := 2059 - stdTargetY := 1689 - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime - - stdCkptX := [1425] - stdCkptY := [1852] - desiredColor := ["0x02AEF5"] - - while !UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) { - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep sleepTime - if A_Index > waitTolerance { - MsgBox "进入特殊拦截战失败!" - ExitApp - } - } - */ } ;11: 邮箱收取 Mail() { @@ -2591,6 +2474,9 @@ OnePass() { ;执行一次通行证 if UserCheckColor(stdCkptX, stdCkptY, desiredColor, scrRatio) { } } +;通用塔 +UniversalTower() { +} ; 通用函数,用于切换 g_settings Map 中的设置值 ToggleSetting(settingKey, guiCtrl, *) { global g_settings @@ -2601,19 +2487,11 @@ ToggleSetting(settingKey, guiCtrl, *) { } ChangeOnNumOfBook(GUICtrl, *) { global g_numeric_settings - g_numeric_settings["NumOfBook"] := GUICtrl.Value - 1 ; 转换为 0-3 存储 -} -ChangeOnNumOfBattle(GUICtrl, *) { - global g_numeric_settings - g_numeric_settings["NumOfBattle"] := GUICtrl.Value + 1 ; 转换为 2-5 存储 -} -ChangeOnNumOfLoveTalking(GUICtrl, *) { - global g_numeric_settings - g_numeric_settings["NumOfLoveTalking"] := GUICtrl.Value ; 直接存储 1-10 + g_numeric_settings["NumOfBook"] := GUICtrl.Value - 1 } ChangeOnInterceptionBoss(GUICtrl, *) { global g_numeric_settings - g_numeric_settings["InterceptionBoss"] := GUICtrl.Value ; 直接存储 1-5 + g_numeric_settings["InterceptionBoss"] := GUICtrl.Value } ChangeOnSleepTime(GUICtrl, *) { global sleepTime @@ -2702,18 +2580,21 @@ ClickOnDoro(*) { FriendPoint() if g_settings["SimulationRoom"] SimulationRoom() - if g_settings["RookieArena"] - RookieArena(g_numeric_settings["NumOfBattle"]) + if g_settings["Arena"] { + Arena() ;收菜 + if g_settings["RookieArena"] ;新人竞技场 + RookieArena(g_numeric_settings["NumOfRookieBattle"]) + if g_settings["SpecialArena"] ;新人竞技场 + SpecialArena(g_numeric_settings["NumOfSpecialBattle"]) + else + BackToHall() + } if g_settings["LoveTalking"] LoveTalking(g_numeric_settings["NumOfLoveTalking"]) - if g_settings["CompanyTower"] { - if g_settings["TribeTower"] - TribeTower() ; 执行每日任务版 (进塔就退) - else - CompanyTower() ; 执行完整爬塔版 - } else if g_settings["TribeTower"] { - TribeTower() ; 即使 CompanyTower 未勾选,也要执行每日任务版 - } + if g_settings["FailTower"] + FailTower() + if g_settings["CompanyTower"] + CompanyTower() if g_settings["Interception"] Interception() if g_settings["Mail"] @@ -2722,11 +2603,14 @@ ClickOnDoro(*) { Mission() if g_settings["Pass"] Pass() + if g_settings["UniversalTower"] + UniversalTower() } if isBoughtTrash == 0 MsgBox "协同作战商店似乎已经刷新了,快去看看吧" MsgBox "Doro完成任务!" CompanyTowerInfo() - ;ExitApp + if g_settings["SelfClosing"] + ExitApp Pause } SleepTimeToLabel(sleepTime) { @@ -2750,47 +2634,31 @@ NumOfBookToLabel() { global g_numeric_settings return String(g_numeric_settings["NumOfBook"] + 1) } -NumOfBattleToLabel() { - global g_numeric_settings - return String(g_numeric_settings["NumOfBattle"] - 1) -} -NumOfLoveTalkingToLabel() { - global g_numeric_settings - return String(g_numeric_settings["NumOfLoveTalking"]) -} InterceptionBossToLabel() { global g_numeric_settings return String(g_numeric_settings["InterceptionBoss"]) } -SaveSettings(*) { - WriteSettings() - MsgBox "设置已保存!" -} WriteSettings(*) { global g_settings, g_numeric_settings, sleepTime, colorTolerance ; 从 g_settings Map 写入开关设置 for key, value in g_settings { IniWrite(value, "settings.ini", "Toggles", key) } - ; --- 新增:从 g_numeric_settings Map 写入数值设置 --- for key, value in g_numeric_settings { - IniWrite(value, "settings.ini", "NumericSettings", key) ; 使用新段名 + IniWrite(value, "settings.ini", "NumericSettings", key) } - ; --- 新增结束 --- ; 写入其他独立设置 IniWrite(sleepTime, "settings.ini", "Other", "sleepTime") IniWrite(colorTolerance, "settings.ini", "Other", "colorTolerance") - ; 注意:numOfBook, numOfBattle 等不再需要单独写入 } LoadSettings() { - global g_settings, g_numeric_settings, sleepTime, colorTolerance ; 移除不再使用的全局变量 - default_settings := g_settings.Clone() ; 保留一份默认开关设置 + global g_settings, g_numeric_settings, sleepTime, colorTolerance + default_settings := g_settings.Clone() ; 从 Map 加载开关设置 for key, defaultValue in default_settings { readValue := IniRead("settings.ini", "Toggles", key, defaultValue) g_settings[key] := readValue } - ; --- 新增:从 Map 加载数值设置 --- default_numeric_settings := g_numeric_settings.Clone() ; 保留一份默认数值设置 for key, defaultValue in default_numeric_settings { readValue := IniRead("settings.ini", "NumericSettings", key, defaultValue) @@ -2801,16 +2669,13 @@ LoadSettings() { g_numeric_settings[key] := defaultValue } } - ; --- 新增结束 --- ; 加载其他独立设置 (带默认值) sleepTime := IniRead("settings.ini", "Other", "sleepTime", 1500) colorTolerance := IniRead("settings.ini", "Other", "colorTolerance", 15) - ; 确保加载的值有效 (可选,但推荐) - if !(sleepTime ~= "^(750|1000|1250|1500|1750|2000)$") - sleepTime := 1500 - if !(colorTolerance ~= "^(15|35)$") - colorTolerance := 15 - ; 可以为 g_numeric_settings 中的值添加范围检查,如果需要 +} +SaveSettings(*) { + WriteSettings() + MsgBox "设置已保存!" } ; 全局设置 Map 对象 global g_settings := Map( @@ -2823,28 +2688,35 @@ global g_settings := Map( "Mission", 1, ; 任务 "Pass", 1, ; 通行证 "SimulationRoom", 1, ; 模拟室 + "Arena", 1, ; 竞技场收菜 "RookieArena", 1, ; 新人竞技场 + "SpecialArena", 1, ; 特殊竞技场 "LoveTalking", 1, ; 咨询 "CompanyWeapon", 0, ; 企业武器熔炉 (商店) "Interception", 0, ; 拦截战 "CompanyTower", 1, ; 企业塔 - "TribeTower", 0, ; 每日爬塔任务 + "UniversalTower", 1, ; 通用塔 + "FailTower", 0, ; 每日爬塔任务 "LongTalk", 1, ; 详细咨询 (若图鉴未满) "AutoCheckUpdate", 0, ; 自动检查更新 + "SelfClosing", 0, ; 完成后自动关闭程序 "BookFire", 0, ; 手册:燃烧 "BookWater", 0, ; 手册:水冷 "BookWind", 0, ; 手册:风压 "BookElec", 0, ; 手册:电击 - "BookIron", 0 ; 手册:铁甲 + "BookIron", 0, ; 手册:铁甲 + ;"CheckBox",0 ; 简介个性化礼包 ) ; 其他非简单开关的设置 Map 对象 global g_numeric_settings := Map( - "NumOfBook", 3, ; 购买手册数量 (0-3) -> 对应 DropDownList 选项 1-4 - "NumOfBattle", 5, ; 新人竞技场次数 (2-5) -> 对应 DropDownList 选项 1-4 - "NumOfLoveTalking", 10, ; 咨询次数 (1-10) -> 对应 DropDownList 选项 1-10 - "InterceptionBoss", 1 ; 拦截战BOSS选择 (1-5) -> 对应 DropDownList 选项 1-5 + "NumOfBook", 3, ; 购买手册数量 + "NumOfRookieBattle", 5, ; 新人竞技场次数 + "NumOfSpecialBattle", 5, ; 新人竞技场次数 + "NumOfLoveTalking", 10, ; 咨询次数 + "InterceptionBoss", 1 ; 拦截战BOSS选择 ) -global isBoughtTrash := 1 ; 检测废铁商店 +global isBoughtTrash := 1 ; 检测废铁商店 +;检测管理员身份 if !A_IsAdmin { MsgBox "请以管理员身份运行Doro" ExitApp @@ -2895,9 +2767,10 @@ doroGui.SetFont() doroGui.Add("Button", "R1 x+10", "帮助").OnEvent("Click", ClickOnHelp) doroGui.Add("Button", "R1 x+10", "检查更新").OnEvent("Click", ClickOnCheckForUpdate) Tab := doroGui.Add("Tab3", "xm") ;由于autohotkey有bug只能这样写 -Tab.Add(["doro设置", "收获", "商店", "日常", "默认"]) -Tab.UseTab("doro设置") -AddCheckboxSetting(doroGui, "AutoCheckUpdate", "自动检查更新(确保能连上github)", "R2") +Tab.Add(["设置", "收获", "商店", "日常", "默认"]) +Tab.UseTab("设置") +AddCheckboxSetting(doroGui, "AutoCheckUpdate", "自动检查更新(确保能连上github)", "R1.2") +AddCheckboxSetting(doroGui, "SelfClosing", "任务完成后自动关闭程序", "R1.2") doroGui.Add("Text", , "点击间隔(单位毫秒),谨慎更改") doroGui.Add("DropDownList", "Choose" SleepTimeToLabel(sleepTime), [750, 1000, 1250, 1500, 1750, 2000]).OnEvent("Change", ChangeOnSleepTime) @@ -2916,7 +2789,7 @@ AddCheckboxSetting(doroGui, "Pass", "通行证收取", "R1.2") Tab.UseTab("商店") doroGui.Add("Text", "R1.2 Section", "普通商店") AddCheckboxSetting(doroGui, "FreeShop", "每日白嫖2次", "R1.2 xs+15") -doroGui.Add("CheckBox", " R1.2 xs+15", "购买简介个性化礼包") +doroGui.Add("Text", " R1.2 xs+15", "❌购买简介个性化礼包") doroGui.Add("Text", "R1.2 xs", "竞技场商店") doroGui.Add("Text", "R1.2 xs+15", "购买手册:") AddCheckboxSetting(doroGui, "BookFire", "燃烧", "R1.2 xs+15") @@ -2925,39 +2798,35 @@ AddCheckboxSetting(doroGui, "BookWind", "风压", "R1.2 X+1") AddCheckboxSetting(doroGui, "BookElec", "电击", "R1.2 X+1") AddCheckboxSetting(doroGui, "BookIron", "铁甲", "R1.2 X+1") AddCheckboxSetting(doroGui, "CompanyWeapon", "购买公司武器熔炉", "R1.2 xs+15") -;以下为无效功能 -doroGui.Add("CheckBox", " R1.2", "购买简介个性化礼包") -doroGui.Add("Text", "R1.2 xs Section", "废铁商店(简介个性化礼包和废铁商店还在做)") -doroGui.Add("Checkbox", " R1.2 xs+15", "购买珠宝") +doroGui.Add("Text", " R1.2 xs+15", "❌购买简介个性化礼包") +doroGui.Add("Text", "R1.2 xs Section", "废铁商店") +doroGui.Add("Text", " R1.2 xs+15", "❌购买珠宝") doroGui.Add("Text", " R1.2 xs+15", "购买好感券:") -doroGui.Add("Checkbox", " R1.2 xs+15", "通用") -doroGui.Add("Checkbox", " R1.2 x+1", "朝圣者") -doroGui.Add("Checkbox", " R1.2 x+1", "反常") -doroGui.Add("Checkbox", " R1.2 xs+15", "极乐净土") -doroGui.Add("Checkbox", " R1.2 x+1", "米西利斯") -doroGui.Add("Checkbox", " R1.2 x+1", "泰特拉") +doroGui.Add("Text", " R1.2 xs+15", "❌通用") +doroGui.Add("Text", " R1.2 x+1", "❌朝圣者") +doroGui.Add("Text", " R1.2 x+1", "❌反常") +doroGui.Add("Text", " R1.2 xs+15", "❌极乐净土") +doroGui.Add("Text", " R1.2 x+1", "❌米西利斯") +doroGui.Add("Text", " R1.2 x+1", "❌泰特拉") doroGui.Add("Text", " R1.2 xs+15", "购买资源") -doroGui.Add("Checkbox", " R1.2 xs+15", "信用点+盒") -doroGui.Add("Checkbox", " R1.2 x+1", "战斗数据辑盒") -doroGui.Add("Checkbox", " R1.2 x+1", "芯尘盒") +doroGui.Add("Text", " R1.2 xs+15", "❌信用点+盒") +doroGui.Add("Text", " R1.2 x+1", "❌战斗数据辑盒") +doroGui.Add("Text", " R1.2 x+1", "❌芯尘盒") Tab.UseTab("日常") AddCheckboxSetting(doroGui, "SimulationRoom", "模拟室5C(普通关卡需要快速战斗)", "R1.2") -AddCheckboxSetting(doroGui, "RookieArena", "新人竞技场(请点开快速战斗)", "R1.2") -AddCheckboxSetting(doroGui, "LoveTalking", "咨询妮姬(可以通过收藏改变妮姬排序)", "R1.2 Section") ; 注意 Section 选项用法 -AddCheckboxSetting(doroGui, "LongTalk", "若图鉴未满,则进行详细咨询", "R1.2 XP+15 Y+M") -AddCheckboxSetting(doroGui, "CompanyTower", "爬企业塔", "R1.2 xs Section") -AddCheckboxSetting(doroGui, "TribeTower", "只完成每日任务,在进入后退出", "R1.2 XP+15 Y+M") +AddCheckboxSetting(doroGui, "Arena", "竞技场收菜", "R1.2 Section") +AddCheckboxSetting(doroGui, "RookieArena", "新人竞技场(请点开快速战斗)", "R1.2 XP+15 Y+M") +AddCheckboxSetting(doroGui, "SpecialArena", "特殊竞技场(请点开快速战斗)", "R1.2 Y+M") +AddCheckboxSetting(doroGui, "LoveTalking", "咨询妮姬(可以通过收藏改变妮姬排序)", "R1.2 xs Section") ; 注意 Section 选项用法(保存此控件位置并定义一个新控件段) +AddCheckboxSetting(doroGui, "FailTower", "爬塔摆烂一次(用于完成每日任务)", "R1.2") +AddCheckboxSetting(doroGui, "CompanyTower", "尽可能地爬企业塔", "R1.2 xs Section") AddCheckboxSetting(doroGui, "Interception", "使用对应编队进行异常拦截自动战斗", "R1.2 xs") doroGui.Add("DropDownList", "Choose" InterceptionBossToLabel(), ["克拉肯(石),编队1", "过激派(头),编队2", "镜像容器(手),编队3", "茵迪维利亚(衣),编队4", "死神(脚),编队5"]).OnEvent("Change", ChangeOnInterceptionBoss) +AddCheckboxSetting(doroGui, "UniversalTower", "尽可能地爬通用塔", "R1.2") Tab.UseTab("默认") -doroGui.Add("Text", , "购买几本代码手册?") +doroGui.Add("Text", , "购买代码手册数量") doroGui.Add("DropDownList", "Choose" NumOfBookToLabel(), [0, 1, 2, 3]).OnEvent("Change", ChangeOnNumOfBook) -doroGui.Add("Text", , "新人竞技场打几次?") -doroGui.Add("DropDownList", "Choose" NumOfBattleToLabel(), [2, 3, 4, 5]).OnEvent("Change", ChangeOnNumOfBattle) -doroGui.Add("Text", , "咨询几位妮姬?") -doroGui.Add("DropDownList", "Choose" NumOfLoveTalkingToLabel(), [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]).OnEvent("Change", - ChangeOnNumOfLoveTalking) Tab.UseTab() doroGui.Add("Button", "Default w80 xm+100", "DORO!").OnEvent("Click", ClickOnDoro) doroGui.Show() diff --git a/README.md b/README.md index 7c458d0..b22a4a5 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,61 @@ -# 免责声明 +
-本项目仅供个人学习研究使用,严禁用于商业用途。除Github以外其他任何网站、社交平台中有关本项目的内容**均非本人发布**,若造成侵犯著作权、版权或违反网络安全法规等任何后果,均与本人无关。 +LOGO -# 前言 +# DoroHelper -PC端自用日常任务清理助手:DoroHelper。支持国际服和港澳台服客户端。支持多开。 +PC 端日常任务清理助手。一键清理多项日常事务。支持国际服和港澳台服客户端。支持多开。 -![image](https://github.com/kyokakawaii/DoroHelper/blob/dev/img/preview.png) +
+## 免责声明 -### 叠甲: +本项目仅供个人学习研究使用,严禁用于商业用途。除 Github 以外其他任何网站、社交平台中有关本项目的内容**均非本人发布**,若造成侵犯著作权、版权或违反网络安全法规等任何后果,均与本人无关。 使用任何脚本程序均有封号风险,请谨慎。 -### 再叠甲: +程序可能会有操作不兼容的情况出现。第一次使用最好在旁边看着。万一 Doro 失控,请按 Ctrl + 1 组合键结束进程或者 Ctrl + 2 组合键暂停进程。 -程序是根据我自己的账号进度写的,所以可能会有操作不兼容的情况出现。第一次使用最好在旁边看着。万一Doro失控,请按Ctrl + 1组合键结束进程或者Ctrl + 2组合键暂停进程(debug)。 +## 使用 +### 运行 ahk 文件(推荐) -# 下载 +1. 将整个项目文件下载到本地并解压(右上角绿色 code 按钮-Download ZIP) +1. 下载[AutoHotkey V2.0](https://www.autohotkey.com/download/ahk-v2.exe) +1. 以管理员身份运行 DoroHelper.ahk -在右边的release里有我编译好的exe文件可以直接用。 +### 运行 exe 文件 -不放心的话也可以下载代码,安装AutoHotkey V2.0并以管理员模式运行`DoroHelper.ahk`。也可以用任意文本编辑器打开`DoroHelper.ahk`修改(史山)代码以适配自己的情况。 +1. 下载右边的 release 文件 +1. 以管理员身份运行 DoroHelper.exe -也可以使用Ahk2Exe编译`DoroHelper.ahk`自己生成exe可执行文件。 +## 功能介绍 +Doro 只是想让你少被该死的读条、闪光弹和重复劳动折磨。一键清理多项日常事务(按顺序执行),包括: -# 功能介绍 - - Doro只是想让你少被该死的读条、闪光弹和重复劳动折磨。一键清理多项日常事务(按顺序执行),包括: - - **前哨基地防御** - - _1次一举歼灭+2次收菜_ - + + - 1 次一举歼灭+2 次收菜 + - **付费商店** - - _领取每日、周、月免费钻_ - + + - 领取每日、周、月免费钻 + - **免费商店** - - _普通商店每天白嫖2次,竞技场购买自定义数量的属性技能书,购买公司武器熔炉_ + + - 普通商店每天白嫖 2 次 + - 竞技场购买自定义数量的属性技能书 + - 购买公司武器熔炉 - **派遣远征和收菜** - - **收取赠送好友点数** - -- **模拟室5C通关** - +- **模拟室 5C 通关** - **新人竞技场进行自定义数量的战斗** - - _顺带收取pjjc囤积超过50%的菜_ -- **进行自定义次数的好感度咨询** + - 顺带收取 pjjc 囤积超过 50%的菜 - _支持补充咨询图鉴_ - -- **光速爬塔失败1次** - - _蹭每日任务点数_ - +- **进行十次好感度咨询** +- **光速爬塔失败 1 次(蹭每日任务点数)** - **爬企业塔** - **自动异常拦截** @@ -69,51 +64,36 @@ PC端自用日常任务清理助手:DoroHelper。支持国际服和港澳台 - **每日奖励收取** -- **Pass收取** +- **Pass 收取** -# 使用说明 +## 要求 -对大多数老玩家来说Doro设置保持默认就好。 - -万一Doro失控,请按Ctrl + 1组合键结束进程。 - -万一Doro失控,请按Ctrl + 1组合键结束进程。 - -万一Doro失控,请按Ctrl + 1组合键结束进程。 - -## 要求: - -- 【设定-画质-全屏幕模式 + 16:9的显示器比例】(推荐) 或 【16:9的窗口模式】(窗口尽量拉大,否则像素识别可能出现误差) +- 【设定-画质-全屏幕模式 + 16:9 的显示器比例】(推荐) 或 【16:9 的窗口模式】(窗口尽量拉大,否则像素识别可能出现误差) - 设定-画质-开启光晕效果 - 设定-画质-开启颜色分级 - - 游戏语言设置为简体中文 - -- 以**管理员身份**运行DoroHelper +- 以**管理员身份**运行 DoroHelper -- 不要开启windows HDR显示 +- 不要开启 windows HDR 显示 -## 步骤: +## 步骤 -打开NIKKE启动器。点击启动。等右下角腾讯ACE反作弊系统扫完,NIKKE主程序中央SHIFT UP logo出现之后,再切出来点击“DORO!”按钮。如果你看到鼠标开始在左下角连点,那就代表启动成功了。然后就可以悠闲地去泡一杯咖啡,或者刷一会儿手机,等待Doro完成工作了。 +打开 NIKKE 启动器。点击启动。等右下角腾讯 ACE 反作弊系统扫完,NIKKE 主程序中央 SHIFT UP logo 出现之后,再切出来点击“DORO!”按钮。如果你看到鼠标开始在左下角连点,那就代表启动成功了。然后就可以悠闲地去泡一杯咖啡,或者刷一会儿手机,等待 Doro 完成工作了。 也可以在游戏处在大厅界面时(有看板娘的页面)切出来点击“DORO!”按钮启动程序。 -游戏需要更新的时候请更新完再使用Doro。 +## 其他 -## 其他: - -如果出现死循环,提高点击间隔可以解决80%的问题。 +如果出现死循环,提高点击间隔可以解决 80%的问题。 如果你的电脑配置较好的话,可以尝试降低点击间隔。 -可以尝试设置得和我一样: +## 反馈和改进 -![image](https://github.com/kyokakawaii/DoroHelper/blob/67486160e97713900c43cc2c68e176dd65e1f442/img/setting1.png) -![image](https://github.com/kyokakawaii/DoroHelper/blob/67486160e97713900c43cc2c68e176dd65e1f442/img/setting2.png) +加入[DoroHelper 反馈群](https://qm.qq.com/q/f0Q1yr7vzi)(584275905) -# 借物表 +## 借物表 - \ No newline at end of file +[Github.ahk-API-for-AHKv2](https://github.com/samfisherirl/Github.ahk-API-for-AHKv2) diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000..357f218 Binary files /dev/null and b/img/logo.png differ diff --git a/img/preview.png b/img/preview.png deleted file mode 100644 index 9558ea0..0000000 Binary files a/img/preview.png and /dev/null differ diff --git a/img/setting1.png b/img/setting1.png deleted file mode 100644 index f02fe38..0000000 Binary files a/img/setting1.png and /dev/null differ diff --git a/img/setting2.png b/img/setting2.png deleted file mode 100644 index e20678a..0000000 Binary files a/img/setting2.png and /dev/null differ