fix: 尝试修复肉鸽购买收藏品干员时卡住的问题

fix https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/1364
This commit is contained in:
MistEO
2022-07-29 22:40:15 +08:00
parent 66a1a28d55
commit c1f4e7f33e
2 changed files with 11 additions and 2 deletions

View File

@@ -23,6 +23,8 @@ bool asst::RoguelikeShoppingTaskPlugin::verify(AsstMsg msg, const json::value& d
bool asst::RoguelikeShoppingTaskPlugin::_run()
{
LogTraceFunction;
OcrWithFlagTemplImageAnalyzer analyzer;
analyzer.set_task_info("Roguelike1TraderShopping", "Roguelike1TraderShoppingOcr");
@@ -34,6 +36,10 @@ bool asst::RoguelikeShoppingTaskPlugin::_run()
const auto& order_goods_list = Resrc.roguelike_shopping().get_goods();
for (const auto& goods : order_goods_list) {
if (need_exit()) {
return false;
}
if (goods.restriction != BattleRole::Unknown) {
// TODO
continue;
@@ -47,7 +53,10 @@ bool asst::RoguelikeShoppingTaskPlugin::_run()
}
Log.info("Ready to buy", goods.name);
m_ctrler->click(find_it->rect);
bool confirmed = ProcessTask(*this, { "Roguelike1TraderShoppingConfirm" })
bool confirmed = ProcessTask(*this, { "Roguelike1TraderShoppingConfirm", "Roguelike1ChooseOperFlag" })
.set_times_limit("Roguelike1TraderRandomShopping", 0)
.set_times_limit("Roguelike1StageTraderLeave", 0)
.set_times_limit("Roguelike1ExitThenAbandon", 0)
.set_retry_times(5)
.run();

View File

@@ -21,7 +21,7 @@ asst::RoguelikeTask::RoguelikeTask(const AsstCallback& callback, void* callback_
m_roguelike_task_ptr->regiseter_plugin<RoguelikeFormationTaskPlugin>();
m_roguelike_task_ptr->regiseter_plugin<RoguelikeControlTaskPlugin>();
m_roguelike_task_ptr->regiseter_plugin<RoguelikeShoppingTaskPlugin>();
m_roguelike_task_ptr->regiseter_plugin<RoguelikeShoppingTaskPlugin>()->set_retry_times(0);
m_custom_start_task_ptr = m_roguelike_task_ptr->regiseter_plugin<RoguelikeCustomStartTaskPlugin>();
m_battle_task_ptr = m_roguelike_task_ptr->regiseter_plugin<RoguelikeBattleTaskPlugin>();