/// <summary>
        /// бот открывает диалог с НПС
        /// </summary>
        /// <param name="mw"></param>
        /// <param name="npcName"></param>
        /// <param name="questId"></param>
        public static void TalkToNPC(My_Windows mw, String npcName, Int32 questId)
        {
            //находим wid НПСа по имени
            Int32 mob_wid = CalcMethods.MobSearch(mw.Oph, npcName);

            //если НПС нашелся, то берем у него квест и закрываем диалоговое окно
            if (mob_wid != 0)
            {
                //Выделяем НПСа
                mw.PacketSend.selectNpc(mob_wid);
                Thread.Sleep(300);

                //Открываем диалоговое окно с НПСом
                mw.PacketSend.talkToNpc(mob_wid);
                Thread.Sleep(1000);

                //Узнаем необходимые данные об окне, так как после взятия кв оно перестанет быть активным
                int[] adress_window = CalcMethods.CalcControlAddress(mw.Oph, "Win_NPC", "Btn_Back", 1);
                Thread.Sleep(300);

                //Берем кв
                mw.PacketSend.takeQuest(questId);

                //если адреса считались нормально, то закрываем диалоговое окно с НПСом
                if (adress_window[0] != 0 && adress_window[1] != 0)
                {
                    Injects.GUI_Inject(adress_window[0], adress_window[1], mw.Oph);
                }
                else
                {
                    mw.Logging(new FormatText(mw.Name, Brushes.Red, 14, 1), new FormatText("не смог закрыть окно", Brushes.Red, 14, 1));
                }
            }
        }
Esempio n. 2
0
        static void KillBoss_1(My_Windows mw)
        {
            try
            {
                //следуем к первой точке
                SimonSayMethods.MoveTo(mw.Oph, point_1[0], point_1[1], point_1[2]);

                SimonSayMethods.Say(mw, "!!начинаю бить босса");
                //ищем босса поблизости
                Int32 bossWid = CalcMethods.MobSearch(mw.Oph, "Повелитель кругов ада");
                while (bossWid > 0)
                {
                    if (mw.ClassID == 0)
                    {
                        //здесь метод для вара
                    }
                    else
                    {
                        //здесь метод для остальных классов
                    }
                }
                Thread.Sleep(5000);
                SimonSayMethods.Say(mw, "!!закончил бить босса");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Обновление коллекции клиентов
        /// </summary>
        private static void Refresh()
        {
            // Задаем начало отсчета
            IntPtr hwnd = IntPtr.Zero;

            my_windows.Clear();
            //В бесконечном цикле перебираем все запущенные окна с классом ElementClient Window
            while (true)
            {
                //очищаем коллекцию клиентов и начинаем заполнять заново
                //получаем следующее окно с классом ElementClient Window.
                hwnd = WinApi.FindWindowEx(IntPtr.Zero, hwnd, "ElementClient Window", null);
                //Если наткнулись на ноль - значит выходим
                if (hwnd == IntPtr.Zero)
                {
                    break;
                }

                //добавляем элемент в нашу коллекцию
                My_Windows my_wind = new My_Windows(hwnd);
                if (my_wind.Name.Length > 0)
                {
                    my_windows.Add(my_wind);
                }
            }
            RefreshAllCombobox();
        }
Esempio n. 4
0
        //Конструктор для пати-лидера
        public ChatReader(My_Windows mw)
        {
            this.mw = mw;

            this.packet = mw.PacketSend;
            this.oph    = mw.Oph;
            messages    = new List <Message>(5);
        }
 /// <summary>
 /// Бот пишет в чат заданный текст
 /// </summary>
 /// <param name="mw"></param>
 /// <param name="text"></param>
 public static void Say(My_Windows mw, String text)
 {
     //запишем сообщение в чат
     Int32[] address_window = CalcMethods.CalcControlAddress(mw.Oph, "Win_Chat", "DEFAULT_Txt_Speech", 2);
     Injects.SetText(mw.Oph, text, address_window[2]);
     //нажимаем кнопку отправить
     if (address_window[0] != 0 && address_window[1] != 0)
     {
         Injects.GUI_Inject(address_window[0], address_window[1], mw.Oph);
     }
 }
Esempio n. 6
0
 //Конструктор для твинов
 public ChatReader(My_Windows mw, bool s, bool b, bool d)
 {
     this.mw = mw;
     this.My_skills_for_buf = mw.My_skills_for_buf;
     this.packet            = mw.PacketSend;
     this.oph = mw.Oph;
     this.S   = s;
     this.B   = b;
     this.D   = d;
     messages = new List <Message>(5);
 }
Esempio n. 7
0
 public static void KillBoss_7(My_Windows mw)
 {
 }