public static WarcraftState InitWarcraft3Info() { if (!Warcraft3Info.HasExited) { return(WarcraftState.OK); } try { Process[] procs = Process.GetProcessesByName("Warcraft III"); if (procs.Length == 0) { procs = Process.GetProcessesByName("war3"); if (procs.Length == 0) { if (Warcraft3Info.Process != null) { Warcraft3Info.Reset(); } return(WarcraftState.Closed); } } return(InitWarcraft3Info(procs[0])); } catch (InvalidOperationException) { return(WarcraftState.Error); } }
internal static async void StatusCheck() { if (WaitGameStart) { if (!GetSelectedReceiveStatus()) { return; } WaitGameStart = false; AutoRG.CancelAsync(); MainWorker.MapFileWatcher.EnableRaisingEvents = false; await Task.Delay(500); CameraInit(); GameDelay = Settings.GameDelay; if (Settings.IsAutoLoad) { await Task.Delay(3000); LoadCodeSelect(); } } else { if (!WaitLobby && CurrentMusicState == MusicState.BattleNet) { GameDelay = 50; WaitLobby = true; Warcraft3Info.Refresh(); } if (!WaitLobby || GameDelay != 100) { return; } GameDelay = 550; if (Settings.IsCheatMapCheck && !LoadedFiles.IsLoadedMap(out _)) { MainWorker.MapFileWatcher.EnableRaisingEvents = true; } if (File.Exists($"{DocumentPath}\\Replay\\LastReplay.w3g")) { try { File.Delete($"{DocumentPath}\\Replay\\CirnixReplay.w3g"); File.Move($"{DocumentPath}\\Replay\\LastReplay.w3g", $"{DocumentPath}\\Replay\\CirnixReplay.w3g"); } catch { // Delete : CirnixReplay.w3g 경로에 대한 액세스가 거부되었습니다. // 백신때문으로 유추 } } WaitLobby = false; WaitGameStart = true; } }
public static WarcraftState InitWarcraft3Info(string name) { Process[] procs = Process.GetProcessesByName(name); if (procs.Length == 0) { if (Warcraft3Info.ID != 0) { Warcraft3Info.Reset(); } return(WarcraftState.Closed); } return(InitWarcraft3Info(procs[0])); }
//internal static HangWatchdog AntiZombieProcessChecker; internal static async Task <bool> ProcessCheck() { if (GameModule.InitWarcraft3Info() != WarcraftState.OK || !GameModule.WarcraftCheck()) { InitializedWarcraft = false; if (AutoRG.IsRunning) { AutoRG.CancelAsync(); } AutoMouse.CheckOff(); // 프로그램을 찾지 못할 경우 검색 간격 증가 await Task.Delay(800); return(true); } else if (!InitializedWarcraft) { InitializedWarcraft = true; await Task.Delay(2000); Warcraft3Info.Refresh(); GameModule.GetOffset(); GameDelay = 50; RefreshCooldown = 0.01f; //ColorfulChat = true; name = string.Empty; StartDelay = Settings.StartSpeed > 0 ? Settings.StartSpeed : 0.01f; CameraDistance = Settings.CameraDistance; CameraAngleX = Settings.CameraAngleX; CameraAngleY = Settings.CameraAngleY; } if (Settings.IsAutoHp && !HPView) { HPView = true; } //AntiZombieProcessChecker.Check(); MemoryOptimizeChecker.Check(); StatusCheck(); return(false); }
internal static async void Rework(string[] args) { string LastInstallPath = Path.GetDirectoryName(Warcraft3Info.Process.MainModule.FileName); Settings.InstallPath = LastInstallPath; string[] procArgs = GetArguments(Warcraft3Info.ID); Warcraft3Info.Close(); await Task.Delay(2000); int windowState = 1; if (procArgs.Length != 0) { switch (procArgs[0].ToLower()) { case "-windows": windowState = 0; break; case "-nativefullscr": windowState = 2; break; } } await GameModule.StartWarcraft3(LastInstallPath, windowState); }
internal static void ProgramExit(string[] args) { //SendMsg(true, new string[] { "프로그램을 종료합니다." }); Warcraft3Info.Close(); //ProgramShutDown(); }