public string getMyName() { Objects.BList[] batt = new Objects.BList[BListAdresses.Max]; batt = BlGet(true); foreach (Objects.BList crit in batt) { if (crit.Id == Cid()) { return(crit.Name); } } return("Not logged in."); }
// Reading array info public Objects.BList[] BlGet(bool idname = false, bool returnall = true, UInt32 BaseAddress = 0x0, IntPtr? Handle = null) { if (BaseAddress == 0x0) { BaseAddress = Util.Base; if (!returnall) BaseAddress = Util.Base; } int max = Convert.ToInt32(BListAdresses.Step) * BListAdresses.Max; Objects.BList[] bat = new Objects.BList[BListAdresses.Max]; for (int i = 0; i < BListAdresses.Max; i++) { UInt32 CreatureOffset = Convert.ToUInt32(i) * BListAdresses.Step; Objects.BList batt = new Objects.BList(); batt.Addr = i; batt.Id = ReadInt32(BListAdresses.Start + BListAdresses.IdOffset + CreatureOffset + BaseAddress, 4, getIntPtr(Handle)); if (batt.Id != 0 && idname != true) { UInt32 currentMem = BListAdresses.Start + CreatureOffset + BaseAddress; batt.Type = ReadByte(BListAdresses.TypeOffset + currentMem, getIntPtr(Handle)); batt.Name = ReadString(BListAdresses.NameOffset + currentMem, 32, getIntPtr(Handle)); batt.Z = ReadInt32(BListAdresses.ZOffset + currentMem, 4, getIntPtr(Handle)); batt.Y = ReadInt32(BListAdresses.YOffset + currentMem, 4, getIntPtr(Handle)); batt.X = ReadInt32(BListAdresses.XOffset + currentMem, 4, getIntPtr(Handle)); batt.TimeLastMoved = ReadInt32(BListAdresses.TimeLastMovedOffset + currentMem, 4, getIntPtr(Handle)); batt.Walking = ReadInt32(BListAdresses.WalkingOffset + currentMem, 4, getIntPtr(Handle)); batt.Direction = ReadInt32(BListAdresses.DirectionOffset + currentMem, 4, getIntPtr(Handle)); batt.Previous = ReadInt32(BListAdresses.PreviousOffset + currentMem, 4, getIntPtr(Handle)); batt.Next = ReadInt32(BListAdresses.NextOffset + currentMem, 4, getIntPtr(Handle)); batt.Outfit = ReadInt32(BListAdresses.OutfitOffset + currentMem, 4, getIntPtr(Handle)); batt.MountId = ReadInt32(BListAdresses.MountIdOffset + currentMem, 4, getIntPtr(Handle)); batt.BlackSquare = ReadInt32(BListAdresses.BlackSquareOffset + currentMem); // This address might have been removed - needs testin, getIntPtr(Handle)g. batt.Hppc = ReadInt32(BListAdresses.HppcOffset + currentMem, 4, getIntPtr(Handle)); batt.Speed = ReadInt32(BListAdresses.SpeedOffset + currentMem, 4, getIntPtr(Handle)); batt.SkullType = ReadInt32(BListAdresses.SkullOffset + currentMem, 4, getIntPtr(Handle)); batt.Party = ReadInt32(BListAdresses.PartyOffset + currentMem, 4, getIntPtr(Handle)); batt.WarIcon = ReadInt32(BListAdresses.WarOffset + currentMem, 4, getIntPtr(Handle)); batt.Visible = ReadByte(BListAdresses.VisibleOffset + currentMem, getIntPtr(Handle)); bat[i] = batt; } else if (batt.Id != 0 && idname == true) { batt.Id = ReadInt32(BListAdresses.Start + BListAdresses.IdOffset + CreatureOffset + BaseAddress, 4, getIntPtr(Handle)); batt.Name = ReadString(BListAdresses.Start + BListAdresses.NameOffset + CreatureOffset + BaseAddress, 32, getIntPtr(Handle)); bat[i] = batt; } } if (!returnall) { int validcount = 0; foreach (Objects.BList crit in bat) { if (crit.Id != 0) // && crit.Visible != 0 If you wanna check visible, which doesn't seem to work ATM. { validcount++; } } Objects.BList[] batt = new Objects.BList[validcount]; int index = 0; foreach (Objects.BList crit in bat) { if (crit.Id != 0) // && crit.Visible != 0 If you wanna check visible, which doesn't seem to work ATM. { batt[index] = crit; index++; } } return batt; } return bat; }
public string getMyName() { Objects.BList[] batt = new Objects.BList[BListAdresses.Max]; batt = BlGet(true); foreach (Objects.BList crit in batt) { if (crit.Id == Cid()) { return crit.Name; } } return "Not logged in."; }
// Reading array info public Objects.BList[] BlGet(bool idname = false, bool returnall = true, UInt32 BaseAddress = 0x0, IntPtr?Handle = null) { if (BaseAddress == 0x0) { BaseAddress = Util.Base; if (!returnall) { BaseAddress = Util.Base; } } int max = Convert.ToInt32(BListAdresses.Step) * BListAdresses.Max; Objects.BList[] bat = new Objects.BList[BListAdresses.Max]; for (int i = 0; i < BListAdresses.Max; i++) { UInt32 CreatureOffset = Convert.ToUInt32(i) * BListAdresses.Step; Objects.BList batt = new Objects.BList(); batt.Addr = i; batt.Id = ReadInt32(BListAdresses.Start + BListAdresses.IdOffset + CreatureOffset + BaseAddress, 4, getIntPtr(Handle)); if (batt.Id != 0 && idname != true) { UInt32 currentMem = BListAdresses.Start + CreatureOffset + BaseAddress; batt.Type = ReadByte(BListAdresses.TypeOffset + currentMem, getIntPtr(Handle)); batt.Name = ReadString(BListAdresses.NameOffset + currentMem, 32, getIntPtr(Handle)); batt.Z = ReadInt32(BListAdresses.ZOffset + currentMem, 4, getIntPtr(Handle)); batt.Y = ReadInt32(BListAdresses.YOffset + currentMem, 4, getIntPtr(Handle)); batt.X = ReadInt32(BListAdresses.XOffset + currentMem, 4, getIntPtr(Handle)); batt.TimeLastMoved = ReadInt32(BListAdresses.TimeLastMovedOffset + currentMem, 4, getIntPtr(Handle)); batt.Walking = ReadInt32(BListAdresses.WalkingOffset + currentMem, 4, getIntPtr(Handle)); batt.Direction = ReadInt32(BListAdresses.DirectionOffset + currentMem, 4, getIntPtr(Handle)); batt.Previous = ReadInt32(BListAdresses.PreviousOffset + currentMem, 4, getIntPtr(Handle)); batt.Next = ReadInt32(BListAdresses.NextOffset + currentMem, 4, getIntPtr(Handle)); batt.Outfit = ReadInt32(BListAdresses.OutfitOffset + currentMem, 4, getIntPtr(Handle)); batt.MountId = ReadInt32(BListAdresses.MountIdOffset + currentMem, 4, getIntPtr(Handle)); batt.BlackSquare = ReadInt32(BListAdresses.BlackSquareOffset + currentMem); // This address might have been removed - needs testin, getIntPtr(Handle)g. batt.Hppc = ReadInt32(BListAdresses.HppcOffset + currentMem, 4, getIntPtr(Handle)); batt.Speed = ReadInt32(BListAdresses.SpeedOffset + currentMem, 4, getIntPtr(Handle)); batt.SkullType = ReadInt32(BListAdresses.SkullOffset + currentMem, 4, getIntPtr(Handle)); batt.Party = ReadInt32(BListAdresses.PartyOffset + currentMem, 4, getIntPtr(Handle)); batt.WarIcon = ReadInt32(BListAdresses.WarOffset + currentMem, 4, getIntPtr(Handle)); batt.Visible = ReadByte(BListAdresses.VisibleOffset + currentMem, getIntPtr(Handle)); bat[i] = batt; } else if (batt.Id != 0 && idname == true) { batt.Id = ReadInt32(BListAdresses.Start + BListAdresses.IdOffset + CreatureOffset + BaseAddress, 4, getIntPtr(Handle)); batt.Name = ReadString(BListAdresses.Start + BListAdresses.NameOffset + CreatureOffset + BaseAddress, 32, getIntPtr(Handle)); bat[i] = batt; } } if (!returnall) { int validcount = 0; foreach (Objects.BList crit in bat) { if (crit.Id != 0) // && crit.Visible != 0 If you wanna check visible, which doesn't seem to work ATM. { validcount++; } } Objects.BList[] batt = new Objects.BList[validcount]; int index = 0; foreach (Objects.BList crit in bat) { if (crit.Id != 0) // && crit.Visible != 0 If you wanna check visible, which doesn't seem to work ATM. { batt[index] = crit; index++; } } return(batt); } return(bat); }