コード例 #1
0
 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++;
         }
     }
 }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
 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));//主线冒险
     }
 }
コード例 #4
0
 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);
     }
 }
コード例 #5
0
        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);
        }
コード例 #6
0
 public override void OnBattleFailed(Mat viewportMat, RECT viewportRect)
 {
     mumuTools.DoClick(BATTLE_FAILED_GO_BACK_KEY);
 }