public static void DragnDropFast(Point xy1, Point xy2) { SpecialEvents se = new SpecialEvents(); int error = 0; string x1; string x2; do { if (error == 3) { se.RestartBot(); } x1 = MasterOfPictures.PixelIndicator(xy1);//контрольный пиксель MoveMouse(xy1); Thread.Sleep(100); LMBdown(xy1); Thread.Sleep(1000); MoveMouse(xy2); Thread.Sleep(2500); LMBup(xy2); Thread.Sleep(500); x2 = MasterOfPictures.PixelIndicator(xy1); //контрольный пиксель фото 2 error++; } while (x1 == x2); //переместил ли машину }
public void ChooseNormalEvent() { SpecialEvents se = new SpecialEvents(); NotePad.DoLog("Проверяю событие"); bool eventIsOK = false; while (!eventIsOK) { for (int i = 1; i < 5; i++) { do { se.MissClick(); se.ToClubs(); } while (!fc.ClubMap()); Thread.Sleep(500); NotePad.DoLog("Проверяю условие " + i); eventIsOK = Selection(i); if (!eventIsOK) { Rat.Clk(PointsAndRectangles.toeventlist);//Back Thread.Sleep(3000); } else { break; } } } }
public bool Selection(int eventN) { SpecialEvents se = new SpecialEvents(); Point[] events = { PointsAndRectangles.eventN1, PointsAndRectangles.eventN2, PointsAndRectangles.eventN3, PointsAndRectangles.eventN4 }; bool eventIsOK = false; bool flag; do { flag = true; NotePad.DoLog("Кликаю событие " + eventN); Rat.Clk(events[eventN - 1]); Thread.Sleep(4000); if (fc.EventPage()) { NotePad.DoLog("Вылетел из клубов"); Rat.Clk(PointsAndRectangles.clktoClubs);//Clubs flag = false; Thread.Sleep(15000); } se.UniversalErrorDefense(); Thread.Sleep(2000); } while (flag == false);//клик эвента и обработка ошибок MasterOfPictures.MakePicture(PointsAndRectangles.Condition1Bounds, @"Condition1\test"); MasterOfPictures.MakePicture(PointsAndRectangles.Condition2Bounds, @"Condition2\test"); string cond1 = ConvertPictureToCond(DefineFirstEvevntConditionByPicture(), 1); string cond2 = ConvertPictureToCond(DefineSecondEvevntConditionByPicture(), 2); if (cond1 != "unknown" && cond2 != "unknown")//Исключаю неизвестный { eventIsOK = true; Condition.MakeCondition(cond1, cond2); if (GotRQ() && Condition.minrq != 0) { NotePad.DoLog("Минимальное рк для события " + Condition.minrq); NotePad.DoLog("Требуемое рк для события " + Condition.eventrq); if (Condition.minrq > Condition.eventrq || Condition.minrq > accountLVL) { NotePad.DoLog("Минимальное рк для события больше требуемого"); eventIsOK = false; } } } if (!eventIsOK && eventN == 4) { Rat.Clk(PointsAndRectangles.clkoutofClubs); } return(eventIsOK); }
public void CheckTime() { for (int i = 1; i < timings.Length; i += 2) { BreakTime bt = new BreakTime(timings[i], timings[i + 1]); if (bt.isTimeToBreak()) { NotePad.DoLog("Time is over"); SpecialEvents se = new SpecialEvents(); se.RestartBot(); } } }
public void PrepareToRace(int i) { SpecialEvents se = new SpecialEvents(); HandMaking hm = new HandMaking(); NotePad.DoLog("Rq = " + Condition.eventrq + ", условие 1: " + Condition.ConditionNumber1 + ", условие 2: " + Condition.ConditionNumber2 + " заезд: " + i); int wronghandnumber = 0;//счетчик неправильного сбора руки do { if (wronghandnumber == 3) { se.RestartBot(); } else { wronghandnumber++; if (i == 1) { se.ClearHand(); Thread.Sleep(500); NotePad.DoLog("Собираю пробную руку"); hm.MakingHand(); } if (i == 2)//пересборка по покрытию { se.ClearHand(); Thread.Sleep(500); NotePad.DoLog("Меняю руку с учетом покрытия и погоды"); hm.MakingHand(); } Thread.Sleep(5000); if (!hm.HandCarFixed() || !hm.VerifyHand()) { se.ClearHand(); Thread.Sleep(500); NotePad.DoLog("Меняю руку"); hm.MakingHand(); } } } while (!hm.VerifyHand()); }
private bool PlayClubs(int i) { SpecialEvents se = new SpecialEvents(); Waiting wait = new Waiting(); FastCheck fc = new FastCheck(); PlayClubsPositions pcp = new PlayClubsPositions(); bool eventisactive = pcp.PathToGarage(); if (eventisactive) { pcp.PrepareToRace(i);//набор/проверка руки wait.ReadytoRace(); bool foundplace = false; do { se.CarRepair(); se.UniversalErrorDefense(); se.UnavailableEvent(); //se.CardBug(); if (fc.ReadyToRace()) { Rat.Clk(PointsAndRectangles.startTheRace); Thread.Sleep(2000); } if (fc.EnemyIsReady()) { eventisactive = true; foundplace = true; Thread.Sleep(1000); } if (fc.Bounty()) { NotePad.DoLog("эвент закончен"); eventisactive = false; foundplace = true; Thread.Sleep(1000); } if (fc.ClubMap()) { NotePad.DoLog("эвент закончен"); eventisactive = false; foundplace = true; Thread.Sleep(1000); } } while (!foundplace);//ожидание противника if (eventisactive) { pcp.TimeToRace(); //расстановка se.EndRace(); //завершение заезда foundplace = false; do { se.UniversalErrorDefense(); if (fc.Upgrade()) { NotePad.DoLog("реклама на апгрейд"); se.UpgradeAdsKiller(); Thread.Sleep(1000); } if (fc.Ending()) { Rat.Clk(PointsAndRectangles.passTheTableAfterRace);//Table Thread.Sleep(1000); } if (fc.Bounty()) { eventisactive = false; foundplace = true; Thread.Sleep(1000); } if (fc.ControlScreen()) { foundplace = true; Thread.Sleep(1000); } if (fc.BugControlScreen()) { Thread.Sleep(500); NotePad.DoLog("Bug with Control Screen"); Rat.Clk(PointsAndRectangles.backToClubMap);//Back Thread.Sleep(1000); } if (fc.ClubMap()) { eventisactive = false; foundplace = true; Thread.Sleep(1000); } } while (foundplace == false);//переход на экран контроля } } return(eventisactive); }
public void TimeToRace() { FastCheck fc = new FastCheck(); SpecialEvents se = new SpecialEvents(); TrackInfo ti = new TrackInfo(); GrandArrangement ga = new GrandArrangement(); int[] a1 = ti.Tracks(); //Track info int[] b1 = ti.Grounds(); //Ground info int[] c1 = ti.Weathers(); //Weather info bool raceIsEnd = false; bool raceIsStart = false; int waiter = 0; do { if (waiter == 180) { se.RestartBot(); } se.UniversalErrorDefense(); if (fc.ClubMap()) { NotePad.DoLog("вылетел из заезда"); raceIsEnd = true; } if (fc.Bounty()) { NotePad.DoLog("вылетел из заезда"); raceIsEnd = true; } if (fc.EnemyIsReady()) { Thread.Sleep(1000); Rat.Clk(PointsAndRectangles.ChooseAnEnemy);//ChooseanEnemy NotePad.DoLog("противник выбран"); } if (fc.ArrangementWindow()) { NotePad.DoLog("загрузился экран расстановки"); Thread.Sleep(1000); ga.Arrangement(a1, b1, c1); NotePad.DoLog("расстановка выполнена"); } if (fc.RaceOn() && !raceIsStart) { raceIsStart = true; NotePad.DoLog("заезд начался"); Thread.Sleep(2000); Rat.Clk(PointsAndRectangles.forceTheRace); //ускорить заезд, клик в пусой области } if (!fc.RaceOn() && raceIsStart) { NotePad.DoLog("заезд окончен"); raceIsEnd = true; } Thread.Sleep(1000); waiter++; } while (!raceIsEnd); }