Esempio n. 1
0
        public void Action(string str)
        {
            gop.locate(str, gop.setting.AutoTrans);
            var revive_img = gop.setting.ReviveWay == 1 ? "复活点复活|复活点复活2" : "原地复活";
            var prev_time  = DateTime.Now;

            while (true)
            {
                if (gop.setting.LocateInterval > 0)
                {
                    var now = DateTime.Now;
                    if (now - prev_time >= TimeSpan.FromSeconds(gop.setting.LocateInterval))
                    {
                        gop.setState("循环寻路中");
                        gop.locate(str, gop.setting.AutoTrans);
                        prev_time = now;
                    }
                }
                gop.setState("攻击目标中");
                gop.fangjineng();
                Thread.Sleep(1000);
                var p = gop.findImage(revive_img);
                if (p.X > -1)
                {
                    gop.setState("复活中");
                    gop.click(p.X, p.Y);
                    if (gop.setting.ReviveWay == 1)
                    {
                        gop.setState("准备移动到目标点");
                        Thread.Sleep(1000);
                        gop.locate(str, gop.setting.AutoTrans);
                    }
                }
            }
        }
Esempio n. 2
0
        public void Action(string msg)
        {
            var revive_img = gop.setting.ReviveWay != 1 ? "复活点复活|复活点复活2" : "原地复活";

            while (true)
            {
                gop.clear();
                gop.dm.KeyPress(Keys.M);
                Thread.Sleep(1000);
                var p = gop.findImage("跨服boss一层");
                if (p.X > -1)
                {
                    gop.setState("进入跨服一层");
                    p = gop.findImage("dot");
                    gop.click(p.X, p.Y);
                    gop.waitCompleteLocate();
                }
                p = gop.findImage("跨服boss二层");
                if (p.X > -1)
                {
                    gop.setState("进入跨服二层");
                    p = gop.findImage("dot");
                    gop.click(p.X, p.Y);
                    p = gop.waitForImage("是");
                    gop.click(p.X, p.Y);
                }
                gop.setState("等待进入虚宁洞天");
                gop.waitForImage("虚宁洞天");
                gop.setState("寻路到目的地");
                gop.locate(msg);
                while (true)
                {
                    gop.setState("攻击目标中");
                    gop.fangjineng();
                    p = gop.findImage(revive_img);
                    if (p.X > -1)
                    {
                        gop.setState("已死亡,复活中");
                        Thread.Sleep(500);
                        gop.click(p.X, p.Y);
                        Thread.Sleep(1000);
                        break;
                    }
                    Thread.Sleep(1000);
                }
            }
        }
Esempio n. 3
0
        public void PK(string indexes_str)
        {
            // 1272,197
            var indexes = new int[] { };

            if (!string.IsNullOrEmpty(indexes_str))
            {
                indexes = indexes_str.Split(new char[] { ',' }).Select(s => int.Parse(s)).ToArray();
            }
            Point p_result = new Point();

            try
            {
                if (indexes.Length == 0)
                {
                    gop.setState("无敌人,坐等收益");
                    gop.locate(string.Format("{0},{1}", 64, 106));

                    while (true)
                    {
                        var _p = gop.findImage("领取奖励|结算列表");
                        if (_p.X > -1)
                        {
                            p_result = _p;
                            break;
                        }
                        Thread.Sleep(3000);
                    }
                    return;
                }
                var p = gop.findImage("arrow1", 500, 190, 2000, 540);
                // 1088,243
                // 1088,311
                // 1088,379
                // 1088,447
                // 1088,515 215657
                var xue_dead = "114b51";
                while (true)
                {
                    foreach (var i in indexes)
                    {
                        var x1 = p.X - 184;
                        var y1 = p.Y + 46 + i * 68;
                        if (gop.dm.GetColor(x1, y1) == xue_dead)
                        {
                            continue;
                        }
                        gop.click(x1, y1);
                        gop.setState("移动到目标" + (i + 1));
                        Thread.Sleep(1000);
                        gop.waitCompleteLocate();
                        gop.setState("攻击目标中");
                        while (gop.dm.GetColor(x1, y1) != xue_dead)
                        {
                            var p2 = gop.findImage("复活点复活|复活点复活2", 0, 200, 2000, 2000);
                            if (p2.X > -1)
                            {
                                gop.setState("已死亡,等待复活");
                                Thread.Sleep(500);
                                gop.click(p2.X, p2.Y);
                                Thread.Sleep(1000);
                                gop.setState("移动到目标" + (i + 1));
                                gop.click(x1, y1);
                                gop.waitCompleteLocate();
                            }
                            p2 = gop.findImage("领取奖励|结算列表");
                            if (p2.X > -1)
                            {
                                p_result = p2;
                                return;
                            }
                            gop.fangjineng();
                            Thread.Sleep(1000);
                        }
                        gop.setState(string.Format("目标{0}已死亡,切换到下一目标", i + 1));
                    }
                    var _p = gop.findImage("领取奖励|结算列表");
                    if (_p.X > -1)
                    {
                        p_result = _p;
                        break;
                    }
                }
            }
            catch (Exception)
            {
            }
            finally
            {
                if (p_result.X > 0)
                {
                    gop.setState("已结束,领取奖励");
                    gop.click(p_result.X, p_result.Y);
                    Thread.Sleep(10000);
                }
                else
                {
                    gop.setState("任务已终止");
                }
            }
        }