public Position3D getPosition3D() { position3D.x = MemoryHandler.readFloat(X); position3D.y = MemoryHandler.readFloat(Y); position3D.z = MemoryHandler.readFloat(Z); return(position3D); }
public void flyTo(Position position) { //míg az x,y távolság nagyobb mint 1 várok stopwatch.Reset(); stopwatch.Start(); while ( (Math.Abs(MemoryHandler.readFloat(X) - position.x) > 10.0f || Math.Abs(MemoryHandler.readFloat(Y) - position.y) > 10.0f) ) { //ha sokat baszakodik, akkor ujra felmountolok if (stopwatch.ElapsedMilliseconds > 60000) { System.Console.WriteLine("nem nagyon jutok a célhoz, ujramountolok"); MemoryHandler.writeInt(CTM_Action, 11); takeOff(); stopwatch.Reset(); stopwatch.Start(); } MemoryHandler.writeFloat(CTM_X, position.x); MemoryHandler.writeFloat(CTM_Y, position.y); MemoryHandler.writeFloat(CTM_Z, MemoryHandler.readFloat(Z)); MemoryHandler.writeFloat(CTM_Distance, 0.5f); MemoryHandler.writeInt(CTM_Action, 4); Thread.Sleep(200); //System.Console.WriteLine(MemoryHandler.readFloat(CTM_X) + ", " + MemoryHandler.readFloat(CTM_Y) + ", " + MemoryHandler.readFloat(CTM_Z)); //System.Console.WriteLine(position.x + ", " + position.y); //System.Console.WriteLine(MemoryHandler.readFloat(X) + ", " + MemoryHandler.readFloat(Y)); } MemoryHandler.writeInt(CTM_Action, 11); Thread.Sleep(400); }
public void takeOff() { stop(); Thread.Sleep(500); mount(); while (!isMounted()) { while (ObjectManager.sharedOM().getEnemies().Count > 0) { attack(ObjectManager.sharedOM().getEnemies()[0].Guid); figth(); } mount(); } MemoryHandler.writeFloat(CTM_X, MemoryHandler.readFloat(X)); MemoryHandler.writeFloat(CTM_Y, MemoryHandler.readFloat(Y)); MemoryHandler.writeFloat(CTM_Z, MemoryHandler.readFloat(Z) + 800.0f); MemoryHandler.writeInt(CTM_Action, 4); //néha nem repül fel egyből, hanem megáll 1 méterre a föld felett, ezért ujra kell kattintani Thread.Sleep(1000); MemoryHandler.writeInt(CTM_Action, 4); Thread.Sleep(7000); }
public bool isMounted() { int movementFieldPtr = MemoryHandler.readInt((int)(player + PlayerOffsets.movementFieldPtr)); int isMounted = MemoryHandler.readInt((int)(movementFieldPtr + PlayerOffsets.IsFlyingOffset)) & (int)PlayerOffsets.IsFlyingMount_Mask; return(0 != isMounted); }
public void takeOff() { //ChatWriter.send(MemoryHandler.process.MainWindowHandle, "/run if IsMounted() == nil then CallCompanion('MOUNT', " + mountNum + ") end");//"/click MultiBarRightButton1" if (getCurrRage() > 0) { System.Console.WriteLine("megtámadtak, bladestorm"); ChatWriter.hitKey(ChatWriter.THREE); ChatWriter.hitKey(ChatWriter.THREE); ChatWriter.hitKey(ChatWriter.TWO); Thread.Sleep(8000); ChatWriter.hitKey(ChatWriter.FOUR); Thread.Sleep(2000); } ChatWriter.hitKey(ChatWriter.ONE); Thread.Sleep(2500); MemoryHandler.writeFloat(CTM_X, MemoryHandler.readFloat(X)); MemoryHandler.writeFloat(CTM_Y, MemoryHandler.readFloat(Y)); MemoryHandler.writeFloat(CTM_Z, MemoryHandler.readFloat(Z) + 800.0f); MemoryHandler.writeInt(CTM_Action, 4); //néha nem repül fel egyből, hanem megáll 1 méterre a föld felett, ezért ujra kell kattintani Thread.Sleep(1000); MemoryHandler.writeInt(CTM_Action, 4); Thread.Sleep(10000); }
public ulong getSpiritHealer() { int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); WowObject sh = new WowObject(); sh.Guid = MemoryHandler.readUInt64((int)(currObj + ObjectOffsets.Guid)); sh.Type = (short)(MemoryHandler.readUInt32((int)(currObj + ObjectOffsets.Type))); if (sh.Type == 3) { string name = "Spirit Healer"; sh.Name = getMobNameFrmBase(currObj); if (sh.Name == name) { return(sh.Guid); } } currObjPtr = currObj + NEXT_OBJECT; } return(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); }
public ulong getEnemyNearPos(Position3D pos) { WowObject enemy = new WowObject(); int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); int LocalGUID = 0xC0; Int64 playerGUID = MemoryHandler.readHexAsInt64(objectManager + LocalGUID); while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); enemy.Guid = MemoryHandler.readUInt64((int)(currObj + ObjectOffsets.Guid)); enemy.Type = (short)(MemoryHandler.readUInt32((int)(currObj + ObjectOffsets.Type))); enemy.XPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_X)); enemy.YPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_Y)); enemy.ZPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_Z)); enemy.CurrentHealth = MemoryHandler.readUint((int)(currObj + ObjectOffsets.Health)); if (enemy.Type == 3 && enemy.CurrentHealth != 0) { Position enemyPos = new Position(enemy.XPos, enemy.YPos); if (5.0 > enemyPos.distance(pos.to2DPosition())) { return(enemy.Guid); } } currObjPtr = currObj + NEXT_OBJECT; } return(0); }
public MineralVein[] getMineralVeinsAround() { int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); List <MineralVein> mineralsAround = new List <MineralVein>(); while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); if (MineralVein.mineralIDs.Contains(MemoryHandler.readInt(currObj + MineralVein.TYPE_ID))) { Position3D position = new Position3D( MemoryHandler.readFloat(currObj + MineralVein.X), MemoryHandler.readFloat(currObj + MineralVein.Y), MemoryHandler.readFloat(currObj + MineralVein.Z)); if (!Bot.PROHIBITED_POSITIONS.Contains(position)) { mineralsAround.Add(new MineralVein(position, MemoryHandler.readInt64(currObj + 0x30))); } } currObjPtr = currObj + NEXT_OBJECT; } return(mineralsAround.ToArray()); }
static void Main(string[] args) { MemoryHandler.createReader(); Bot bot = new Bot(); bot.startMining(1); Thread.Sleep(1111113000); }
public static Position getRelativePosition(float x, float y) { if (zones == null) { createZones(); } Zone zone = getZoneById(MemoryHandler.readInt(ZONE_ID)); return(new Position(zone.getRelativeX(x), zone.getRelativeY(y))); }
public void interactWithMouseOver(ulong guid, int sleepTime = 1300) { //mozgás közben nem lehet lootolni stop(); //az értékek beírása a memoriába MemoryHandler.writeULong(MOUSE_OVER_GUID, guid); ChatWriter.hitKey(ChatWriter.K); Thread.Sleep(sleepTime); }
public void ressurrect() { ChatWriter.send(MemoryHandler.process.MainWindowHandle, "/script RepopMe()"); Thread.Sleep(2000); //MemoryHandler.writeFloat(CTM_Distance, 0.5f); MemoryHandler.writeInt64(MOUSE_OVER_GUID, ObjectManager.sharedOM().getSHGUID()); Thread.Sleep(500); ChatWriter.hitKey(0x042); Thread.Sleep(6000); ChatWriter.send(MemoryHandler.process.MainWindowHandle, "/run SelectGossipOption(1) AcceptXPLoss()"); Thread.Sleep(6000); }
public void clickToLoot(Position3D position, ulong guid) { //az értékek beírása a memoriába MemoryHandler.writeULong(MOUSE_OVER_GUID, guid); //System.Console.WriteLine(guid.ToString("X")); ChatWriter.hitKey(ChatWriter.K); //MemoryHandler.writeInt(CTM_Action, 7); //amíg az action 7, azaz mozgásban van, addig várok Thread.Sleep(200); }
public void runTo(Position3D pos) { MemoryHandler.writeFloat(CTM_X, pos.x); MemoryHandler.writeFloat(CTM_Y, pos.y); MemoryHandler.writeFloat(CTM_Z, pos.z);//MemoryHandler.readFloat(Z)); MemoryHandler.writeInt(CTM_Action, 4); Thread.Sleep(200); if (nearPosition(pos, 6)) { ChatWriter.hitKey(ChatWriter.W); Thread.Sleep(100); } }
public void clickToMove(Position3D position) { //az értékek beírása a memoriába MemoryHandler.writeFloat(CTM_X, position.x); MemoryHandler.writeFloat(CTM_Y, position.y); MemoryHandler.writeFloat(CTM_Z, position.z); MemoryHandler.writeInt(CTM_Action, 4); //MemoryHandler.writeFloat(CTM_Distance, 0.5f); //amíg az action 4, azaz mozgásban van, addig várok while (MemoryHandler.readInt(CTM_Action) == 4) { Thread.Sleep(200); } Thread.Sleep(400); }
public void clickToLoot(Position3D position, Int64 guid) { //az értékek beírása a memoriába MemoryHandler.writeInt64(MOUSE_OVER_GUID, guid); System.Console.WriteLine(guid); ChatWriter.hitKey(0x042); //MemoryHandler.writeInt(CTM_Action, 7); //amíg az action 7, azaz mozgásban van, addig várok while (MemoryHandler.readInt(CTM_Action) == 7) { Thread.Sleep(200); } Thread.Sleep(400); }
public Int64 getSHGUID() { int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); if (SH_GUIDS.Contains(MemoryHandler.readHexAsInt64(currObj + GUID_OFFS))) { return(MemoryHandler.readHexAsInt64(currObj + GUID_OFFS)); } currObjPtr = currObj + NEXT_OBJECT; } return(0); }
public void attack(ulong guid, bool shouldCharge = false) { //az értékek beírása a memoriába MemoryHandler.writeULong(MOUSE_OVER_GUID, guid); ChatWriter.hitKey(ChatWriter.K); if (shouldCharge) { charge(); } Thread.Sleep(800); //mer össze vissza rohangál stop(); Thread.Sleep(200); }
public int getHealthByGUID(ulong GUID) { int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); if (MemoryHandler.readUInt64((int)(currObj + ObjectOffsets.Guid)) == (GUID)) { return(MemoryHandler.readInt((int)(currObj + ObjectOffsets.Health))); } currObjPtr = currObj + NEXT_OBJECT; } return(-1); }
public void summonedByMe() { int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); int LocalGUID = 0xC0; while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); if (MemoryHandler.readHexAsInt64(currObj + 560) == MemoryHandler.readHexAsInt64(objectManager + LocalGUID)) { System.Console.WriteLine("ja"); } currObjPtr = currObj + NEXT_OBJECT; } }
public List <WowObject> getEnemies() { List <WowObject> enemies = new List <WowObject>(); int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); int LocalGUID = 0xC0; Int64 playerGUID = MemoryHandler.readHexAsInt64(objectManager + LocalGUID); while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); WowObject enemy = new WowObject(); enemy.Guid = MemoryHandler.readUInt64((int)(currObj + ObjectOffsets.Guid)); enemy.Type = (short)(MemoryHandler.readUInt32((int)(currObj + ObjectOffsets.Type))); /*enemy.XPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_X)); * enemy.YPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_Y)); * enemy.ZPos = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Pos_Z)); * enemy.Rotation = MemoryHandler.readFloat((int)(currObj + ObjectOffsets.Rot)); * enemy.CurrentHealth = MemoryHandler.readUint((int)(currObj + ObjectOffsets.Health));*/ if (enemy.Type == 3) { enemy.Name = getMobNameFrmBase(currObj); enemy.Target = MemoryHandler.readHexAsInt64((int)(currObj + ObjectOffsets.Target_GUID)); if (enemy.Target == playerGUID) { HumanoidBot.metElite(enemy); enemies.Add(enemy); } } currObjPtr = currObj + NEXT_OBJECT; } return(enemies); }
static void Main(string[] args) { MemoryHandler.createReader(); //ObjectManager.sharedOM().getSpell(); /*while (true) { * ulong a = ObjectManager.sharedOM().getSpiritHealer(); * System.Console.Clear(); * System.Console.WriteLine(a); * Thread.Sleep(200); * }*/ //InterceptKeys.writeToLocationsTxt(); //X et kell nyomi, hogy hozzáírjon valamit HumanoidBot bot = new HumanoidBot(BotData.startingPlaces1, BotData.farmingPlaces1, BotData.elitesArr1, true); //bot.printLocation(); bot.startMining(1); Thread.Sleep(1111113000); }
public void clickToMove(float x, float y, float z = 0.0f) { //ha nem adok meg z értéket, akkor marad a magasság ugyanaz if (z == 0.0f) { z = MemoryHandler.readFloat(Z - 10); } //az értékek beírása a memoriába MemoryHandler.writeFloat(CTM_X, x); MemoryHandler.writeFloat(CTM_Y, y); MemoryHandler.writeFloat(CTM_Z, z); MemoryHandler.writeInt(CTM_Action, 4); //MemoryHandler.writeFloat(CTM_Distance, 0.5f); //amíg az action 4, azaz mozgásban van, addig várok while (MemoryHandler.readInt(CTM_Action) == 4) { Thread.Sleep(200); } Thread.Sleep(400); }
public bool anyOneTargetingMe() { int LocalGUID = 0xC0; Int64 playerGUID = MemoryHandler.readHexAsInt64(objectManager + LocalGUID); int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); Int64 targetGUID = MemoryHandler.readHexAsInt64(MemoryHandler.readInt(currObj) + 0x12); if (1 == 1) { System.Console.WriteLine(MemoryHandler.readInt(currObj + 0x3B) & 0x0080000); } currObjPtr = currObj + NEXT_OBJECT; } return(false); }
private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { int vkCode = Marshal.ReadInt32(lParam); Console.WriteLine((Keys)vkCode); if (vkCode == 'X') { using (StreamWriter w = File.AppendText("C:\\Users\\például Lilian\\Desktop\\locations.txt")) { w.Write("new Position3D(" + (int)MemoryHandler.readFloat(X) + ", " + (int)MemoryHandler.readFloat(Y) + ", " + (int)MemoryHandler.readFloat(Z) + "), "); xHitted++; if (xHitted % 3 == 0) { w.WriteLine(); } } } } return(CallNextHookEx(_hookID, nCode, wParam, lParam)); }
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); } }
public int getPlayerAdress() { int LocalGUID = 0xC0; String playerGUID = MemoryHandler.readHexAsString(objectManager + LocalGUID); System.Console.WriteLine(MemoryHandler.readHexAsInt64(objectManager + LocalGUID)); int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); String GUID = MemoryHandler.readHexAsString(currObj + GUID_OFFS); if (GUID == playerGUID) { System.Console.WriteLine(currObj); return(currObj); } currObjPtr = currObj + NEXT_OBJECT; } return(0); }
private ObjectManager() { int CurMgr = MemoryHandler.readInt(CUR_MGR_PTR);; objectManager = MemoryHandler.readInt(CurMgr + CUR_MGR_OFFSET); }
public void writeToFile() { while (true) { Console.Clear(); int currObjPtr = objectManager + FIRST_OBJECT; int currObj = MemoryHandler.readInt(currObjPtr); //System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\például Lilian\Desktop\akarmi2.txt"); int X = 236; int Y = 500; int Z = 480; while (currObj != 0) { currObj = MemoryHandler.readInt(currObjPtr); Position p = Zone.getRelativePosition(MemoryHandler.readFloat(currObj + X), MemoryHandler.readFloat(currObj + Y)); //if (/*p.x * 100 < 100 && p.y * 100 < 100 &&*/ MemoryHandler.readInt(currObj + 548) == 181557) { //file.WriteLine(MemoryHandler.readHexAsInt64(currObj + 0x20)); /*if (MemoryHandler.readHexAsInt64(currObj + 48) == 75435293781275187) { * System.Console.WriteLine(MemoryHandler.readFloat(currObj + X) + ", " + MemoryHandler.readFloat(currObj + Y)); * }*/ //} /* * if (MemoryHandler.readInt(currObj + 0x14) == 6500) { * Position p = Zone.getRelativePosition(MemoryHandler.readFloat(currObj + X), MemoryHandler.readFloat(currObj + Y)); * file.WriteLine(p.x + ", " + p.y); * }*/ //file.WriteLine(currObj - 0x0AFA6DE0); //file.WriteLine("-------------------------------"); //if (MemoryHandler.readInt(currObj + 548) == 181557) { /* for (int i = 0; i < 1000; ++i) { * file.WriteLine(i + ":" + MemoryHandler.readHexAsInt64(currObj + 0x1 * i)); * } * file.WriteLine("-------------------------------");*/ //} /**/ /*while (true) { * System.Console.Clear(); * System.Console.WriteLine(MemoryHandler.readString(0x0369A30C, 20)); * Thread.Sleep(200); * }*/ //System.Console.WriteLine(MemoryHandler.readString(currObj + 0x2, 10)); /*if (MemoryHandler.readHexAsInt64(0x00BD07A0) == MemoryHandler.readHexAsInt64(currObj + GUID_OFFS) && * MemoryHandler.readHexAsInt64(0x00BD07A0) != 0 * ) {*/ if (MemoryHandler.readHexAsInt64(currObj + 560) == 75435293781275187) { if (MemoryHandler.readInt(currObj + 0xBC) != 0) { System.Console.WriteLine(MemoryHandler.readInt16(currObj + 0xBC)); //Thread.Sleep(20000); } } /*for (int i = 0; i < 10000; ++i) { * if (MemoryHandler.readHexAsInt64(currObj + 0x1 * i) == 75435293781275187) { * System.Console.WriteLine(i); * } * //file.WriteLine(MemoryHandler.readHexAsInt64(currObj + 0x1 * i)); * }*/ //} currObjPtr = currObj + NEXT_OBJECT; } //System.Console.WriteLine(MemoryHandler.readHexAsString(0x00BD07A0)); //file.Close(); Thread.Sleep(10); } }