diff --git a/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/main.js b/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/main.js index 1ca029c2..cf64520a 100644 --- a/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/main.js +++ b/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/main.js @@ -71,7 +71,7 @@ } // 好感核心函数 - async function AutoFriendship(runTimes, statueTimes, GetMeatMode, delayTime, startTime) { + async function AutoFriendship(runTimes, statueTimes, GetMeatMode, delayTime, startTime, ocrTimeout) { for (let i = 0; i < runTimes; i++) { if ((i + 1) % statueTimes === 0) { // 判断当前循环次数否达到去神像设置值 await genshin.tpToStatueOfTheSeven(); @@ -85,9 +85,10 @@ await genshin.relogin(); - // OCR识别是否触发任务 + // OCR识别是否触发任务(默认30秒超时) let ocrStatus = false; - for (let c = 0; c < 3; c++) { + let ocrStartTime = Date.now(); + while (Date.now() - ocrStartTime < ocrTimeout) { let captureRegion = captureGameRegion(); let resList = captureRegion.findMulti(RecognitionObject.ocr(0, 200, 300, 300)); for (let o = 0; o < resList.count; o++) { @@ -137,6 +138,7 @@ let statueTimes = goStatue ? (isNaN(settings.statueTimes) ? 5 : settings.statueTimes) : 0; // 延迟相关 let delayTime = settings.delayTime ? settings.delayTime * 1000 : 0; + let ocrTimeout = settings.ocrTimeout ? settings.ocrTimeout * 1000 : 30000; // 卡时间相关参数 if (settings.waitTimeMode) { let maxTimes = settings.maxTimes ? settings.maxTimes : runTimes; @@ -193,6 +195,6 @@ } const startTime = Date.now(); - await AutoFriendship(runTimes, statueTimes, GetMeatMode, delayTime, startTime); + await AutoFriendship(runTimes, statueTimes, GetMeatMode, delayTime, startTime, ocrTimeout); })(); \ No newline at end of file diff --git a/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/manifest.json b/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/manifest.json index f41fa9ca..0516071a 100644 --- a/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/manifest.json +++ b/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "兽肉好感:自动好感度&刷两只鳄鱼兽肉&卡时间", - "version": "1.3.4", + "version": "1.3.5", "bgi_version": "0.44.6", "description": "通过突发事件:张牙舞爪的恶党刷兽肉,并顺带获取好感度(好感度超过10次后不再获取),请使用满员好感度队伍,并为全体队伍角色配置相应的战斗策略", "authors": [ diff --git a/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/settings.json b/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/settings.json index 07646cbc..90b8a881 100644 --- a/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/settings.json +++ b/repo/js/AutoFriendshipEvilBaresItsFangsGetRawMeat/settings.json @@ -48,5 +48,10 @@ "name": "delayTime", "type": "input-text", "label": "到达触发地点后的延迟时间(秒)" + }, + { + "name": "ocrTimeout", + "type": "input-text", + "label": "OCR超时时间(选填,默认为30秒)" } ] \ No newline at end of file