void ComponentDispatcher_ThreadPreprocessMessage(ref MSG msg, ref bool handled) { if (msg.message == Hotkey.WM_HOTKEY) { try { GameManagerAccounts Main = GameManagerAccountHelper.Current; foreach (GameManagerAccounts Acc in GameManager.Instance.Accounts.NotMainAccount()) { Point ClientRect = DiabloIII.FromD3toScreenCoords(DiabloIII.Player(Acc.DiabloIII).Point(), Main.Player.Point()); //PInvokers.ClientToScreen(Acc.DiabloIII.Process.MainWindowHandle, ref f); if (Config.Get <FKConfig>().General.Macros.UseForceMove) { VirtualInput.KeyClick(Acc.DiabloIII.Process.MainWindowHandle, ClientRect); } else { VirtualInput.LeftClick(Acc.DiabloIII.Process.MainWindowHandle, ClientRect); } } } catch (Exception e) { DebugWriter.Write(e); } } }
// public static List<RiftStats> DisposedRifts = new List<RiftStats>(); // public static RiftType RiftType; public void StartRift(Enigma.D3.Quest Quest) { RiftType = (RiftType)Quest.x000_QuestSnoId; RiftIsActive = true; CurrentRift = new Rift.RiftStats { StartTick = Quest.x004_CreationTick, Started = DateTime.Now.AddSeconds(-((GameManager.Instance.GameTicks - Quest.x004_CreationTick) / 60)), RiftType = this.RiftType, RiftLevel = -1, Legendary = new List <int>(), Levels = 1, Boss = -1, Difficulty = (Difficulty)GameManagerAccountHelper.Current.DiabloIII.ObjectManager.Storage.x004, }; if (GameManagerAccountHelper.Current.DiabloIII.ObjectManager.Storage._x05C != -1) // GR { CurrentRift.RiftLevel = (GameManagerAccountHelper.Current.DiabloIII.ObjectManager.Storage._x05C + 1); CurrentRift.Difficulty = Difficulty.GreaterRift; TownHelper.UpdateStash(); //RiftType = RiftType.GreaterRift; } Account = GameManagerAccountHelper.Current; SetTimer(); }
//public Dictionary<int, Task> Tasks = new Dictionary<int, Task>(); public void Add(List <Action> Thread, GameManagerAccounts Account) { Tasks.Add(Account.GameMangerDataID); _stop.WaitOne(); Task.Factory.StartNew(() => { Account.DiabloIII.Process.WaitForExit(); Tasks.Remove(Account.GameMangerDataID); }, TaskCreationOptions.LongRunning); }