diff --git a/repo/js/AutoArtifacts_A_B_Extra/assets/狗粮B线@Yang-z/狗粮-枫丹-白露区-秋分山东侧-2个-f~m.json b/repo/js/AutoArtifacts_A_B_Extra/assets/狗粮B线@Yang-z/狗粮-枫丹-白露区-秋分山东侧-2个-f~m.json index 373f6b4a..28e2ca66 100644 --- a/repo/js/AutoArtifacts_A_B_Extra/assets/狗粮B线@Yang-z/狗粮-枫丹-白露区-秋分山东侧-2个-f~m.json +++ b/repo/js/AutoArtifacts_A_B_Extra/assets/狗粮B线@Yang-z/狗粮-枫丹-白露区-秋分山东侧-2个-f~m.json @@ -8,8 +8,7 @@ { "x": 3917.1767578125, "y": 2576.28662109375, - "type": "teleport", - "move_mode": "walk" + "type": "teleport" }, { "x": 3904.10498046875, @@ -22,7 +21,6 @@ "y": 2543.31640625, "type": "target", "move_mode": "walk", - "action":"", "#" : "1" }, { @@ -33,14 +31,6 @@ "action": "combat_script", "action_params": "wait(0.8)", "#" : "2" - }, - - { - "x": 3890.994140625, - "y": 2429.1708984375, - "type": "path", - "move_mode": "dash", - "//": "跑远,防止'揭示之书'和地图缩放按钮重叠导致地图识别失败" } ] } \ No newline at end of file diff --git a/repo/js/AutoArtifacts_A_B_Extra/assets/狗粮B线@Yang-z/狗粮-稻妻-鹤观-南-2个-f.json b/repo/js/AutoArtifacts_A_B_Extra/assets/狗粮B线@Yang-z/狗粮-稻妻-鹤观-南-2个-f.json index 6a1cd95c..de703829 100644 --- a/repo/js/AutoArtifacts_A_B_Extra/assets/狗粮B线@Yang-z/狗粮-稻妻-鹤观-南-2个-f.json +++ b/repo/js/AutoArtifacts_A_B_Extra/assets/狗粮B线@Yang-z/狗粮-稻妻-鹤观-南-2个-f.json @@ -8,12 +8,11 @@ { "x": -2612.30078125, "y": -6508.21875, - "type": "teleport", - "move_mode": "walk" + "type": "teleport" }, { - "x": -2581.470703125, - "y": -6529.7802734375, + "x": -2583.203125, + "y": -6523.86328125, "type": "path", "move_mode": "fly", "action": "stop_flying" @@ -22,20 +21,18 @@ "x": -2581.470703125, "y": -6529.7802734375, "type": "target", - "move_mode": "walk", - "action": "" + "move_mode": "walk" }, { "x": -2579.80859375, "y": -6533.02734375, "type": "target", - "move_mode": "walk", - "action": "" + "move_mode": "walk" }, { - "x": -2582.0341796875, - "y": -6525.9619140625, + "x": -2580.0732421875, + "y": -6535.291015625, "type": "path", "move_mode": "walk" } diff --git a/repo/js/AutoArtifacts_A_B_Extra/main.js b/repo/js/AutoArtifacts_A_B_Extra/main.js index d22d1be4..6c941722 100644 --- a/repo/js/AutoArtifacts_A_B_Extra/main.js +++ b/repo/js/AutoArtifacts_A_B_Extra/main.js @@ -123,6 +123,8 @@ // 调整地图 async function resizeMap(level = 1) { + await genshin.returnMainUi(); + keyPress("M"); await sleep(1000); for (let i = 5; i > 0; --i) { click(46, 436); await sleep(500); // zoom in @@ -130,20 +132,22 @@ for (let i = 0; i < level; ++i) { click(46, 630); await sleep(500); // zoom out } - keyPress("M"); await sleep(1000); + // keyPress("M"); await sleep(1000); } // 拖拽地图 async function dragMap(byX, byY) { + await genshin.returnMainUi(); + let byL = Math.sqrt(byX * byX + byY * byY); let d = 5; let dx = Math.round(d * byX / byL); let dy = Math.round(d * byY / byL); - let times = Math.round(byX / dx) * 2; // ??? + let times = Math.round(byX / dx * genshin.screenDpiScale); - log.debug(`byL: ${byL}; dx: ${dx}; dy: ${dy}; times: ${times};`); + log.debug(`byL: ${byL}; dx: ${dx}; dy: ${dy}; times: ${times}; genshin.screenDpiScale: ${genshin.screenDpiScale};`); keyPress("M"); await sleep(1000); moveMouseBy(-byX, -byY); await sleep(300); @@ -155,10 +159,19 @@ leftButtonUp(); await sleep(300); } + // 就近传送(传送脚本文件中的第一个点) + async function tpNearby(filePath) { + const raw = file.ReadTextSync(filePath); + const data = JSON.parse(raw); + await genshin.tp(data['positions'][0]['x'], data['positions'][0]['y']); + } + // 分解圣遗物 async function salvage() { if (!autoSalvage) return; + await genshin.returnMainUi(); + keyPress("B"); await sleep(2000); click(670, 40); await sleep(1000); // 圣遗物 click(660, 1010); await sleep(1000); // 分解 @@ -208,12 +221,19 @@ await pathingScript.runFile(filePath); // 地图缩放按键同某些地图标识重叠,导致识别失败(bgi[v0.43.0]后引入) - // 完成路径后,拖拽地图,并就近传送。仍有问题,到下个路径时会关闭地图再打开。 - // let shouldDragMap_after = filePath.search("~m") != -1; - // if (shouldDragMap_after) await dragMap(-50, 50); - // 完成路径后,放大地图。仍可能被缩小回去。 - // let shouldDragMap_after = filePath.search("~m") != -1; - // if (shouldDragMap_after) await resizeMap(0); + // // 完成路径后,放大地图,脚本中调用就近传送。仍可能被缩小回去。不可行 + // let shouldResizeMap_after = filePath.search("~m") != -1; + // if (shouldResizeMap_after) { + // await resizeMap(0); + // await tpNearby(filePath); + // } + // 完成路径后,拖拽地图,脚本中调用就近传送。可行 + let shouldDragMap_after = filePath.search("~m") != -1; + if (shouldDragMap_after) { + await dragMap(-50, 50); + await tpNearby(filePath); + } + } catch (error) { // bgi已捕获可预期异常,此处仅做兜底 log.error(error.toString()); diff --git a/repo/js/AutoArtifacts_A_B_Extra/manifest.json b/repo/js/AutoArtifacts_A_B_Extra/manifest.json index 533d9baf..ed8c3bbe 100644 --- a/repo/js/AutoArtifacts_A_B_Extra/manifest.json +++ b/repo/js/AutoArtifacts_A_B_Extra/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "狗粮ABE路线,自动拾取分解", - "version": "2.3.5", + "version": "2.4.0", "bgi_version": "0.42.0", "description": "圣遗物狗粮AB及额外路线,自动轮换,自动分解,就近恢复。", "authors": [ diff --git a/repo/pathing/圣遗物/狗粮B线@Yang-z/狗粮-枫丹-白露区-秋分山东侧-2个-f~m.json b/repo/pathing/圣遗物/狗粮B线@Yang-z/狗粮-枫丹-白露区-秋分山东侧-2个-f~m.json index 373f6b4a..28e2ca66 100644 --- a/repo/pathing/圣遗物/狗粮B线@Yang-z/狗粮-枫丹-白露区-秋分山东侧-2个-f~m.json +++ b/repo/pathing/圣遗物/狗粮B线@Yang-z/狗粮-枫丹-白露区-秋分山东侧-2个-f~m.json @@ -8,8 +8,7 @@ { "x": 3917.1767578125, "y": 2576.28662109375, - "type": "teleport", - "move_mode": "walk" + "type": "teleport" }, { "x": 3904.10498046875, @@ -22,7 +21,6 @@ "y": 2543.31640625, "type": "target", "move_mode": "walk", - "action":"", "#" : "1" }, { @@ -33,14 +31,6 @@ "action": "combat_script", "action_params": "wait(0.8)", "#" : "2" - }, - - { - "x": 3890.994140625, - "y": 2429.1708984375, - "type": "path", - "move_mode": "dash", - "//": "跑远,防止'揭示之书'和地图缩放按钮重叠导致地图识别失败" } ] } \ No newline at end of file diff --git a/repo/pathing/圣遗物/狗粮B线@Yang-z/狗粮-稻妻-鹤观-南-2个-f.json b/repo/pathing/圣遗物/狗粮B线@Yang-z/狗粮-稻妻-鹤观-南-2个-f.json index 6a1cd95c..de703829 100644 --- a/repo/pathing/圣遗物/狗粮B线@Yang-z/狗粮-稻妻-鹤观-南-2个-f.json +++ b/repo/pathing/圣遗物/狗粮B线@Yang-z/狗粮-稻妻-鹤观-南-2个-f.json @@ -8,12 +8,11 @@ { "x": -2612.30078125, "y": -6508.21875, - "type": "teleport", - "move_mode": "walk" + "type": "teleport" }, { - "x": -2581.470703125, - "y": -6529.7802734375, + "x": -2583.203125, + "y": -6523.86328125, "type": "path", "move_mode": "fly", "action": "stop_flying" @@ -22,20 +21,18 @@ "x": -2581.470703125, "y": -6529.7802734375, "type": "target", - "move_mode": "walk", - "action": "" + "move_mode": "walk" }, { "x": -2579.80859375, "y": -6533.02734375, "type": "target", - "move_mode": "walk", - "action": "" + "move_mode": "walk" }, { - "x": -2582.0341796875, - "y": -6525.9619140625, + "x": -2580.0732421875, + "y": -6535.291015625, "type": "path", "move_mode": "walk" }