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