From abaeca315002aef381428c5b3a07c0df2fb1613c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E4=B8=80=E4=B8=80?= <1204244136@qq.com> Date: Tue, 13 May 2025 15:40:51 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=8C=81=E7=BB=AD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 合并调试内容、添加赞助渠道、修复了一些bug --- DoroHelper.ahk | 48 +++++++++++++++++++++++++++++++++--------------- README.md | 20 +++++++++++++++++--- img/alipay.png | Bin 0 -> 11453 bytes img/weixin.png | Bin 0 -> 11744 bytes 4 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 img/alipay.png create mode 100644 img/weixin.png diff --git a/DoroHelper.ahk b/DoroHelper.ahk index 62b3b3c..28f2479 100644 --- a/DoroHelper.ahk +++ b/DoroHelper.ahk @@ -10,6 +10,16 @@ repo := "DoroHelper" global waitTolerance := 50 ; MsgBox "请在运行前调整游戏窗口到合适尺寸" ; MsgBox "以任何方式暂停后,请右下角Reload Script重启程序后再次运行" +msgbox " +( +beta8版本添加图片容忍度功能,可以通过调节此选项来一定程度上抵消图片缩放带来的问题,如果能正常运行,请不要修改此选项。同时,直至我买4K显示器前,将不再支持以下分辨率的适配和反馈: +1、任何1080p分辨率 +2、非100%缩放的2K分辨率 +3、非100%缩放的4K分辨率 +4、多显示器、异形屏 +运行前先ctrl+3初始化,然后再ctrl+4按到画面不动为止。此时nikke应该是居中的。如果1080p下画面超出了屏幕,就改为全屏。如果4k下画面显得太小,请不要修改。 +之后的更新将以修复bug、添加新功能、提升运行速度为主 +)" global sleepTime := 1000 ; 声明并初始化全局变量 ; 全局设置 Map 对象 global g_settings := Map( @@ -93,13 +103,13 @@ doroGui := Gui(, "Doro小帮手" currentVersion) doroGui.Opt("+Resize") doroGui.MarginY := Round(doroGui.MarginY * 0.9) doroGui.SetFont("cred s11 Bold") -doroGui.Add("Text", "R1", "关闭:ctrl + 1 终止:ctrl + 2") -doroGui.Add("Text", "R1", "初始化:ctrl + 3 调整窗口:ctrl + 4") -doroGui.Add("Link", " R1", '项目地址') +doroGui.Add("Text", "R1", "关闭:ctrl + 1 终止:+ 2 调整窗口:+ 3") +doroGui.Add("Link", " R1 xs", '项目地址') doroGui.SetFont() -doroGui.Add("Button", "R1 x+10", "帮助").OnEvent("Click", ClickOnHelp) -doroGui.Add("Button", "R1 x+10", "检查更新").OnEvent("Click", ClickOnCheckForUpdate) -BtnClear := doroGui.Add("Button", "R1 x+10", "清空日志").OnEvent("Click", (*) => LogBox.Value := "") +doroGui.Add("Button", "R1 x+8", "赞助").OnEvent("Click", MsgSponsor) +doroGui.Add("Button", "R1 x+8", "帮助").OnEvent("Click", ClickOnHelp) +doroGui.Add("Button", "R1 x+8", "检查更新").OnEvent("Click", ClickOnCheckForUpdate) +BtnClear := doroGui.Add("Button", "R1 x+8", "清空日志").OnEvent("Click", (*) => LogBox.Value := "") Tab := doroGui.Add("Tab3", "xm") ;由于autohotkey有bug只能这样写 Tab.Add(["设置", "任务", "商店", "战斗", "奖励", "日志"]) Tab.UseTab("设置") @@ -240,8 +250,9 @@ ClickOnDoro(*) { SoloRaid() BackToHall } - MsgBox "Doro完成任务!" CalculateAndShowSpan() + MsgBox ("Doro完成任务!" outputText) + MsgSponsor if g_settings["OpenBlablalink"] OpenBlablalink if g_settings["SelfClosing"] @@ -287,6 +298,7 @@ Initialization() { WinRatio := NikkeW / 2347 ;确定nikke尺寸之于额定nikke尺寸的比例(我是在nikke宽度2347像素的情况下截图的),主要影响识图 TrueRatio := currentScale * WinRatio AddLog("`nnikke坐标是:" NikkeX "," NikkeY "`n屏幕宽度是" A_ScreenWidth "`n屏幕高度是" A_ScreenHeight "`nnikke宽度是" NikkeW "`nnikke高度是" NikkeH "`ndpi缩放比例是" currentScale "`n窗口缩放比例是" WinRatio "`n图片缩放系数是" TrueRatio "`n缩放容忍度是" PicTolerance) + AddLog("如有问题请加入反馈qq群584275905,反馈请附带日志或录屏") } /** * 添加一个与 g_settings Map 关联的复选框到指定的 GUI 对象. @@ -325,6 +337,15 @@ ChangeNum(settingKey, GUICtrl, *) { global g_numeric_settings g_numeric_settings[settingKey] := GUICtrl.Value } +MsgSponsor(*) { + myGui := Gui() + myGui.Title := "Make Doro Great Again" + myGui.Add("Picture", "w200 h200", "./img/alipay.png") + myGui.Add("Picture", "x+15 w200 h200", "./img/weixin.png") + MyGui.Add("Text", "xs Section w400 h50 Center Wrap", "知一一:前任作者牢 H 停更后,DoroHelper 的绝大部分维护和新功能的添加都是我在做,这耗费了我大量时间和精力,希望有条件的小伙伴们能支持一下") + myGui.Add("Button", "xs+180 y+m w50 h20 ", "确定").OnEvent("Click", (*) => myGui.Destroy()) + myGui.Show() +} ClickOnHelp(*) { msgbox " ( @@ -336,7 +357,7 @@ ClickOnHelp(*) { 万一Doro失控,请按Ctrl + 1组合键结束进程。 ############################################# 要求: - - 【设定-画质-全屏幕模式 + 16:9的显示器比例】(推荐) 或 【16:9的窗口模式(窗口尽量拉大,否则像素识别可能出现误差)】 + - 16:9的显示器比例 - 设定-画质-开启光晕效果 - 设定-画质-开启颜色分级 - 游戏语言设置为简体中文 @@ -349,9 +370,7 @@ ClickOnHelp(*) { -游戏需要更新的时候请更新完再使用Doro。 ############################################# 其他: - -检查是否发布了新版本。 - -如果出现死循环,提高点击间隔可以解决80%的问题。 -如果你的电脑配置较好的话,或许可以尝试降低点击间隔。 )" @@ -558,6 +577,7 @@ TimeToSeconds(timeStr) { } ; 读取日志框内容,根据 HH:mm:ss 时间戳推算跨度,输出到日志框 CalculateAndShowSpan(ExitReason := "", ExitCode := "") { + global outputText local logContent := LogBox.Value local lines := StrSplit(logContent, "`n") ; 按换行符分割 local timestamps := [] @@ -595,7 +615,6 @@ CalculateAndShowSpan(ExitReason := "", ExitCode := "") { outputText .= remainingSeconds " 秒" ; 添加到日志 AddLog(outputText) - MsgBox outputText } OpenBlablalink() { Run("https://www.blablalink.com/") @@ -1867,7 +1886,7 @@ RankingReward() { EnterToArk() AddLog("===排名奖励任务开始===") Text := "|<带红点的奖杯>*200$56.zzzzzzzyDzzzzzzzw0zzzzzzzwTXzzzzzzzDwTzzzzzzbzbzzzzzzvzwzzzzzzyzzDzzzzzzDznzzzzzznzwzzzzzzyzzDzzzzzzbznzzzzzztztz00000zDwTk0000DkyDw00003y07z00000zwDy000001zzz0000007zzXU0000tzzls0000TDzwy00007nzzDU0001wzzns0000TDzwy00007nzzDU0001wzzns0000TDzwS00007nzzbU0001tzzsw0000QTzz30000ADzzs000007zzz000003zzzy00003zzzzs0007zzzzz0003zzzzzs000zzzzzy000Tzzzzzk00Dzzzzzy007zzzzzzs07zzzzzzzU7zzzzzzzs1zzzzzzzz0Tzzzzzzzk7zzzzzzzw1zzzzzzzz0TzzzzzzzU7zzzzzzzs1zzzzzzzk03zzzzzy0001zzzzz0000DzzzU" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.05 * PicTolerance, 0.05 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.05 * PicTolerance, 0.05 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") Sleep sleepTime loop 2 { @@ -2250,12 +2269,11 @@ SoloRaid() { } ^3:: { Initialization() -} -^4:: { - ; Initialization() ; WinMove (A_ScreenWidth / 2) - (NikkeWP / 2), (A_ScreenHeight / 2) - (NikkeHP / 2), 1920, 1080, nikkeID ;窗口缩放居中 WinMove (A_ScreenWidth / 2) - (NikkeWP / 2), (A_ScreenHeight / 2) - (NikkeHP / 2), 2347, 1350, nikkeID ;我电脑的尺寸 } +^4:: { +} ;调试指定函数 ^0:: { ;添加基本的依赖 diff --git a/README.md b/README.md index 6f21bbe..fb2e8c9 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,9 @@ PC 端日常任务清理助手。一键清理多项日常事务。支持国际 ## 我们联合! -- [功能类似的手机脚本](https://github.com/Zebartin/autoxjs-scripts) +- 牢 N 写的功能类似的[手机脚本](https://github.com/Zebartin/autoxjs-scripts) -- [功能类似的模拟器脚本](https://github.com/takagisanmie/NIKKEAutoScript) +- 牢 D 功能类似的[模拟器脚本](https://github.com/takagisanmie/NIKKEAutoScript) ## 免责声明 @@ -74,7 +74,7 @@ Doro 只是想让你少被该死的读条、闪光弹和重复劳动折磨。一 - 尽可能地爬企业塔 - 尽可能地爬通用塔 -- **其他奖励领取** +- **常规奖励领取** - 前哨基地收菜 - 进行派遣 @@ -83,6 +83,8 @@ Doro 只是想让你少被该死的读条、闪光弹和重复劳动折磨。一 - 邮箱收取 - 任务收取 - 通行证收取 + +- **限时奖励领取** - 活动期间每日免费招募 - 德雷克·反派之路 - 协同作战摆烂 @@ -116,6 +118,18 @@ Doro 只是想让你少被该死的读条、闪光弹和重复劳动折磨。一 加入[DoroHelper 反馈群](https://qm.qq.com/q/f0Q1yr7vzi)(584275905) +## 支持和鼓励 + +知一一:前任作者牢 H 停更后,DoroHelper 的绝大部分维护和新功能的添加都是我在做,这耗费了我大量时间和精力,希望有条件的小伙伴们能支持一下 + + + +支付宝收款码 +微信收款码 + +
+ ## 借物表 [Github.ahk-API-for-AHKv2](https://github.com/samfisherirl/Github.ahk-API-for-AHKv2) +[FindText-for-AHKv2](https://www.autohotkey.com/boards/viewtopic.php?f=83&t=116471) diff --git a/img/alipay.png b/img/alipay.png new file mode 100644 index 0000000000000000000000000000000000000000..c02af34c2d16bb195d491532b5520e8abd86db3d GIT binary patch literal 11453 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 LSG88z_Wl0?3j`R+ literal 0 HcmV?d00001 diff --git a/img/weixin.png b/img/weixin.png new file mode 100644 index 0000000000000000000000000000000000000000..f091a099df6e9c2664d43c6e75fb239d95f8139b GIT binary patch literal 11744 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%0AB`C1YL}@`7vzYhp{1?J`K;Q; zQ#<#7+e+8yIc4_)G4^{#!cWRFI*$!WwO>zb*FfB@zh`74&yr}C@p37#p=tpR;1e}? ziD8@mx}a?{_aJv>EC(PTJ!;A}3=D<}Rdat*|M;_VB!BKp0km^tjn&z}?44HRp=|W%a$c@r4Fzjw^mESHj#ngr%d3F%B7j1{E$uh^6 z6X9~}MpD7&yX(VgiejtnoJRqK6-}|zKogmuzIrd|K z|D1@S>b^k=94xfKH~Tns3i1T)lo>?RhS^&iirhaeFiR;4rViaI2;wz9ve+V8ER5!pzF$Z)0At5Lt|AxC# z67KpolELE&k_kMv?+T`F-B6_q+;7`lIw`mq&^=k|3ck%enscpwsmWP?N?kK`^Eyal>ZwqO4!56mI#HGCl8KDsj0R=7|`8 zUWDZSaD88N$QKNpUCC~A@{*|Q%)sZ4p}+otDJf@7jfEUl3r_YMAYxbpS(avJY4xoD zXl|tksag<+HzzPm?0TQ=71OOa*)TL2@cz5rwddrpM)3SUSU}$aaob{rdw^#UrubYa zniJq$UL{$s)%5{Pgkx%!A2`u=5{$5JN1X?R#1dJa;9!vu{ok}-qP54EP2zONug~{F zSMOrE#9xS7joJUpYME^)JMRy@J{NuF23#B%Kw%+YmCp~B4|-y*_d5<^s4WlMGMe4y z!G}hsodKVnbC~J97S(%zEYY7yJ*@3>26R4$fVt9C*s-7a=YcqQ2hErESDsW4VKqvn z4kJm(ls~ay2R-CT1^0`uibfCluE?k50MJx!yz9_iBFH-rPFn^ltVXK;Ic=5zbqR-& z^ylxW*k7K4`OH$y8L>p-?qj=tFMbZXo}EbLZSReZx+8CnEvxV2wlXe#ka(cmh!J{H zj0kyN|M7I5cy=k^FAp)pi-cPS{{ZJKVc~P3pQ{JUE|?M3lbBy}Mm)hrxc6AYa6y+hgCBci~^O$R_SfZD! z@3s!2#d^i}H!!L437(O$u`!Bs)zXB-GAa7t6N3Cm-hu6#YY?qKgqSa?ntC`aUZ+TF z?`$Ry)ttJc4e(xpD4`rs9afR^-!Z9Upe{`hj{_haTtHS$E{1&>KL14o_M~Q7g-NdD z^juBX=0LU^HqLes0QGYHde${48})#g_}U6(wtNM~ApQ5|DD}r;iJANWvF|fQ`VJlN z*lvvFQp4#Map)#j<|2!MLlVk*(p_&62;AA!tjq(6R=g~J?hxtXd$0>w0$GT^6Tn`T zw=^cV9kAU#$n(Vt+=Y)~$-65254iPTq@S0GVpTFTRuN@P_`}~onUG64Wxs@xF9}d= zwniNODW)*rl|M;{Zib|=s8&wh5+w&i2z8TT|F`=4Z@!C#W~RDvO1iZL;T;pof3chm>~pS&#$ zSjESj{FXtZ)<`|-%P&Dch#$#F`0p<~<-?OJV5PPE{+O;zUJmu0-Gu z|K*WHG<6g$y^3@3H_Wi+ASWT#WX?YphQCR$|A7%s#1J<>ukTdFW%mFeYb>?r+DbLg HtRw#yAFHrz literal 0 HcmV?d00001