public bool UnavailableEvent()
        {
            FastCheck fc = new FastCheck();
            bool      x  = true;

            if (fc.WrongParty())
            {
                NotePad.DoLog("Косячная рука");
                RestartBot();
            }

            if (fc.EventEnds())
            {
                NotePad.DoLog("эвент окончен");
                Rat.Clk(PointsAndRectangles.eventEndsAcceptance);//Accept Message
                Thread.Sleep(3000);
                x = false;
            }

            if (fc.EventIsNotAvailable())
            {
                NotePad.DoLog("эвент не доступен");
                Rat.Clk(PointsAndRectangles.eventIsNotAvailableAcceptance);//Accept Message
                Thread.Sleep(3000);
                if (fc.ItsGarage())
                {
                    RestartBot();
                }
                x = false;
            }

            if (fc.EventisFull())
            {
                NotePad.DoLog("эвент заполнен");
                Rat.Clk(PointsAndRectangles.eventIsFullAcceptance);//Accept Message

                if (fc.ItsGarage())
                {
                    Rat.Clk(PointsAndRectangles.buttonBack); //back
                    Thread.Sleep(2000);
                    Rat.Clk(PointsAndRectangles.buttonBack); //back to club map
                }
                Thread.Sleep(3000);
                x = false;
            }
            return(x);
        }
        private void Randomizer()
        {
            FastCheck fc = new FastCheck();

            Point[] a    = new Point[] { PointsAndRectangles.r1, PointsAndRectangles.r2, PointsAndRectangles.r3, PointsAndRectangles.r4, PointsAndRectangles.r5, PointsAndRectangles.r6, PointsAndRectangles.r7, PointsAndRectangles.r8, PointsAndRectangles.r9, PointsAndRectangles.r10 };
            Random  rand = new Random();

            while (!fc.ItsGarage())
            {
                Thread.Sleep(2000);
            }

            if ((Condition.ConditionNumber1 == "экстремальная" && Condition.eventrq < 320) ||//условие определееной редкости
                (Condition.ConditionNumber1 == "редкостная" && Condition.eventrq < 195) ||
                (Condition.ConditionNumber1 == "необычная" && Condition.eventrq < 145) ||
                (Condition.ConditionNumber1 == "суперская" && Condition.eventrq < 245) ||
                Condition.eventrq < 95)
            {
                NotePad.DoLog("сортирую по рк");
                Thread.Sleep(200);
                do
                {
                    Rat.Clk(PointsAndRectangles.sorting); //сортировка
                    Thread.Sleep(1000);
                } while (!fc.TypeIsOpenned());            //100% SorterOpenner
                Thread.Sleep(200);
                Rat.Clk(PointsAndRectangles.clearall);    //сброс
                Thread.Sleep(1000);
                Rat.Clk(PointsAndRectangles.sorting);     //сортировка
                Thread.Sleep(1000);
                Rat.Clk(PointsAndRectangles.r2);          //сортировка по рк
            }
            else
            {
                Thread.Sleep(200);
                do
                {
                    Rat.Clk(PointsAndRectangles.sorting); //сортировка
                    Thread.Sleep(1000);
                } while (!fc.TypeIsOpenned());            //100% SorterOpenner
                Thread.Sleep(200);
                int r = rand.Next(10);
                if (rand.Next(2) == 1)
                {
                    Rat.Clk(a[r]);//выбрать условие
                    Thread.Sleep(200);
                }
                Rat.Clk(a[r]);//выбрать условие
            }

            Thread.Sleep(500);
            do
            {
                Rat.Clk(PointsAndRectangles.closesorting); //закрыть сортировку
                Thread.Sleep(500);
            } while (fc.TypeIsOpenned());                  //100% SorterCloser
            Thread.Sleep(4000);
        }
        public int DragnDpopHand(int n, int uhl, int caCars)
        {
            //caCars - cond available cars
            //n -needed cars
            FastCheck  fc = new FastCheck();
            HandMaking hm = new HandMaking();

            Point[] a          = new Point[] { PointsAndRectangles.pHandSlot1, PointsAndRectangles.pHandSlot2, PointsAndRectangles.pHandSlot3, PointsAndRectangles.pHandSlot4, PointsAndRectangles.pHandSlot5 };
            Point[] b          = new Point[] { PointsAndRectangles.GarageSlot1, PointsAndRectangles.GarageSlot2, PointsAndRectangles.GarageSlot3, PointsAndRectangles.GarageSlot4, PointsAndRectangles.GarageSlot5, PointsAndRectangles.GarageSlot6, PointsAndRectangles.GarageSlot7, PointsAndRectangles.GarageSlot8 };
            int     drag       = 0; //сдвиги
            int     x          = 0; //слот гаража
            int     h          = 0; //слот руки, uhl использованные слоты в предыдущем подборе
            int     neededcars = n;

            while (n > 0)
            {
                if (x == caCars)
                {
                    break;
                } //x имеет значение и при нуле
                else
                {
                    if (x > 3 && drag == 0)
                    {
                        Rat.DragnDropSlow(PointsAndRectangles.ds1, PointsAndRectangles.de1, 5);
                        drag = 1;
                        Thread.Sleep(1000);
                    }//сдвиг

                    if (x > 5 && drag == 1)
                    {
                        Rat.DragnDropSlow(PointsAndRectangles.ds2, PointsAndRectangles.de2, 5);
                        drag = 2;
                        Thread.Sleep(1000);
                    }//сдвиг

                    if (x > 7)
                    {
                        break;
                    }//прерывание цикла в случае множества сломанных

                    if (hm.CarFixed(x))
                    {
                        NotePad.DoLog("Тачка " + (x + 1) + " исправна");
                        while (!fc.ItsGarage())
                        {
                            Thread.Sleep(2000);
                        }
                        Rat.DragnDropSlow(b[x], a[h + uhl], 8);
                        h++;
                        n--;
                    }
                    else
                    {
                        NotePad.DoLog("Тачка " + x + " не готова");
                    }
                    x++;
                }
            }

            int grayslots = fc.CheckHandSlot(uhl + 1, uhl + neededcars);

            NotePad.DoLog(grayslots + " слотов остались пустыми");
            return(grayslots);
        }
예제 #4
0
        public bool PathToGarage()
        {
            FastCheck fc           = new FastCheck();
            bool      positionflag = false;
            bool      continuegame = false;

            do
            {
                if (fc.Bounty())
                {
                    NotePad.DoLog("получил награду");
                    positionflag = true;
                }

                if (fc.SeasonIsEnded())
                {
                    Thread.Sleep(500);
                    Rat.Clk(PointsAndRectangles.acceptSeasonEnd);
                    NotePad.DoLog("сезон окончен");
                }

                if (fc.SeasonEndsBounty())
                {
                    Thread.Sleep(500);
                    Rat.Clk(PointsAndRectangles.bountyForSeason);
                    NotePad.DoLog("получил награду за сезон");
                }

                if (fc.ClubMap())
                {
                    Thread.Sleep(2000);

                    if (fc.ClubMap())
                    {
                        NotePad.DoLog("выкинуло на карту");
                        positionflag = true;
                    }
                }

                if (fc.EventEnds())
                {
                    NotePad.DoLog("эвент окончен");
                    Rat.Clk(PointsAndRectangles.eventIsEnd);//Accept Message
                    Thread.Sleep(3000);
                    positionflag = true;
                }

                if (fc.CarMenu())
                {
                    Thread.Sleep(500);
                    NotePad.DoLog("Закрываю меню автомобиля");
                    Rat.Clk(PointsAndRectangles.closeCarCard);
                    Thread.Sleep(1000);
                }

                if (fc.ControlScreen())
                {
                    Thread.Sleep(500);
                    NotePad.DoLog("Перехожу в гараж");
                    Rat.Clk(PointsAndRectangles.controlScreenToGarage);//Play
                    Thread.Sleep(1000);
                }

                /*
                 * if (fc.BugControlScreen())
                 * {
                 *  Thread.Sleep(500);
                 *  NotePad.DoLog("Bug with Control Screen");
                 *  Rat.Clk(PointsAndRectangles.bugwithControlScreen);//Back
                 *  Thread.Sleep(1000);
                 * }*/

                if (fc.ItsGarage())
                {
                    positionflag = true;
                    NotePad.DoLog("Нахожусь в гараже");
                    continuegame = true;
                }
            } while (!positionflag);

            return(continuegame);
        }