示例#1
0
        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);
                }
            }
        }
示例#2
0
        //  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();
        }
示例#3
0
        //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);
        }