private async void ImageRecognitionAcceptMatchButton() { bool championSearchbox = false; bool acceptButton = false; while (!championSearchbox || Options.ContiuouslyMonitorAcceptMatch || CancelAutoAcceptMatch) { TakeFullDesktopScreenShot(); if (!championSearchbox) { championSearchbox = await ImageRecognition.AutoFindBoostButtonImageRecognition(); } TakeFullDesktopScreenShot(); if (!acceptButton) { acceptButton = await ImageRecognition.AutoAcceptImageRecognition(); } if (acceptButton) { Actions.ClickAcceptButton(); SetLiveStatusText("Accepted Match", Color.Green); if (Options.ContiuouslyMonitorAcceptMatch) { acceptButton = false; } } } }
private async void ImageRecognitionSelectChampion() { bool selectChampion = false; bool randomChampionBox = false; while (!selectChampion || CancelAutoSelectChampion) { TakeFullDesktopScreenShot(); if (!randomChampionBox) { randomChampionBox = await ImageRecognition.AutoFindRandomChampionBoxImageRecognition(); } if (randomChampionBox) { Actions.ClickChamptionSearchTextbox(); Actions.PasteChampionName(); Actions.ClickFirstChamptionBox(); selectChampion = true; SetLiveStatusText(Options.ChampionName + " was selected.", Color.Green); } } }
private async void AcceptMatchButton() { bool championSearchbox = false; bool accepted = false; while (!championSearchbox) { TakeFullDesktopScreenShot(); if (!championSearchbox) { championSearchbox = await ImageRecognition.AutoFindChampionSearchTextboxImageRecognition(); } TakeFullDesktopScreenShot(); if (!accepted) { accepted = await ImageRecognition.AutoAcceptImageRecognition(); } if (accepted) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.AutoAcceptButtonCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Auto Accept: Clicked Accept Button X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); SetLiveStatusText("Accepted Match", Color.Green); } } }
private async void CoordinatesAcceptMatchButton() { bool championSearchbox = false; bool acceptButton = false; while (!championSearchbox) { TakeFullDesktopScreenShot(); if (!championSearchbox) { championSearchbox = await ImageRecognition.AutoFindChampionSearchTextboxImageRecognition(); } TakeFullDesktopScreenShot(); if (!acceptButton) { acceptButton = await ImageRecognition.AutoAcceptImageRecognition(); } if (acceptButton) { Actions.ClickAcceptButton(); SetLiveStatusText("Accepted Match", Color.Green); } } }
private async void ImageRecognitionCreateARAMLobby() { bool clickedPlayButton = false; bool selectedARAM = false; bool clickedConfirmButton = false; while (!clickedConfirmButton || CancelAutoCreateMatch) { if (!string.IsNullOrEmpty(Options.PlayButtonCoordinates)) { Actions.ClickPlayButton(); } else { TakeFullDesktopScreenShot(); if (!clickedPlayButton) { clickedPlayButton = await ImageRecognition.AutoClickPlayButtonImageRecognition(); } if (clickedPlayButton) { Actions.ClickPlayButton(); } } TakeFullDesktopScreenShot(); if (!selectedARAM) { selectedARAM = await ImageRecognition.AutoChooseARAMModeImageRecognition(); } if (selectedARAM) { Actions.ClickARAMMatch(); } if (selectedARAM) { TakeFullDesktopScreenShot(); if (!clickedConfirmButton) { clickedConfirmButton = await ImageRecognition.AutoClickConfirmButtonImageRecognition(); } if (clickedConfirmButton) { Actions.ClickConfirmButton(); SetLiveStatusText("Created an ARAM room.", Color.Green); } } } }
private async void CreateARAMLobby() { bool clickedPlayButton = false; bool selectedARAM = false; bool clickedConfirmButton = false; while (!clickedConfirmButton) { TakeFullDesktopScreenShot(); if (!clickedPlayButton) { clickedPlayButton = await ImageRecognition.AutoClickPlayButtonImageRecognition(); } if (clickedPlayButton) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.PlayButtonCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Click Play Button: Clicked Play Button X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); } TakeFullDesktopScreenShot(); if (!selectedARAM) { selectedARAM = await ImageRecognition.AutoChooseARAMModeImageRecognition(); } if (selectedARAM) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.ARAMMatchCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Pick ARAM Mode X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); } TakeFullDesktopScreenShot(); if (!clickedConfirmButton) { clickedConfirmButton = await ImageRecognition.AutoClickConfirmButtonImageRecognition(); } if (clickedConfirmButton) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.ConfirmButtonCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Confirm Button: Clicked Confirm Button X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); AutoCreateSummonerRift = true; SetLiveStatusText("Created an ARAM room.", Color.Green); } } }
private async void ImageRecognitionLockChampion() { bool lockChampion = false; while (!lockChampion || CancelAutoLockChampion) { TakeFullDesktopScreenShot(); if (!lockChampion) { lockChampion = await ImageRecognition.AutoLockChampionImageRecognition(); } if (lockChampion) { Actions.ClickLockButton(); SetLiveStatusText("Champion has been locked.", Color.Green); } } }
private async Task <bool> ImageRecognitionCheckIfLeagueLoaded() { bool leagueFullyLoadedWithRiotLogo = false; while (!leagueFullyLoadedWithRiotLogo) { TakeFullDesktopScreenShot(); leagueFullyLoadedWithRiotLogo = await ImageRecognition.CheckLeagueRiotLogoImageRecognition(); } if (leagueFullyLoadedWithRiotLogo) { SetLiveStatusText("League client fully loaded. Attemping to log-in.", Color.Green); return(true); } else { return(false); } }
private async void LockChampion() { bool lockChampion = false; while (!lockChampion) { TakeFullDesktopScreenShot(); if (!lockChampion) { lockChampion = await ImageRecognition.AutoLockChampionImageRecognition(); } if (lockChampion) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.LockButtonCoodinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Lock Button: Moved Mouse To Lock Button And Clicked X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); AutoLockChampion = true; SetLiveStatusText("Champion has been locked.", Color.Green); } } }
private async void SelectChampion() { bool selectChampion = false; bool randomChampionBox = false; while (!selectChampion) { TakeFullDesktopScreenShot(); if (!randomChampionBox) { randomChampionBox = await ImageRecognition.AutoFindRandomChampionBoxImageRecognition(); } if (randomChampionBox) { KeyboardEvents.SetClipboardText(Options.ChampionName); HelpFile.Log("Select Champ: Copied Champion Name To Clipboard."); Thread.Sleep(Options.ImageRecognitionInterval); int[] coordinatesChampionSearchTextbox = HelpFile.GetXYCoordinatesRegex(Options.ChampionSearchTextboxCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinatesChampionSearchTextbox[0], coordinatesChampionSearchTextbox[1]); HelpFile.Log("Select Champ: Search Text Box Clicked X:" + coordinatesChampionSearchTextbox[0] + ", Y:" + coordinatesChampionSearchTextbox[1] + "."); Thread.Sleep(Options.ImageRecognitionInterval); KeyboardEvents.PressControlV(); HelpFile.Log("Select Champ: Pressed Control+V To Paste Champion Name."); Thread.Sleep(Options.ImageRecognitionInterval); int[] coordinatesFirstChampionBox = HelpFile.GetXYCoordinatesRegex(Options.FirstChampionBoxCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinatesFirstChampionBox[0], coordinatesFirstChampionBox[1]); HelpFile.Log("Select Champ: Moved Mouse To First Champion In List And Clicked X:" + coordinatesFirstChampionBox[0] + ", Y:" + coordinatesFirstChampionBox[1] + "."); Thread.Sleep(Options.ImageRecognitionInterval); selectChampion = true; AutoSelectChampion = true; SetLiveStatusText(Options.ChampionName + " was selected.", Color.Green); } } }
private async void ImageRecognitionCreateSummonersRiftLobby() { bool clickedPlayButton = false; bool selectedSummonersRift = false; bool selectSummonerType = false; bool clickedConfirmButton = false; if (!string.IsNullOrWhiteSpace(Options.SummonerType)) { ShowMessageBox(@"Please make sure you've selected summoner type. \r\nPlease check the Auto Login / Match tab in settings.", "Unable To Create Lobby", MessageBoxIcon.Error); SetLiveStatusText("Please double check the Username and Password.", Color.Green); return; } while (!clickedConfirmButton || CancelAutoCreateMatch) { if (!string.IsNullOrEmpty(Options.PlayButtonCoordinates)) { Actions.ClickPlayButton(); } else { TakeFullDesktopScreenShot(); if (!clickedPlayButton) { clickedPlayButton = await ImageRecognition.AutoClickPlayButtonImageRecognition(); } if (clickedPlayButton) { Actions.ClickPlayButton(); } } TakeFullDesktopScreenShot(); if (!selectedSummonersRift) { selectedSummonersRift = await ImageRecognition.AutoChooseSummerRiftModeImageRecognition(); } if (selectedSummonersRift) { Actions.ClickSummonersMatch(); } if (Options.SummonerType.Equals("Blind Pick")) { TakeFullDesktopScreenShot(); if (!selectSummonerType) { selectSummonerType = await ImageRecognition.AutoChooseSummersBlindPickImageRecognition(); } if (selectSummonerType) { Actions.ClickBlindPick(); } } if (Options.SummonerType.Equals("Draft Pick")) { TakeFullDesktopScreenShot(); if (!selectSummonerType) { selectSummonerType = await ImageRecognition.AutoChooseSummersDraftPickImageRecognition(); } if (selectSummonerType) { Actions.ClickDraftPick(); } } if (Options.SummonerType.Equals("Ranked Solo/Duo")) { TakeFullDesktopScreenShot(); if (!selectSummonerType) { selectSummonerType = await ImageRecognition.AutoChooseSummersRankedImageRecognition(); } if (selectSummonerType) { Actions.ClickSoloDuoRanked(); } } if (selectSummonerType) { TakeFullDesktopScreenShot(); if (!clickedConfirmButton) { clickedConfirmButton = await ImageRecognition.AutoClickConfirmButtonImageRecognition(); } if (clickedConfirmButton) { Actions.ClickConfirmButton(); SetLiveStatusText("Created Summoner's Rift: " + Options.SummonerType + " room.", Color.Green); } } } }
private async void ImageRecognitionLoginToLeague() { bool leagueFullyLoaded = false; bool rememberMeChecked = false; bool addedUsername = false; bool addedPassword = false; bool successfullyLoggedIn = false; bool failLoggedIn = false; bool clickedPlayButton = false; if (!UsernamePasswordIsValid()) { ShowMessageBox(@"Please make sure you've added your Username and Password.\r\nPlease check the Auto Login tab.", "Unable To Login", MessageBoxIcon.Error); SetLiveStatusText("Please double check the Username and Password.", Color.Green); return; } while (!leagueFullyLoaded) { leagueFullyLoaded = await ImageRecognitionCheckIfLeagueLoaded(); } TakeFullDesktopScreenShot(); rememberMeChecked = await ImageRecognition.RememberMeCheckedImageRecognition(); while (!successfullyLoggedIn || !failLoggedIn || !CancelAutoLogin) { if (rememberMeChecked) { TakeFullDesktopScreenShot(); if (!addedPassword) { addedPassword = await ImageRecognition.LoginPasswordImageRecognition(); } TakeFullDesktopScreenShot(); if (!addedPassword) { addedPassword = await ImageRecognition.LoginPasswordFocusedImageRecognition(); } if (addedPassword) { Actions.EnterPassword(); } } else { TakeFullDesktopScreenShot(); if (!addedUsername) { addedUsername = await ImageRecognition.LoginUsernameImageRecognition(); } TakeFullDesktopScreenShot(); if (!addedUsername) { addedUsername = await ImageRecognition.LoginUsernameFocusedImageRecognition(); } if (addedUsername) { Actions.EnterUsername(); } TakeFullDesktopScreenShot(); if (!addedPassword) { addedPassword = await ImageRecognition.LoginPasswordImageRecognition(); } TakeFullDesktopScreenShot(); if (!addedPassword) { addedPassword = await ImageRecognition.LoginPasswordFocusedImageRecognition(); } if (addedPassword) { Actions.EnterPassword(); } } if (addedPassword) { KeyboardEvents.PressEnter(); return; } TakeFullDesktopScreenShot(); if (!clickedPlayButton) { clickedPlayButton = await ImageRecognition.AutoClickPlayButtonImageRecognition(); } if (clickedPlayButton) { successfullyLoggedIn = true; SetLiveStatusText("Successfully logged into league.", Color.Green); return; } TakeFullDesktopScreenShot(); if (!failLoggedIn) { failLoggedIn = await ImageRecognition.LoginFailedImageRecognition(); } if (failLoggedIn) { AutoLoginToggle.Checked = false; ShowMessageBox(@"Please make sure your Username and Password is correct.", "Unable To Login", MessageBoxIcon.Error); SetLiveStatusText("Please double check the Username and Password.", Color.Green); return; } } }
private async void CreateSummonersRiftLobby() { bool clickedPlayButton = false; bool selectedSummonersRift = false; bool selectSummonerType = false; bool clickedConfirmButton = false; while (!clickedConfirmButton) { TakeFullDesktopScreenShot(); if (!clickedPlayButton) { clickedPlayButton = await ImageRecognition.AutoClickPlayButtonImageRecognition(); } if (clickedPlayButton) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.PlayButtonCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Click Play Button: Clicked Play Button X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); } TakeFullDesktopScreenShot(); if (!selectedSummonersRift) { selectedSummonersRift = await ImageRecognition.AutoChooseSummerRiftModeImageRecognition(); } if (selectedSummonersRift) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.SummonersRiftCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Pick Summoner Mode: Picked Summoner Rift X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); } Console.WriteLine(Options.SummonerType); if (Options.SummonerType.Equals("Draft Pick")) { TakeFullDesktopScreenShot(); if (!selectSummonerType) { selectSummonerType = await ImageRecognition.AutoChooseSummersDraftPickImageRecognition(); } if (selectSummonerType) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.DraftPickCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Summoner Mode: Draft Pick X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); } } if (Options.SummonerType.Equals("Blind Pick")) { TakeFullDesktopScreenShot(); if (!selectSummonerType) { selectSummonerType = await ImageRecognition.AutoChooseSummersBlindPickImageRecognition(); } if (selectSummonerType) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.BlindPickCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Summoner Mode: Blind Pick X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); } } if (Options.SummonerType.Equals("Ranked Solo/Duo")) { TakeFullDesktopScreenShot(); if (!selectSummonerType) { selectSummonerType = await ImageRecognition.AutoChooseSummersRankedImageRecognition(); } if (selectSummonerType) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.RankedSoloDuoCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Summoner Mode: Ranked Pick X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); } } TakeFullDesktopScreenShot(); if (!clickedConfirmButton) { clickedConfirmButton = await ImageRecognition.AutoClickConfirmButtonImageRecognition(); } if (clickedConfirmButton) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.PlayButtonCoordinates); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Confirm Button: Clicked Confirm Button X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); AutoCreateSummonerRift = true; SetLiveStatusText("Created Summoner's Rift: " + Options.SummonerType + " room.", Color.Green); } } }
private async void LoginToLeague() { bool leagueFullyLoaded = false; bool rememberMeChecked = false; bool addedUsername = false; bool addedPassword = false; bool clickedSignIn = false; bool failLoggedIn = false; if (!CheckUsernamePasswordTextIsValid()) { MessageBox.Show(@"Please make sure you've added your Username and Password.\r\nPlease check the Auto Login tab.", "Unable To Login", MessageBoxButtons.OK, MessageBoxIcon.Error); SetLiveStatusText("Please double check the Username and Password.", Color.Green); return; } while (!leagueFullyLoaded) { leagueFullyLoaded = await CheckIfLeagueLoaded(); } TakeFullDesktopScreenShot(); rememberMeChecked = await ImageRecognition.RememberMeCheckedImageRecognition(); while (!clickedSignIn || !failLoggedIn) { if (rememberMeChecked) { TakeFullDesktopScreenShot(); if (!addedPassword) { addedPassword = await ImageRecognition.LoginPasswordImageRecognition(); } TakeFullDesktopScreenShot(); if (!addedPassword) { addedPassword = await ImageRecognition.LoginPasswordFocusedImageRecognition(); } if (addedPassword) { string password = Options.IsPasswordEncrypted ? Encryption.Decrypt(Options.Password, Encryption.ConvertRijndaelKeyToByte(Options.EncryptedKey), Encryption.ConvertRijndaelIVToByte(Options.EncryptedIV)) : Options.Password; int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.LoginPasswordCoordinates); KeyboardEvents.SetClipboardText(password); HelpFile.Log("Login Password: Copied Text To Clipboard."); Thread.Sleep(Options.ImageRecognitionInterval); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Login Password: Moved Mouse To Textbox And Clicked X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); Thread.Sleep(Options.ImageRecognitionInterval); KeyboardEvents.PressControlV(); HelpFile.Log("Login Password: Pressed Control+V To Paste Password."); Thread.Sleep(Options.ImageRecognitionInterval); KeyboardEvents.ClearClipboard(); HelpFile.Log("Login Password: Cleared Clipboard Of Password."); } } else { TakeFullDesktopScreenShot(); if (!addedUsername) { addedUsername = await ImageRecognition.LoginUsernameImageRecognition(); } TakeFullDesktopScreenShot(); if (!addedUsername) { addedUsername = await ImageRecognition.LoginUsernameFocusedImageRecognition(); } if (addedUsername) { int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.LoginUsernameCoordinates); KeyboardEvents.SetClipboardText(Options.Username); HelpFile.Log("Login Username: Copied Username To Clipboard."); Thread.Sleep(Options.ImageRecognitionInterval); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Login Username: Moved Mouse To And Clicked Username Textbox X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); Thread.Sleep(Options.ImageRecognitionInterval); KeyboardEvents.PressControlV(); HelpFile.Log("Login Username: Pressed Control+V To Paste Username."); Thread.Sleep(Options.ImageRecognitionInterval); KeyboardEvents.ClearClipboard(); HelpFile.Log("Login Username: Cleared Clipboard Of Username."); } TakeFullDesktopScreenShot(); if (!addedPassword) { addedPassword = await ImageRecognition.LoginPasswordImageRecognition(); } TakeFullDesktopScreenShot(); if (!addedPassword) { addedPassword = await ImageRecognition.LoginPasswordFocusedImageRecognition(); } if (addedPassword) { string password = Options.IsPasswordEncrypted ? Encryption.Decrypt(Options.Password, Encryption.ConvertRijndaelKeyToByte(Options.EncryptedKey), Encryption.ConvertRijndaelIVToByte(Options.EncryptedIV)) : Options.Password; int[] coordinates = HelpFile.GetXYCoordinatesRegex(Options.LoginPasswordCoordinates); KeyboardEvents.SetClipboardText(password); HelpFile.Log("Login Password: Copied Text To Clipboard."); Thread.Sleep(Options.ImageRecognitionInterval); MouseEvent.MoveMouseXYToAndClick(coordinates[0], coordinates[1]); HelpFile.Log("Login Password: Moved Mouse To Textbox And Clicked X:" + coordinates[0] + ", Y:" + coordinates[1] + "."); Thread.Sleep(Options.ImageRecognitionInterval); KeyboardEvents.PressControlV(); HelpFile.Log("Login Password: Pressed Control+V To Paste Password."); Thread.Sleep(Options.ImageRecognitionInterval); KeyboardEvents.ClearClipboard(); HelpFile.Log("Login Password: Cleared Clipboard Of Password."); } } if (addedPassword) { KeyboardEvents.PressEnter(); clickedSignIn = true; AutoLogin = true; return; } TakeFullDesktopScreenShot(); if (!failLoggedIn) { failLoggedIn = await ImageRecognition.LoginFailedImageRecognition(); } } if (failLoggedIn) { AutoLoginToggle.Checked = false; MessageBox.Show(@"Please make sure your Username and Password is correct.", "Unable To Login", MessageBoxButtons.OK, MessageBoxIcon.Error); SetLiveStatusText("Please double check the Username and Password.", Color.Green); return; } if (clickedSignIn) { SetLiveStatusText("Successfully logged into league.", Color.Green); AutoLogin = true; return; } }