From c0ed55ad8e04f1180753207e206437611051bf27 Mon Sep 17 00:00:00 2001 From: kaedelcb <57870068+kaedelcb@users.noreply.github.com> Date: Thu, 18 Sep 2025 12:04:00 +0800 Subject: [PATCH] =?UTF-8?q?v.2.1=E7=89=88=E6=9C=AC=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=B9=BD=E5=A2=83=E5=8D=B1=E6=88=98=2020250918=20(#1939)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### v.2.1版本:20250918 - **优化**: 1. 改用普通模板匹配浓缩树脂。 2. 适配6.0奖励领取页面,,添加原石使用选项,添加新圣遗物的选择。 3. 添加选择队伍功能。 --- repo/js/AutoStygianOnslaught/README.md | 6 + .../assets/Artifacts/artifact_0.bmp | Bin 0 -> 6774 bytes .../assets/Artifacts/artifact_0in.bmp | Bin 0 -> 9414 bytes repo/js/AutoStygianOnslaught/assets/five.png | Bin 1756 -> 2328 bytes repo/js/AutoStygianOnslaught/assets/four.png | Bin 1781 -> 2119 bytes repo/js/AutoStygianOnslaught/assets/one.png | Bin 1676 -> 1915 bytes repo/js/AutoStygianOnslaught/assets/three.png | Bin 1782 -> 2200 bytes repo/js/AutoStygianOnslaught/assets/two.png | Bin 1774 -> 2169 bytes repo/js/AutoStygianOnslaught/assets/zero.png | Bin 0 -> 2271 bytes repo/js/AutoStygianOnslaught/main.js | 277 +++++++++++++++--- repo/js/AutoStygianOnslaught/manifest.json | 2 +- repo/js/AutoStygianOnslaught/settings.json | 23 +- 12 files changed, 258 insertions(+), 50 deletions(-) create mode 100644 repo/js/AutoStygianOnslaught/assets/Artifacts/artifact_0.bmp create mode 100644 repo/js/AutoStygianOnslaught/assets/Artifacts/artifact_0in.bmp create mode 100644 repo/js/AutoStygianOnslaught/assets/zero.png diff --git a/repo/js/AutoStygianOnslaught/README.md b/repo/js/AutoStygianOnslaught/README.md index 614b60ee6..3972dfc96 100644 --- a/repo/js/AutoStygianOnslaught/README.md +++ b/repo/js/AutoStygianOnslaught/README.md @@ -40,6 +40,12 @@ ## 三、更新说明 +### v.2.1版本:20250918 + +- **优化**: +1. 改用普通模板匹配浓缩树脂。 +2. 适配6.0奖励领取页面,,添加原石使用选项,添加新圣遗物的选择。 +3. 添加选择队伍功能。 ### v.2.0版本:20250830 diff --git a/repo/js/AutoStygianOnslaught/assets/Artifacts/artifact_0.bmp b/repo/js/AutoStygianOnslaught/assets/Artifacts/artifact_0.bmp new file mode 100644 index 0000000000000000000000000000000000000000..670a91892550962cc797b7e5c679242d13500d8a GIT binary patch literal 6774 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 literal 0 HcmV?d00001 diff --git a/repo/js/AutoStygianOnslaught/assets/Artifacts/artifact_0in.bmp b/repo/js/AutoStygianOnslaught/assets/Artifacts/artifact_0in.bmp new file mode 100644 index 0000000000000000000000000000000000000000..23eeac18adcfd4965a2bc1f1de5fcffffd984155 GIT binary patch literal 9414 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 diff --git a/repo/js/AutoStygianOnslaught/assets/four.png b/repo/js/AutoStygianOnslaught/assets/four.png index ac4e17f3d65d28f1a2c3c76191a68dc99a0f9f60..160fcaab4bc139449da91042ab9bd45c97a9fad6 100644 GIT binary patch delta 960 zcmey$dtAV*Gr-TCmrII^fq{Y7)59eQNDBe6CKYn`7+P8xn_3x|Xd75q85k%jROA*|`KFd6rX-dmx+IpQ+A0|t7@6uC zpeUYvfk}=RRpd95l1h?MYO<+CvVpFJL2|0DQL0IbZjwQoiLQ~cfk9H5fu*UTf#GCF zW-S#XQxi*LGs{HXR1;G}T}x9F6Wt_JV-sD&G=n756jMVpgS3>%{md#VW~o5SO^woY z&C*gVbWIaY40MxH4M7T%lhTY$(k#q?CSGS=>q?A5C57S=*Rm3;@{H6x?A|)bQszpG zCx|i0X7T~n{QB3^E-qwXVEp6h;uvDln;dZ2j7_OjB&DgBH|apgECUA(Qwh$AKvBbu z1rb|Pj$U6M{~ri`ex82mQEfn<>TXL4glYfe! zlw|#*ColhdFoe!FWS*t!kdl(NJLl=F_x5#vet+k8mcA0hR_}A4In<`=4@<`Fv(elC z|NF~*G3@${RqL2}MR(+O9N^&Svnl%Wi_)Qym`II zv$QzR*^qMclzsibgzIdD*@2l?-`*~tZ(BVtJc8}};Ymw5a(R7aXYE>6@V+6Z_$$wi z-R~6w-aT1qY+E}y`_-)MS5XZwesl&GxaZy4BP(I(aIk3+mwR|T+k&gX>1P=0+kVtP zI&gaW`XcVr5^LVx-S+l|>k_#Zvjw@HnU=!K&&)6@)|1**^Hj^`9-pk8RjruEhNXLt z-?irOp4GDW=n2P5JX}IGo|5yL9^Bej`#UTwvVG3%&P{K>%q$Kp)MPR0ngTe~ HDWM4f8Ax-! delta 619 zcmX>u@RirBGr-TCmrII^fq{Y7)59eQNXr7TBnK0abV}Id2c$R)JR*x37`TN&n2}-D z9Epu)2~1WNy2b_}29{O^##RQF+6ER@1_nwB6}bggzNsaNDTyVCE{P?nwn|0@My9$3 zD2gXvV3OlS75UAiq>^f6lxCTjoT_VVWS*#-WNc!fo0OJpsB3C!ZfTlmYGRR;lswsy zSxd#tC^0d`GR0WeAju+4*DTS*9H`nXMb|vhFvY|;#WdN%z+!Sgvxmd8%%*sd1{2iD_zbilN2i>&$CiiBYJeP+a0#R$^72k(!6yTPIn{ zT#4}nF(%neKERq^-)D2@Col$9dAc};cpQIw)tCFQ0uNh4tC-f^(%=907xanViR(Sd zSGIJAcj`wYv7!kwa(@&qN*Km|x*jWdvHYp*taWdkE~h@zTPHZV_*#iGN2+7jyV}TY zrh=tA*tccr3BJ8MWm41YziU^$*b)AIwO7x_=;<@JKVJXyXI{?iSW9;?-gh(HEM;zopr01&XrNB{r; diff --git a/repo/js/AutoStygianOnslaught/assets/one.png b/repo/js/AutoStygianOnslaught/assets/one.png index 14d143cea658299a7fc9a6f34c58ea31872f8a33..541dd87bff516b6c4a90ab9caec51e7b4569f2a3 100644 GIT binary patch delta 732 zcmeC-{mrM?8Q|y6%O%Cdz`(%k>ERLtq&b0Dl!FOKNnwf%;5L&61PMQY|gg3=${zGpi^kS{S4nrx+#cnwuDz=^B`sr0FK6nVaaEr6ngB zn;N7VC7VpX#=Opz2z7}{3dJR^WhGYS8L4^LeRYzh%#|2F5Mz?fo71d z8hE-mhGM(vu!e2#?rSc==k}vof{?ECQJ? zX3U7R5}Ot>*S7rO`}_OX$L)RhYUTk3lM7c4?c1{F*`uYW9WMS)V3^w7>2F#6?$7@E z|NoR3SIpTrap~&zc*nw@50#HU&=N?icbX$CCR+dH1}BfD!KU(05nEC$yJTFLRvfx@ zuk_s?SB)a6TgP50*h}29N;>s&hQpH_8G|Pd2N&kDTr}tJp3~RaX0|IP-8_P?*%2e4&@-hN>H+R2pSlw>#a!x?+`{U#1?^b_fZFOUe<>L`go-k+I!hI8W`a5_e kcr2NwcY!N8;THo#*H2}aSK;TRfC-kt)78&qol`;+0N+ptYybcN delta 491 zcmey(*TbvW8Q|y6%O%Cdz`(%k>ERLtq-B9vl7k6IIwfrK+o)K|WM!diY!G5#VP$Gz zWniccWEdDIDOBVZSox-wB&H;mB)TM)q}nPO85o)B8lWhie1S=h7ggjplah*gvZ1Ac znVGS!sfk&lZmN+ToP$tJ0~Nr~pkx<)`p zrKA}rnp+r5zQ(-Hl?Zi-N(#j#u4N@w`+2nQ38yu0*+E0E$W@Q5sCVBk9f!i-b3 z`J^|RB`{f8>KYn`7+PAHm|B?{Xd75q85k%jROA*|`KFd6rX-dmx+IpQ+A0|t7@6uC zpeUYvfk}=RRpd95l8TA3rMZErg|V(lvYENAiMdIVZcdL#k=bNN zW-S#XLz6T!Qxi*FGh+iYT?<1KAdzNlu4`nRYHVVVVxD4bo;10iSw$ty)Z8>V)iO=j zA~n@O*B}w3(A+Rp*U~)I+%PFQ&DhK$dGdAUwXVb{R8lA|aV;ycD$hvG!|tt05 zc!C&{Y$hLI&94_~s{O^lz~t-c;uxZFJ~`l`8H-Y_@$5Z|Hodhjx3B#4<#)e){Jxr< zwa?$pDwP(#yy=V2TE(n}4#p1IyR~L{_kKM-e*VA2gX`<#Plv55`}Co8)io1?+50nI zZhwEjvB;t5|3T-!lb4^JxBtVnx7PLl|FLp0om^@Be8x?Sl^K#oE%nD$=GoM;CHc6Y zXIU^=;nPK4neFDveE+RpwrByiqRT zs$rA1>81_QyAv$RDY$U_igOnXJ_KSJbN46p`U&>HX-wU)4E;hhn_4y zKabg&O-O1&K-88JRwb5+q0G*&K0nt#@$m1zzwJx4!x#^+UhmtaLrV@QJtYf|-$f z{k4F&;Cf&nb-X(4-p}fO%*bbk(ci=E{0{$4nZACouW`YeJ&Urh=R1VVx2v`@vYWYZ z?dtDOPlr4F>x-?fX*x79H2k``ea#n%MOF73of#Jf@>sSmJ#c{iQ~dtQ;Gn?8>(ZG5 zvtGa1SbAKqBH-K{x9=3n>a*xK8k zFK=Ej;OzFZsQV-m!^eAPZ@K;U6+Wjg$Otw${AUclv-r6GgQ|ajf3y4K9%x{82`VE_OC delta 620 zcmbOs_>I@BGr-TCmrII^fq{Y7)59eQNXr7TBnK0abV}Id2c$R)JR*x37`TN&n2}-D z9Epu)2~1WNy2b_}29{O^hE^sP+6ER@1_nwB6}bggzNsaNDTyVCE{P?nwn|0@My9$3 zD2gXvV3OlS75UAiq>^TtYLb{{VxViBoMfq+mSSS4o0ycCrkiGDX_{u4lx$&|VmjH8 zSxY6^)HKl`)iO;t$tcBKH`UA}Q8&prB}q3mHQC%K#lSS#(8z3ZKeLKTYHCWFxnYup zZgPq-(6D5n*_NisNxI3F7Ac7-rpcy;W|ot$Gp}_eMxl~IafxeLiB)+UBxdW05+@K=BPWqoUh`q?vSbI;3v{rxvzpK*UE#|ty# RE}**^JYD@<);T3K0RX{&%gg`( diff --git a/repo/js/AutoStygianOnslaught/assets/two.png b/repo/js/AutoStygianOnslaught/assets/two.png index e7f8c3065be822601b104217253abace3a5d9f8c..00b861825b61199e56141c0334ad7853d68d1d15 100644 GIT binary patch delta 1008 zcmaFI`%}QIGr-TCmrII^fq{Y7)59eQNb>=)Fb5Nm)K6M{7)WszctjQh#gBk6<5X=v z>5XOyOjee?XqcRmJlT<1 zOT{cX$spM@F?M5Dn4ffJ+7emrPhD&8u4&oPKU+(brqc{pZ`){VI9> z?r*8|c9rGNU(JkYzOq8vfI-t#cJi-f-`xA>|2fW3|L;%izM{2@SL+8zdSq6X9{$VD z-zc=d{{OulmC->_emO~27d#exbU0Z5|KHg;#`o_Wn|bis$>Qhr@Ae89Ut4$o$s@@H zOV;skId|q(<>_m(4y6u-3mjL@{K<3kr|R|mJ4~Pc|N9#qe1FlZRE{t%r^(CC{P^)v z_{f7})BM`5_1zQKk7xWTZ&#pKs8;UFNig z?N{l|uB+el?m7HTSSsa^vSdl-f>pUZJQG%5U*~-2#n;*9clS;{vu2J$7~@na#;c6= z6IX6My{3};{{H_AhHnlWR8G9ux$2f%Kzk;`)TXPJyME^0+w}PQ`gn)Z`2DrBEmGT7 zZk;T&%3NZ~Ro=C4ZOw9SvGs&*Q2+PEe_mQjB7YFOdjc;{R+L)s^7D*psvbLJEJ{=q zOr%_8B{Z`oja-hX%(trLn>VE)QDpX%cft~Uu6~Y!4&v9%xBJhu>t48Y?enAE)Bkfe zrfP>9`^>j|e|ow;%hYYZh@6=YDr>BVo9P)Vo9p4l97RtsjdNv z;>j17ZTc)BOfoUnO)@q}(@i!vN-?oCv@lLIG@9Jctg38ckZPQqny8y> zU~HjlmTY38Yhh|(pqpl%WR_@{Y-wR+VLACa^EwwI)F~+xm$;UdSe0j_=3)2LNtQBK zV!S|%Nj8%Yu;$mh@qK&m!?wcw$F{5Ye%lqf z^?j-5xzD#*uUFW)Ea1OBtyq2a(o@e4H@;i{!}$B3`>#GTtM87=X<&9*26Qijr>mdK II;Vst02X7$Hvj+t diff --git a/repo/js/AutoStygianOnslaught/assets/zero.png b/repo/js/AutoStygianOnslaught/assets/zero.png new file mode 100644 index 0000000000000000000000000000000000000000..7c44a0ea6ffc02b2786a1ec78c547260c29acb17 GIT binary patch literal 2271 zcmcImc~BEq9FAHP81bU@z^N|lRAFSZN0Lpl5Wyr?GGh>d3Ld3yb~j-)*%z~m0Ywpw zsC6v0)7pv$9u;jXv>tW5Dm`rNp@K(sEL9kE#yS+K2jVrhFC3}UvDSaOGrRltz3+X$ z?{~c4?8@}CiBXX;kt&rc%9d))fbW6ujt=h$pZAZ?t%R=#Z|XEzrRsMqc=vd3Y`@_u zRoG22D@Vz(PhvRWQL{X72G!Q&0lN^)12V8HMK){B#BBIr^#&~AS=)Z+=EWo5!VXr)WH0pRXVRC+fHLP4*QxNK44fnSafD(c!GSXo6dp%g*sFv5tDWEMp*q@K|dV+jL8 z5S>svtOK4^*yjTSUUU{d57cgFY?7?75+~TKCKQTNiz3emG(|ZKPA#S(^)#mCwH(Ge zC@01VP6w^woC2-kJ9NSQR>0*4!x!A&S++djAV(-djKM)tv{v9Tt)L?@r$g(&3>qho zaR#SDPf;|-Yp8Cv$vzRD9M=6LYfu#r8A+BPD5Ft>8Fi3?qO^L9B?%I9=#8|2(;4+f z4TmB;$2ft{!@@cdJ*-Q>y^;$>{#IiFZs4;69>!ern_!_y zBTZwJnhcgblmXpM6=j&?!mfjqDa`E}xkaR-IvJJ=9tso61*<`TVd|U~pAzQhbEtE_ zKTm+9m<*hXpY;jjT`(p8S%vt&iI>@V&zAmt74kny?+PoI$4V{%c32z@I)ev$ zQD;){f99)W?TNnC4TsGzI1F`R_z~*kf&{63uuH#n{#v|B)$?7Ob$nLbOI-Tty6n=} z#4%-S@7~DVQF~-T`{U*dpVn?lZaBCAq%B&xW*ufNi3}e`>`ciiFTHsGl?&AkkJ?)s zinIQJ&z400!xsW2Z9|beD&5SQxzSsH`}O{+gUhx{xjhy}k4`Rp&=)=6d8o!~1_Va* z83HyBN9d%YdvT`3kxhg0J>PtE)>ZuIPDI?}hwZI5F0br8`g}?oV*2^>)hXKt++JIi z<7sUQlMgMLRP^Jzz1LzhCYDu%uU-*$eaZzocYje^MRIY;)|5}mrzh$Zd*l3sT^sjH z^%19UUq5@TY0vDp>wn*vRMKzhilfDUZrOaGXZ(sguj!)JCd`N+2Zl3;ALd74L(N}v zWfg|7fjtiq*w~TN`q!PiuDMop|5n)6S(lf5JN0gL-`x?StM>K9;g=3A921WXx7P-2 zXD=7uTYPl}DE;up_x^NV-vA8ZAVlbfr+erHSX zR8&a-nw(-M1EwOqn;j|5UrY^?eI%&D;IF@}WR zBcfBl#N*pj&aN*`KelGu@z_D{tKSGK9hcs4eClYh~?*IZ{g?^@1IHd2)qm zd0zb<&+;9Bs9QGdVpw){?$Yp0<766TBFd{{PpKY64(&f+R7qofd+V2$ L(yZ0ySxf!`%P}~* literal 0 HcmV?d00001 diff --git a/repo/js/AutoStygianOnslaught/main.js b/repo/js/AutoStygianOnslaught/main.js index f91e70ed8..af36bced8 100644 --- a/repo/js/AutoStygianOnslaught/main.js +++ b/repo/js/AutoStygianOnslaught/main.js @@ -3,6 +3,11 @@ var Threshold = genshin.width > 2560 ? 0.65 : genshin.width > 1920 ? 0.7 : 0.8; + + var Thresholdr = genshin.width > 2560 ? 0.8 + : genshin.width > 1920 ? 0.8 + : 0.9; + log.warn(`屏幕分辨率${genshin.width},识别阈值调整为${Threshold}...`); let challengeNum = settings.challengeNum;//挑战次数 @@ -18,22 +23,42 @@ var Rewardsuse = settings.Rewardsuse ? settings.Rewardsuse : "1/2";//树脂使用类型,默认为1/2,即浓缩树脂和原粹树脂 var resinTypes = Rewardsuse.split("/"); var rewards = []; - var onerewards, secendrewards, threendrewards, fourdrewards; + var onerewards, secendrewards, threendrewards, fourdrewards,fiverewards; for (var i = 0; i < resinTypes.length; i++) { var resinType = parseInt(resinTypes[i]); - if (isNaN(resinType) || resinType < 1 || resinType > 4) { + if (isNaN(resinType) || resinType < 1 || resinType > 5) { throw new Error("设定的树脂类型无效或缺失,请重新配置"); } rewards.push(resinType); } - const resinTypeMap = ["","使用1个浓缩树脂,获取2倍产出", "使用20个原粹树脂", "使用1个脆弱树脂,获取3倍产出", "使用1个须臾树脂,获取3倍产出"];//识别树脂领奖文字 - const golbalRewards = ["","浓缩树脂","原粹树脂","脆弱树脂","须臾树脂"]; // 对应四种树脂 + const resinTypeMap = ["","使用1个浓缩树脂,获取3次产出", "使用40个原粹树脂,获取2次产出", "使用1个脆弱树脂,获取3次产出", "使用1个须臾树脂,获取3次产出","使用20个原粹树脂"]; + const resinTypeMap2 = ["使用50原石,获取3次产出", "使用100原石,获取3次产出", "使用150原石,获取3次产出", "使用200原石,获取3次产出"]; + + //原石使用 + var primogemUseCount = settings.primogemUseCount ? settings.primogemUseCount : 0; + if (primogemUseCount === undefined || primogemUseCount === null) { + throw new Error("原石使用 参数无效,请设置0到6之间的整数值"); + } + primogemUseCount = parseInt(primogemUseCount); + if (isNaN(primogemUseCount) || !Number.isInteger(primogemUseCount) || primogemUseCount < 0 || primogemUseCount > 6) { + throw new Error("原石使用 数量设置无效,请设置0到6之间的整数值"); + } + primogemUseCount = (isNaN(primogemUseCount)) ? 0 : primogemUseCount; + var primogemUseDone = 0; + var resinDone = false; + + const golbalRewards = ["","浓缩树脂","原粹树脂40","脆弱树脂","须臾树脂","原粹树脂20"]; // 对应四种树脂 // 根据 rewards 数组长度,依次赋值给对应的变量 if (rewards.length > 0) onerewards = golbalRewards[rewards[0]]; if (rewards.length > 1) secendrewards = golbalRewards[rewards[1]]; if (rewards.length > 2) threendrewards = golbalRewards[rewards[2]]; if (rewards.length > 3) fourdrewards = golbalRewards[rewards[3]]; - const golbalRewardText = [onerewards, secendrewards, threendrewards, fourdrewards].filter(Boolean);//过滤树脂使用类型 + if (rewards.length > 4) fiverewards = golbalRewards[rewards[4]]; + const golbalRewardText = [onerewards, secendrewards, threendrewards, fourdrewards,fiverewards].filter(Boolean);//过滤树脂使用类型 + if(primogemUseCount>0){golbalRewardText.push("原石")} + // 根据 rewards 数组长度,依次赋值给对应的变量 + + var firstawards = false; var advanceNum = 0;//前进寻找地脉之花次数 var verticalNum = 0;//重试寻找地脉之花次数 @@ -42,7 +67,8 @@ var Artifacts = settings.Artifacts ? settings.Artifacts : "保持圣遗物奖励不变"; //映射所有圣遗物对应需要识别的图片 - var artifactImageMap = { + var artifactImageMap = { + "穹境示现之夜 / 纺月的夜歌": "assets/Artifacts/artifact_0.bmp", "长夜之誓 / 深廊终曲": "assets/Artifacts/artifact_1.bmp", "黑曜秘典 / 烬城勇者绘卷": "assets/Artifacts/artifact_2.bmp", "谐律异想断章 / 未竟的遐思": "assets/Artifacts/artifact_3.bmp", @@ -72,13 +98,16 @@ var rewardsButton = "assets/rewards.png"; var resinImages = [ - "assets/model/one.png", - "assets/model/two.png", - "assets/model/three.png", - "assets/model/four.png", - "assets/model/five.png" + "assets/zero.png", + "assets/one.png", + "assets/two.png", + "assets/three.png", + "assets/four.png", + "assets/five.png" ]; + FightTeam = settings.FightTeam; + //文字识别封装函数 async function Textocr(wenzi="空参数",chaotime=10,clickocr=0,debugcode=0,x=0,y=0,w=1920,h=1080) { const startTime = new Date(); @@ -128,6 +157,11 @@ Imagidentify.InitTemplate(); } + // Imagidentify.Name = "测试"; + // Imagidentify.DrawOnWindow=true; + // Imagidentify.InitTemplate(); + + for (let ii = 0; ii < 10; ii++) { captureRegion = captureGameRegion(); // 获取一张截图 res = captureRegion.DeriveCrop(xa, ya, wa, ha).Find(Imagidentify); @@ -156,27 +190,47 @@ var fragileResinCount = 0; // 脆弱树脂 var momentResinCount = 0; //须臾树脂 + // var shuz = [] // 浓缩树脂 var condensedResinCountRa = await imageRecognition(condensedResin,0.2, 0, 0,800,15,700,70,Threshold); - if (condensedResinCountRa.found) { + if (condensedResinCountRa.found) { + //测试用 + // log.info("检测到浓缩树脂图标"); + // await moveMouseTo(condensedResinCountRa.x+condensedResinCountRa.w,condensedResinCountRa.y); + // log.warn("X{0} Y{1} W{2} H{3}",condensedResinCountRa.x,condensedResinCountRa.y,condensedResinCountRa.w,condensedResinCountRa.h,); + // if (Math.abs(condensedResinCountRa.x - 1256) > 5 || condensedResinCountRa.y != 33){ + // throw new Error("浓缩图标错误"); + // } + // log.warn("T{0}",Thresholdr); + // log.warn("L{0}",resinImages.length); for (let i = 0; i < resinImages.length; i++) { - if(i==0){await sleep(1000);} - let countArea = await imageRecognition(resinImages[i],0.2, 0, 0,condensedResinCountRa.x+condensedResinCountRa.w*0.9,condensedResinCountRa.y,condensedResinCountRa.w*2,condensedResinCountRa.h,Threshold); - if (countArea.found){ - condensedResinCount =i+1; + if(i==0){await sleep(500);} + // log.warn("i{0}",i); + let countArea = await imageRecognition(resinImages[i],0, 0, 0,condensedResinCountRa.x+condensedResinCountRa.w+15,condensedResinCountRa.y,30,32,Thresholdr); + if (countArea.found){ + // await moveMouseTo(countArea.x,countArea.y); + condensedResinCount =i; + // shuz.push(i); break; } - if (i==4){log.info("未检测到浓缩数量,强制为1"); condensedResinCount=1;} + if (i==5){log.info("未检测到浓缩数量,强制为1"); condensedResinCount=1;} } - + //测试用 + // log.warn("{0}",shuz); + // if (shuz.length != 1 || shuz[0] != 0){ + // // log.warn("错误"); + // // await sleep(2000); + // throw new Error("错误"); + // } }else{ log.info("未检测到浓缩树脂图标"); - } + } - var originalResinCountRa = await imageRecognition(originalResin,0.1, 0, 0,1555,0,100,100,Threshold); + //脆弱树脂 + var originalResinCountRa = await imageRecognition(originalResin,0.1, 0, 0,1325,0,400,500,Threshold); if (originalResinCountRa.found) { // await moveMouseTo(originalResinCountRa.x,originalResinCountRa.y); - let countArea = await Textocr("",0.5, 0, 2,originalResinCountRa.x+originalResinCountRa.w,originalResinCountRa.y,originalResinCountRa.w*3,originalResinCountRa.h,Threshold);// + let countArea = await Textocr("",0.5, 0, 2,originalResinCountRa.x+originalResinCountRa.w,originalResinCountRa.y,originalResinCountRa.w*4,originalResinCountRa.h);// if (countArea.found){ log.info("原粹树脂识别数量结果:"+ countArea.text); let match = countArea.text.match(/(\d+)\s*[/17]\s*(2|20|200)/); @@ -198,16 +252,17 @@ log.info("未检测到原粹树脂图标"); } - var momentResinCountRa = await imageRecognition(momentResin,0.2, 0, 1,1170,0,500,100,0.7,Threshold); + // 须臾树脂 + var momentResinCountRa = await imageRecognition(momentResin,0.1, 0, 1,960,0,500,100,Threshold); if (momentResinCountRa.found) { for (let i = 0; i < resinImages.length; i++) { - let countArea = await imageRecognition(resinImages[i],0.2, 0, 0,momentResinCountRa.x+momentResinCountRa.w,momentResinCountRa.y,momentResinCountRa.w*2,momentResinCountRa.h,Threshold); + let countArea = await imageRecognition(resinImages[i],0, 0, 0,momentResinCountRa.x+momentResinCountRa.w+10,momentResinCountRa.y,30,35,Thresholdr); if (countArea.found){ - momentResinCount =i+1; + momentResinCount =i; break; } - if (i==4){log.info("未检测到须臾图标,强制为1"); momentResinCount=1;} + if (i==5){log.info("未检测到须臾数量,强制为1"); momentResinCount=1;} } fragileResinCount = "1"; @@ -217,20 +272,23 @@ { log.info("未检测到须臾树脂图标"); - var fragileResinCountRa = await imageRecognition(fragileResin,0.1, 0, 1,1170,0,300,100,Threshold); + // 脆弱树脂 + var fragileResinCountRa = await imageRecognition(fragileResin,0.1, 0, 1,960,0,500,100,Threshold); if (fragileResinCountRa.found) { - // await moveMouseTo(fragileResinCountRa.x+fragileResinCountRa.w+20,fragileResinCountRa.y-15); - let countArea = await Textocr("",0.5, 0, 2,fragileResinCountRa.x+fragileResinCountRa.w,fragileResinCountRa.y,fragileResinCountRa.w*2,fragileResinCountRa.h,Threshold);// + // await moveMouseTo(fragileResinCountRa.x+fragileResinCountRa.w+20,fragileResinCountRa.y-15); + + let countArea = await Textocr("",0.1, 0, 2,fragileResinCountRa.x+fragileResinCountRa.w,fragileResinCountRa.y,fragileResinCountRa.w*2,fragileResinCountRa.h);// if (countArea.found){ // log.info("脆弱树脂识别数量结果:"+ countArea.text); fragileResinCount = countArea.text } else{ - var oneRa = await imageRecognition(resinImages[0],0.1, 0, 1,fragileResinCountRa.x+fragileResinCountRa.w,fragileResinCountRa.y,60,40,Threshold); + var oneRa = await imageRecognition(resinImages[1],0.1, 0, 1,fragileResinCountRa.x+fragileResinCountRa.w,fragileResinCountRa.y,60,40,Threshold); if (oneRa.found){ fragileResinCount = "1"; }else{ - + fragileResinCount = "1"; + log.info("2未检测到脆弱树脂图标,脆弱树脂识别强制为 1 ");//有图标说明至少为1 } } } @@ -242,7 +300,7 @@ log.info("树脂状态:浓缩{0} 原粹{1} 脆弱{2} 须臾{3}", condensedResinCount, originalResinCount, fragileResinCount,momentResinCount) return {condensedResinCount,originalResinCount,fragileResinCount,momentResinCount} - } + } //征讨之花领奖寻找函数 @@ -461,7 +519,7 @@ retries++; // 重试次数加1 //滚轮操作 YOffset += 100; - if (retries === maxRetries || retries+YOffset > 1080) { + if (retries === maxRetries || 155+YOffset > 1080) { await leftButtonUp(); await sleep(100); await keyPress("VK_ESCAPE"); @@ -492,11 +550,30 @@ await sleep(1000); } - await sleep(300); - + await sleep(300); + + //确保转换按键,根据数字2和5的顺序,判断是否要点 + if(!firstawards){ + let index2 = resinTypes.indexOf("2"); + let index5 = resinTypes.indexOf("5"); + + if (index2 !== -1 && (index5 === -1 || index2 < index5)) { + let SHU = await Textocr(resinTypeMap[5], 0.1, 0, 0, 510, 380, 640, 600); + if (SHU.found) { + await click(SHU.x + 480, SHU.y + 15); + } + }else{ + let SHU = await Textocr(resinTypeMap[2], 0.1, 0, 0, 510, 380, 640, 600); + if (SHU.found) { + await click(SHU.x + 480, SHU.y + 15); + } + } + firstawards = true; + } + for (let j = 0;j < 2;j++) { - for (let i = 0;i < rewards.length;i++) { + for (let i = 0;i < rewards.length && !resinDone;i++) { let SHU = await Textocr(resinTypeMap[rewards[i]],0.3,0,0,510,380,640,600); if (SHU.found){ if (resinTypeMap[rewards[i]] == "使用20个原粹树脂") @@ -513,7 +590,7 @@ await Textocr("锁定辅助",10,0,0,1768,0,115,90); - await sleep(500); + await sleep(1000); let { condensedResinCount, originalResinCount, fragileResinCount , momentResinCount} = await getRemainResinStatus(); let shouldExit = true; @@ -522,7 +599,7 @@ { shouldExit &= (parseInt(condensedResinCount, 10) == 0); } - if (resinTypes.includes("2")) + if (resinTypes.includes("2") || resinTypes.includes("5")) { shouldExit &= (parseInt(originalResinCount, 10) < 20); } @@ -536,11 +613,17 @@ } if (shouldExit) - { - await sleep(1000); - await keyPress("VK_ESCAPE"); - await sleep(1000); - return false; + { + if(primogemUseCount <= 0){ + await sleep(1000); + await keyPress("VK_ESCAPE"); + await sleep(1000); + return false; + } + else{ + log.warn("树脂耗尽,后续尝试使用原石 {0} 次...", primogemUseCount); + resinDone = true; + } } log.warn("还有树脂..."); return true; @@ -548,6 +631,46 @@ } await sleep(500); } + + resinDone = true; + if(primogemUseCount > 0 && resinDone){ + + log.warn("树脂耗尽,尝试使用原石 {0}/{1} ...", primogemUseDone+1, primogemUseCount); + + let SHU = await Textocr("兑换",0,0,0,510,380,800,600); + if (SHU.found) { + resinTypeMap2.length = 0; + log.warn("{t}","原石不足,执行结束..."); + } + + for (let k = 0; k < resinTypeMap2.length; k++) { + let SHU = await Textocr(resinTypeMap2[k],0.1,0,0,510,380,640,600); + if (SHU.found){ + log.warn("{t}","原石使用啦!!!!!!!!!..."); + await click(SHU.x+550,SHU.y) + + let dimai2 = await Textocr("确认",0.5, 0, 0, 960,720, 400, 80); + if (dimai2.found) { + await click(865,630)//不再提示 + await sleep(1000); + // await moveMouseTo(dimai2.x,dimai2.y+10); + await click(dimai2.x,dimai2.y+10) + } + + primogemUseDone ++; + primogemUseCount--; + if (primogemUseCount <= 0) { + log.warn("原石使用次数耗尽,停止执行..."); + break; + } + return true; + }else{ + log.warn("未找到原石使用选项,停止执行..."); + break; + } + } + } + log.warn("未找到树脂,结束领取奖励..."); await sleep(1000); await keyPress("VK_ESCAPE"); @@ -601,12 +724,66 @@ } - log.warn("自动幽境危战版本:v2.0"); + //更换战斗队伍 + async function Switchteams() { + + for (let i = 0;i < 2;i++){ + let teams = await Textocr("预设队伍",5,1,0,1360,985,200, 70); + + let teams2 = await Textocr("预设队伍",5,0,0,1,0,160, 80); + if (teams.found) {break} + else if (!teams2.found && i == 1){log.warn("未找到预设队伍按钮,不执行切换操作...");return false;} + } + + await click(936,150); + await sleep(100); + + let YOffset = 0; // Y轴偏移量,根据需要调整 + + //滚轮预操作 + await click(936,150); + await sleep(100); + await leftButtonDown(); + await sleep(100); + await click(936,140); + + + const maxRetries = 30; // 最大重试次数 + let retries = 0; // 当前重试次数 + while (retries < maxRetries) { + let result1 = await Textocr(FightTeam,0.2,1,0,50,108,350, 900); + if (result1.found) { + await leftButtonUp(); + await sleep(300); + await click(result.x,result.y); + await sleep(500); + return true + } + retries++; // 重试次数加1 + //滚轮操作 + YOffset += 100; + if (retries === maxRetries || 130+YOffset > 1080) { + await leftButtonUp(); + await sleep(100); + log.warn("未找到预设战斗队伍名称,保持原有队伍..."); + await keyPress("VK_ESCAPE"); + await sleep(500); + return false; + } + await click(936,130+YOffset); + await sleep(200); + } + + return true; + + } + + log.warn("自动幽境危战版本:v2.1"); log.warn("请保证队伍战斗实力,战斗失败或执行错误,会重试两次..."); log.warn("使用前请在 <<幽境危战>> 中配置好战斗队伍..."); - log.info("使用树脂类型数量:{0} ", rewards.length) - log.info(`使用树脂顺序:${golbalRewardText.join(" ->")}`); - log.info("圣遗物奖励选择:{0} ", Artifacts) + log.info("使用树脂顺序:{0} ", golbalRewardText.join(" ->")) + log.info("圣遗物奖励选择:{0} ", Artifacts) + if (!(FightTeam === undefined || FightTeam === "")){log.info("配置战斗队伍为:{0}", FightTeam)} //重试两次 for (let j = 0;j < 2;j++) { @@ -690,8 +867,12 @@ const clickCoordinates = [ { x: 207, y: 349 }, { x: 239, y: 531 }, { x: 227, y: 713 } ]; // Boss坐标1~3 await click(clickCoordinates[challengeName - 1].x, clickCoordinates[challengeName - 1].y); - //6.5选择队员-苏婷老师-待写 - //log.warn("队伍选择功能等伟大的苏苏老师考完试做...") + //6.5 更换队伍 + if (FightTeam === undefined || FightTeam === ""){log.info("不更换战斗队伍...");} + else{ + log.info("配置战斗队伍为:{0}", FightTeam) + await Switchteams(); + } //7.开始挑战 await Textocr("开始挑战",1,1,0,1554,970,360, 105); diff --git a/repo/js/AutoStygianOnslaught/manifest.json b/repo/js/AutoStygianOnslaught/manifest.json index 36e0713f1..055e3bd62 100644 --- a/repo/js/AutoStygianOnslaught/manifest.json +++ b/repo/js/AutoStygianOnslaught/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "自动幽境危战", - "version": "2.0", + "version": "2.1", "tags": [ "幽境危战" ], diff --git a/repo/js/AutoStygianOnslaught/settings.json b/repo/js/AutoStygianOnslaught/settings.json index 6f466e3b9..4f7320e3e 100644 --- a/repo/js/AutoStygianOnslaught/settings.json +++ b/repo/js/AutoStygianOnslaught/settings.json @@ -1,10 +1,16 @@ -[ +[ +{ + "name": "FightTeam", + "type": "input-text", + "label": "默认:不填则不更换队伍,队伍不要有生僻字或特殊符号" +}, { "name": "Artifacts", "type": "select", "label": "圣遗物奖励,默认不修改圣遗物奖励", "options": [ "保持圣遗物奖励不变", + "穹境示现之夜 / 纺月的夜歌", "长夜之誓 / 深廊终曲", "黑曜秘典 / 烬城勇者绘卷", "谐律异想断章 / 未竟的遐思" , @@ -47,6 +53,21 @@ "type": "input-text", "label": "树脂顺序,1=浓缩树脂/2=原粹树脂/3=脆弱树脂/4=须臾树脂\n用`/`隔开,填写对应的树脂数字即可,默认:1/2\n表示先使用浓缩树脂,再使用原粹树脂,不填的不使用", "default": "1/2" +}, +{ + "name": "primogemUseCount", + "type": "select", + "label": "原石购买体力次数(0~6次),上面设置的树脂用完后才会使用 ↓↓", + "options": [ + "0", + "1", + "2", + "3", + "4", + "5", + "6" + ], + "default": "0" }, { "name": "Fighttimeout",