群友说枫丹有问题,改成蒙德

This commit is contained in:
起个名字好难的喵
2025-08-28 16:59:59 +08:00
parent 0a6b7f343a
commit da26bf3a97
8 changed files with 9 additions and 74 deletions

View File

@@ -1,50 +0,0 @@
async function recognizeTextInRegion(ocrRegion, timeout = 2 * 60 * 1000) {
let startTime = Date.now();
const successKeywords = ["挑战达成", "战斗胜利", "挑战成功"];
const failureKeywords = ["挑战失败"];
while (Date.now() - startTime < timeout) {
try {
let result = captureGameRegion().find(RecognitionObject.ocr(ocrRegion.x, ocrRegion.y, ocrRegion.width, ocrRegion.height));
let text = result.text;
for (let keyword of successKeywords) {
if (text.includes(keyword)) {
log.info("检测到战斗成功关键词: {0}", keyword);
return true;
}
}
for (let keyword of failureKeywords) {
if (text.includes(keyword)) {
log.warn("检测到战斗失败关键词: {0}", keyword);
return false;
}
}
}
catch (error) {
log.error("OCR过程中出错: {0}", error);
}
await sleep(1000); // 检查间隔
}
log.warn("在超时时间内未检测到战斗结果");
return false;
}
(async function () {
await genshin.returnMainUi();
keyPress("F");
// 上面是地脉测试使用的代码 正式使用请注释掉
const cts = new CancellationTokenSource();
try {
log.info("开始执行自动战斗任务...");
const battleTask = dispatcher.RunTask(new SoloTask("AutoFight"), cts);
const ocrRegionX = 850;
const ocrRegionY = 230;
const ocrRegionWidth = 1040 - 850;
const ocrRegionHeight = 300 - 230;
let ocrRegion = { x: ocrRegionX, y: ocrRegionY, width: ocrRegionWidth, height: ocrRegionHeight };
let fightResult = await recognizeTextInRegion(ocrRegion) ? "成功" : "失败";
log.info(`战斗任务已结束,战斗结果:${fightResult}`);
cts.cancel();
} catch (error) {
log.error(`执行过程中出错: ${error}`);
}
})();

View File

@@ -1,18 +0,0 @@
{
"manifest_version": 1,
"name": "AutoFightAsync",
"version": "1.0",
"bgi_version": "0.34.6",
"description": "异步调用独立战斗任务根据OCR结果判断战斗是否结束不建议直接使用仅供其他脚本作者参考",
"tags": [
"示例"
],
"authors": [
{
"name": "秋云",
"links": "https://github.com/physligl"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -2,7 +2,7 @@
///
// 读取用户配置
///
let smithyName = settings.smithyName != undefined ? settings.smithyName : "枫丹铁匠铺";
let smithyName = settings.smithyName != undefined ? settings.smithyName : "蒙德铁匠铺";
///
// 定义函数

View File

@@ -2,7 +2,7 @@
"manifest_version": 1,
"name": "自动锻造魔矿",
"version": "1.1",
"description": "自动选择铁匠铺去锻造魔矿,默认选择枫丹铁匠铺;可选择其他地区铁匠铺。由于地图追踪功能不支持室内定位,所以不支持纳塔铁匠铺。",
"description": "自动选择铁匠铺去锻造魔矿,默认选择蒙德铁匠铺;可选择其他地区铁匠铺。由于地图追踪功能不支持室内定位,所以不支持纳塔铁匠铺。",
"authors": [
{
"name": "寒露",
@@ -10,6 +10,8 @@
}
],
"tags": [
"锻造",
"精锻用魔矿",
"坐标点击"
],
"settings_ui": "settings.json",

View File

@@ -2,7 +2,7 @@
{
"name": "smithyName", // 变量名在js内使用 settings.变量名 获取对应的配置值
"type": "select", // 类型
"label": "选择铁匠铺(默认:枫丹铁匠铺)",
"label": "选择铁匠铺(默认:蒙德铁匠铺)",
"options": [
"蒙德铁匠铺",
"璃月铁匠铺",

View File

@@ -1,7 +1,7 @@
/*********************** 配置与常量 ***********************/
// 用户配置
let smithyName = settings.smithyName || "枫丹铁匠铺"; // 铁匠铺地区
let smithyName = settings.smithyName || "蒙德铁匠铺"; // 铁匠铺地区
let primaryOre = settings.ore || "水晶块"; // 主选矿石
let secondaryOre = settings.secondaryOre || "萃凝晶"; // 备选矿石1
let tertiaryOre = settings.tertiaryOre || "紫晶块"; // 备选矿石2

View File

@@ -7,7 +7,8 @@
"tags": [
"铁匠铺",
"锻造",
"精锻用矿"
"精锻用矿",
"模板匹配"
],
"authors": [
{

View File

@@ -7,7 +7,7 @@
{
"name": "smithyName",
"type": "select",
"label": "选择铁匠铺(默认:枫丹铁匠铺)",
"label": "选择铁匠铺(默认:蒙德铁匠铺)",
"options": [
"蒙德铁匠铺",
"璃月铁匠铺",