コード例 #1
0
        public bool isPlayerNear(Position3D playerPos)
        {
            int currObjPtr = objectManager + FIRST_OBJECT;
            int currObj    = MemoryHandler.readInt(currObjPtr);

            WowObject target = new WowObject();

            while (currObj != 0)
            {
                currObj = MemoryHandler.readInt(currObjPtr);

                target.Type = (short)(MemoryHandler.readUInt32((int)(currObj + ObjectOffsets.Type)));

                if (target.Type == 4)
                {
                    target.XPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_X));
                    target.YPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_Y));
                    target.ZPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_Z));

                    float distance = playerPos.distance(new Position3D(target.XPos, target.YPos, target.ZPos));

                    if (160.0f > distance && 1.0f < distance)
                    {
                        return(true);
                    }
                }

                currObjPtr = currObj + NEXT_OBJECT;
            }

            return(false);
        }
コード例 #2
0
        public void printTargetData(Position3D playerPos)
        {
            while (true)
            {
                int currObjPtr = objectManager + FIRST_OBJECT;
                int currObj    = MemoryHandler.readInt(currObjPtr);

                WowObject  target   = new WowObject();
                Position3D otherPos = new Position3D(0, 0, 0);

                while (currObj != 0)
                {
                    currObj = MemoryHandler.readInt(currObjPtr);


                    if (MemoryHandler.readUInt64((int)Globals.CURR_TARGET_GUID) == MemoryHandler.readUInt64((int)(currObj + ObjectOffsets.Guid)))
                    {
                        target.Guid = MemoryHandler.readUInt64((int)(currObj + ObjectOffsets.Guid));
                        target.Name = getMobNameFrmBase(currObj);

                        target.XPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_X));
                        target.YPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_Y));
                        target.ZPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_Z));

                        otherPos = new Position3D(target.XPos, target.YPos, target.ZPos);
                    }

                    currObjPtr = currObj + NEXT_OBJECT;
                }

                System.Console.Clear();
                System.Console.WriteLine(target.Name + ", " + target.Guid);
                System.Console.WriteLine(playerPos.distance(otherPos));
                Thread.Sleep(200);
            }
        }