From fd025489cff4b13ff019aab9dc94423935830658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BA=81=E5=8A=A8=E7=9A=84=E6=B0=A8=E6=B0=94?= <131591012+zaodonganqi@users.noreply.github.com> Date: Sun, 19 Oct 2025 21:42:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=88=E4=B9=8C=E7=8E=9B=E5=85=BD=E8=82=89?= =?UTF-8?q?=E9=87=87=E9=9B=86=20(#2187)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 新增菈乌玛兽肉 * 新增菈乌玛兽肉 * 新增菈乌玛兽肉 * Update repo/js/DeerGameMeat/main.js Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * 新增菈乌玛兽肉 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- repo/js/DeerGameMeat/README.md | 42 ++ repo/js/DeerGameMeat/assets/damp.png | Bin 0 -> 2569 bytes repo/js/DeerGameMeat/assets/settings.png | Bin 0 -> 54060 bytes repo/js/DeerGameMeat/main.js | 378 ++++++++++++++++++ repo/js/DeerGameMeat/manifest.json | 19 + .../paths/01-苔骨荒原右下-8个.json | 51 +++ .../paths/02-蓝珀胡下方峡谷-21个.json | 358 +++++++++++++++++ .../DeerGameMeat/paths/03-星砂滩右上-9个.json | 193 +++++++++ .../paths/04-星砂滩左下-15个.json | 356 +++++++++++++++++ .../paths/05-苔古荒原下方-12个.json | 219 ++++++++++ .../paths/06-苔古荒原上方-6个.json | 133 ++++++ .../paths/07-苔古荒原中间-12个.json | 114 ++++++ repo/js/DeerGameMeat/paths/README.md | 22 + repo/js/DeerGameMeat/settings.json | 26 ++ 14 files changed, 1911 insertions(+) create mode 100644 repo/js/DeerGameMeat/README.md create mode 100644 repo/js/DeerGameMeat/assets/damp.png create mode 100644 repo/js/DeerGameMeat/assets/settings.png create mode 100644 repo/js/DeerGameMeat/main.js create mode 100644 repo/js/DeerGameMeat/manifest.json create mode 100644 repo/js/DeerGameMeat/paths/01-苔骨荒原右下-8个.json create mode 100644 repo/js/DeerGameMeat/paths/02-蓝珀胡下方峡谷-21个.json create mode 100644 repo/js/DeerGameMeat/paths/03-星砂滩右上-9个.json create mode 100644 repo/js/DeerGameMeat/paths/04-星砂滩左下-15个.json create mode 100644 repo/js/DeerGameMeat/paths/05-苔古荒原下方-12个.json create mode 100644 repo/js/DeerGameMeat/paths/06-苔古荒原上方-6个.json create mode 100644 repo/js/DeerGameMeat/paths/07-苔古荒原中间-12个.json create mode 100644 repo/js/DeerGameMeat/paths/README.md create mode 100644 repo/js/DeerGameMeat/settings.json diff --git a/repo/js/DeerGameMeat/README.md b/repo/js/DeerGameMeat/README.md new file mode 100644 index 000000000..27d5a60e1 --- /dev/null +++ b/repo/js/DeerGameMeat/README.md @@ -0,0 +1,42 @@ +# 🦌菈乌玛兽肉采集 + +## 📖 脚本说明 + +本脚本可利用菈乌玛能够吸引挪德卡莱小动物,并让獾给自己挖肉的特性,榨干挪德卡莱生态的每一份养料。 +本脚本与纯地图追踪的版本的主要区别为自动根据天气,等待雨天结束,并能够直接判断你队伍里是否有菈乌玛🦌。 +兽肉资源每天的刷新时间为击杀后12小时,如有需要可自行规划采集 + +## 🚀 运行效率 + +- **理论收获**:11分钟可收获最多83个兽肉 +- **实际收获**:常态下拾取约65个兽肉 + +## ⚠️ 运行须知(必看) + +1. **角色要求**:运行前请确保队伍中有「菈乌玛」与「枫原万叶」,并在`调度器`设置中将`菈乌玛`设置为行走位 + +![设置](assets/settings.png) + +2. **路线冲突**:运行前请确保今天没有跑过`虹滴晶`路线和`霜夜灵嗣`路线,这些路线与兽肉路线存在重叠 +3. **传送点解锁**:苔古荒原中间的传送点处有一个需要寻找10个机器人才能解锁的飞高高装置,请解锁它 +4. **游戏窗口**:请确保游戏窗口为1920x1080分辨率以减少问题发生的概率(2560暂时没发现问题) + +## ⚙️ 设置选项 + +### 启用潮湿状态检测 +- **功能**:自动检测游戏中的潮湿状态(下雨等) +- **作用**:潮湿状态下小动物会消失,脚本会自动调整时间到非潮湿状态 +- **建议**:保持启用状态 + +### 最大等待次数 +- **功能**:设置潮湿状态检测的最大尝试次数 +- **默认值**:5次 + +### 运行高危路线 +- **功能**:是否运行包含霜夜灵嗣的容易暴毙路线 +- **说明**:高危路线物资丰厚,可选择性关闭 +- **默认**:启用 + +### 队伍名称 +- **功能**:设置要切换到的队伍名称 +- **说明**:脚本开始时会自动切换到指定队伍,务必关闭`调度器`设置中的`切换队伍` diff --git a/repo/js/DeerGameMeat/assets/damp.png b/repo/js/DeerGameMeat/assets/damp.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c6c01f664892a9a11cf469be5ea06f48532f75 GIT binary patch literal 2569 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 literal 0 HcmV?d00001 diff --git a/repo/js/DeerGameMeat/assets/settings.png b/repo/js/DeerGameMeat/assets/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..73152acf7ea89e0638cd9acaa80b5b585300d76d GIT binary patch literal 54060 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 literal 0 HcmV?d00001 diff --git a/repo/js/DeerGameMeat/main.js b/repo/js/DeerGameMeat/main.js new file mode 100644 index 000000000..4c1832fd3 --- /dev/null +++ b/repo/js/DeerGameMeat/main.js @@ -0,0 +1,378 @@ +(async function () { + setGameMetrics(1920, 1080, 1); + + // 读取用户设置 + const enableDampDetection = settings.enableDampDetection === true; // 默认启用 + const maxWaitAttempts = parseInt(settings.maxWaitAttempts) || 5; // 转换数字输入 + const enableHighRiskRoutes = settings.enableHighRiskRoutes === true; // 默认启用高危路线 + const partyName = settings.partyName || ""; // 队伍名称 + + // 检测当前队伍角色 + function checkRequiredCharacters() { + const avatars = getAvatars(); + let hasLayla = false; + let hasKazuha = false; + + if (avatars && avatars.length > 1) { + for (let i = 0; i < avatars.length; i++) { + if (avatars[i] === "菈乌玛") hasLayla = true; + if (avatars[i] === "枫原万叶") hasKazuha = true; + } + + if (!hasLayla || !hasKazuha) { + log.error(`队伍角色检查失败 - 菈乌玛:${hasLayla ? '✓' : '✗'} 枫原万叶:${hasKazuha ? '✓' : '✗'}`); + return false; + } + return true; + } + return false; + } + + // 高危路线数组(目前只有07路线) + const highRiskRoutes = ["07"]; + + log.info(`兽肉路线脚本启动 - 潮湿检测:${enableDampDetection ? '启用' : '禁用'} 高危路线:${enableHighRiskRoutes ? '启用' : '禁用'} 队伍:${partyName || '未设置'}`); + + // 切换队伍函数 + async function switchPartyIfNeeded(partyName) { + if (!partyName) { + await genshin.returnMainUi(); + return; + } + try { + partyName = partyName.trim(); + log.info("切换队伍: " + partyName); + if (!await genshin.switchParty(partyName)) { + log.info("切换失败,前往七天神像重试"); + await genshin.tpToStatueOfTheSeven(); + await genshin.switchParty(partyName); + } + } catch { + log.error("队伍切换失败"); + notification.error(`队伍切换失败`); + await genshin.returnMainUi(); + } + } + + // 读取文件夹中的所有文件 + async function readFolder(folderPath, onlyJson) { + const folderStack = [folderPath]; + const files = []; + + while (folderStack.length > 0) { + const currentPath = folderStack.pop(); + + // 读取当前路径下的所有文件和子文件夹路径 + const filesInSubFolder = file.ReadPathSync(currentPath); + + // 临时数组,用于存储子文件夹路径 + const subFolders = []; + for (const filePath of filesInSubFolder) { + if (file.IsFolder(filePath)) { + // 如果是文件夹,先存储到临时数组中 + subFolders.push(filePath); + } else { + if (filePath.endsWith(".js")) { + //跳过js结尾的文件 + continue; + } + // 如果是文件,根据 onlyJson 判断是否存储 + if (onlyJson) { + if (filePath.endsWith(".json")) { + const fileName = filePath.split('\\').pop(); // 提取文件名 + const folderPathArray = filePath.split('\\').slice(0, -1); // 提取文件夹路径数组 + files.push({ + fullPath: filePath, + fileName: fileName, + folderPathArray: folderPathArray + }); + } + } else { + const fileName = filePath.split('\\').pop(); // 提取文件名 + const folderPathArray = filePath.split('\\').slice(0, -1); // 提取文件夹路径数组 + files.push({ + fullPath: filePath, + fileName: fileName, + folderPathArray: folderPathArray + }); + } + } + } + + // 将子文件夹路径添加到堆栈中 + for (let i = subFolders.length - 1; i >= 0; i--) { + folderStack.push(subFolders[i]); + } + } + + return files; + } + + // 动态获取兽肉路线文件 + async function getMeatRoutes() { + try { + // 使用与锄地一条龙相同的方式读取路径文件 + const pathsDir = "paths"; + const allRoutes = []; + const routeOptions = []; + + // 读取路径文件夹中的所有文件 + const pathings = await readFolder(pathsDir, true); + + for (const pathing of pathings) { + const fullPath = pathing.fullPath; + const fileName = pathing.fileName; + + allRoutes.push(fullPath); + + // 提取路线ID和名称用于选项 + const routeId = fileName.match(/^(\d+)/)?.[1]; + if (routeId) { + const routeName = fileName.replace('.json', ''); + routeOptions.push({ + value: routeId, + label: routeName + }); + } + } + + return allRoutes; + } catch (err) { + log.error("获取路线文件时出错:", err); + return []; + } + } + + // 根据设置选择要运行的路线 + const allRoutes = await getMeatRoutes(); + let meatRoutes = allRoutes.filter(route => { + // 从路径中提取路线ID(假设文件名以数字开头) + const fileName = route.split('\\').pop(); // 使用反斜杠分割,因为Windows路径 + const routeId = fileName.match(/^(\d+)/)?.[1]; + + if (!routeId) return false; + + // 如果是高危路线,需要检查是否启用高危路线 + if (highRiskRoutes.includes(routeId)) { + return enableHighRiskRoutes; + } + + // 非高危路线默认运行 + return true; + }); + + // 检查是否找到路线文件 + if (meatRoutes.length === 0) { + log.error("未找到任何路线文件!请确保paths目录下存在路线文件。"); + return; + } + + log.info(`将运行 ${meatRoutes.length} 条路线`); + + // 检测潮湿状态 + async function checkDampStatus() { + try { + // 读取模板图像 + const templateImage = file.ReadImageMatSync("assets/damp.png"); + if (!templateImage) { + log.warn("无法读取潮湿状态模板图像"); + return false; + } + + // 创建模板匹配对象 + const dampRo = RecognitionObject.TemplateMatch(templateImage, 700, 880, 260, 200); + dampRo.threshold = 0.8; + dampRo.InitTemplate(); + + const gameRegion = captureGameRegion(); + // 执行模板匹配 + const result = gameRegion.find(dampRo); + gameRegion.dispose(); + + return result.isExist(); + } catch (err) { + log.error("检测潮湿状态时出错:", err.message || err); + return false; + } + } + + // 设置游戏时间 + async function setTime(hour, minute) { + setGameMetrics(1920, 1080, 2); // 设置游戏窗口大小和DPI + try { + //拖动鼠标 + async function moveMouseSmoothly(x1, y1, x2, y2) { + const deltaX = x2 - x1; + const deltaY = y2 - y1; + const steps = Math.max(Math.abs(deltaX), Math.abs(deltaY)); + const stepX = deltaX / steps; + const stepY = deltaY / steps; + await moveMouseTo(x1, y1); + await leftButtonDown(); + for (let i = 1; i <= steps; i++) { + const newX = x1 + stepX * i; + const newY = y1 + stepY * i; + const validX = Math.round(newX); + const validY = Math.round(newY); + await moveMouseTo(validX, validY); + await sleep(10); + } + await leftButtonUp(); + } + //设定时间 + async function settime(time) { + const centerX = 1441; + const centerY = 501; + const radius = 100; + let angle; + angle = (90 + time * 15) % 360; + angle = angle >= 0 ? angle : 360 + angle; + const angle1 = (angle + 90) % 360; + const angle2 = (angle + 180) % 360; + const angle3 = (angle + 270) % 360; + const radians = angle * (Math.PI / 180); + const radians1 = angle1 * (Math.PI / 180); + const radians2 = angle2 * (Math.PI / 180); + const radians3 = angle3 * (Math.PI / 180); + const x = centerX + radius * Math.cos(radians); + const y = centerY + radius * Math.sin(radians); + const x1 = centerX + radius * Math.cos(radians1); + const y1 = centerY + radius * Math.sin(radians1); + const x2 = centerX + radius * Math.cos(radians2); + const y2 = centerY + radius * Math.sin(radians2); + const x3 = centerX + radius * Math.cos(radians3); + const y3 = centerY + radius * Math.sin(radians3); + + // 输出最终的坐标 + await sleep(2000); + await moveMouseSmoothly(centerX,centerY, x1,y1); + await sleep(2000); + await moveMouseSmoothly(centerX,centerY, x2,y2); + await sleep(2000); + await moveMouseSmoothly(centerX,centerY, x3,y3); + await sleep(2000); + await moveMouseSmoothly(centerX,centerY, x,y); + } + //设置时间 + log.info('设置时间到6点'); + await sleep(1000) + await keyPress("Escape"); + await sleep(1000); + await click(50,700); + await sleep(2000); + await settime(6) + await sleep(3000); + await click(1500,1000);//确认 + await sleep(20000); + await keyPress("Escape"); + await sleep(2000); + await keyPress("Escape"); + await sleep(2000); + } finally { + // 恢复为脚本既定基准 + setGameMetrics(1920, 1080, 1); + } + } + + // 循环检测并调整潮湿状态 + async function handleDampStatus() { + let attempts = 0; + while (attempts < maxWaitAttempts) { + if (await checkDampStatus()) { + log.info(`检测到潮湿状态,第${attempts + 1}次调整时间`); + await setTime(6, 0); + await sleep(3000); // 等待调时间生效 + } else { + log.info("潮湿状态已解除"); + return true; + } + attempts++; + } + log.warn("潮湿状态调整超时"); + return false; + } + + // 传送到路线第一个点位 + async function teleportToFirstPoint(routePath) { + try { + // 读取路线文件获取第一个点位坐标 + const routeContent = file.readTextSync(routePath); + const routeData = JSON.parse(routeContent); + if (!routeData || !routeData.positions || routeData.positions.length === 0) { + log.error(`路线文件格式错误: ${routePath}`); + return false; + } + + const firstPoint = routeData.positions[0]; + if (typeof firstPoint.x !== "number" || typeof firstPoint.y !== "number" + || Number.isNaN(firstPoint.x) || Number.isNaN(firstPoint.y)) { + log.error(`坐标无效: ${routePath}`); + return false; + } + + // 使用传送功能传送到第一个点位 + await genshin.tp(firstPoint.x, firstPoint.y); + await sleep(2000); // 等待传送完成 + + return true; + } catch (err) { + log.error(`传送失败 ${routePath}:`, err); + return false; + } + } + + // 运行单条兽肉路线 + async function runMeatRoute(routePath) { + try { + // 运行路径追踪脚本 + await pathingScript.runFile(routePath); + } catch (err) { + log.error(`路线运行失败 ${routePath}:`, err); + } + } + + // 主执行逻辑 + // 设置游戏分辨率和DPI缩放 + setGameMetrics(1920, 1080, 1); + + // 切换队伍 + await switchPartyIfNeeded(partyName); + + // 检查队伍角色 + if (!checkRequiredCharacters()) { + log.error("队伍角色检查失败,脚本终止"); + return; + } + + // 开启自动拾取 + dispatcher.addTimer(new RealtimeTimer("AutoPick")); + + for (let i = 0; i < meatRoutes.length; i++) { + const route = meatRoutes[i]; + log.info(`路线 ${i + 1}/${meatRoutes.length}: ${route.split('\\').pop()}`); + + // 先传送到路线的第一个点位 + const teleportSuccess = await teleportToFirstPoint(route); + if (!teleportSuccess) { + log.error(`传送失败,跳过路线`); + continue; + } + + // 检测潮湿状态 + if (enableDampDetection) { + if (await checkDampStatus()) { + await handleDampStatus(); + } + } + + // 运行路线 + await runMeatRoute(route); + + // 路线间等待 + if (i < meatRoutes.length - 1) { + await sleep(2000); + } + } + + log.info("所有路线运行完成"); +})(); diff --git a/repo/js/DeerGameMeat/manifest.json b/repo/js/DeerGameMeat/manifest.json new file mode 100644 index 000000000..ea762f442 --- /dev/null +++ b/repo/js/DeerGameMeat/manifest.json @@ -0,0 +1,19 @@ +{ + "manifest_version": 1, + "name": "菈乌玛兽肉", + "version": "1.0", + "bgi_version": "0.52.0", + "description": "菈乌玛兽肉路线脚本,支持潮湿状态检测和自动调时间功能", + "authors": [ + { + "name": "zaodonganqi", + "link": "https://github.com/zaodonganqi" + } + ], + "settings_ui": "settings.json", + "main": "main.js", + "saved_files": [ + "data/*.txt", + "user_data.txt" + ] +} \ No newline at end of file diff --git a/repo/js/DeerGameMeat/paths/01-苔骨荒原右下-8个.json b/repo/js/DeerGameMeat/paths/01-苔骨荒原右下-8个.json new file mode 100644 index 000000000..758c3f211 --- /dev/null +++ b/repo/js/DeerGameMeat/paths/01-苔骨荒原右下-8个.json @@ -0,0 +1,51 @@ +{ + "info": { + "authors": [ + { + "links": "https://github.com/zaodonganqi", + "name": "躁动的氨气" + } + ], + "bgi_version": "0.52.0", + "description": "", + "enable_monster_loot_split": false, + "last_modified_time": 1760449172232, + "map_match_method": "", + "map_name": "Teyvat", + "name": "01-苔骨荒原右下-8个", + "tags": [ + "菈乌玛" + ], + "type": "collect", + "version": "1.1" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 9222.5312, + "y": 1899.25 + }, + { + "action": "combat_script", + "action_params": "枫原万叶 wait(6),e(hold),wait(0.2),attack", + "id": 2, + "move_mode": "swim", + "type": "target", + "x": 9222.125, + "y": 1899.2188 + }, + { + "action": "pick_around", + "action_params": "", + "id": 3, + "move_mode": "swim", + "type": "target", + "x": 9222.125, + "y": 1899.2188 + } + ] +} \ No newline at end of file diff --git a/repo/js/DeerGameMeat/paths/02-蓝珀胡下方峡谷-21个.json b/repo/js/DeerGameMeat/paths/02-蓝珀胡下方峡谷-21个.json new file mode 100644 index 000000000..a668c7812 --- /dev/null +++ b/repo/js/DeerGameMeat/paths/02-蓝珀胡下方峡谷-21个.json @@ -0,0 +1,358 @@ +{ + "info": { + "authors": [ + { + "links": "https://github.com/zaodonganqi", + "name": "躁动的氨气" + } + ], + "bgi_version": "0.52.0", + "description": "", + "enable_monster_loot_split": false, + "last_modified_time": 1760449187836, + "map_match_method": "", + "map_name": "Teyvat", + "name": "02-蓝珀胡下方峡谷-21个", + "tags": [ + "菈乌玛" + ], + "type": "collect", + "version": "1.2" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 9224.7549, + "y": 2246.7224 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "dash", + "type": "path", + "x": 9273.1338, + "y": 2226.5007 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "fly", + "type": "path", + "x": 9272.7402, + "y": 2224.9041 + }, + { + "action": "", + "action_params": "", + "id": 4, + "move_mode": "fly", + "type": "target", + "x": 9265.4463, + "y": 2203.5005 + }, + { + "action": "stop_flying", + "action_params": "1000", + "id": 5, + "move_mode": "fly", + "type": "target", + "x": 9261.75, + "y": 2185.25 + }, + { + "action": "", + "action_params": "", + "id": 6, + "move_mode": "dash", + "type": "path", + "x": 9212.6133, + "y": 2158.48 + }, + { + "action": "", + "action_params": "", + "id": 7, + "move_mode": "walk", + "type": "path", + "x": 9209.7461, + "y": 2134.2407 + }, + { + "action": "combat_script", + "action_params": "枫原万叶 wait(5),e(hold),wait(0.2),attack", + "id": 8, + "move_mode": "walk", + "type": "target", + "x": 9210.0625, + "y": 2130.875 + }, + { + "action": "", + "action_params": "", + "id": 9, + "move_mode": "swim", + "type": "target", + "x": 9205.0625, + "y": 2134.75 + }, + { + "action": "", + "id": 10, + "move_mode": "swim", + "type": "target", + "x": 9213.375, + "y": 2129.8125 + }, + { + "action": "", + "action_params": "", + "id": 11, + "move_mode": "swim", + "type": "target", + "x": 9206.25, + "y": 2136.5625 + }, + { + "action": "", + "id": 12, + "move_mode": "swim", + "type": "target", + "x": 9215.25, + "y": 2132.8125 + }, + { + "action": "", + "action_params": "", + "id": 13, + "move_mode": "swim", + "type": "target", + "x": 9207.375, + "y": 2138.8125 + }, + { + "action": "", + "action_params": "", + "id": 14, + "move_mode": "swim", + "type": "target", + "x": 9214.25, + "y": 2131.0625 + }, + { + "action": "", + "action_params": "", + "id": 15, + "move_mode": "swim", + "type": "target", + "x": 9211.875, + "y": 2127.875 + }, + { + "action": "", + "id": 16, + "move_mode": "swim", + "type": "target", + "x": 9204.25, + "y": 2133.375 + }, + { + "action": "", + "id": 17, + "move_mode": "swim", + "type": "target", + "x": 9210.9375, + "y": 2125.9375 + }, + { + "action": "", + "id": 18, + "move_mode": "swim", + "type": "target", + "x": 9203.625, + "y": 2131.4375 + }, + { + "action": "", + "id": 19, + "move_mode": "walk", + "type": "path", + "x": 9212.3438, + "y": 2137.6875 + }, + { + "action": "", + "action_params": "", + "id": 20, + "move_mode": "dash", + "type": "path", + "x": 9190.8281, + "y": 2094.9775 + }, + { + "action": "", + "action_params": "", + "id": 21, + "move_mode": "dash", + "type": "path", + "x": 9183.0, + "y": 2078.75 + }, + { + "action": "", + "action_params": "", + "id": 22, + "move_mode": "dash", + "type": "path", + "x": 9166.8223, + "y": 2071.209 + }, + { + "action": "", + "action_params": "", + "id": 23, + "move_mode": "walk", + "type": "target", + "x": 9151.5625, + "y": 2075.8125 + }, + { + "action": "", + "action_params": "", + "id": 24, + "move_mode": "dash", + "type": "path", + "x": 9128.7354, + "y": 2088.4778 + }, + { + "action": "combat_script", + "action_params": "wait(3)", + "id": 25, + "move_mode": "walk", + "type": "target", + "x": 9105.0, + "y": 2082.0 + }, + { + "action": "combat_script", + "action_params": "枫原万叶 wait(6),e(hold),wait(0.2),attack", + "id": 26, + "move_mode": "walk", + "type": "path", + "x": 9072.0625, + "y": 2096.4375 + }, + { + "action": "", + "id": 27, + "move_mode": "swim", + "type": "target", + "x": 9071.875, + "y": 2098.5 + }, + { + "action": "", + "action_params": "", + "id": 28, + "move_mode": "swim", + "type": "path", + "x": 9069.3125, + "y": 2087.9375 + }, + { + "action": "", + "id": 29, + "move_mode": "swim", + "type": "path", + "x": 9073.5625, + "y": 2098.4375 + }, + { + "action": "", + "id": 30, + "move_mode": "swim", + "type": "path", + "x": 9071.6875, + "y": 2087.1875 + }, + { + "action": "", + "id": 31, + "move_mode": "swim", + "type": "path", + "x": 9074.875, + "y": 2098.125 + }, + { + "action": "", + "id": 32, + "move_mode": "swim", + "type": "path", + "x": 9073.1875, + "y": 2086.375 + }, + { + "action": "", + "id": 33, + "move_mode": "swim", + "type": "path", + "x": 9077.25, + "y": 2099.625 + }, + { + "action": "", + "id": 34, + "move_mode": "swim", + "type": "path", + "x": 9074.9375, + "y": 2085.5 + }, + { + "action": "", + "id": 35, + "move_mode": "swim", + "type": "path", + "x": 9079.0, + "y": 2098.5625 + }, + { + "action": "", + "id": 36, + "move_mode": "swim", + "type": "path", + "x": 9069.0625, + "y": 2092.25 + }, + { + "action": "", + "id": 37, + "move_mode": "swim", + "type": "path", + "x": 9081.9375, + "y": 2094.9375 + }, + { + "action": "", + "id": 38, + "move_mode": "swim", + "type": "path", + "x": 9068.9375, + "y": 2090.0625 + }, + { + "action": "", + "action_params": "", + "id": 39, + "move_mode": "swim", + "type": "path", + "x": 9080.3125, + "y": 2089.3125 + } + ] +} \ No newline at end of file diff --git a/repo/js/DeerGameMeat/paths/03-星砂滩右上-9个.json b/repo/js/DeerGameMeat/paths/03-星砂滩右上-9个.json new file mode 100644 index 000000000..c812c1829 --- /dev/null +++ b/repo/js/DeerGameMeat/paths/03-星砂滩右上-9个.json @@ -0,0 +1,193 @@ +{ + "info": { + "authors": [ + { + "links": "https://github.com/zaodonganqi", + "name": "躁动的氨气" + } + ], + "bgi_version": "0.52.0", + "description": "", + "enable_monster_loot_split": false, + "last_modified_time": 1760449198029, + "map_match_method": "", + "map_name": "Teyvat", + "name": "03-星砂滩右上-9个", + "tags": [ + "菈乌玛" + ], + "type": "collect", + "version": "1.1" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 9248.2324, + "y": 2350.2634 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "walk", + "type": "path", + "x": 9253.2822, + "y": 2343.4441 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "walk", + "type": "path", + "x": 9271.3965, + "y": 2340.749 + }, + { + "action": "", + "action_params": "", + "id": 4, + "move_mode": "walk", + "type": "path", + "x": 9287.5742, + "y": 2345.7505 + }, + { + "action": "", + "action_params": "", + "id": 5, + "move_mode": "walk", + "type": "path", + "x": 9335.5723, + "y": 2333.3455 + }, + { + "action": "", + "action_params": "", + "id": 6, + "move_mode": "walk", + "type": "path", + "x": 9343.707, + "y": 2315.1614 + }, + { + "action": "", + "action_params": "", + "id": 7, + "move_mode": "walk", + "type": "target", + "x": 9349.8428, + "y": 2303.2068 + }, + { + "action": "combat_script", + "action_params": "枫原万叶 wait(5),e(hold),wait(0.2),attack", + "id": 8, + "move_mode": "walk", + "type": "target", + "x": 9337.9375, + "y": 2292.375 + }, + { + "action": "", + "id": 9, + "move_mode": "swim", + "type": "path", + "x": 9340.3438, + "y": 2289.3438 + }, + { + "action": "", + "action_params": "", + "id": 10, + "move_mode": "swim", + "type": "path", + "x": 9344.75, + "y": 2294.5 + }, + { + "action": "", + "action_params": "", + "id": 11, + "move_mode": "swim", + "type": "path", + "x": 9341.875, + "y": 2286.5938 + }, + { + "action": "", + "action_params": "", + "id": 12, + "move_mode": "swim", + "type": "path", + "x": 9338.1025, + "y": 2288.2322 + }, + { + "action": "", + "action_params": "", + "id": 13, + "move_mode": "swim", + "type": "path", + "x": 9336.2002, + "y": 2291.8354 + }, + { + "action": "", + "action_params": "", + "id": 14, + "move_mode": "swim", + "type": "path", + "x": 9334.376, + "y": 2294.1499 + }, + { + "action": "", + "action_params": "", + "id": 15, + "move_mode": "swim", + "type": "path", + "x": 9337.9492, + "y": 2297.762 + }, + { + "action": "", + "id": 16, + "move_mode": "swim", + "type": "path", + "x": 9336.4688, + "y": 2293.4062 + }, + { + "action": "", + "action_params": "", + "id": 17, + "move_mode": "swim", + "type": "path", + "x": 9342.0225, + "y": 2298.0981 + }, + { + "action": "", + "action_params": "", + "id": 18, + "move_mode": "swim", + "type": "path", + "x": 9347.0742, + "y": 2297.8345 + }, + { + "action": "", + "action_params": "", + "id": 19, + "move_mode": "swim", + "type": "path", + "x": 9337.9688, + "y": 2290.1875 + } + ] +} \ No newline at end of file diff --git a/repo/js/DeerGameMeat/paths/04-星砂滩左下-15个.json b/repo/js/DeerGameMeat/paths/04-星砂滩左下-15个.json new file mode 100644 index 000000000..8e76c0285 --- /dev/null +++ b/repo/js/DeerGameMeat/paths/04-星砂滩左下-15个.json @@ -0,0 +1,356 @@ +{ + "info": { + "authors": [ + { + "links": "https://github.com/zaodonganqi", + "name": "躁动的氨气" + } + ], + "bgi_version": "0.52.0", + "description": "", + "enable_monster_loot_split": false, + "last_modified_time": 1760449208658, + "map_match_method": "", + "map_name": "Teyvat", + "name": "04-星砂滩左下-15个", + "tags": [ + "菈乌玛" + ], + "type": "collect", + "version": "1.2" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "dash", + "type": "teleport", + "x": 9746.3359, + "y": 1916.6514 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "dash", + "type": "path", + "x": 9776.5088, + "y": 1919.7988 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "dash", + "type": "path", + "x": 9809.2676, + "y": 1927.7632 + }, + { + "action": "", + "action_params": "", + "id": 4, + "move_mode": "walk", + "type": "path", + "x": 9829.7705, + "y": 1922.2373 + }, + { + "action": "", + "action_params": "", + "id": 5, + "move_mode": "swim", + "type": "path", + "x": 9843.7207, + "y": 1925.2319 + }, + { + "action": "combat_script", + "action_params": "枫原万叶 wait(4),e(hold),wait(0.2),attack", + "id": 6, + "move_mode": "walk", + "type": "path", + "x": 9846.6543, + "y": 1923.6958 + }, + { + "action": "", + "action_params": "", + "id": 7, + "move_mode": "swim", + "type": "path", + "x": 9846.2139, + "y": 1923.0205 + }, + { + "action": "", + "id": 8, + "move_mode": "swim", + "type": "path", + "x": 9849.3438, + "y": 1921.625 + }, + { + "action": "", + "id": 9, + "move_mode": "swim", + "type": "path", + "x": 9849.125, + "y": 1923.4375 + }, + { + "action": "", + "action_params": "", + "id": 10, + "move_mode": "swim", + "type": "path", + "x": 9850.8125, + "y": 1921.75 + }, + { + "action": "", + "id": 11, + "move_mode": "swim", + "type": "path", + "x": 9850.1875, + "y": 1924.4375 + }, + { + "action": "", + "action_params": "", + "id": 12, + "move_mode": "swim", + "type": "path", + "x": 9852.3438, + "y": 1922.0625 + }, + { + "action": "", + "id": 13, + "move_mode": "swim", + "type": "path", + "x": 9853.3125, + "y": 1922.6562 + }, + { + "action": "", + "action_params": "", + "id": 14, + "move_mode": "swim", + "type": "path", + "x": 9849.1562, + "y": 1925.7812 + }, + { + "action": "", + "id": 15, + "move_mode": "swim", + "type": "path", + "x": 9849.0625, + "y": 1923.7812 + }, + { + "action": "", + "id": 16, + "move_mode": "swim", + "type": "path", + "x": 9848, + "y": 1925.75 + }, + { + "action": "", + "action_params": "", + "id": 17, + "move_mode": "swim", + "type": "path", + "x": 9848.0312, + "y": 1922.75 + }, + { + "action": "", + "id": 18, + "move_mode": "swim", + "type": "path", + "x": 9846.8125, + "y": 1926.0625 + }, + { + "action": "", + "action_params": "", + "id": 19, + "move_mode": "swim", + "type": "path", + "x": 9844.2227, + "y": 1925.5527 + }, + { + "action": "", + "action_params": "", + "id": 20, + "move_mode": "swim", + "type": "path", + "x": 9846.9951, + "y": 1924.0649 + }, + { + "action": "", + "action_params": "", + "id": 21, + "move_mode": "dash", + "type": "teleport", + "x": 9746.335, + "y": 1916.6504 + }, + { + "action": "", + "id": 22, + "move_mode": "walk", + "type": "path", + "x": 9745.5, + "y": 1978.75 + }, + { + "action": "", + "action_params": "", + "id": 23, + "move_mode": "dash", + "type": "path", + "x": 9746.291, + "y": 1996.0615 + }, + { + "action": "combat_script", + "action_params": "枫原万叶 wait(5),e(hold),wait(0.2),attack", + "id": 24, + "move_mode": "walk", + "type": "path", + "x": 9755.4844, + "y": 2002.1201 + }, + { + "action": "", + "action_params": "", + "id": 25, + "move_mode": "swim", + "type": "path", + "x": 9757.2812, + "y": 2003.2524 + }, + { + "action": "", + "action_params": "", + "id": 26, + "move_mode": "swim", + "type": "path", + "x": 9759.041, + "y": 2004.4248 + }, + { + "action": "", + "action_params": "", + "id": 27, + "move_mode": "swim", + "type": "path", + "x": 9759.126, + "y": 2007.54 + }, + { + "action": "", + "action_params": "", + "id": 28, + "move_mode": "swim", + "type": "path", + "x": 9756.9473, + "y": 2009.603 + }, + { + "action": "", + "action_params": "", + "id": 29, + "move_mode": "swim", + "type": "path", + "x": 9753.4062, + "y": 2010.5 + }, + { + "action": "", + "id": 30, + "move_mode": "swim", + "type": "path", + "x": 9757.9375, + "y": 2007.125 + }, + { + "action": "", + "action_params": "", + "id": 31, + "move_mode": "swim", + "type": "path", + "x": 9753.3896, + "y": 2007.8955 + }, + { + "action": "", + "id": 32, + "move_mode": "swim", + "type": "path", + "x": 9758.0938, + "y": 2005.625 + }, + { + "action": "", + "action_params": "", + "id": 33, + "move_mode": "swim", + "type": "path", + "x": 9753.0898, + "y": 2004.7959 + }, + { + "action": "", + "action_params": "", + "id": 34, + "move_mode": "swim", + "type": "path", + "x": 9752.418, + "y": 2002.8955 + }, + { + "action": "", + "action_params": "", + "id": 35, + "move_mode": "swim", + "type": "path", + "x": 9752.0645, + "y": 1999.0312 + }, + { + "action": "", + "action_params": "", + "id": 36, + "move_mode": "swim", + "type": "path", + "x": 9754.8721, + "y": 2000.0142 + }, + { + "action": "", + "action_params": "", + "id": 37, + "move_mode": "swim", + "type": "path", + "x": 9756.6045, + "y": 2001.1826 + }, + { + "action": "", + "action_params": "", + "id": 38, + "move_mode": "swim", + "type": "target", + "x": 9756.1328, + "y": 2003.186 + } + ] +} \ No newline at end of file diff --git a/repo/js/DeerGameMeat/paths/05-苔古荒原下方-12个.json b/repo/js/DeerGameMeat/paths/05-苔古荒原下方-12个.json new file mode 100644 index 000000000..bb89ef0bd --- /dev/null +++ b/repo/js/DeerGameMeat/paths/05-苔古荒原下方-12个.json @@ -0,0 +1,219 @@ +{ + "info": { + "authors": [ + { + "links": "https://github.com/zaodonganqi", + "name": "躁动的氨气" + } + ], + "bgi_version": "0.52.0", + "description": "", + "enable_monster_loot_split": false, + "last_modified_time": 1760764363466, + "map_match_method": "", + "map_name": "Teyvat", + "name": "05-苔古荒原下方-12个", + "tags": [ + "菈乌玛" + ], + "type": "collect", + "version": "1.2" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "locked": false, + "move_mode": "walk", + "type": "teleport", + "x": 9370.3994, + "y": 1865.4717 + }, + { + "action": "", + "action_params": "", + "id": 2, + "locked": false, + "move_mode": "walk", + "type": "orientation", + "x": 9342.5, + "y": 1890.5 + }, + { + "action": "combat_script", + "action_params": "wait(3),keypress(VK_F),wait(3),click,wait(10),keypress(VK_SPACE)", + "id": 3, + "locked": false, + "move_mode": "fly", + "type": "orientation", + "x": 9342.5, + "y": 1890.5 + }, + { + "action": "stop_flying", + "action_params": "1000", + "id": 4, + "locked": false, + "move_mode": "fly", + "type": "target", + "x": 9385.25, + "y": 1759.5 + }, + { + "action": "", + "action_params": "", + "id": 5, + "locked": false, + "move_mode": "dash", + "type": "path", + "x": 9397.5, + "y": 1748.5 + }, + { + "action": "", + "action_params": "", + "id": 6, + "locked": false, + "move_mode": "dash", + "type": "path", + "x": 9421.75, + "y": 1746.0 + }, + { + "action": "combat_script", + "action_params": "枫原万叶 wait(4),e(hold),wait(0.2),attack", + "id": 7, + "locked": false, + "move_mode": "walk", + "type": "target", + "x": 9444.3809, + "y": 1757.8408 + }, + { + "action": "", + "action_params": "", + "id": 8, + "locked": false, + "move_mode": "swim", + "type": "path", + "x": 9444.6445, + "y": 1757.8359 + }, + { + "action": "", + "action_params": "", + "id": 9, + "locked": false, + "move_mode": "swim", + "type": "path", + "x": 9440.8369, + "y": 1756.0884 + }, + { + "action": "", + "action_params": "", + "id": 10, + "locked": false, + "move_mode": "swim", + "type": "path", + "x": 9437.6289, + "y": 1761.5488 + }, + { + "action": "", + "action_params": "", + "id": 11, + "locked": false, + "move_mode": "swim", + "type": "path", + "x": 9443.4971, + "y": 1765.9624 + }, + { + "action": "", + "action_params": "", + "id": 12, + "locked": false, + "move_mode": "swim", + "type": "path", + "x": 9447.666, + "y": 1759.5054 + }, + { + "action": "", + "action_params": "", + "id": 13, + "locked": false, + "move_mode": "swim", + "type": "path", + "x": 9445.3281, + "y": 1754.7812 + }, + { + "action": "", + "action_params": "", + "id": 14, + "locked": false, + "move_mode": "swim", + "type": "path", + "x": 9440.1797, + "y": 1763.9966 + }, + { + "action": "", + "action_params": "", + "id": 15, + "locked": false, + "move_mode": "swim", + "type": "path", + "x": 9442.875, + "y": 1754.2812 + }, + { + "action": "", + "action_params": "", + "id": 16, + "move_mode": "swim", + "type": "path", + "x": 9442.3262, + "y": 1756.1201 + }, + { + "action": "", + "action_params": "", + "id": 17, + "move_mode": "swim", + "type": "path", + "x": 9439.2783, + "y": 1751.0 + }, + { + "action": "", + "action_params": "", + "id": 18, + "move_mode": "swim", + "type": "path", + "x": 9433.0059, + "y": 1752.4941 + }, + { + "action": "", + "action_params": "", + "id": 19, + "move_mode": "swim", + "type": "path", + "x": 9431.8467, + "y": 1749.9717 + }, + { + "action": "", + "action_params": "", + "id": 20, + "move_mode": "swim", + "type": "path", + "x": 9443.2852, + "y": 1762.793 + } + ] +} \ No newline at end of file diff --git a/repo/js/DeerGameMeat/paths/06-苔古荒原上方-6个.json b/repo/js/DeerGameMeat/paths/06-苔古荒原上方-6个.json new file mode 100644 index 000000000..110deb82e --- /dev/null +++ b/repo/js/DeerGameMeat/paths/06-苔古荒原上方-6个.json @@ -0,0 +1,133 @@ +{ + "info": { + "authors": [ + { + "links": "https://github.com/zaodonganqi", + "name": "躁动的氨气" + } + ], + "bgi_version": "0.52.0", + "description": "", + "enable_monster_loot_split": false, + "last_modified_time": 1760449142682, + "map_match_method": "", + "map_name": "Teyvat", + "name": "06-苔古荒原上方-6个", + "tags": [ + "菈乌玛" + ], + "type": "collect", + "version": "1.1" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "dash", + "type": "teleport", + "x": 9370.4004, + "y": 1865.4727 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "walk", + "type": "path", + "x": 9425.9414, + "y": 1878.2812 + }, + { + "action": "combat_script", + "action_params": "枫原万叶 wait(6),e(hold),wait(0.2),attack", + "id": 3, + "move_mode": "walk", + "type": "target", + "x": 9450.1406, + "y": 1880.9834 + }, + { + "action": "", + "action_params": "", + "id": 4, + "locked": false, + "move_mode": "swim", + "type": "path", + "x": 9451.0938, + "y": 1875.7812 + }, + { + "id": 5, + "move_mode": "swim", + "type": "path", + "x": 9450.875, + "y": 1885.8438 + }, + { + "id": 6, + "move_mode": "swim", + "type": "path", + "x": 9452.5938, + "y": 1875.7188 + }, + { + "id": 7, + "move_mode": "swim", + "type": "path", + "x": 9452.9062, + "y": 1885.9375 + }, + { + "id": 8, + "move_mode": "swim", + "type": "path", + "x": 9454.5312, + "y": 1875.6875 + }, + { + "id": 9, + "move_mode": "swim", + "type": "path", + "x": 9456.3125, + "y": 1882.125 + }, + { + "id": 10, + "move_mode": "swim", + "type": "path", + "x": 9448.0938, + "y": 1885.875 + }, + { + "id": 11, + "move_mode": "swim", + "type": "path", + "x": 9449.25, + "y": 1875.4688 + }, + { + "id": 12, + "move_mode": "swim", + "type": "path", + "x": 9446.0312, + "y": 1885.75 + }, + { + "id": 13, + "move_mode": "swim", + "type": "path", + "x": 9447.2812, + "y": 1875.4375 + }, + { + "action": "", + "action_params": "", + "id": 14, + "move_mode": "swim", + "type": "path", + "x": 9444.1875, + "y": 1885.2812 + } + ] +} \ No newline at end of file diff --git a/repo/js/DeerGameMeat/paths/07-苔古荒原中间-12个.json b/repo/js/DeerGameMeat/paths/07-苔古荒原中间-12个.json new file mode 100644 index 000000000..65c905c44 --- /dev/null +++ b/repo/js/DeerGameMeat/paths/07-苔古荒原中间-12个.json @@ -0,0 +1,114 @@ +{ + "info": { + "authors": [ + { + "links": "https://github.com/zaodonganqi", + "name": "躁动的氨气" + } + ], + "bgi_version": "0.52.0", + "description": "", + "enable_monster_loot_split": false, + "last_modified_time": 1760764234436, + "map_match_method": "", + "map_name": "Teyvat", + "name": "07-苔古荒原中间-12个", + "tags": [ + "菈乌玛" + ], + "type": "collect", + "version": "1.2" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 9370.3994, + "y": 1865.4717 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "walk", + "type": "orientation", + "x": 9342.5, + "y": 1890.5 + }, + { + "action": "combat_script", + "action_params": "枫原万叶 attack,wait(3),keypress(VK_F),wait(3),click,wait(10),keypress(VK_SPACE)", + "id": 3, + "move_mode": "fly", + "type": "orientation", + "x": 9342.5, + "y": 1890.5 + }, + { + "action": "combat_script", + "action_params": "keypress(VK_E),wait(0.2),attack", + "id": 4, + "move_mode": "fly", + "type": "target", + "x": 9469.9023, + "y": 1809.1797 + }, + { + "action": "", + "action_params": "", + "id": 5, + "move_mode": "walk", + "type": "path", + "x": 9470.2539, + "y": 1805.1245 + }, + { + "action": "", + "action_params": "", + "id": 6, + "move_mode": "walk", + "type": "path", + "x": 9466.5264, + "y": 1805.5381 + }, + { + "action": "", + "action_params": "", + "id": 7, + "move_mode": "walk", + "type": "path", + "x": 9466.5371, + "y": 1812.5723 + }, + { + "action": "", + "action_params": "", + "id": 8, + "move_mode": "walk", + "type": "path", + "x": 9473.0703, + "y": 1810.7129 + }, + { + "action": "", + "action_params": "", + "id": 9, + "move_mode": "walk", + "type": "path", + "x": 9474.6426, + "y": 1805.8882 + }, + { + "action": "", + "action_params": "", + "id": 10, + "move_mode": "walk", + "type": "teleport", + "x": 9370.3994, + "y": 1865.4717 + } + ] +} \ No newline at end of file diff --git a/repo/js/DeerGameMeat/paths/README.md b/repo/js/DeerGameMeat/paths/README.md new file mode 100644 index 000000000..d153b481c --- /dev/null +++ b/repo/js/DeerGameMeat/paths/README.md @@ -0,0 +1,22 @@ +## 配置与运行要求 + +> 虽然全线会路过两只霜夜灵嗣,但是不用战斗,都是直接冲过去的哦。 + +### 🎯 角色要求 +- 确保队伍中有「菈乌玛」与「枫原万叶」 +- 将`行走位`设置为「菈乌玛」 + +### ⚠️ 运行须知(必看) +- 运行前请确保游戏内不在下雨状态,下雨时挪德卡莱的小动物会消失。运行中途若开始下雨,将无法避免地白跑! +- 运行前请确保你今天没有跑过`虹滴晶`路线和`霜夜灵嗣`路线,这两个路线与犀牛路线存在重叠,会导致犀牛跑走。 +- 苔古荒原中间的传送点处有一个需要寻找10个机器人才能解锁的飞高高装置,请解锁它,否则请禁用`05`和`07`两条线路。 + +### 🚀 运行效率 +- 9分钟可收获理论最多83个兽肉 +- 常态下拾取约65个 + +### ⚔️ 风险点位说明 +最后一条路径落地点有一只精英怪,拾取时会发生战斗,可选择性关闭,但这个点位物资丰厚,高风险高回报。 + + +#### 更新计划:在js版中支持钟离举盾,检测下雨状态 \ No newline at end of file diff --git a/repo/js/DeerGameMeat/settings.json b/repo/js/DeerGameMeat/settings.json new file mode 100644 index 000000000..a06086e5f --- /dev/null +++ b/repo/js/DeerGameMeat/settings.json @@ -0,0 +1,26 @@ +[ + { + "name": "enableDampDetection", + "type": "checkbox", + "default": true, + "label": "启用潮湿状态检测" + }, + { + "name": "maxWaitAttempts", + "type": "input-text", + "default": "5", + "label": "最大等待次数" + }, + { + "name": "enableHighRiskRoutes", + "type": "checkbox", + "default": true, + "label": "运行高危路线" + }, + { + "name": "partyName", + "type": "input-text", + "default": "", + "label": "队伍名称" + } +] \ No newline at end of file