mirror of
https://github.com/babalae/bettergi-scripts-list.git
synced 2026-03-18 03:53:24 +08:00
同步AutoCommission更新 (#2600)
* 同步AutoCommission更新 * Update version to 0.98.14 in manifest.json * Refine update instructions in checkVersion.js Update log message to provide clearer instructions for users after an update. --------- Co-authored-by: DarkFlameMaster <actions@github.com>
This commit is contained in:
@@ -46,7 +46,7 @@
|
||||
"type": "对话",
|
||||
"data": {
|
||||
"skipCount": 1,
|
||||
"priorityOptions": ["关于礼物"],
|
||||
"priorityOptions": ["关于礼物", "我付了"],
|
||||
"npcWhiteList": ["玛乔丽"]
|
||||
},
|
||||
"note": "与玛乔丽对话"
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
// 原神每日委托自动执行脚本 - 常量定义模块
|
||||
var Constants = {
|
||||
// 版本和编译信息
|
||||
VERSION: "0.98.13",
|
||||
BUILD_TIME: "2025.12.26",
|
||||
|
||||
// 文件路径常量
|
||||
SUPPORT_LIST_PATH: "name.json",
|
||||
OUTPUT_DIR: "Data",
|
||||
|
||||
69
repo/js/AutoCommission/lib/checkVersion.js
Normal file
69
repo/js/AutoCommission/lib/checkVersion.js
Normal file
@@ -0,0 +1,69 @@
|
||||
/**
|
||||
* 检查是否需要更新版本
|
||||
* @param {string} currentVersion 当前版本号 (如 "1.2.3")
|
||||
* @param {string} latestVersion 最新版本号 (如 "1.2.4")
|
||||
* @returns {boolean} 返回是否需要更新: true表示需要更新, false表示不需要更新
|
||||
*/
|
||||
var needUpdate = function (currentVersion, latestVersion) {
|
||||
// 将版本号字符串分割成数字数组
|
||||
const currentParts = currentVersion.split('.').map(Number);
|
||||
const latestParts = latestVersion.split('.').map(Number);
|
||||
|
||||
// 获取较长的版本号长度
|
||||
const maxLength = Math.max(currentParts.length, latestParts.length);
|
||||
|
||||
// 逐位比较版本号
|
||||
for (let i = 0; i < maxLength; i++) {
|
||||
const currentPart = currentParts[i] || 0; // 如果不存在则默认为0
|
||||
const latestPart = latestParts[i] || 0; // 如果不存在则默认为0
|
||||
|
||||
if (currentPart < latestPart) {
|
||||
return true; // 当前版本小于最新版本,需要更新
|
||||
} else if (currentPart > latestPart) {
|
||||
return false; // 当前版本大于最新版本,不需要更新
|
||||
}
|
||||
}
|
||||
|
||||
return false; // 两个版本号相等,不需要更新
|
||||
};
|
||||
|
||||
var printVersion = async function () {
|
||||
try {
|
||||
let currentVersion = JSON.parse(file.readTextSync("manifest.json")).version;
|
||||
log.info(`当前版本为:{x}`, currentVersion);
|
||||
|
||||
let response = await http.request(
|
||||
"GET",
|
||||
"https://cnb.cool/bettergi/bettergi-scripts-list/-/git/raw/release/repo/js/AutoCommission/manifest.json"
|
||||
);
|
||||
|
||||
let latestVersion = JSON.parse(response.body).version;
|
||||
|
||||
if (needUpdate(currentVersion, latestVersion)) {
|
||||
log.info("=".repeat(20));
|
||||
log.info(" ");
|
||||
log.info("{text}:{v}", "发现新版本!", latestVersion);
|
||||
log.info(" ");
|
||||
log.info("=".repeat(20));
|
||||
log.info(`更新方式:软件左侧菜单 -> 全自动 -> JS脚本 -> 脚本仓库 -> 更新仓库`);
|
||||
log.info(`更新完毕后 {text1} 在左侧找到 {txt2} -> 上方点击 {txt3} -> 找到本脚本并点击 -> 右侧点击{txt4}`,
|
||||
"打开仓库",
|
||||
"Javascript 脚本",
|
||||
"已订阅",
|
||||
"再次订阅"
|
||||
);
|
||||
await sleep(10000);
|
||||
}
|
||||
} catch (error) {
|
||||
if (error.message.includes("不允许使用HTTP请求")) {
|
||||
log.warn("获取版本号失败,请在调度器中右键本脚本 -> 修改通用设置 -> JS HTTP权限-> 禁用改为启用")
|
||||
log.info(`==== 不影响脚本正常运行 ====`);
|
||||
} else if (error.message.includes("A task was canceled")) {
|
||||
// pass
|
||||
} else {
|
||||
log.error(`获取新版本号出错:${error}`);
|
||||
log.info(`==== 不影响脚本正常运行 ====`);
|
||||
}
|
||||
await sleep(5000);
|
||||
}
|
||||
}
|
||||
@@ -221,9 +221,18 @@ var CommissionRecognition = {
|
||||
await sleep(300);
|
||||
keyUp("VK_ESCAPE");
|
||||
await sleep(1200);
|
||||
await genshin.setBigMapZoomLevel(2);
|
||||
// 获取地图坐标并保存
|
||||
var bigMapPosition = genshin.getPositionFromBigMap();
|
||||
let scale = 2.0
|
||||
let bigMapPosition
|
||||
while (scale <= 5.0) {
|
||||
try {
|
||||
await genshin.setBigMapZoomLevel(scale);
|
||||
bigMapPosition = genshin.getPositionFromBigMap();
|
||||
break;
|
||||
} catch {
|
||||
scale += 0.1;
|
||||
}
|
||||
await sleep(100);
|
||||
}
|
||||
if (bigMapPosition) {
|
||||
commission.CommissionPosition = bigMapPosition;
|
||||
log.info(
|
||||
@@ -391,9 +400,18 @@ var CommissionRecognition = {
|
||||
await sleep(300);
|
||||
keyUp("VK_ESCAPE");
|
||||
await sleep(1200);
|
||||
await genshin.setBigMapZoomLevel(2);
|
||||
// 获取地图坐标并保存
|
||||
var bigMapPosition = genshin.getPositionFromBigMap();
|
||||
let scale = 2.0
|
||||
let bigMapPosition
|
||||
while (scale <= 5.0) {
|
||||
try {
|
||||
await genshin.setBigMapZoomLevel(scale);
|
||||
bigMapPosition = genshin.getPositionFromBigMap();
|
||||
break;
|
||||
} catch {
|
||||
scale += 0.1;
|
||||
}
|
||||
await sleep(100);
|
||||
}
|
||||
if (bigMapPosition) {
|
||||
fourthCommission.CommissionPosition = bigMapPosition;
|
||||
log.info(
|
||||
|
||||
@@ -90,7 +90,6 @@ var Core = {
|
||||
return commissions;
|
||||
} catch (error) {
|
||||
log.error("Identification函数出现错误: {error}", error.message);
|
||||
await Utils.errorlog();
|
||||
return [];
|
||||
}
|
||||
},
|
||||
@@ -381,7 +380,6 @@ var Core = {
|
||||
return completedCount > 0;
|
||||
} catch (error) {
|
||||
log.error("执行委托追踪时出错: {error}", error.message);
|
||||
await Utils.errorlog();
|
||||
return false;
|
||||
}
|
||||
},
|
||||
@@ -389,8 +387,6 @@ var Core = {
|
||||
// 主流程执行函数
|
||||
executeMainProcess: async function() {
|
||||
try {
|
||||
log.debug("版本: {version}", Constants.VERSION);
|
||||
|
||||
var settings = await Utils.getSetting();
|
||||
|
||||
if (settings.skipRecognition) {
|
||||
@@ -414,7 +410,6 @@ var Core = {
|
||||
}
|
||||
} catch (error) {
|
||||
log.error("执行出错: {error}", error.message);
|
||||
await Utils.errorlog();
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -127,9 +127,18 @@ var Execute = {
|
||||
await sleep(300);
|
||||
keyUp("VK_ESCAPE");
|
||||
await sleep(1200);
|
||||
await genshin.setBigMapZoomLevel(2);
|
||||
// 获取地图坐标并保存
|
||||
var bigMapPosition = genshin.getPositionFromBigMap();
|
||||
let scale = 2.0
|
||||
let bigMapPosition
|
||||
while (scale <= 5.0) {
|
||||
try {
|
||||
await genshin.setBigMapZoomLevel(scale);
|
||||
bigMapPosition = genshin.getPositionFromBigMap();
|
||||
break;
|
||||
} catch {
|
||||
scale += 0.1;
|
||||
}
|
||||
await sleep(100);
|
||||
}
|
||||
if (bigMapPosition) {
|
||||
currentCommissionPosition = bigMapPosition;
|
||||
log.info(
|
||||
|
||||
@@ -188,7 +188,7 @@ var Utils = {
|
||||
var captureRegion = captureGameRegion();
|
||||
var OCRresults = await captureRegion.findMulti(locationOcrRo);
|
||||
captureRegion.dispose();
|
||||
|
||||
log.debug("OCR结果: {OCRresults}", Array.from(OCRresults).map(r => r.text) );
|
||||
return OCRresults;
|
||||
} catch (error) {
|
||||
log.error("easyOCR识别出错: {error}", error.message);
|
||||
@@ -281,15 +281,6 @@ var Utils = {
|
||||
}
|
||||
},
|
||||
|
||||
// 输出版本和编译时间信息
|
||||
errorlog: async function () {
|
||||
// 输出版本和编译时间信息
|
||||
log.info("=".repeat(20));
|
||||
log.info("版本: {version}", Constants.VERSION);
|
||||
log.info("编译时间: {buildTime}", Constants.BUILD_TIME);
|
||||
log.info("=".repeat(20));
|
||||
},
|
||||
|
||||
// 睡眠函数包装
|
||||
sleep: function (ms) {
|
||||
return sleep(ms);
|
||||
|
||||
@@ -12,6 +12,7 @@ eval(file.readTextSync("lib/commission-basic.js"));
|
||||
eval(file.readTextSync("lib/commission-recognition.js"));
|
||||
eval(file.readTextSync("lib/commission-data.js"));
|
||||
eval(file.readTextSync("lib/step-processor-loader.js"));
|
||||
eval(file.readTextSync("lib/checkVersion.js"));
|
||||
|
||||
// === BGI标准脚本入口:匿名立即执行异步函数(必须是文件的最后一个表达式) ===
|
||||
// 测试用代码
|
||||
@@ -71,11 +72,8 @@ const test = async () => {
|
||||
|
||||
(async function () {
|
||||
try {
|
||||
// 输出版本和编译时间信息
|
||||
log.info("=".repeat(20));
|
||||
log.info("版本: {version}", Constants.VERSION);
|
||||
log.info("编译时间: {buildTime}", Constants.BUILD_TIME);
|
||||
log.info("=".repeat(20));
|
||||
// 检查更新
|
||||
await printVersion()
|
||||
|
||||
// 加载步骤处理器
|
||||
log.info("正在加载步骤处理器...");
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "(对话+成就)全自动蒙德地区每日委托",
|
||||
"version": "0.98.13",
|
||||
"version": "0.98.14",
|
||||
"tags": ["委托","对话","战斗","成就","历练点"],
|
||||
"description": "自动完成每日委托、自动识别委托内容、自动追踪战斗委托、自动完成对话委托、自动获得到隐藏成就。使用前请阅读README.md获取详细说明和常见问题解答。目前项目急需人手,有意者可加群。感谢云闲vsv & 换苏伟u & 小鹰划船不用桨 & 塔台 & 未知_ 的共同开发",
|
||||
"authors": [
|
||||
@@ -11,5 +11,10 @@
|
||||
}
|
||||
],
|
||||
"settings_ui": "settings.json",
|
||||
"main": "main.js"
|
||||
"main": "main.js",
|
||||
"http_allowed_urls": [
|
||||
"https://cnb.cool/bettergi/bettergi-scripts-list/*",
|
||||
"https://github.com/babalae/bettergi-scripts-list/*",
|
||||
"https://github.com/1004452714/AutoCommission/*"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user