From a2ea6726195725760f4c51a37436e3a080e93d65 Mon Sep 17 00:00:00 2001 From: mno <718135749@qq.com> Date: Sat, 20 Dec 2025 12:38:37 +0800 Subject: [PATCH] =?UTF-8?q?js=EF=BC=9A=E7=8B=97=E7=B2=AE=E6=89=B9=E5=8F=91?= =?UTF-8?q?=E5=92=8C=E5=9B=A2=E8=B4=AD=20(#2531)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * js:狗粮批发 微调记录机制 * js:狗粮联机团购 优化日志输出,增加正常结束日志输出 --- repo/js/AAA-Artifacts-Bulk-Supply/main.js | 42 +++++++++++++++--- .../AAA-Artifacts-Bulk-Supply/manifest.json | 2 +- .../assets/targetItems/禽肉.png | Bin 1277 -> 0 bytes repo/js/ArtifactsGroupPurchasing/main.js | 22 ++++++++- .../js/ArtifactsGroupPurchasing/manifest.json | 2 +- .../js/ArtifactsGroupPurchasing/settings.json | 7 ++- 6 files changed, 63 insertions(+), 12 deletions(-) delete mode 100644 repo/js/ArtifactsGroupPurchasing/assets/targetItems/禽肉.png diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/main.js b/repo/js/AAA-Artifacts-Bulk-Supply/main.js index 51dd4fde5..be929412b 100644 --- a/repo/js/AAA-Artifacts-Bulk-Supply/main.js +++ b/repo/js/AAA-Artifacts-Bulk-Supply/main.js @@ -138,15 +138,43 @@ let gameRegion; moraDiff += await mora(); log.info(`狗粮路线获取摩拉: ${moraDiff}`); log.info(`狗粮路线获取狗粮经验: ${artifactExperienceDiff}`); - //修改records - for (let i = record.records.length - 1; i > 0; i--) { - record.records[i] = record.records[i - 1]; + // ========== 主流程末尾:替换原来的“修改records”区块 ========== + const todayKey = `日期:${record.lastRunDate},运行收尾路线${record.lastRunEndingRoute}`; + let merged = false; + + // 先扫描数组,找同一天同收尾路线 + for (let i = 0; i < record.records.length; i++) { + const line = record.records[i]; + if (line && line.startsWith(todayKey)) { + // 解析原记录的经验、摩拉 + const match = line.match(/狗粮经验(-?\d+),摩拉(-?\d+)/); + if (match) { + const oldExp = Number(match[1]); + const oldMora = Number(match[2]); + // 累加并取正 + const newExp = Math.max(0, oldExp + artifactExperienceDiff); + const newMora = Math.max(0, oldMora + moraDiff); + record.records[i] = `${todayKey},狗粮经验${newExp},摩拉${newMora}`; + merged = true; + log.info(`检测到同日记录,已合并更新:经验 ${newExp},摩拉 ${newMora}`); + } + break; // 同一天只可能有一条,找到就停 + } } - record.records[0] = `日期:${record.lastRunDate},运行收尾路线${record.lastRunEndingRoute},狗粮经验${artifactExperienceDiff},摩拉${moraDiff}`; + + // 如果没找到同一天,再走原来的“整体后移插新记录”逻辑 + if (!merged) { + for (let i = record.records.length - 1; i > 0; i--) { + record.records[i] = record.records[i - 1]; + } + record.records[0] = `${todayKey},狗粮经验${Math.max(0, artifactExperienceDiff)},摩拉${Math.max(0, moraDiff)}`; + } + + // 通知与写盘保持不变 if (settings.notify) { - notification.Send(`日期:${record.lastRunDate},运行收尾路线${record.lastRunEndingRoute},狗粮经验${artifactExperienceDiff},摩拉${moraDiff}`); + notification.Send(`${todayKey},狗粮经验${Math.max(0, artifactExperienceDiff)},摩拉${Math.max(0, moraDiff)}`); } - await writeRecord(accountName);//修改记录文件 + await writeRecord(accountName); })(); @@ -195,7 +223,7 @@ async function readRecord(accountName) { lastRunDate: "1970/01/01", lastActivateTime: new Date("1970-01-01T20:00:00.000Z"), lastRunEndingRoute: "收尾额外A", - records: new Array(14).fill(""), + records: new Array(33550336).fill(""), version: "" }; diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json b/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json index 68c95e1d3..256aa8f94 100644 --- a/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json +++ b/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "AAA狗粮批发", - "version": "1.6.2", + "version": "1.6.3", "tags": [ "狗粮" ], diff --git a/repo/js/ArtifactsGroupPurchasing/assets/targetItems/禽肉.png b/repo/js/ArtifactsGroupPurchasing/assets/targetItems/禽肉.png deleted file mode 100644 index 3be94c9ad27ca9bc1cefe868539b08ba37b2ddd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1277 zcmV%ki~oTSnwa?D zgNYA@Cm|*VOeqQ)w1B15R-jzUrLf!kWoz5L&&=n;nc1$B%w*1-Z@$a#`+dJd9RR_; zxwPGdwNafwfJp)b5C{YiYmG#DT#~Z2Ka&6?04D1ewWsztICJf%1ObNf0V@K-^{xkt zpDTMJdyg3;tpx#abR6#}1I$3+!flgDSQ}Q7EZTfL$zTxFL;cCb5^TL|8;^FjN^{N( zR2^=-erZ~>G9WO6m>2}W)Kx@5LI5BJ0J1RAn)i1^yk>kJ6?dbXIB{p_uQ(AAWN#-J z08qN$f#e@n0{XR^ntCH5g^4S&r)^V}IW=&Z|`nAu%+vt;c=Zv+j<1+m&abD zCI>Av0Z4$#4@X16ascjD|5m@budK`iQRk0z$8KLu1Aq}r18}r}lQ9BlLjz!%0IN1Z z0&u@kyL>Nxs6te<0}xfc0FXWxZr!%|8UP@Dc7mXVKZZW|qX1;|JwSo0Qjq|!{=A$v z*0RYRUHa3}S(Yswp5YPy(8LvoD+K`1AKn-2>;m9felAFJTQ#wTyacdzF2Cz_%6}=N z?(&VlK|n@7`t53-s0bwxAeq3+rS;udT)i@}t#?;T z!tb8zAIgTSl7l&2aRsK~K6s+moZ*J9K)CO@S?qxca^0($%$K`FMX3v=UM^u+odp0H zIkY#ZkDjH2dqXwBKXdCY00PT`p=kWT@0-8%aI!Yi+!Oq+IAiCjnpXGZ^`;)v{CfY+ z&S0Xjqc|uFET4pD0|-vUbV9nHPP|mzZbsf(1$OLx3q0-D2~7&saz1? z=mcbSbr=BP*bU?Hm~EH6crg}V3is}ttrjH{@_7EeH;E}B#;3D8PXsY$4DY{IrP1l1h_w6+iXM#)0F z;DaSV(3)ShiuZ!t2doZK>dZu;aMAeI7S0%zFV+2iDQjV&IIl2af~x_>bAw#3zn~nncoN%LKb$e0i5PbvA!2(pDGh=VFpr1E|LGo0RjlKz`_)*>zkWy-eQEyebla zlFpOSQ2O%aVKd&{TX&>s-j*v?dLnIaxm%f@P;rnMes0l$@`W=iGY$bD30|35u}{g1MM6`b0X*1PEuKwWL$ywa2!gE*C~c zhI&YPV6HqMVru{u?RoNi_NI;%yB+$S4Vz1E&)=8@z;h2WHx~-0L;6Czy;daWZ_Eno zG+|O|Pwq-%AxC5%godcBbsMYG839nBCO^F>3Uf-Xh7FWY&EzzzKmyVKj!~68Ggy$Y n2?-`5TTfMN5(;J}2oU}QL-6YiY$3h~00000NkvXXu0mjf?}S-@ diff --git a/repo/js/ArtifactsGroupPurchasing/main.js b/repo/js/ArtifactsGroupPurchasing/main.js index 82735fec3..8b85044c1 100644 --- a/repo/js/ArtifactsGroupPurchasing/main.js +++ b/repo/js/ArtifactsGroupPurchasing/main.js @@ -153,7 +153,7 @@ let skipRunning = false; await sleep(1000); } } - + await sleep(10000); return; } @@ -162,6 +162,22 @@ let skipRunning = false; log.info(`${settings.logName}:联机狗粮分解获得经验${expGain}`); notification.send(`${settings.logName}:联机狗粮分解获得经验${expGain}`); } + + { + log.info(`本次运行未启用或未触发强迫症模式,正常结束`); + if (settings.normalEnding) { + // 按中文分号分割字符串 + const segments = settings.normalEnding.split(';'); + + // 逐段输出,每段间隔1秒 + for (const segment of segments) { + if (segment.trim()) { // 跳过空段落 + log.info(segment.trim()); + await sleep(1000); + } + } + } + } } )(); @@ -297,6 +313,8 @@ async function runGroupPurchasing(runExtra) { if (runExtra) { log.info("请确保联机收尾已结束,将开始运行额外路线"); await runExtraPath(); + } else { + log.warn("处于单人模式,不执行任何路线"); } } else { log.warn("角色编号识别异常") @@ -779,7 +797,7 @@ async function autoEnter(autoEnterSettings) { if (new Date() - start >= timeout * 60 * 1000) { log.warn("超时未达到预定人数"); notification.error(`超时未达到预定人数`); - if (settings.onlyRunPerfectly) { + if (settings.onlyRunPerfectly && enterMode != "进入他人世界") { skipRunning = true; doRunExtra = false; } diff --git a/repo/js/ArtifactsGroupPurchasing/manifest.json b/repo/js/ArtifactsGroupPurchasing/manifest.json index f0ebf36b5..f04b5c5cf 100644 --- a/repo/js/ArtifactsGroupPurchasing/manifest.json +++ b/repo/js/ArtifactsGroupPurchasing/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "AAA狗粮联机团购", - "version": "1.10.4", + "version": "1.10.5", "tags": [ "狗粮" ], diff --git a/repo/js/ArtifactsGroupPurchasing/settings.json b/repo/js/ArtifactsGroupPurchasing/settings.json index 25afb7f46..2bdbb2b49 100644 --- a/repo/js/ArtifactsGroupPurchasing/settings.json +++ b/repo/js/ArtifactsGroupPurchasing/settings.json @@ -17,7 +17,12 @@ { "name": "onlyRunPerfectly", "type": "input-text", - "label": "输入任意内容后启用强迫症模式\n人不齐或队友未正常到位时不执行任何路线\n并在运行结束后输出按中文分号;分隔的内容" + "label": "输入任意内容后启用强迫症模式\n人不齐或队友未正常到位时不执行任何路线\n并在运行结束后间隔一秒输出按中文分号;分隔的内容" + }, + { + "name": "normalEnding", + "type": "input-text", + "label": "正常运行结束后间隔一秒输出按中文分号;分隔的内容" }, { "name": "groupMode",