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); }
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; }