示例#1
0
文件: AutoLevel.cs 项目: ko9ma7/Gcld
        private bool GoToFighting(string area, bool isSkip = false)
        {
            Role     role = (Role)Role;
            DmPlugin dm   = role.Window.Dm;

            role.GoToMap30("副本");
            // role.GoToFubenArea(area);
            if (area == "下邳")
            {
                dm.Swipe(670, 427, 93, 425);
                dm.Delay(1000);
            }
            Delegater.WaitTrue(() =>
            {
                dm.MoveToClick(21, 182);
                if (dm.IsExistPic(116, 72, 936, 351, @"\bmp\战斗.bmp"))
                {
                    return(true);
                }
                dm.FindPicAndClick(395, 311, 574, 393, @"\bmp\上阵.bmp");
                return(false);
            }, () => dm.Delay(500), 10);

            if (Delegater.WaitTrue(() =>
            {
                dm.FindPicAndClick(395, 311, 574, 393, @"\bmp\上阵.bmp");
                dm.FindPicAndClick(116, 72, 936, 351, @"\bmp\战斗.bmp");
                if (dm.IsExistPic(394, 216, 567, 307, @"\bmp\VS.bmp"))
                {
                    //补充兵力
                    dm.MoveToClick(612, 122);
                    dm.Delay(1000);

                    dm.MoveToClick(749, 128);
                    dm.Delay(1000);
                    dm.MoveToClick(807, 259); //点击战斗
                }
                if (!dm.IsExistPic(394, 216, 567, 307, @"\bmp\VS.bmp") && dm.IsExistPic(762, 4, 953, 87, @"\bmp\返回.bmp") && isSkip)
                {
                    dm.MoveToClick(840, 43); //点击跳过
                    dm.Delay(3000);
                }

                if (dm.IsExistPic(330, 45, 639, 184, @"\bmp\胜利.bmp"))
                {
                    dm.MoveToClick(916, 45); //点击返回
                    dm.Delay(1000);
                    return(true);
                }
                if (dm.IsExistPic(318, 36, 637, 195, @"\bmp\失败.bmp"))
                {
                    dm.MoveToClick(916, 45); //点击返回
                    dm.Delay(1000);
                    return(true);
                }
                return(false);
            }, () => dm.Delay(1000), 10))
            {
                return(true);
            }
            else
            {
                return(GoToFighting(area, true));
            }
        }
示例#2
0
        public bool ChangeRole()
        {
            OutMessage("切换角色中...");
            Delegater.WaitTrue(() => _dm.MoveToClick(29, 51), () => IsExistWindowMenu("角色"), () => { _dm.Delay(1000); CloseWindow(); });
            Delegater.WaitTrue(() =>
            {
                OpenWindowMenu("角色");
                return(_dm.FindPicAndClick(446, 408, 580, 486, @"\bmp\切换角色.bmp|\bmp\切换角色2.bmp"));
            }, () => _dm.IsExistPic(394, 416, 563, 486, @"\bmp\开始游戏.bmp|\bmp\开始游戏2.bmp", 0.8, false), () => _dm.Delay(1000));

            Delegater.WaitTrue(() =>
            {
                _dm.Delay(1000);
                _dm.Swipe(490, 337, 490, 128);
                _dm.Delay(500);
                _dm.Swipe(490, 337, 490, 128);
                _dm.Delay(500);
                _dm.Swipe(490, 337, 490, 128);
                _dm.Delay(500);
                _dm.Swipe(490, 337, 490, 128);
                _dm.Delay(1000);

                if (_dm.FindPicAndClick(312, 285, 646, 394, @"\bmp\等级.bmp"))
                {
                    _dm.Delay(500);
                    return(_dm.FindPicAndClick(316, 289, 635, 482, @"\bmp\开始.bmp"));
                }
                return(false);
            });
            Delegater.WaitTrue(() =>
            {
                if (_dm.IsExistPic(818, 281, 953, 447, @"\bmp\世界.bmp") || _dm.IsExistPic(818, 281, 953, 447, @"\bmp\副本.bmp"))
                {
                    while (_dm.IsExistPic(406, 378, 557, 432, @"\bmp\以后再说.bmp", 0.8))
                    {
                        _dm.MoveToClick(544, 414);
                        _dm.Delay(1000);
                    }
                    _dm.Delay(1000);
                    return(true);
                }
                return(false);
            }, () => _dm.Delay(1000));
            _dm.Delay(3000);
            Player = GameHelper.GetPlayer();
            if (Player != null)
            {
                if (!playerList.Contains(Player.playerName))
                {
                    playerList.Add(Player.playerName);
                }
                else
                {
                    if (playerList.Count >= 10)
                    {
                        return(false);
                    }
                }
            }
            else
            {
                throw new Exception("未能获取到角色信息!");
            }
            return(true);
        }