Пример #1
0
 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.");
 }
Пример #2
0
        // 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;
        }
Пример #3
0
 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.";
 }
Пример #4
0
        // 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);
        }