From 23be297741de66a364d352340f875275216a0d81 Mon Sep 17 00:00:00 2001 From: 5117600049 <511760049@qq.com> Date: Sun, 20 Apr 2025 23:53:40 +0800 Subject: [PATCH] =?UTF-8?q?JS=E8=84=9A=E6=9C=AC=EF=BC=9A=E9=A6=96=E9=A2=86?= =?UTF-8?q?=E8=AE=A8=E4=BC=90=E4=B8=80=E6=9D=A1=E9=BE=99=20(#612)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- repo/js/首领讨伐一条龙/assets/box.png | Bin 0 -> 1018 bytes repo/js/首领讨伐一条龙/assets/recover.json | 1 + .../assets/兆载永劫龙兽前往.json | 21 +++ .../assets/兆载永劫龙兽前往键鼠.json | 1 + .../assets/千年珍珠骏麟前往.json | 21 +++ .../assets/千年珍珠骏麟前往键鼠.json | 1 + .../assets/半永恒统辖矩阵前往.json | 1 + .../assets/半永恒统辖矩阵前往键鼠.json | 1 + .../首领讨伐一条龙/assets/古岩龙蜥前往.json | 57 ++++++++ .../assets/古岩龙蜥前往键鼠.json | 1 + .../assets/实验性场力发生装置前往.json | 1 + .../assets/实验性场力发生装置前往键鼠.json | 1 + repo/js/首领讨伐一条龙/assets/急冻树前往.json | 57 ++++++++ .../首领讨伐一条龙/assets/急冻树前往键鼠.json | 1 + .../assets/恒常机关阵列前往.json | 1 + .../assets/恒常机关阵列前往键鼠.json | 1 + repo/js/首领讨伐一条龙/assets/掣电树前往.json | 1 + .../首领讨伐一条龙/assets/掣电树前往键鼠.json | 1 + .../首领讨伐一条龙/assets/无相之水前往.json | 1 + .../assets/无相之水前往键鼠.json | 1 + .../首领讨伐一条龙/assets/无相之火前往.json | 1 + .../assets/无相之火前往键鼠.json | 1 + .../首领讨伐一条龙/assets/无相之草前往.json | 1 + .../assets/无相之草前往键鼠.json | 1 + .../首领讨伐一条龙/assets/无相之雷前往.json | 57 ++++++++ .../assets/无相之雷前往键鼠.json | 1 + .../assets/暂时不用/无相之岩前往.json | 93 +++++++++++++ .../assets/暂时不用/无相之岩前往键鼠.json | 1 + .../assets/暂时不用/无相之风前往.json | 48 +++++++ .../assets/暂时不用/深海龙蜥之群前往键鼠.json | 1 + .../assets/歌裴莉娅的葬送前往.json | 1 + .../assets/歌裴莉娅的葬送前往键鼠.json | 1 + .../首领讨伐一条龙/assets/水形幻人前往.json | 21 +++ .../assets/水形幻人前往键鼠.json | 1 + .../首领讨伐一条龙/assets/深罪浸礼者前往.json | 1 + .../assets/深罪浸礼者前往键鼠.json | 1 + .../首领讨伐一条龙/assets/深邃摹结株前往.json | 30 ++++ .../assets/深邃摹结株前往键鼠.json | 1 + .../assets/灵觉隐修的迷者前往.json | 21 +++ .../assets/灵觉隐修的迷者前往键鼠.json | 1 + .../首领讨伐一条龙/assets/熔岩辉龙像前往.json | 1 + .../assets/熔岩辉龙像前往键鼠.json | 1 + repo/js/首领讨伐一条龙/assets/爆炎树前往.json | 75 ++++++++++ .../首领讨伐一条龙/assets/爆炎树前往键鼠.json | 1 + .../assets/科培琉司的劫罚前往.json | 1 + .../assets/科培琉司的劫罚前往键鼠.json | 1 + .../assets/秘源机兵·构型械前往.json | 21 +++ .../assets/秘源机兵·构型械前往键鼠.json | 1 + .../首领讨伐一条龙/assets/纯水精灵前往.json | 84 +++++++++++ .../assets/纯水精灵前往键鼠.json | 1 + .../首领讨伐一条龙/assets/翠翎恐簟前往.json | 1 + .../assets/翠翎恐簟前往键鼠.json | 1 + .../assets/贪食匿叶龙山王前往.json | 21 +++ .../assets/贪食匿叶龙山王前往键鼠.json | 1 + .../首领讨伐一条龙/assets/遗迹巨蛇前往.json | 1 + .../assets/遗迹巨蛇前往键鼠.json | 1 + .../assets/金焰绒翼龙暴君前往.json | 21 +++ .../assets/金焰绒翼龙暴君前往键鼠.json | 1 + .../assets/铁甲熔火帝皇前往.json | 21 +++ .../assets/铁甲熔火帝皇前往键鼠.json | 1 + .../首领讨伐一条龙/assets/隐山猊兽前往.json | 21 +++ .../assets/隐山猊兽前往键鼠.json | 1 + .../首领讨伐一条龙/assets/雷音权现前往.json | 1 + .../assets/雷音权现前往键鼠.json | 1 + .../首领讨伐一条龙/assets/风蚀沙虫前往.json | 39 ++++++ .../assets/风蚀沙虫前往键鼠.json | 1 + .../首领讨伐一条龙/assets/魔偶剑鬼前往.json | 21 +++ .../assets/魔偶剑鬼前往键鼠.json | 1 + repo/js/首领讨伐一条龙/main.js | 131 ++++++++++++++++++ repo/js/首领讨伐一条龙/manifest.json | 14 ++ repo/js/首领讨伐一条龙/readme.txt | 7 + repo/js/首领讨伐一条龙/settings.json | 74 ++++++++++ 72 files changed, 1024 insertions(+) create mode 100644 repo/js/首领讨伐一条龙/assets/box.png create mode 100644 repo/js/首领讨伐一条龙/assets/recover.json create mode 100644 repo/js/首领讨伐一条龙/assets/兆载永劫龙兽前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/兆载永劫龙兽前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/千年珍珠骏麟前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/千年珍珠骏麟前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/半永恒统辖矩阵前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/半永恒统辖矩阵前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/古岩龙蜥前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/古岩龙蜥前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/实验性场力发生装置前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/实验性场力发生装置前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/急冻树前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/急冻树前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/恒常机关阵列前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/恒常机关阵列前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/掣电树前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/掣电树前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/无相之水前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/无相之水前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/无相之火前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/无相之火前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/无相之草前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/无相之草前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/无相之雷前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/无相之雷前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/暂时不用/无相之岩前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/暂时不用/无相之岩前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/暂时不用/无相之风前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/暂时不用/深海龙蜥之群前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/歌裴莉娅的葬送前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/歌裴莉娅的葬送前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/水形幻人前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/水形幻人前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/深罪浸礼者前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/深罪浸礼者前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/深邃摹结株前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/深邃摹结株前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/灵觉隐修的迷者前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/灵觉隐修的迷者前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/熔岩辉龙像前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/熔岩辉龙像前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/爆炎树前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/爆炎树前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/科培琉司的劫罚前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/科培琉司的劫罚前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/秘源机兵·构型械前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/秘源机兵·构型械前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/纯水精灵前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/纯水精灵前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/翠翎恐簟前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/翠翎恐簟前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/贪食匿叶龙山王前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/贪食匿叶龙山王前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/遗迹巨蛇前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/遗迹巨蛇前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/金焰绒翼龙暴君前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/金焰绒翼龙暴君前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/铁甲熔火帝皇前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/铁甲熔火帝皇前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/隐山猊兽前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/隐山猊兽前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/雷音权现前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/雷音权现前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/风蚀沙虫前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/风蚀沙虫前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/assets/魔偶剑鬼前往.json create mode 100644 repo/js/首领讨伐一条龙/assets/魔偶剑鬼前往键鼠.json create mode 100644 repo/js/首领讨伐一条龙/main.js create mode 100644 repo/js/首领讨伐一条龙/manifest.json create mode 100644 repo/js/首领讨伐一条龙/readme.txt create mode 100644 repo/js/首领讨伐一条龙/settings.json diff --git a/repo/js/首领讨伐一条龙/assets/box.png b/repo/js/首领讨伐一条龙/assets/box.png new file mode 100644 index 0000000000000000000000000000000000000000..521895c43c191135dbfba35c3e03ec5709755e40 GIT binary patch literal 1018 zcmVP000#T0ssI2JW0||00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1CL2WK~y+Tg_8Sk z6jc<*&z+flgo4}B-EIvcCWMy2iAiqw7dF*~!5dG5UKJ^nE5YoWEq9}Tv=ZlSbNm8j;T-P zjO7c(g`a+wBzd<^Jx^7&a=BufCbndG9@RA6&<#yD0s~_#m(PDbK5;E|V|r#*mdinj zGHRHHVHmb;2jWf^^<39+T{mc+F;*xP)0v4M=6_uKH+Sc|yWh^v1*eRNj^o<4O(_FH znzDQ|rQ0XM7+YW8NToCL_ZI*#9`Baq^4B-NnVh;A?2b{&7z-{}BP$#V0YXraB>A({ zjrscvJkOmSIP?D4yZwE~CLSzt8N7&4c<~_*x4E5dERy1-~agYdU||mIg5yd5K0*Wa)b~< z5Fi?f2v0wA)V2&jL`23YBD$`-C6;)OQ&hE5t#);F0statx~{0IM`_2teFqNg=LiSe zLkB`Q6e2_{NrJ%pir;MAs?W^c8K0O$#J=Z`eemAsbI%_A{@#2loyix9k0+B?E)TzQ z@+8mm!N>?l7(?Q?Zb%Rs0|Y=sRaGaaZlyC59;L@$=zHnJ@w@ltSO0!^_|T!T(UG$Q zr~Ls1P{t6E)M`pB_So)%kD@4FPEKXM_{wpea4770Uc9?|Y;@$p`Ex?^zk{sC{c0f= ziwzGAzWK&bBpj(*Rw5pM=k3eq&%L%c2mk;6uNNWuM0HV?8Q%8; { + middleButtonClick(); + await sleep(1000); + moveMouseBy(0, 1030);//调整为俯视视野 + await sleep(500); + moveMouseBy(0, 920);//调整为俯视视野 + await sleep(500); + moveMouseBy(0, 710);//调整为俯视视野 + while (true) { + // 1. 优先检查是否已到达领奖点 + let captureRegion = captureGameRegion(); + let rewardTextArea = captureRegion.DeriveCrop(1210, 515, 200, 50); + let ocrResults = rewardTextArea.findMulti(RecognitionObject.ocrThis); + + // 仅检测到文字则结束!!! + if (ocrResults.count > 0 && ocrResults[0].text.trim().length > 0) { + log.info("已到达领奖点,检测到文字: " + ocrResults[0].text); + return; + } + else if(advanceNum > 80){ + throw new Error('前进时间超时'); + } + // 2. 未到达领奖点,则调整视野 + await adjustViewForReward(); + + // 3. 前进一小步 + keyDown("w"); + await sleep(900); + keyUp("w"); + await sleep(100); // 等待角色移动稳定 + } +}; + +/** + * 调整视野直到图标位于正前方 + */ +const adjustViewForReward = async () => { + + + + for(let i = 0; i < 100; i++){ + let captureRegion = captureGameRegion(); + let iconRes = captureRegion.Find(boxIconRo); + + if (iconRes.x >= 920 && iconRes.x <= 980 && iconRes.y <= 540) { + advanceNum++; + log.info(`视野已调正,前进第${advanceNum}次`); + return; + } else { + // 小幅度调整 + let adjustAmount = iconRes.x < 920 ? -20 : 20; + let adjustAmount2 = iconRes.y < 540 ? 1 : 10; + moveMouseBy(adjustAmount*adjustAmount2, 0); + await sleep(100); + } + } + +throw new Error('视野调整超时'); +}; + + +//主流程 +if(!settings.confirm) throw new Error('请阅读使用说明后,在调度器中调用JS脚本,并设置好相关参数'); +if(challengeName){ + //使用树脂 +if (resinNum){ + await genshin.returnMainUi(); + keyPress("M");//打开地图 + await sleep(1200); + click(2476/2, 96/2);// 点击添加体力 + await sleep(600); + click(1660/2, 950/2)// 选择脆弱树脂 + await sleep(600); + click(2350/2, 1550/2);// 点击使用 + await sleep(600); + for (let i = 1; i < resinNum; ++i) { + click(2586/2, 1296/2);// 点击使用数量 + await sleep(600); + } + } + click(2350/2, 1550/2);// 点击使用 + await sleep(600); + click(1920/2, 1500/2);// 点击空白处 + await sleep(600); + keyPress("VK_ESCAPE");//关闭地图 +} +if(samePlace == "YES" ) log.info(`已启用原地连续挑战模式`); +log.info(`前往第1次恢复状态`); +await pathingScript.runFile("assets/recover.json");//回复状态 +log.info(`前往第1次讨伐${challengeName}`); +await pathingScript.runFile(`assets/${challengeName}前往.json`); +await keyMouseScript.runFile(`assets/${challengeName}前往键鼠.json`); +for (let i = 0;i < challengeNum; i++) { + await sleep(1000); +if(samePlace == 1&& i > 0){ +log.info(`前往第${i+1}次恢复状态`); +await pathingScript.runFile("assets/recover.json");//回复状态 +log.info(`前往第${i+1}次讨伐${challengeName}`); +await pathingScript.runFile(`assets/${challengeName}前往.json`); +await keyMouseScript.runFile(`assets/${challengeName}前往键鼠.json`); +} +log.info(`开始第${i+1}次战斗`); +await dispatcher.runTask(new SoloTask("AutoFight")); +log.info(`等待一会儿,避免钟离柱子害人`); +await sleep(10000); +log.info(`第${i+1}次领奖`); +await autoNavigateToReward();//前往地脉之花 +//await pathingScript.runFile(`assets/${challengeName}领奖.json`); +await sleep(600); +keyPress("F"); +await sleep(800); +click(968, 759);//消耗树脂领取 +await sleep(3000); +click(975, 1000);//点击空白区域 +await sleep(5000);//等待 boss 刷新 + + +} +await pathingScript.runFile("assets/recover.json");//回复状态 +log.info(`首领讨伐结束`); +})(); diff --git a/repo/js/首领讨伐一条龙/manifest.json b/repo/js/首领讨伐一条龙/manifest.json new file mode 100644 index 00000000..92f58b5f --- /dev/null +++ b/repo/js/首领讨伐一条龙/manifest.json @@ -0,0 +1,14 @@ +{ + "manifest_version": 1, + "name": "首领连续讨伐", + "version": "1.0", + "description": "请看一看readme文件", + "authors": [ + { + "name": "柒叶子", + "link": "https://github.com/511760049" + } + ], + "settings_ui": "settings.json", + "main": "main.js" +} diff --git a/repo/js/首领讨伐一条龙/readme.txt b/repo/js/首领讨伐一条龙/readme.txt new file mode 100644 index 00000000..5c3983b1 --- /dev/null +++ b/repo/js/首领讨伐一条龙/readme.txt @@ -0,0 +1,7 @@ +1、由于各种原因,目前有一部分点位没有收录,无相之风(打不过)、黄金王兽(打不过)、魔像督军(我没开地图录不了)、无相之岩(打不过)、无相之冰(很难打过)、深海龙蜥之群(打不过)。 +2、另外还有很多机制BOSS,必须带特定的角色才行,至于怎么配队,自己研究一下,我暂时没空写,至于其他的请随意。 +机制BOSS:无相之雷、无相之水、无相之火、无相之草、深罪浸礼者、灵觉隐修的迷者…… +此外「冰风组曲」分为「歌裴莉娅的葬送」荒(蓝)与「科培琉司的劫罚」芒(金),不要选错了。 +3、由于一些 boss 的特殊性,不能选择原地连续挑战,比如「冰风组曲」和纯水精灵。 +4、另外很多行走脚本,是基于键鼠录制制作的,只能选择钟离作为行走位,并保证队伍中没有任何速度加成。(想解决这个问题,只能靠大家一起找鸭蛋催一下分层地图了) +5、最后讲一下调度器中的设置,打开地图追踪行走配置,打开允许在JsScript中使用,选择切换的队伍,选择行走位(钟离),打开战斗配置,打开覆盖JS中的自动战斗配置,选择战斗策略,关闭战斗结束拾取物品和万叶拾取,不要打开更快的检查结束,战斗超时可以设置长一点,比如240s。 \ No newline at end of file diff --git a/repo/js/首领讨伐一条龙/settings.json b/repo/js/首领讨伐一条龙/settings.json new file mode 100644 index 00000000..436e77b0 --- /dev/null +++ b/repo/js/首领讨伐一条龙/settings.json @@ -0,0 +1,74 @@ +[ + + { + "name": "confirm", + "type": "select", + "label": "请问你设置好相关参数了吗", + "options": [ + "YES", + ] + }, + + { + "name": "samePlace", + "type": "select", + "label": "是否原地连续挑战(默认不使用)", + "options": [ + "YES" + ] + }, + + + { + "name": "challengeName", + "type": "select", + "label": "请选择首领", + "options": [ +"金焰绒翼龙暴君", +"深罪浸礼者", +"遗迹巨蛇", +"半永恒统辖矩阵", +"兆载永劫龙兽", +"无相之草", +"纯水精灵", +"熔岩辉龙像", +"科培琉司的劫罚", +"歌裴莉娅的葬送", +"无相之火", +"雷音权现", +"翠翎恐簟", +"风蚀沙虫", +"实验性场力发生装置", +"无相之雷", +"急冻树", +"爆炎树", +"古岩龙蜥", +"无相之水", +"掣电树", +"恒常机关阵列", +"魔偶剑鬼", +"贪食匿叶龙山王", +"铁甲熔火帝皇", +"千年珍珠骏麟", +"水形幻人", +"隐山猊兽", +"秘源机兵·构型械", +"灵觉隐修的迷者", +"深邃摹结株" + ] + + }, + + { + "name": "challengeNum", + "type": "input-text", + "label": "挑战次数" + }, + + { + "name": "resinNum", + "type": "input-text", + "label": "是否使用树脂(默认0)" + }, + +] \ No newline at end of file