From b45a13a01cd9ef650fd45c9d9d4db2cd486c8da8 Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Tue, 26 Dec 2023 10:59:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=82=89=E9=B8=BD=E5=88=B7=E9=92=B1=E6=A8=A1=E5=BC=8F=E4=B8=8B?= =?UTF-8?q?=E9=9D=9E=E9=A2=84=E6=9C=9F=E7=9A=84=E8=82=89=E9=B8=BD=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 8 ++++---- .../Roguelike/RoguelikeSettlementTaskPlugin.cpp | 14 ++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index f067b1d05b..740ce81a73 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -10817,7 +10817,9 @@ ] }, "RoguelikeSettlementOcr-Exp": { - "baseTask": "NumberOcrReplace", + "algorithm": "OcrDetect", + "isAscii": true, + "text": [], "roi": [ 643, 525, @@ -10875,9 +10877,7 @@ ] }, "RoguelikeSettlementOcr-Step": { - "algorithm": "OcrDetect", - "isAscii": true, - "text": [], + "baseTask": "NumberOcrReplace", "roi": [ 102, 238, diff --git a/src/MaaCore/Task/Roguelike/RoguelikeSettlementTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeSettlementTaskPlugin.cpp index 85d2dec30a..c0f91399b5 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeSettlementTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeSettlementTaskPlugin.cpp @@ -15,13 +15,11 @@ bool asst::RoguelikeSettlementTaskPlugin::verify(AsstMsg msg, const json::value& auto task_name = details.at("details").at("task").as_string(); if (task_name.ends_with("Roguelike@GamePass")) { m_game_pass = true; - return true; - //m_config->get_mode() == RoguelikeMode::Exp; + return m_config->get_mode() == RoguelikeMode::Exp; } else if (task_name.ends_with("Roguelike@MissionFailedFlag2")) { m_game_pass = false; - return true; - //m_config->get_mode() == RoguelikeMode::Exp; + return m_config->get_mode() == RoguelikeMode::Exp; } else { return false; @@ -30,7 +28,7 @@ bool asst::RoguelikeSettlementTaskPlugin::verify(AsstMsg msg, const json::value& bool asst::RoguelikeSettlementTaskPlugin::_run() { - const static auto task = Task.get("RoguelikeSettlementConfirm"); + const static auto& task = Task.get("RoguelikeSettlementConfirm"); auto json_msg = basic_info_with_what("RoguelikeSettlement"); json_msg["details"]["game_pass"] = m_game_pass; @@ -39,7 +37,7 @@ bool asst::RoguelikeSettlementTaskPlugin::_run() save_img(ctrler()->get_image(), utils::path("achievement") / utils::path("roguelike"), "Page1"); } - const static auto rect = Task.get("Roguelike@ClickToStartPoint")->specific_rect; + const static auto& rect = Task.get("Roguelike@ClickToStartPoint")->specific_rect; ctrler()->click(rect); sleep(task->pre_delay); @@ -88,8 +86,8 @@ bool asst::RoguelikeSettlementTaskPlugin::get_settlement_info(json::value& info, RegionOCRer ocr(image); ocr.set_task_info(m_config->get_theme() + "@" + task_name); ocr.set_bin_threshold(50, 255); - static const auto& number_replace = Task.get("NumberOcrReplace")->replace_map; - const auto& task_replace = Task.get(task_name)->replace_map; + const auto& number_replace = Task.get("NumberOcrReplace")->replace_map; + auto task_replace = Task.get(task_name)->replace_map; auto merge_map = std::vector(number_replace.begin(), number_replace.end()); ranges::copy(task_replace, std::back_inserter(merge_map));