From fb55b010942e392454bb3fc5809d4f6d3cfd96bd Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 26 Nov 2022 05:16:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=89=A7=E8=A1=8C=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MeoAssistant/Task/Interface/AwardTask.cpp | 4 +++- src/MeoAssistant/Task/Interface/DepotTask.cpp | 2 +- src/MeoAssistant/Task/Interface/FightTask.cpp | 6 ++---- src/MeoAssistant/Task/Interface/InfrastTask.cpp | 10 +++++++++- src/MeoAssistant/Task/Interface/MallTask.cpp | 10 +++++----- src/MeoAssistant/Task/Interface/RecruitTask.cpp | 2 +- src/MeoAssistant/Task/Interface/RoguelikeTask.cpp | 11 ++++++----- src/MeoAssistant/Task/Interface/StartUpTask.cpp | 4 ++-- 8 files changed, 29 insertions(+), 20 deletions(-) diff --git a/src/MeoAssistant/Task/Interface/AwardTask.cpp b/src/MeoAssistant/Task/Interface/AwardTask.cpp index 4f7e5e9120..bb53c94204 100644 --- a/src/MeoAssistant/Task/Interface/AwardTask.cpp +++ b/src/MeoAssistant/Task/Interface/AwardTask.cpp @@ -7,5 +7,7 @@ asst::AwardTask::AwardTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType) { - m_subtasks.emplace_back(std::make_shared(m_callback, m_callback_arg, TaskType)); + auto award_task_ptr = std::make_shared(m_callback, m_callback_arg, TaskType); + award_task_ptr->set_tasks({ "AwardBegin" }); + m_subtasks.emplace_back(award_task_ptr); } diff --git a/src/MeoAssistant/Task/Interface/DepotTask.cpp b/src/MeoAssistant/Task/Interface/DepotTask.cpp index d30df94400..4247a9bed3 100644 --- a/src/MeoAssistant/Task/Interface/DepotTask.cpp +++ b/src/MeoAssistant/Task/Interface/DepotTask.cpp @@ -7,7 +7,7 @@ asst::DepotTask::DepotTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType) { auto enter_task = std::make_shared(m_callback, m_callback_arg, TaskType); - enter_task->set_tasks({ "DepotBegin" }); + enter_task->set_tasks({ "DepotBegin" }).set_ignore_error(true); m_subtasks.emplace_back(enter_task); auto recognition_task = std::make_shared(m_callback, m_callback_arg, TaskType); diff --git a/src/MeoAssistant/Task/Interface/FightTask.cpp b/src/MeoAssistant/Task/Interface/FightTask.cpp index df4c52825b..b4fa178b26 100644 --- a/src/MeoAssistant/Task/Interface/FightTask.cpp +++ b/src/MeoAssistant/Task/Interface/FightTask.cpp @@ -29,18 +29,16 @@ asst::FightTask::FightTask(const AsstCallback& callback, void* callback_arg) .set_times_limit("PRTS", 0) .set_times_limit("PRTS2", 0) .set_times_limit("EndOfAction", 0) - .set_ignore_error(false) .set_retry_times(5); - m_stage_navigation_task_ptr->set_enable(false).set_ignore_error(false); + m_stage_navigation_task_ptr->set_enable(false); // 开始战斗任务 m_fight_task_ptr->set_tasks({ "FightBegin" }) .set_times_limit("MedicineConfirm", 0) .set_times_limit("StoneConfirm", 0) .set_times_limit("StartButton1", INT_MAX) - .set_times_limit("StartButton2", INT_MAX) - .set_ignore_error(false); + .set_times_limit("StartButton2", INT_MAX); m_stage_drops_plugin_ptr = m_fight_task_ptr->register_plugin(); m_stage_drops_plugin_ptr->set_retry_times(0); diff --git a/src/MeoAssistant/Task/Interface/InfrastTask.cpp b/src/MeoAssistant/Task/Interface/InfrastTask.cpp index d7b89a10ed..969f71b818 100644 --- a/src/MeoAssistant/Task/Interface/InfrastTask.cpp +++ b/src/MeoAssistant/Task/Interface/InfrastTask.cpp @@ -26,8 +26,16 @@ asst::InfrastTask::InfrastTask(const AsstCallback& callback, void* callback_arg) m_office_task_ptr(std::make_shared(callback, callback_arg, TaskType)), m_dorm_task_ptr(std::make_shared(callback, callback_arg, TaskType)) { - m_infrast_begin_task_ptr->set_tasks({ "InfrastBegin" }); + m_infrast_begin_task_ptr->set_tasks({ "InfrastBegin" }).set_ignore_error(true); m_replenish_task_ptr = m_mfg_task_ptr->register_plugin(); + m_info_task_ptr->set_ignore_error(true); + m_mfg_task_ptr->set_ignore_error(true); + m_trade_task_ptr->set_ignore_error(true); + m_power_task_ptr->set_ignore_error(true); + m_control_task_ptr->set_ignore_error(true); + m_reception_task_ptr->set_ignore_error(true); + m_office_task_ptr->set_ignore_error(true); + m_dorm_task_ptr->set_ignore_error(true); m_subtasks.emplace_back(m_infrast_begin_task_ptr); } diff --git a/src/MeoAssistant/Task/Interface/MallTask.cpp b/src/MeoAssistant/Task/Interface/MallTask.cpp index 55a9aff04a..153bbff2bd 100644 --- a/src/MeoAssistant/Task/Interface/MallTask.cpp +++ b/src/MeoAssistant/Task/Interface/MallTask.cpp @@ -19,12 +19,12 @@ asst::MallTask::MallTask(const AsstCallback& callback, void* callback_arg) m_shopping_task_ptr->set_enable(false).set_retry_times(1); m_shopping_force_task_ptr->set_enable(false).set_retry_times(1); - m_subtasks.emplace_back(m_visit_task_ptr); - m_subtasks.emplace_back(m_credit_fight_task_ptr); + m_subtasks.emplace_back(m_visit_task_ptr)->set_ignore_error(true); + m_subtasks.emplace_back(m_credit_fight_task_ptr)->set_ignore_error(true); m_subtasks.emplace_back(m_mall_task_ptr); - m_subtasks.emplace_back(m_shopping_first_task_ptr); - m_subtasks.emplace_back(m_shopping_task_ptr); - m_subtasks.emplace_back(m_shopping_force_task_ptr); + m_subtasks.emplace_back(m_shopping_first_task_ptr)->set_ignore_error(true); + m_subtasks.emplace_back(m_shopping_task_ptr)->set_ignore_error(true); + m_subtasks.emplace_back(m_shopping_force_task_ptr)->set_ignore_error(true); } bool asst::MallTask::set_params(const json::value& params) diff --git a/src/MeoAssistant/Task/Interface/RecruitTask.cpp b/src/MeoAssistant/Task/Interface/RecruitTask.cpp index 62484ce6ee..9364a2cd99 100644 --- a/src/MeoAssistant/Task/Interface/RecruitTask.cpp +++ b/src/MeoAssistant/Task/Interface/RecruitTask.cpp @@ -7,7 +7,7 @@ asst::RecruitTask::RecruitTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType), m_auto_recruit_task_ptr(std::make_shared(callback, callback_arg, TaskType)) { - m_subtasks.emplace_back(m_auto_recruit_task_ptr)->set_retry_times(5).set_ignore_error(false); + m_subtasks.emplace_back(m_auto_recruit_task_ptr)->set_retry_times(5); } bool asst::RecruitTask::set_params(const json::value& params) diff --git a/src/MeoAssistant/Task/Interface/RoguelikeTask.cpp b/src/MeoAssistant/Task/Interface/RoguelikeTask.cpp index 4f0e2670fd..46f23d9580 100644 --- a/src/MeoAssistant/Task/Interface/RoguelikeTask.cpp +++ b/src/MeoAssistant/Task/Interface/RoguelikeTask.cpp @@ -18,6 +18,7 @@ asst::RoguelikeTask::RoguelikeTask(const AsstCallback& callback, void* callback_ : InterfaceTask(callback, callback_arg, TaskType), m_roguelike_task_ptr(std::make_shared(callback, callback_arg, TaskType)) { + m_roguelike_task_ptr->set_ignore_error(true); m_roguelike_task_ptr->register_plugin(); m_roguelike_task_ptr->register_plugin(); m_roguelike_task_ptr->register_plugin(); @@ -27,9 +28,9 @@ asst::RoguelikeTask::RoguelikeTask(const AsstCallback& callback, void* callback_ m_custom_start_task_ptr = m_roguelike_task_ptr->register_plugin(); m_battle_task_ptr = m_roguelike_task_ptr->register_plugin(); m_recruit_task_ptr = m_roguelike_task_ptr->register_plugin(); - m_recruit_task_ptr->set_retry_times(2); + m_recruit_task_ptr->set_retry_times(2).set_ignore_error(true); m_skill_task_ptr = m_roguelike_task_ptr->register_plugin(); - m_skill_task_ptr->set_retry_times(2); + m_skill_task_ptr->set_retry_times(2).set_ignore_error(true); // 这个任务如果卡住会放弃当前的肉鸽并重新开始,所以多添加一点。先这样凑合用 for (int i = 0; i != 100; ++i) { @@ -94,13 +95,13 @@ bool asst::RoguelikeTask::set_params(const json::value& params) m_roguelike_task_ptr->set_times_limit("StageTraderInvestConfirm", InvestLimit); } - if (auto squad_opt = params.find("squad")) { + if (auto squad_opt = params.find("squad"); squad_opt && !squad_opt->empty()) { m_custom_start_task_ptr->set_custom(RoguelikeCustomType::Squad, *squad_opt); } - if (auto roles_opt = params.find("roles")) { + if (auto roles_opt = params.find("roles"); roles_opt && !roles_opt->empty()) { m_custom_start_task_ptr->set_custom(RoguelikeCustomType::Roles, *roles_opt); } - if (auto core_char_opt = params.find("core_char")) { + if (auto core_char_opt = params.find("core_char"); core_char_opt && !core_char_opt->empty()) { m_custom_start_task_ptr->set_custom(RoguelikeCustomType::CoreChar, *core_char_opt); } diff --git a/src/MeoAssistant/Task/Interface/StartUpTask.cpp b/src/MeoAssistant/Task/Interface/StartUpTask.cpp index a58030f55e..e0a6ff9b48 100644 --- a/src/MeoAssistant/Task/Interface/StartUpTask.cpp +++ b/src/MeoAssistant/Task/Interface/StartUpTask.cpp @@ -13,8 +13,8 @@ asst::StartUpTask::StartUpTask(const AsstCallback& callback, void* callback_arg) .set_times_limit("ReturnTo", 0) .set_task_delay(1000) .set_retry_times(30); - m_subtasks.emplace_back(m_start_game_task_ptr)->set_ignore_error(false); - m_subtasks.emplace_back(m_start_up_task_ptr)->set_ignore_error(false); + m_subtasks.emplace_back(m_start_game_task_ptr)->set_ignore_error(true); + m_subtasks.emplace_back(m_start_up_task_ptr); } bool asst::StartUpTask::set_params(const json::value& params)