From 114ffafd606491faa3da0f88e2d1d60cf99ca7a4 Mon Sep 17 00:00:00 2001 From: h <1374375698@qq.com> Date: Wed, 28 Jan 2026 22:18:18 +0800 Subject: [PATCH] =?UTF-8?q?JS=E8=84=9A=E6=9C=AC=EF=BC=9AAAA=E5=85=85?= =?UTF-8?q?=E8=83=BD=E6=89=B9=E5=8F=91=20(#2806)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 原石购买粉球 * 博士周本充能 --- repo/js/博士周本充能/222.json | 1 + .../RecognitionObject/Configure Team Button.png | Bin 0 -> 1211 bytes .../RecognitionObject/Confirm Deploy Button.png | Bin 0 -> 2010 bytes .../Assets/RecognitionObject/Leave Button.png | Bin 0 -> 2090 bytes .../Assets/RecognitionObject/Quick Setup Button.png | Bin 0 -> 2499 bytes .../Assets/RecognitionObject/Slider Bottom.png | Bin 0 -> 307 bytes .../Assets/RecognitionObject/Slider Top.png | Bin 0 -> 517 bytes repo/js/博士周本充能/README.md | 12 + repo/js/博士周本充能/main.js | 307 ++++++++++++++++++ repo/js/博士周本充能/manifest.json | 15 + repo/js/博士周本充能/settings.json | 7 + repo/js/原石购买粉球/README.md | 2 + repo/js/原石购买粉球/assets/pinkBall.png | Bin 0 -> 60711 bytes repo/js/原石购买粉球/main.js | 121 +++++++ repo/js/原石购买粉球/manifest.json | 14 + 15 files changed, 479 insertions(+) create mode 100644 repo/js/博士周本充能/222.json create mode 100644 repo/js/博士周本充能/Assets/RecognitionObject/Configure Team Button.png create mode 100644 repo/js/博士周本充能/Assets/RecognitionObject/Confirm Deploy Button.png create mode 100644 repo/js/博士周本充能/Assets/RecognitionObject/Leave Button.png create mode 100644 repo/js/博士周本充能/Assets/RecognitionObject/Quick Setup Button.png create mode 100644 repo/js/博士周本充能/Assets/RecognitionObject/Slider Bottom.png create mode 100644 repo/js/博士周本充能/Assets/RecognitionObject/Slider Top.png create mode 100644 repo/js/博士周本充能/README.md create mode 100644 repo/js/博士周本充能/main.js create mode 100644 repo/js/博士周本充能/manifest.json create mode 100644 repo/js/博士周本充能/settings.json create mode 100644 repo/js/原石购买粉球/README.md create mode 100644 repo/js/原石购买粉球/assets/pinkBall.png create mode 100644 repo/js/原石购买粉球/main.js create mode 100644 repo/js/原石购买粉球/manifest.json diff --git a/repo/js/博士周本充能/222.json b/repo/js/博士周本充能/222.json new file mode 100644 index 000000000..f215f1354 --- /dev/null +++ b/repo/js/博士周本充能/222.json @@ -0,0 +1 @@ +{"macroEvents":[{"type":2,"mouseX":1269,"mouseY":747,"time":2016},{"type":2,"mouseX":1265,"mouseY":774,"time":2047},{"type":2,"mouseX":1258,"mouseY":816,"time":2078},{"type":2,"mouseX":1253,"mouseY":840,"time":2110},{"type":2,"mouseX":1250,"mouseY":864,"time":2141},{"type":2,"mouseX":1248,"mouseY":891,"time":2172},{"type":2,"mouseX":1248,"mouseY":906,"time":2203},{"type":2,"mouseX":1248,"mouseY":917,"time":2235},{"type":2,"mouseX":1251,"mouseY":925,"time":2266},{"type":4,"mouseX":1251,"mouseY":925,"mouseButton":"Left","time":2422},{"type":5,"mouseX":1251,"mouseY":925,"mouseButton":"Left","time":2500},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":3375},{"type":4,"mouseX":1279,"mouseY":718,"mouseButton":"Right","time":3594},{"type":5,"mouseX":1279,"mouseY":718,"mouseButton":"Right","time":3719},{"type":4,"mouseX":1279,"mouseY":718,"mouseButton":"Right","time":4094},{"type":5,"mouseX":1279,"mouseY":718,"mouseButton":"Right","time":4188},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":4281},{"type":0,"keyCode":83,"mouseX":0,"mouseY":0,"time":4625},{"type":4,"mouseX":1279,"mouseY":718,"mouseButton":"Right","time":5078},{"type":5,"mouseX":1279,"mouseY":718,"mouseButton":"Right","time":5172},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":5906},{"type":1,"keyCode":83,"mouseX":0,"mouseY":0,"time":5969},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":8235},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":8969},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":9844},{"type":0,"keyCode":27,"mouseX":0,"mouseY":0,"time":18188},{"type":1,"keyCode":27,"mouseX":0,"mouseY":0,"time":18344},{"type":3,"mouseX":2,"mouseY":0,"time":18417},{"type":3,"mouseX":11,"mouseY":11,"time":18448},{"type":3,"mouseX":13,"mouseY":10,"time":18480},{"type":3,"mouseX":41,"mouseY":26,"time":18511},{"type":3,"mouseX":46,"mouseY":35,"time":18542},{"type":3,"mouseX":31,"mouseY":31,"time":18573},{"type":3,"mouseX":7,"mouseY":15,"time":18605},{"type":3,"mouseX":3,"mouseY":21,"time":18636},{"type":3,"mouseX":0,"mouseY":9,"time":18667},{"type":3,"mouseX":0,"mouseY":10,"time":18698},{"type":3,"mouseX":0,"mouseY":8,"time":18730},{"type":3,"mouseX":-1,"mouseY":5,"time":18761},{"type":3,"mouseX":-2,"mouseY":4,"time":18792},{"type":3,"mouseX":-2,"mouseY":4,"time":18823},{"type":3,"mouseX":0,"mouseY":1,"time":18855},{"type":4,"mouseX":1457,"mouseY":939,"mouseButton":"Left","time":18938},{"type":5,"mouseX":1457,"mouseY":939,"mouseButton":"Left","time":19110},{"type":3,"mouseX":-1,"mouseY":4,"time":20042},{"type":3,"mouseX":-2,"mouseY":6,"time":20073},{"type":3,"mouseX":-3,"mouseY":7,"time":20105},{"type":3,"mouseX":-4,"mouseY":25,"time":20136},{"type":3,"mouseX":-3,"mouseY":31,"time":20167},{"type":3,"mouseX":1,"mouseY":41,"time":20198},{"type":3,"mouseX":6,"mouseY":40,"time":20230},{"type":3,"mouseX":3,"mouseY":20,"time":20261},{"type":3,"mouseX":11,"mouseY":51,"time":20292},{"type":3,"mouseX":6,"mouseY":25,"time":20323},{"type":3,"mouseX":3,"mouseY":16,"time":20355},{"type":3,"mouseX":0,"mouseY":10,"time":20386},{"type":3,"mouseX":-1,"mouseY":13,"time":20417},{"type":3,"mouseX":-3,"mouseY":12,"time":20448},{"type":3,"mouseX":-1,"mouseY":10,"time":20480},{"type":3,"mouseX":-1,"mouseY":5,"time":20511},{"type":3,"mouseX":-3,"mouseY":9,"time":20542},{"type":3,"mouseX":-1,"mouseY":6,"time":20573},{"type":3,"mouseX":-2,"mouseY":7,"time":20605},{"type":3,"mouseX":-1,"mouseY":5,"time":20636},{"type":3,"mouseX":-3,"mouseY":10,"time":20667},{"type":3,"mouseX":-2,"mouseY":4,"time":20714},{"type":3,"mouseX":-1,"mouseY":3,"time":20745},{"type":3,"mouseX":-2,"mouseY":0,"time":20886},{"type":3,"mouseX":-4,"mouseY":0,"time":20917},{"type":3,"mouseX":-8,"mouseY":1,"time":20948},{"type":3,"mouseX":-2,"mouseY":0,"time":20980},{"type":3,"mouseX":-1,"mouseY":0,"time":21042},{"type":3,"mouseX":0,"mouseY":2,"time":21136},{"type":3,"mouseX":-1,"mouseY":4,"time":21167},{"type":3,"mouseX":0,"mouseY":3,"time":21198},{"type":3,"mouseX":0,"mouseY":2,"time":21230},{"type":3,"mouseX":0,"mouseY":3,"time":21261},{"type":3,"mouseX":0,"mouseY":1,"time":21292},{"type":3,"mouseX":0,"mouseY":1,"time":21323},{"type":3,"mouseX":0,"mouseY":1,"time":21511},{"type":3,"mouseX":-1,"mouseY":3,"time":21698},{"type":3,"mouseX":-1,"mouseY":6,"time":21730},{"type":3,"mouseX":-1,"mouseY":4,"time":21761},{"type":3,"mouseX":-1,"mouseY":4,"time":21792},{"type":3,"mouseX":-1,"mouseY":5,"time":21823},{"type":3,"mouseX":0,"mouseY":1,"time":21855},{"type":3,"mouseX":1,"mouseY":1,"time":21933},{"type":3,"mouseX":3,"mouseY":1,"time":21964},{"type":3,"mouseX":1,"mouseY":1,"time":22026},{"type":3,"mouseX":4,"mouseY":1,"time":22073},{"type":3,"mouseX":3,"mouseY":1,"time":22105},{"type":3,"mouseX":1,"mouseY":0,"time":22136},{"type":4,"mouseX":1265,"mouseY":1185,"mouseButton":"Left","time":22172},{"type":5,"mouseX":1265,"mouseY":1185,"mouseButton":"Left","time":22281},{"type":3,"mouseX":0,"mouseY":1,"time":22308},{"type":3,"mouseX":0,"mouseY":1,"time":22542},{"type":2,"mouseX":1280,"mouseY":720,"time":22735},{"type":2,"mouseX":1280,"mouseY":721,"time":22813},{"type":2,"mouseX":1280,"mouseY":722,"time":23188},{"type":2,"mouseX":1280,"mouseY":723,"time":23266},{"type":2,"mouseX":1280,"mouseY":724,"time":23328},{"type":2,"mouseX":1280,"mouseY":725,"time":23547},{"type":2,"mouseX":1280,"mouseY":726,"time":23875},{"type":2,"mouseX":1280,"mouseY":728,"time":24094},{"type":2,"mouseX":1280,"mouseY":729,"time":24281}],"info":{"name":"","description":"","x":319,"y":192,"width":1920,"height":1080,"recordDpi":1}} \ No newline at end of file diff --git a/repo/js/博士周本充能/Assets/RecognitionObject/Configure Team Button.png b/repo/js/博士周本充能/Assets/RecognitionObject/Configure Team Button.png new file mode 100644 index 0000000000000000000000000000000000000000..e6bdd02afbf3fa48bafe5e4a6d6440dc4222d41f GIT binary patch literal 1211 zcmV;s1VsCZP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L1W-vtK~z{ry_jum z6h#=v|Fd^3&^KCo1uaOl7DFHv@Pm;S5+ufe8d@P>RBF{i(E@^RsEHCxRf-9k7B%rD zLSl?j5=;|6nLvCY5U|01K%qb@lC-szCe*g1z1tU`XKuE)dpA(p-toI^_IYM^X8!Zc zv%51Vy4y}VnR$h<%^_G;1dapPjzCKBG%pZ@Ap&q#5W!}+Jb{kKS@6o zq^GB0*Q-^SmY1zcq8LUHqPO!bOY}`u#Zx;|9;NChS7OzQQsqSvLcrjDRx{uq5P?;1Q;3)*RItL zI$_F^MI>Ts#V|)toJRZKUCQ&L%^^4J6JcO*NLh(+`)z-9D$kELhxUE`Jr4i+yDAwQ zO<&c?^Oe2AUdLwWYcoIoTPi#81*+jE_9H7|%Yjf;x_l^}qhBIQ+{g zv|s8%L4GclFIk9Lg$44Oj-&~?>&{uIseBkk^hsb`K|Fn7dg9KvcVOnNA>`&{UiTfR zP3lHU>LWLpN8I?fO{=l2bb++FJ`*u5{P5#(oM=9S3l}?KlF!#?&zz2uc}1vrs0<;M zV_tz;LCp0=;U)fl%d)ZelY?k(X~l3jBFl7e1n16~joN2c`KC}iWfS4C4Run8D|9qi z*r5Y&D=!64S;Kpqm33om-T0`oqD*+oT)g%A2d-lM^Sh<5!)?2sRt0m5Z&y zzVc!S+QDig`3MI6D?@I3J*^tG(2R@Tj#fGGa&yLK8XYI&cTGP_ zf2^>8kLtIM4C>^mvv~Kzucgf_U%Cj}YE~=H19flEc3SlPd(p9J@y&lU$a0mK&`50Bu0*#f$%doEYwR=<6F*oX9Qk()=;-fh Z$N#3c*}3v~00009a7bBm000&x z000&x0ZCFM@Bjb+5p+dZbW?9;ba!ELWdKudX>eh4bY)!^&fNe22X9G4K~z|Uy_ow` z8`l-bzjs$pB!L7%LOhJIK)h^h2MWeE7#y3iYcd%-V~=Orv`N!W|D^uVNyqgx6Wh}y zO@`F2362Xf2FDM~8*IRU5C{pO7f4!Z_x1-V!UA-metm!1IeX68&)z-v-m{kkR_9{j zh$x9*ic%WCh(rX(l5=*}zT#PRuXsYCa4Z(%d0wSb84Ov*979n-enEboR;!8o6GGUT zlaj@Rh(vebh-=>N`1#S(fx!{4&+qg3L*Z~J6cNRkC`ug1$#`C=RH!r5nL4dLE3>Mi ztiJAWS!u~GIRFs1V*HQN)3DIgb*#>=i*}gMv zt^2FWlXf=BIMQeK2ZFb|{@dBrv$*ICMOaruZ}WrcYJx{ z+xz_w*VaS-FT}bTi8FgWtYIpUg~vv>UahiA`cwtn{%lu#(# zbML{A-S^%SM_fZAr1#?1@^TluD8`H8b0B^9MnQvU3qalyaE#FzBFGQl3Lh zL?jB|8gY5C9)TpWDm@m9-GA_?yv%yC^_W5~PtNd-vJHj8ckce=Sah;Ecn+lnsIj8X zhO#2$W)YQz3-?ovQOe#rO^k94r4mUy(s*n?t0p&#~Fyf#UB^F}R>= z8w{>J8W^fMP?={orJ$^@hwk>=XN(6=@Zs?|2f|TwK19zDrWW8_r4a#g88v2+5(|!0 z;&d&H2An@ZM2f%siwd!{IR~DOEVa4JrrdbBBv9t<4yV(_Ksji|#TJsS1Awcy(b0biqv~=3sZ>({nIp;d~Prn!=qYX+M%@)jMxrtSm28DwRl1=E31H28T+4 z3(cg!2tx2xH@$Wz!Ld~?A3FMQy^97z$kgBu=SYTvrD@J0p^z>NdREdvD`x8NOEi3rb&2N@oEq$ zXxas0+b~Hb2idaivz74HXfzBbw;%E4p*U~1d2XAZrNJ6jKh95E5y zgDg)|ZjM4OPeHLUe^|y|U~~r2C@cp2=^XSr)>5I%z(>s}v4A6(oJarI_KQ$lMTPk) zl`;jTW`89EB`o0EUM#JGQhd~m%O_D_+}<-+j}MNLOD)i<5e(tV?H#%W>%P6340Zfk zmZUSAa~a#v<4JtegHO*OQ-j~N!IF)hK};>c=|x0lO#una}B7oVQdzQ9)tua<;c|& zTOkT_sayvCI&Svi@3*KZu}}`yROOj-H+OL|8Grm}eP>rUqh$$%@I@DvylAV%dp1~d zV95ber<4%I;1s$ZW5?D>tJTyUt}z%kWZNt zJ=6*aF|7D8?MOD1lwBeK_E(kL%JwCv4_;nv)oRtrmgA2HhS}|{C}Gl$Stt5OVaSA9 zL1jEd31I==V6x5Lfg?Lxf3%^_VllsL+!z&}=dC5h?PpJ2`Ns`*(@!Z43z%ER-16o- zJ0Qd#DU&tU*Vfh6B)i(UQnm@TTGe!{zP0(-ZZf{I4pdj1Io)E+$=+m7K_P^gO}Xu7 z-#=7S{gyb2_Y}7O`czqI$=2m@^X5qiv6b!n&E@kIHtQSb$TOQRU1&dcq;6Ng?*KTC zJ5*Es=RbaYV1MQAPtw>TgcRiGefG)awo@mzsq(#BIJ^*8)yw0&; zjzMp;SIUPx1A|z zQGBjhQH)BlU;Zc41iphKWa3?ZL8-Lkz`Rb`?$VPRnF)vz;dmLx%LtdYM<=hU-9vM| sgU;b;zbFx2Cg*q=Aq0d~G;dG;1IL+=p{x6i*Z=?k07*qoM6N<$g64q1L;wH) literal 0 HcmV?d00001 diff --git a/repo/js/博士周本充能/Assets/RecognitionObject/Leave Button.png b/repo/js/博士周本充能/Assets/RecognitionObject/Leave Button.png new file mode 100644 index 0000000000000000000000000000000000000000..58c150b41d9146dd8aa68756046654be85989f14 GIT binary patch literal 2090 zcmV+_2-WwAP)eh4bY)!^&fNe22fs-~K~z|Uy_ow` z8`l-b&wXfD4m530Tf=wfH8gsYzL2>G?~_&jMJu_=@0p(zjda6Nq*^cI_+ep zld-3@UB42?5FBD--j5gz7;Lb>AoK!(p3Cmu{;;YHSQ7Gset(kgo;{zlckem(?m>(( z00;&A9@kS4(8Sg|?mSswbPRkRLaKc4V5(L5H zU7ehonV5XC@M3v+d1Yh6FKlkAd0wwiD=M_)Tk>kFZRPKk8T5LUiYD>4Rp{yDP?}Di z$T|{<_yfV-{^714d!}cehQpCW6RW%(olaX@ZEHPoq_*0o)oM6SwF`d5KCzV@d&iO_ zxjo*V-l5xfet2$QOyyBxqLfxv>_2<@Wc`6^qrpH3h6D=&xnE4Z`VfIYaQyM~zpmbT zG%+R1@@uhU(rPu$P4(y7+pN}7HP5Gtce*@3J?Oi3<2$Fz^I8l3RS`n0WhEbaO=APD_K zqn%w3*4EbFIa|@P!+HJY_p`HelJs&dNAb_*>~}l69V^Z~Vk??`Hh<&Wjy0ce8{X$z z?;RMKoSuE-97|D>B=rr943CZr!lp7p0l>bv^ssL*vi+^R4A5dDjTe}-DUaWg=ZBI5 zu&tF;wlbeX8otK7af($i82aw+y{3b8N&Up_2#E!4xnoUm4j6HgMw55>{f?aO!@aVWCNw3;5#u#JBUBKBSaDY{rtb}4E3 zEiSGHgaH6BB{gSB^F`p(qU`X7bpP-2%!A}^XJ(%P0NHQdm*mAOk{y$P2{!Koq5=S< z%S0I#*l@A%I?EafPc`rFz@k}XgKYfxWV($EE*s4jK9UY`a4*l5tFWUf+^ ziW8*%6O<8UGxu}(X&(!$MkB~AkJf|Kl$DtQ05~t#yt^$?k;+!m@Jp0oiRPI5xioxL zeDJmW=ne#ZzyJ{7Tq`~H`$ScFhf0bI0RZnSE7_f1{UK?(fQ&iHU*=tqhOSC851Gd< zjop@h{uaW~15&gqmp1O|v!<#70B}iB!7glD8*Taw=}l4g>XJD4Z)vs%gdixnFnU8C zy9Gitfsv_1b>s_NSex8!MY$CKaK0tCth6YJ9c{jdw9ykP^R0;em*gk+V=w?

=WS zia2sTx-TGvG7E{VEs4*Xs!CHYevjDqjXd2A;?9E!6M|Cz zWoh_2Vhk}RGZ}EQB>dn+3&(K?A)KCWXsEBvF`E*Zik)9Eznl3S(!IaP6P+N53G4*% z{y)T?uOZ@R?m21jN+O5FMFq`G^-2o?xnE4VJ>G9FU%PR;<1N2wQW3`Z%Rl_)Tzf0e z^Pn6xO<9>O&5fnSg?rsfK?qg9U(wQhP+>#tpj}yEJ$>r9A;l8(rZQ(|{p!5!6*JrjVtNqLejSY2s5rJNxcB=K*u_K3c zI_=i+ZQGr-tmML{=Kx?}a5NMSzbkfny5Z!p!ylhJW6sXnaf$r-Pk)3h=c=r%42va) zG1=jCzt&M8t}w=VxjF4;PM<%eUmlC^3Wh-3^!9)BT|DZb$dr^MyCgMxN&@%dMx| zjyD~wGaB{ryBp4h$9PMHiortR@Z{8NPwznAz{rZz{aRo`NKv8X@S%q0#sg)gMI6UL zqTbH@^oUl=;{-L*?eRXhzZe`I8yOpaHfP@v;x&c@5j-yE;0D!f%b*IbyV#zUYU!0q_udKM-9&a!d5=DvQR9dYj*PLz6Hd(EuMFkd1 zUT(H2Gc8S*92~{ZP7KMi%yCqs;gt?pTrtKZNeYF+!BAKb1VPx8BuQqBU`z<+IF92~ zTCG;2<}t>pS5LIO_$;u#8tbd7DEWW(bkXLfu)gNHq)$ literal 0 HcmV?d00001 diff --git a/repo/js/博士周本充能/Assets/RecognitionObject/Quick Setup Button.png b/repo/js/博士周本充能/Assets/RecognitionObject/Quick Setup Button.png new file mode 100644 index 0000000000000000000000000000000000000000..4b7e37512f40bfd647f38ddab4bee296ab96b2d5 GIT binary patch literal 2499 zcmV;!2|V_RP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L30O%)K~!i%%~^MI zQ&%26&)r6H?*?~cV=#f376T!HWOjCEw*9yJ&Gw7zPBJ0XNfrVagA49eZn9*{U9x4r zJ?Ba?a(@qIXL82Z^K@T3_jiB&S$&WGWqV5-aHg;tX&E`NZ5ul~TiD&*0brZI-y>4; z%9`LUu0?8ECU&A*91++e%?12kNek9WV9bVPlx-JmwL2PHTie*&3?m$gU~79D z(d{UowacedGFA%G)6+Q8k(HH+?5r$voSK>vf6Ax9T3zzlJ6mC@2T4oH4k5BDE2~%x zh2UQZVs_4tU~mzk&kMh9T;7w=Byt3(3jJMtNxo+Ag-B{mV8q)Yl@{>p@CNOoepaNw5Ml{U@rm2x;4A zX8ri>&0GBUWhW*leOTYvH0t#^NF~Ya>?~AQpT(W8uH(kFtEeb1G3xW##5coX43CWC z$-2uRZ5a0I;{2JypBkJ0(I z8>`gg|0m8+|J$#$;g5g#7OfY~8xM4xmS5_etd-2o$no!)_YP?DaEwd z(D5m|z6aUME57UBKm3e73QW6wob4RxOtEdtKpve0tdLP?E<%rih{4hhu2%r#z*?S@px34(n0tIl`m z?(N6Q>e?Zx?;|ev=JUbBxl_=*Rf6 zM_gfhaA*|cjEeFqu0TO-EK@?8@!v-vOm7-qqYAi;T?r32G2x?&4##InT$0w|M)vDjP7tp*{(~--u&dItTd4y?Gc}unWJup;=kM@ zLW1L6Hr_w9G4x^=Q@yqsI_`dCW3t=E=89}7euGO$umQTrgr4saS23W%;8P*bBK=+Q z+nD}fWAsgIDENftY_KZiMX_r?1xu8+ij+eVmy_RMxOIyRCUFH7z}Z%ynStig0}E{r zQgHcu3tw=w-A}>Adls5*TIL#Eo36yq9{O*n|Xm#D1pi^2O6$hxb_zd zcmA1z_CJvze^)fc{CWY0@|NZf3pf61;r2gx&7UnaT(gj08heIQM96K6_LuPGd&K2- z+~nB`-);9TT>qPedgdp&#W6`H{CUEu=s1mYI+w?L8rm(~{JVu#?t-T<{xAoSyN;^F zJV;z6Q=)8g0_7oDUW-I6>bDq*DNh_X;@9Zf6yB4a$3i-r^A2J7$&e%s{WkvzwGPxq zaEiH6pzo=T*+EwPALGKQP>`Dbz zh=|-`?lk3n$jxM&hA)4WVm_>%gahp zQdD%P(r|*s8RaSQAae|qqbxC(QAOmoNuYLJX-SdMinO#i@r1H#8`M?OmbisN`8?h|cpt_N+GT2Otq(zUKjhvgpq<2+8%byf9p zeHsyUIh+gIaF8&i2?hCi`!r!6aWx~=Mg8J(D+&wp_qN3el>00*Go0$B5z=!=vKpZ| zE@(jK+!>|bT|_UUrf5CYWxBnNB*q*x`H_=GxE6h5DbX__=!J=VifD7PIa9X2| zyYVD?XJca>I&NJGLF$O+SwblTx^3K3I3yuP*u_rJMK6=^qyc@jvR zig<$6Nc#G|^RDLuo;`nITF*O&~c6BAiau$frZl_n`atI&k^Yg=5tt8IFhx zB04tVGtJQMo_^EUQ(H`*2NQLmQ^-TeZoD3k>BL@cYemP+b`v2J_H-)o;4J+YP5vb5 zC7%=7;gKu%WW4J8SCIV z^D$bVMq02!{xREpnB@!i2%dhQS-`~9wD}5WzHu&w5L#Zw+UmObl91@GN)@EPBBmHo zz`#~jS%!wX8so8~7M}tuG(SSR7NeZLb;h^c0dYYKm4syjf#8zqeP}^ybBMSeV?GTs zn0UP+o^Om!$D02fSpLzMc6xRpY;KQ;$E1F|+8ji(8o7ZJbvPct{{R5Wz^L~J0Eqwq N002ovPDHLkV1idH(&YdE literal 0 HcmV?d00001 diff --git a/repo/js/博士周本充能/Assets/RecognitionObject/Slider Bottom.png b/repo/js/博士周本充能/Assets/RecognitionObject/Slider Bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..4af2e3cb2cbfae1e2b64dab230b8f1753fab2fbd GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^>_9BS!3HE91=ODbDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoCO|{#S9E$svykh8Km+7D0srt#W6%9c zvKIZZNAqcu;7g^`mj4Vw7JX~8?b3Hkc5&@bE#7s}sJG)xz|Grt{^-RRa&25V;gP=9Lq-J>PB=pSVaTU~+}n;T;R@gFbLD zu^gPtuOD%;``MHqz7E%YzqDzwJ(ko97giLEGdUCS=E|v1J)oZ$JYD@<);T3K0RVgU Bbaem# literal 0 HcmV?d00001 diff --git a/repo/js/博士周本充能/Assets/RecognitionObject/Slider Top.png b/repo/js/博士周本充能/Assets/RecognitionObject/Slider Top.png new file mode 100644 index 0000000000000000000000000000000000000000..7334e462d3aaf4a0dcf36f6b50a4da22abfb8fc4 GIT binary patch literal 517 zcmV+g0{Z=lP)#2meK|Hies_SI zLX+l+xgzHDUlXw%yshMd@ZuNJ^SYw00000NkvXX Hu0mjf5ToL$ literal 0 HcmV?d00001 diff --git a/repo/js/博士周本充能/README.md b/repo/js/博士周本充能/README.md new file mode 100644 index 000000000..98b3a19c1 --- /dev/null +++ b/repo/js/博士周本充能/README.md @@ -0,0 +1,12 @@ +## 一、功能概述 + +### 1. 充能 + +- 在神像切换队伍后,前往博士周本直接把角色大招回满 + +## 二、版本与环境 + +- BGI ≥ v0.55 + +1.0 +切换队伍充能 \ No newline at end of file diff --git a/repo/js/博士周本充能/main.js b/repo/js/博士周本充能/main.js new file mode 100644 index 000000000..c75d79a42 --- /dev/null +++ b/repo/js/博士周本充能/main.js @@ -0,0 +1,307 @@ +const repeatOperationUntilTextFound = async ({ + //默认区域为单个F图标右边的文字,最多6个 + x = 1210, + y = 515, + width = 200, + height = 50, + targetText = null, + maxSteps = 100, + stepDuration = 200, + waitTime = 10, + moveKey = "w", + ifClick = false, +} = {}) => { + /** + * 转义正则表达式中的特殊字符 + * @param {string} string 要转义的字符串 + * @returns {string} 转义后的字符串 + */ + const escapeRegExp = (string) => { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + }; + + // 预编译正则表达式(如果是字符串则转换并转义) + const textPattern = typeof targetText === 'string' + ? new RegExp(escapeRegExp(targetText)) + : targetText; + + let stepsTaken = 0; + + while (stepsTaken <= maxSteps) { + // 1. 捕获游戏区域并裁剪出检测区域 + const captureRegion = captureGameRegion(); + const textArea = captureRegion.DeriveCrop(x, y, width, height); + + // 2. 执行OCR识别 + const ocrResult = textArea.find(RecognitionObject.ocrThis); + captureRegion.dispose(); + textArea.dispose(); + + const hasAnyText = ocrResult.text.trim().length > 0; + const matchesTarget = targetText === null + ? hasAnyText + : textPattern.test(ocrResult.text); + + if (matchesTarget) { + log.info(`检测到${targetText === null ? '文字' : '目标文字'}: ${ocrResult.text}`); + await sleep(1000); + if (ifClick) click(Math.round(x + width / 2), Math.round(y + height / 2)); + return true; + } + + // 4. 检查步数限制 + if (stepsTaken >= maxSteps) { + throw new Error(`检查次数超过最大限制: ${maxSteps},未查询到文字"${targetText}"`); + } + + // 5. 前进一小步 + if (stepDuration != 0) { + keyDown(moveKey); + await sleep(stepDuration); + keyUp(moveKey); + } + await sleep(waitTime); + stepsTaken++; + } +} + +// Party Setup +const QuickSetupButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Quick Setup Button.png"), 1100, 900, 400, 180); +const ConfigureTeamButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Configure Team Button.png"), 0, 900, 200, 180); +const ConfirmDeployButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Confirm Deploy Button.png"), 0, 900, 1920, 180); +// Slider +const LeftSliderTopRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Top.png"), 650, 50, 100, 100); +const LeftSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Bottom.png"), 650, 100, 100, 900); +const MiddleSliderTopRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Top.png"), 1250, 50, 100, 200); +const MiddleSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Bottom.png"), 1250, 100, 100, 900); +const RightSliderTopRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Top.png"), 1750, 100, 100, 100); +const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Bottom.png"), 1750, 100, 100, 900); + +(async function () { + // 翻页 + async function pageDown(SliderBottomRo) { + let captureRegion = captureGameRegion(); + let SliderBottom = captureRegion.find(SliderBottomRo); + captureRegion.dispose(); + if (SliderBottom.isExist()) { + log.info("当前页面已识别&点击完毕,向下滑动"); + // log.info("滑块当前位置:({x},{y},{h},{w})", SliderBottom.x, SliderBottom.y, SliderBottom.Width, SliderBottom.Height); + click(Math.ceil(SliderBottom.x + SliderBottom.Width / 2), Math.ceil(SliderBottom.y + SliderBottom.Height * 2)); + await moveMouseTo(0, 0); + await sleep(100); + } + } + + // 滑条顶端 + async function pageTop(SliderTopRo) { + let captureRegion = captureGameRegion(); + let SliderTop = captureRegion.find(SliderTopRo); + captureRegion.dispose(); + if (SliderTop.isExist()) { + log.info("识别到滑条顶端位置:({x},{y},{h},{w})", SliderTop.x, SliderTop.y, SliderTop.Width, SliderTop.Height); + await moveMouseTo(Math.ceil(SliderTop.x + SliderTop.Width / 2), Math.ceil(SliderTop.y + SliderTop.Height * 1)); + leftButtonDown(); + await sleep(1000); + leftButtonUp(); + await moveMouseTo(0, 0); + await sleep(100); + } + } + + async function goToWeeklyBossAndEnter() { + // 确保主界面 + await genshin.returnMainUi(); + + await genshin.tp(9530.678, 6394.4453); + + // 等待传送完成 + await sleep(1000); + + // 靠近副本门口,直到可交互 + await repeatOperationUntilTextFound(); + + await sleep(500); + + // 打开挑战界面 + keyPress("F"); + + await sleep(2000); + + // 等待「单人挑战」按钮出现 + await repeatOperationUntilTextFound({ + x: 1650, + y: 1000, + width: 160, + height: 45, + targetText: "单人挑战", + stepDuration: 0, + waitTime: 100 + }); + + // 点击「单人挑战」 + click(1725, 1020); + + await sleep(300); + + // 处理可能出现的提示弹窗 + click(1180, 760); + + // 等待并点击「开始挑战」 + await repeatOperationUntilTextFound({ + x: 1650, + y: 1000, + width: 160, + height: 45, + targetText: "开始挑战", + stepDuration: 0, + waitTime: 100, + ifClick: true + }); + log.info(`已进入周本`); + await sleep(3000); + log.info("开始充能"); + await keyMouseScript.runFile("222.json"); + log.info("充能完成"); + } + + // 切换队伍 + async function SwitchParty(partyName) { + let ConfigureStatue = false; + + let foundQuickSetup = false; + for (let j = 0; j < 2; j++) { // 尝试两次 + keyPress("VK_L"); + await sleep(2000); + for (let i = 0; i < 2; i++) { + let captureRegion = captureGameRegion(); + let QuickSetupButton = captureRegion.find(QuickSetupButtonRo); + captureRegion.dispose(); + if (QuickSetupButton.isExist()) { + log.info("已进入队伍配置页面"); + foundQuickSetup = true; + break; + } else { + await sleep(1000); + } + } + if (foundQuickSetup) { + await goToWeeklyBossAndEnter(); + await genshin.TpToStatueOfTheSeven(); + break; // 第一次找到就退出循环 + } + } + + if (!foundQuickSetup) { + log.error("两次尝试都未能进入队伍配置页面"); + return false; + } + // 识别当前队伍 + let captureRegion = captureGameRegion(); + let resList = captureRegion.findMulti(RecognitionObject.ocr(100, 900, 300, 180)); + captureRegion.dispose(); + let currentPartyFound = false; + + for (let i = 0; i < resList.count; i++) { + let res = resList[i]; + log.info("当前队伍名称位置:({x},{y},{w},{h}), 识别结果:{text}", res.x, res.y, res.Width, res.Height, res.text); + if (res.text.includes(partyName)) { + log.info("当前队伍即为目标队伍,无需切换"); + notification.send(`当前队伍即为目标队伍:${partyName},无需切换`); + keyPress("VK_ESCAPE"); + await sleep(500); + currentPartyFound = true; + break; + } + } + if (!currentPartyFound) { + await sleep(1000); + let captureRegion = captureGameRegion(); + let ConfigureTeamButton = captureRegion.find(ConfigureTeamButtonRo); + captureRegion.dispose(); + if (ConfigureTeamButton.isExist()) { + log.info("识别到配置队伍按钮"); + ConfigureTeamButton.click(); + await sleep(500); + await pageTop(LeftSliderTopRo); + + for (let p = 0; p < 4; p++) { + // 识别当前页 + let captureRegion = captureGameRegion(); + let resList = captureRegion.findMulti(RecognitionObject.ocr(0, 100, 400, 900)); + captureRegion.dispose(); + for (let i = 0; i < resList.count; i++) { + let res = resList[i]; + + if (res.text.includes(partyName)) { + log.info("目标队伍位置:({x},{y},{w},{h}), 识别结果:{text}", res.x, res.y, res.Width, res.Height, res.text); + click(Math.ceil(res.x + 360), res.y + Math.ceil(res.Height / 2)); + + // 找到目标队伍,点击确定、部署 + await sleep(1500); + let ConfirmButtonCaptureRegion = captureGameRegion(); + let ConfirmButton = ConfirmButtonCaptureRegion.find(ConfirmDeployButtonRo); + ConfirmButtonCaptureRegion.dispose(); + if (ConfirmButton.isExist()) { + log.info("识别到确定按钮:({x},{y},{w},{h})", ConfirmButton.x, ConfirmButton.y, ConfirmButton.Width, ConfirmButton.Height); + ConfirmButton.click(); + } + await sleep(1500); + let DeployButtonCaptureRegion = captureGameRegion(); + let DeployButton = DeployButtonCaptureRegion.find(ConfirmDeployButtonRo); + DeployButtonCaptureRegion.dispose(); + if (DeployButton.isExist()) { + log.info("识别到部署按钮:({x},{y},{w},{h})", DeployButton.x, DeployButton.y, DeployButton.Width, DeployButton.Height); + DeployButton.click(); + await sleep(100); + notification.send(`寻找到目标队伍:${partyName}`); + ConfigureStatue = true; + break; + } + } + } + if (ConfigureStatue) { + await genshin.returnMainUi(); + break; + } else { + await pageDown(LeftSliderBottomRo); + } + } + if (!ConfigureStatue) { + // 没找到指定队伍名称的队伍,抛出异常 + log.error(`没有找到指定队伍名称:${partyName}`); + notification.error(`没有找到指定队伍名称:${partyName}`); + await genshin.returnMainUi(); + throw new Error(`没有找到指定队伍名称:${partyName}`); + } + } else { + await genshin.returnMainUi(); + } + } else { + // 当前队伍就是目标队伍,设置成功状态 + ConfigureStatue = true; + } + return ConfigureStatue; + } + + // Main + if (!!settings.partyName) { + try { + log.info("强制传送到七天神像切换队伍"); + await genshin.TpToStatueOfTheSeven(); + + log.info("正在尝试切换至" + settings.partyName); + await SwitchParty(settings.partyName); + + genshin.clearPartyCache(); + + } catch (error) { + log.error("队伍切换失败:" + error.message); + notification.error("队伍切换失败:" + error.message); + await genshin.returnMainUi(); + } + } else { + log.error("没有设置切换队伍"); + notification.error("没有设置切换队伍"); + await genshin.returnMainUi(); + } +})(); diff --git a/repo/js/博士周本充能/manifest.json b/repo/js/博士周本充能/manifest.json new file mode 100644 index 000000000..4c3acc3de --- /dev/null +++ b/repo/js/博士周本充能/manifest.json @@ -0,0 +1,15 @@ +{ + "manifest_version": 1, + "name": "切换队伍并传送博士周本充能", + "version": "1.0", + "bgi_version": "0.55.3", + "description": "进入博士周本给角色充能", + "authors": [ + { + "name": "爱丽丝", + "links":"https://github.com/itslyh" + } + ], + "settings_ui": "settings.json", + "main": "main.js" +} diff --git a/repo/js/博士周本充能/settings.json b/repo/js/博士周本充能/settings.json new file mode 100644 index 000000000..3322080d9 --- /dev/null +++ b/repo/js/博士周本充能/settings.json @@ -0,0 +1,7 @@ +[ + { + "name": "partyName", + "type": "input-text", + "label": "需要充能的队伍名称" + } +] \ No newline at end of file diff --git a/repo/js/原石购买粉球/README.md b/repo/js/原石购买粉球/README.md new file mode 100644 index 000000000..a00ac0ddf --- /dev/null +++ b/repo/js/原石购买粉球/README.md @@ -0,0 +1,2 @@ +适用于每天换粉球的用户,一个一个换。 +ps:正常运行不会换错,意外换错了别抽可以找客服换回来。 diff --git a/repo/js/原石购买粉球/assets/pinkBall.png b/repo/js/原石购买粉球/assets/pinkBall.png new file mode 100644 index 0000000000000000000000000000000000000000..ad68efc1720787e9ad0af683debfe6c646b25d84 GIT binary patch literal 60711 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 z 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 A$p8QV literal 0 HcmV?d00001 diff --git a/repo/js/原石购买粉球/main.js b/repo/js/原石购买粉球/main.js new file mode 100644 index 000000000..c49c8331f --- /dev/null +++ b/repo/js/原石购买粉球/main.js @@ -0,0 +1,121 @@ +const replacementMap = { + "监": "盐", + "卵": "卯" +}; + +// 定义一个独立的函数用于在指定区域进行 OCR 识别并输出识别内容 +async function recognizeTextInRegion(ocrRegion, timeout = 5000) { + let startTime = Date.now(); + let retryCount = 0; // 重试计数 + while (Date.now() - startTime < timeout) { + try { + // 在指定区域进行 OCR 识别 + const ro = captureGameRegion(); + let ocrResult = ro.find(RecognitionObject.ocr(ocrRegion.x, ocrRegion.y, ocrRegion.width, ocrRegion.height)); + ro.dispose(); + if (ocrResult) { + // 后处理:根据替换映射表检查和替换错误识别的字符 + let correctedText = ocrResult.text; + for (let [wrongChar, correctChar] of Object.entries(replacementMap)) { + correctedText = correctedText.replace(new RegExp(wrongChar, 'g'), correctChar); + } + return correctedText; // 返回识别到的内容 + } else { + log.warn(`OCR 识别区域未找到内容`); + await sleep(500); + return null; // 如果 OCR 未识别到内容,返回 null + } + } catch (error) { + retryCount++; // 增加重试计数 + await sleep(500); + log.warn(`OCR 数识别失败,正在进行第 ${retryCount} 次重试...`); + } + await sleep(500); // 短暂延迟,避免过快循环 + } + log.warn(`经过多次尝试,仍然无法在指定区域识别到文字`); + return null; // 如果未识别到文字,返回 null +} + +// 获取并判断原石数量的函数 +async function checkAndExchangeYuanShi() { + + // 获取原石数量的OCR区域 + let ocrRegionYuanShi = { x: 1585, y: 25, width: 180, height: 46 }; // 设置原石的OCR区域 + let recognizedText1 = await recognizeTextInRegion(ocrRegionYuanShi); + + if (recognizedText1) { + // 提取有效的数字(只保留数字部分) + recognizedText1 = recognizedText1.replace(/\D/g, ''); + log.info(`成功识别到原石数值: ${recognizedText1}`); + + // 判断原石数量是否足够兑换一个粉球(160原石) + if (parseInt(recognizedText1, 10) >= 160) { + log.info(`原石数量充足,执行兑换操作...`); + return true; // 返回 true 表示原石数量足够,继续兑换 + } else { + log.warn(`原石数量不足,跳过兑换`); + return false; // 如果未识别到原石数量,返回 false + } + } else { + log.warn(`未能识别到原石数量,跳过兑换`); + return false; // 如果未识别到原石数量,返回 false + } +} + +// 执行兑换操作的函数 +async function executeExchange() { + let continueExchanging = true; // 用于控制是否继续兑换 + + while (continueExchanging) { + + // 模板匹配粉球并进行兑换 + const pinkBallRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/pinkBall.png")); + let ro1 = captureGameRegion(); // 获取游戏区域 + let pinkBall = ro1.find(pinkBallRo); // 使用模板匹配查找粉球按钮 + ro1.dispose(); // 清理资源 + + if (pinkBall.isExist()) { + pinkBall.click(); await sleep(1000); // 点击粉球按钮 + click(1164, 782); await sleep(500); // 确认兑换 + click(960, 754); await sleep(1000); // 点击空白处继续 + + // 每次兑换后检查原石数量 + continueExchanging = await checkAndExchangeYuanShi(); // 如果原石不足,继续为 false,停止兑换 + + // 如果原石不足,不需要继续兑换 + if (!continueExchanging) { + break; + } + + } else { + log.warn("未能找到粉球按钮,跳过兑换"); + continueExchanging = false; // 如果没有找到粉球按钮,停止兑换 + } + } +} + +async function exchangeGoods() { + + await genshin.returnMainUi();await sleep(1000);// 返回主界面 + keyPress("ESCAPE"); await sleep(2000);//呼叫派蒙 + click(198,416);await sleep(2000);//点击商城 + + // 如果原石数量充足,继续进行尘辉兑换 + click(127,434);await sleep(1000);//尘辉兑换 + let canExchange = await checkAndExchangeYuanShi(); // 获取原石数量并判断是否足够 + if (!canExchange) { + log.warn("原石不足,跳过商城兑换"); + return; // 如果原石不足,直接退出,不执行后续操作 + } + click(1230,120);await sleep(1000);//原石购买 + await executeExchange(); + + // 通知完成 + notification.send(`商城抽卡资源兑换完成`); +} + + + +(async function () { + await exchangeGoods(); // 调用兑换函数 +})(); diff --git a/repo/js/原石购买粉球/manifest.json b/repo/js/原石购买粉球/manifest.json new file mode 100644 index 000000000..3403ed49c --- /dev/null +++ b/repo/js/原石购买粉球/manifest.json @@ -0,0 +1,14 @@ +{ + "manifest_version": 1, + "name": "原石购买粉球", + "version": "1.0", + "description": "运行即可实现原石换粉球", + "authors": [ + { + "name": "爱丽丝", + "links": "https://github.com/itslyh" + } + ], + "settings_ui": "settings.json", + "main": "main.js" +} \ No newline at end of file