public override void Tick(Mat viewportMat, RECT viewportRect) { if (TryClickTemplateRect(viewportMat, viewportRect, SKIP_LABEL_MKEY)) { logTools.Debug("StoryScript", "SKIP_LABEL"); } else if (TryClickTemplateRect(viewportMat, viewportRect, SKIP_TAG_MKEY)) { logTools.Debug("StoryScript", "SKIP_TAG"); } else if (TryClickTemplateRect(viewportMat, viewportRect, MENU_TAG_MKEY)) { logTools.Debug("StoryScript", "MENU_TAG"); } else if (TryClickTemplateRect(viewportMat, viewportRect, BTN_CLOSE_MKEY)) { logTools.Debug("StoryScript", "BTN_CLOSE"); } else if (CanMatchTemplate(viewportMat, viewportRect, DATA_DOWNLOAD_TITLE_MKEY)) { logTools.Debug("StoryScript", "DATA_DOWNLOAD"); mumuTools.DoClick(DOWNLOAD_WITHOUT_VOICE_KEY); } else if (TryClickTemplateRect(viewportMat, viewportRect, STORY_ITEM_NEW_TAG_MKEY)) { logTools.Debug("StoryScript", "STORY_ITEM_NEW_TAG"); } else if (TryClickListItemNewTag(viewportMat, viewportRect)) { newFlag = true; logTools.Debug("StoryScript", "TryClickListItemNewTag"); } else { var shouldClickBack = dragTimes > dragLimit; if (dragTimes > dragLimit) { newFlag = false; } shouldClickBack = shouldClickBack || !CanMatchTemplate(viewportMat, viewportRect, STORY_GUIDE_TAG_MKEY); shouldClickBack = shouldClickBack && !newFlag; if (shouldClickBack) { ClickBack(); dragTimes = 0; } else { mumuTools.DoClick(CHOICE_2_KEY); Thread.Sleep(500); DragDownList(); dragTimes++; } } }
public override void Tick(Mat viewportMat, RECT viewportRect) { var list = GetPlayerInfoList(viewportMat, viewportRect); var playerIndex = FindPlayerIndex(list); if (playerIndex != NOT_FOUND) { logTools.Info("ArenaSearch", $"PlayerIndex: {playerIndex}"); mumuTools.DoClick($"Arena_Player_{playerIndex + 1}"); var playerInfo = list[playerIndex]; throw new BreakException(Trans.T("已找到目标玩家,名字:{0},排名:{1},脚本终止", playerInfo.Name, playerInfo.Rank)); } else { logTools.Info("ArenaSearch", $"PlayerIndex Not Found"); mumuTools.DoClick(ARENA_REFRESH_KEY); } }
public override void Tick(Mat viewportMat, RECT viewportRect) { if (TryClickTutorialArrow(viewportMat, viewportRect)) { } else if (CanMatchTemplate(viewportMat, viewportRect, STAGELINE_NEXT_TAG_MKEY)) { var matchRes = lastMatchResult; var rectRate = GetMatchSourceRectRate(STAGELINE_NEXT_TAG_MKEY); var absoluteRect = matchRes.GetMatchedAbsoluteRect(viewportRect, rectRate); var pos = absoluteRect.GetCenterPos(); pos.Y = pos.Y + (int)(viewportRect.Height * 0.1400f); var emulatorPoint = mumuTools.GetEmulatorPoint(viewportRect, pos); mumuTools.DoClick(emulatorPoint); } else if (TryClickTemplateRect(viewportMat, viewportRect, BTN_CANCEL_MKEY)) { logTools.Debug("StagelineBattle", "Try Click BTN_CANCEL"); } else if (TryClickTemplateRect(viewportMat, viewportRect, BTN_CLOSE_MKEY)) { logTools.Debug("StagelineBattle", "Try Click BTN_CLOSE"); } else if (TryClickTemplateRect(viewportMat, viewportRect, BTN_CONFIRM_OK_MKEY)) { logTools.Debug("StagelineBattle", "Try Click BTN_CONFIRM_OK_MKEY"); } else if (battleSceneHandler(viewportMat, viewportRect)) { } else if (defaultHandler(viewportMat, viewportRect)) { } else { mumuTools.DoClick(new Vec2f(0.1f, 0.8f)); //ClickTab(viewportRect, PCRTab.Battle); //Thread.Sleep(2000); //mumuTools.DoClick(new Vec2f(0.6273f, 0.3891f));//主线冒险 } }
public override void Tick(Mat viewportMat, RECT viewportRect) { if (CanMatchTemplate(viewportMat, viewportRect, DATA_DOWNLOAD_TITLE_MKEY)) { logTools.Debug("ActLikabilityScript", "DATA_DOWNLOAD"); mumuTools.DoClick(DOWNLOAD_WITHOUT_VOICE_KEY); } else if (CanMatchTemplate(viewportMat, viewportRect, LIKABILITY_TITLE_MKEY)) { logTools.Debug("ActLikabilityScript", "LIKABILITY_TITLE"); if (TryClickListItemNewTag(viewportMat, viewportRect)) { logTools.Debug("ActLikabilityScript", "TryClickListItemNewTag"); } else { logTools.Debug("ActLikabilityScript", "DragDownList"); DragDownList(); } } else if (CanMatchTemplate(viewportMat, viewportRect, LIKABILITY_PREVIEW_TITLE_MKEY)) { logTools.Debug("ActLikabilityScript", "LIKABILITY_PREVIEW_TITLE"); if (TryClickTemplateRect(viewportMat, viewportRect, LIKABILITY_ITEM_NEW_TAG_MKEY)) { logTools.Debug("ActLikabilityScript", "LIKABILITY_ITEM_NEW_TAG"); } else { ClickBack(); } } else { mumuTools.DoClick(CHOICE_2_KEY); } }
public bool TryClickTemplateRect(Mat viewportMat, RECT viewportRect, string type, string imgName) { var matchResult = GetMatchTemplateResult(viewportMat, viewportRect, type, imgName); if (!matchResult.Success) { return(false); } var matchSourceRectRate = GetMatchSourceRectRate(type, imgName); var rectToViewport = matchResult.GetMatchedAbsoluteRect(viewportRect, matchSourceRectRate); var centerPos = rectToViewport.GetCenterPos(); var emulatorPoint = mumuTools.GetEmulatorPoint(viewportRect, centerPos); mumuTools.DoClick(emulatorPoint); return(true); }
public override void OnBattleFailed(Mat viewportMat, RECT viewportRect) { mumuTools.DoClick(BATTLE_FAILED_GO_BACK_KEY); }