Exemplo n.º 1
0
        public void locate(string dest, bool auto_trans = false)
        {
            setState("寻找坐标中");
            var p = findImage("自动寻路|自动寻路2");

            if (p.X <= 0)
            {
                clear();
            }
            while (p.X <= 0)
            {
                dm.KeyPress(Keys.M);
                Thread.Sleep(1000);
                p = findImage("自动寻路|自动寻路2");
            }
            setState("寻路中");
            var arr = dest.Split(new string[] { ",", "," }, StringSplitOptions.None);

            dblclick(p.X + 120, p.Y - 8);
            //await Task.Delay(30);
            //await send_chars(new char[] { (char)8, (char)8, (char)8 });
            //await Task.Delay(30);
            dm.SendString(hwnd, arr[0]);
            Thread.Sleep(60);
            //await Task.Delay(100);
            dblclick(p.X + 120, p.Y + 26);
            //await Task.Delay(30);
            //await send_chars(new char[] { (char)8, (char)8, (char)8 });
            //await Task.Delay(30);
            dm.SendString(hwnd, arr[1]);
            //send_normal_string(arr[1]);
            Thread.Sleep(60);
            click(p.X, p.Y);
            if (auto_trans)
            {
                var x1 = p.X - 450;
                var y1 = p.Y - 450;
                var x2 = p.X + 200;
                var y2 = p.Y;
                Thread.Sleep(1000);
                p = findImage("flag", x1, y1, x2, y2);
                click(p.X + 1, p.Y + 17);
                Thread.Sleep(1000);
                p = findImage("cloud", x1, y1, x2, y2);
                click(p.X + 4, p.Y + 4);
            }
            dm.KeyPress(Keys.Escape);
            Thread.Sleep(2000);
            waitCompleteLocate();
            setState("寻路完成");
        }
Exemplo n.º 2
0
        private async void button4_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 3; i++)
            {
                dm.KeyPress(Keys.Escape);
                await Task.Delay(20);
            }
            var px = getPoint(tb_cood.Text);

            dm.KeyPress(Keys.M);
            await Task.Delay(1000);

            var p = dm.FindPic(0, 0, 2000, 2000, "resources/自动寻路.bmp|resources/自动寻路2.bmp");

            dm.MoveTo(p.X + 120, p.Y - 8);
            dm.LeftDoubleClick();
            dm.SendString(hwnd, px.X + "");
            await Task.Delay(60);

            dm.MoveTo(p.X + 120, p.Y + 26);
            dm.LeftDoubleClick();
            dm.SendString(hwnd, px.Y + "");
            await Task.Delay(60);

            dm.MoveTo(p.X, p.Y);
            dm.LeftClick();
            if (chb_direct_fly.Checked)
            {
                var x1 = p.X - 450;
                var y1 = p.Y - 450;
                var x2 = p.X + 200;
                var y2 = p.Y;
                await Task.Delay(1000);

                p = dm.FindPic(x1, y1, x2, y2, "resources/flag.bmp");
                dm.MoveTo(p.X + 1, p.Y + 17);
                dm.LeftClick();
                await Task.Delay(1000);

                p = dm.FindPic(x1, y1, x2, y2, "resources/cloud.bmp");
                dm.MoveTo(p.X + 4, p.Y + 4);
                dm.LeftClick();
            }
        }