From 3463f42ea1d06fcb2a5ba239daf47b6f6990215e Mon Sep 17 00:00:00 2001 From: kaedelcb <57870068+kaedelcb@users.noreply.github.com> Date: Sun, 27 Jul 2025 09:23:16 +0800 Subject: [PATCH] =?UTF-8?q?=20v.1.4=20=E5=8F=82=E9=87=8F=E8=B4=A8=E5=8F=98?= =?UTF-8?q?=E4=BB=AA=2020250727=20(#1417)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### v.1.4 20250727 - 优化当输入队伍名为空时的错误处理(设置过一次队伍再删除会判断为空而非未定义,之前没有触发错误提示)。 - 当质变仪在已经放入材料后,重新运行仍然尝试进行芭芭拉攻击流程。 --- repo/js/ParametricTrans/README.md | 7 +++++++ repo/js/ParametricTrans/assets/cha.png | Bin 0 -> 2219 bytes repo/js/ParametricTrans/main.js | 15 ++++++++++----- repo/js/ParametricTrans/manifest.json | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 repo/js/ParametricTrans/assets/cha.png diff --git a/repo/js/ParametricTrans/README.md b/repo/js/ParametricTrans/README.md index b4b37469..c8ed8f90 100644 --- a/repo/js/ParametricTrans/README.md +++ b/repo/js/ParametricTrans/README.md @@ -44,3 +44,10 @@ - 更改下来滚动条方式,防止鼠标超出边界。 - 规范化脚本名称,添加README.md文件。 + +### v.1.4 20250727 + +- 优化当输入队伍名为空时的错误处理(设置过一次队伍再删除会判断为空而非未定义,之前没有触发错误提示)。 +- 当质变仪在已经放入材料后,重新运行仍然尝试进行芭芭拉攻击流程。 + + diff --git a/repo/js/ParametricTrans/assets/cha.png b/repo/js/ParametricTrans/assets/cha.png new file mode 100644 index 0000000000000000000000000000000000000000..0ffa6f65b349cd907ef17fb2abd71cf180f43969 GIT binary patch literal 2219 zcmV;c2vqlpP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vG&=l}pD=mCOb1snhX2tY|hK~z{r-I?iI zQ`Z*8^MBpZwrXpwwzVqGW3{yot=?X(MQfcH5+YD)wM+pY=wL+!)Cy&AD1(TCLX;sP z3?T`a0M`5Y?Rr-@c@D{mV6VL&?uYjYiRY~S+iR`8_u5OFJu4lCG9BqCa^<75vkm|G zErh2}yqFC2;E7)}@;EC0f2Xk6q9%eKOofLr(BFls$_vOkWrxF=i7b^JPNxITQx4b& zWys|!gnyt9&z=lpBIHGQlyKGqy$po|y*f@L=tE;;EwXd7;LLW+098PHRtAb)1qcoe z;8}PGlfh|^Sr~n(8YN^8B7uJS?nPsL4RUgw0+=za%qU=4c_{*ZpLouP$f#RF(2cQS zH^xUEJy({4nq>8kSz{yan8JRK{N}+gHCNSp4sjYGZH2}8k_SEbO~M+H*>v4+LhZFG z)QE02Tu1Y*IZa3Dz@97ff^kY2e#g*!cm=|rWEluJ%KPCcVR9w!7KRo)Di zruRR=)(`e!$F2i7aPTOO9haFoa&Y!+K3Zj7I+Y>WY~D zK7S?Vy}lar-&~8=mux`l;S=iB(9rWeNG}%_6k_qao3UW=I=uSE8nKn4HvjU_32#Lrp5+!wT8ueeBf?NBR<`KL|>jSMwh&|1@ErhhIdxH zuf`TF-3V8)3%;KFF{8;88tT@NE=$>l*A}hC(&bz6-m2|tbIGzTI>w^6H=^SFk27pV zf)Z*8cje^^u!Y5?W~1F5%{cO9y1u+{$$AB%=iYp0lm5*Cu2x+_aIkw$fTNOso44)7 z!nf8dn0j*28oVvA9D|?@wby3Y(v>ZczW#35bQ3liWg3x9iUC04H8fwtzx1VCz1LM?zZjrw};IB37zfi$L@y=) zG9+c^&Z!YXGXI#1W--blQY9n{7#z;@jn-=!pHkk)hT=@o`ok( z0w5o(uDpm<>ps%FTfJeYdci!1A?B0QnTy`8wgkB4t3OPDqxc(bGPFz=Ze7Nq5YNKJ zYYEs`_cM;li`<{?$aa#Qou{zzgHc>SgzT5xoeLa8N}D_cQV*TLSxF~jV(~0g0wBfH zf}tDg@6_3GOZmRM94X?}_(3V=Xr?_IMTJEI_kkrG#m)NhgI2Z4U4WkN>uyUJ-z-Z& zV@76ir@wUJJXWvYX*oDIa)Ks<;|auxTiLc^Fk}g6me~*?FA8KbPbL!=lNFrRc=386 zK!%3rFCm%aRxt50;CL*WZBbU^#cNhTvuKn9aRVmg^AQXPM4?qv0RE|1SAPEk_msii?W197_gy;-p>vesx;QE~`OVG!Tv_5A%%0XEI3sw*8}jtIc0;)Z$?3ajl$Q7_jQ)5r8EVtCskISR`a* zo>I7Y8`OpKKO`-;=wU`AX}P7>4;HO`iGY>`tK^t@5E^E|$}4L8`)08k;yuRvE&&NQ zYr!gjk)S6L@OdRa!CsND?AWz`jwQcaD;P$C_U2mhtM^8GF)0^1o6*dn_>VI#O>&no zUz&L7S+V9ry)&JSd(<)tTay#O8jzK5HUz#QYyao?ou-6S6yG&-l z_SPHt^uQ4f2f?EE2h+7v77Xti>@Lg&u%qpkzHiv#1o>&~3UmO=xOhOeL8>Y%V2cC? z)SU)k>+O2%*_%2eZy1Vs5?U@6=H?;EKTc#eK<;%cV(ERpN6#_LX4{w~QcUNb*SJ%-~a?7DLEzb(+bVO4Af ziWe6g2WL+6`g!0&4rM%!OfZw{|^4!_hO?YQR533@sO2*e{#4zaRB=*JE%oK>pz>DZq%& zElb-clDrge8nQC{G8B=JQd6Nmgk>$%%MqKM>l7aL2dVVw7O((P?6P`$A1LJi0+2aJ zxXF+Y4U+pt`9fC tT_`UvnE}RpQwbRVOCl{Z1KW1)#_uKGI=C;=*~0(;002ovPDHLkV1l20G{*n{ literal 0 HcmV?d00001 diff --git a/repo/js/ParametricTrans/main.js b/repo/js/ParametricTrans/main.js index 71c1e60b..71f41751 100644 --- a/repo/js/ParametricTrans/main.js +++ b/repo/js/ParametricTrans/main.js @@ -4,6 +4,7 @@ var BH = typeof settings.BH === 'string' && settings.BH.trim() !== '' ? settings.BH : "assets/bh.png"; var ZHIBIANYI = typeof settings.ZHIBIANY === 'string' && settings.ZHIBIANYI.trim() !== '' ? settings.ZHIBIANYI : "assets/zhibian.png"; var actiontime = settings.actiontime != undefined && ~~settings.actiontime > 0 ? ~~settings.actiontime : 50; + var CHA = "assets/cha.png" var TEAM const ITEM = settings.ITEM !== undefined ? ( settings.ITEM === "1养成道具" ? 1 : @@ -55,7 +56,7 @@ if (res1 === res2){conuntcottimecot ++;res2=res1;} log.info("输出模式:全图代码位置:({x},{y},{h},{w},{string})", res.x-10, res.y-10, res.width+10, res.Height+10, res.text); if (Outcheak===1){ if (conuntcottimecot>=conuntcottimecomp/2){return result = { text: res.text, x: res.x, y: res.y, found: true };}else{return result = { found: false};}} - }}} + }}}else{ if (debugmodel===3 && (ii % 2) === 1){await keyPress("W");}} const NowTime = new Date(); if ((NowTime - startTime)>timeout*1000){if (debugmodel===2){ if (resList.count === 0){return result = {found: false};} else{Outcheak=1;ii=2;} } else {Outcheak=0;if (debugmodel===1 & x===0 & y===0){log.info(`${timeout}秒超时退出,"${text}"未找到`)};return result = {found: false };}} else{ii=2;if (debugmodel===1 & x===0 & y===0){log.info(`"${text}"识别中……`); } } @@ -123,8 +124,10 @@ async function insertMaterial(){ //检测并进入质变仪界面 await middleButtonClick(); await sleep(500); - await textOCR("参量质变仪",1,2,0,1205,508,140,53);//单条F检测 + let Fmeun = await textOCR("参量质变仪",2,2,3,1205,508,140,53);//单条F检测 await keyPress("F"); + let CHAx = await imageRecognition(CHA,3,0,0,1766,3,140,90); + if (!Fmeun.found && !CHAx.found){return false;} //检测是否到达材料页面 await textOCR("进行质变",3,0,0,1675,994,150,50);if (!result.found){throw new Error("质变仪页面未打开");}//单条F检测 @@ -223,7 +226,7 @@ async function executeAttack(){ //main/====================================================================================== await genshin.returnMainUi(); //检查用户是否配置队伍============================================ - if (settings.TEAMname === undefined) { + if (settings.TEAMname === undefined || settings.TEAMname === "" || settings.TEAMname === null) { throw new Error("必填!请在配置页面填写队伍名称,芭芭拉放4号位!"); // 没选就报错后停止 }else{TEAM = settings.TEAMname} @@ -234,8 +237,10 @@ async function executeAttack(){ if ((await deployTransformer())) {//部署质变仪流程 log.info("部署成功,准备放入薄荷!!"); } - if ((await insertMaterial())) {//放入薄荷并开始质变流程 - log.info("放入薄荷完成,开始质变!!"); + if ((!await insertMaterial())) {//放入薄荷并开始质变流程 + log.info("未找到布置的质变仪,可能已经放入材料,尝试进行攻击流程!!"); + }else{ + log.info("放入薄荷完成,开始质变!!"); } if ((await executeAttack())) {//芭芭拉攻击指令流程 log.info("质变执行完成,结束!!"); diff --git a/repo/js/ParametricTrans/manifest.json b/repo/js/ParametricTrans/manifest.json index 554d22e7..dce8046e 100644 --- a/repo/js/ParametricTrans/manifest.json +++ b/repo/js/ParametricTrans/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "参量质变仪", - "version": "1.3", + "version": "1.4", "bgi_version": "0.44.0", "description": "参量质变仪自动化,请注意说明文件,如有BUG请联系作者QQ:119996800", "tags": [