Пример #1
0
        public static BGDataStruct getBgQeueStats(uint id)
        {
            BGDataStruct bgQueue = new BGDataStruct();
            uint         bgQueueCur;
            int          i = 1;

            bgQueueCur = Convert.ToUInt32(Memory.Read <uint>(Memory.BaseAddress + Offsets.bgQueueStats.BasePtr.val));

            while (i < id)
            {
                bgQueueCur = Convert.ToUInt32(Memory.Read <uint>(bgQueueCur + Offsets.bgQueueStats.NextPtr.val));
                i++;
            }

            if ((bgQueueCur & 1) == 1 || bgQueueCur == 0)
            {
                bgQueue.status          = 0;
                bgQueue.estimatedWait   = 0;
                bgQueue.timeWaited      = 0;
                bgQueue.battlefieldName = "";
                //bgQueue.TESTVAL = bgQueueCur;
            }
            else
            {
                bgQueue.status        = Memory.Read <int>(bgQueueCur + Offsets.bgQueueStats.Status.val);
                bgQueue.estimatedWait = Memory.Read <int>(bgQueueCur + Offsets.bgQueueStats.EstimatedWait.val);
                bgQueue.timeWaited    = Memory.Read <int>(bgQueueCur + Offsets.bgQueueStats.TimeWaited.val);

                if (bgQueue.status != 2)
                {
                    int bml_id = Memory.Read <int>(bgQueueCur + Offsets.bgQueueStats.BattleMasterListIdPtr.val);
                    bgQueue.battlefieldName = BattleMasterList[bml_id].BattlefieldName;
                    bgQueue.battlefieldID   = bml_id;
                    try
                    {
                        bgQueue.battlefieldName = Forms.ProcessSelector.BattlefieldIDs[bgQueue.battlefieldID];
                    }
                    catch (Exception ex) { bgQueue.battlefieldName = "N/A"; }
                }
                else
                {
                    int map_id = Memory.Read <int>(bgQueueCur + Offsets.bgQueueStats.MapId.val);
                    bgQueue.battlefieldName = Map[map_id].BattlefieldName;
                    bgQueue.battlefieldID   = map_id;
                }
            }

            return(bgQueue);
        }
Пример #2
0
        public static BGDataStruct getBgQeueStats(uint id)
        {
            BGDataStruct bgQueue = new BGDataStruct();
            uint bgQueueCur;
            int i = 1;

            bgQueueCur = Convert.ToUInt32(Memory.Read<uint>(Memory.BaseAddress + Offsets.bgQueueStats.BasePtr.val));

            while (i < id)
            {
                bgQueueCur = Convert.ToUInt32(Memory.Read<uint>(bgQueueCur + Offsets.bgQueueStats.NextPtr.val));
                i++;
            }

            if ((bgQueueCur & 1) == 1 || bgQueueCur == 0)
            {
                bgQueue.status = 0;
                bgQueue.estimatedWait = 0;
                bgQueue.timeWaited = 0;
                bgQueue.battlefieldName = "";
            }
            else
            {
                bgQueue.status = Memory.Read<int>(bgQueueCur + Offsets.bgQueueStats.Status.val);
                bgQueue.estimatedWait = Memory.Read<int>(bgQueueCur + Offsets.bgQueueStats.EstimatedWait.val);
                bgQueue.timeWaited = Memory.Read<int>(bgQueueCur + Offsets.bgQueueStats.TimeWaited.val);

                if (bgQueue.status != 2)
                {
                    int bml_id = Memory.Read<int>(bgQueueCur + Offsets.bgQueueStats.BattleMasterListIdPtr.val);
                    bgQueue.battlefieldName = BattleMasterList[bml_id].BattlefieldName;
                }
                else
                {
                    int map_id = Memory.Read<int>(bgQueueCur + Offsets.bgQueueStats.MapId.val);
                    bgQueue.battlefieldName = Map[map_id].BattlefieldName;
                }
            }

            return bgQueue;
        }