public static void faceWaypoint(Player waypoint, int base_addr) { setPlayerInfo(base_addr); float num = 0f; num = (float)Math.Atan2((double)(waypoint.Y - player.Y), (double)(waypoint.X - player.X)); Console.WriteLine(string.Concat(new object[] { "waypoint.y = ", waypoint.X, "player.y = ", player.X })); num = (num * 180f) / 3.141593f; num += 100f; Console.WriteLine("Degree: " + num); IntPtr pHandle = Memory.OpenProcess(Memory.GetProcessIdByProcessName("AION.bin")); Memory.WriteMemory(pHandle, (long)(base_addr + 0x8e40c8), num); Memory.CloseHandle(pHandle); keyPress.pressLeft(10); keyPress.pressRight(10); }
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { bool flag = false; int num = 0x780; int num2 = 0x438; int num3 = aionUtil.getBaseAddr(); string[] actionArray = this.pullSeq.Text.Split(new char[] { ',' }); string[] strArray2 = this.fightSeq1.Text.Split(new char[] { ',' }); string[] strArray3 = this.fightSeq2.Text.Split(new char[] { ',' }); string[] strArray4 = this.healSeq.Text.Split(new char[] { ',' }); string[] strArray5 = this.afterDeathSeq.Text.Split(new char[] { ',' }); string[] strArray6 = this.lootKey.Text.Split(new char[] { ',' }); int delay = int.Parse(this.pullDelay.Text); int num5 = int.Parse(this.fight1Delay.Text); int millisecondsTimeout = int.Parse(this.fight2Delay.Text); int num7 = int.Parse(this.healDelay.Text); int num8 = int.Parse(this.afterDeathDelay.Text); int num9 = int.Parse(this.minHealth.Text); int num10 = int.Parse(this.fight_file_name.Text.Split(new char[] { 'x' })[0]); int num11 = int.Parse(this.fight_file_name.Text.Split(new char[] { 'x' })[1]); int x = (num10 * 0x453) / num; int y = (num11 * 0x264) / num2; keyEvent event2 = new keyEvent(); mouseEvent event3 = new mouseEvent(); Thread.Sleep(0x1388); while (this.fightCount == 0) { if (((aionUtil.hasTarget(num3) == 0) || (aionUtil.getTargetStatus(num3) == 8)) || flag) { event2.tab(); Thread.Sleep(0x3e8); flag = false; } if (aionUtil.getTargetStatus(num3) != 9) { event2.pressLeft(400); Thread.Sleep(0x7d0); continue; } aionUtil.actionSeq(actionArray, delay); StartTimerCallBack method = new StartTimerCallBack(this.StartTimer); base.Invoke(method); int num14 = aionUtil.getPlayerHealth(num3); int num15 = aionUtil.getTargetHealth(num3); while ((aionUtil.getTargetStatus(num3) == 9) && (aionUtil.getPlayerHealth(num3) > 0)) { aionUtil.actionSeq(strArray2, num5); if (aionUtil.getTargetStatus(num3) != 9) { break; } Thread.Sleep(millisecondsTimeout); aionUtil.actionSeq(strArray3, num5); if (aionUtil.getTargetStatus(num3) != 9) { break; } Thread.Sleep(millisecondsTimeout); if (((this.timer > 400) && (aionUtil.getPlayerHealth(num3) >= num14)) && (aionUtil.getTargetHealth(num3) >= num15)) { event2.pressRight(0x640); Thread.Sleep(0x3e8); event2.tab(); flag = true; break; } StopTimerCallBack back2 = new StopTimerCallBack(this.StopTimer); base.Invoke(back2); } StopTimerCallBack back3 = new StopTimerCallBack(this.StopTimer); base.Invoke(back3); Thread.Sleep(500); aionUtil.actionSeq(strArray6, 0x5dc); Thread.Sleep(0x3e8); if (aionUtil.getPlayerHealth(num3) == 0) { Thread.Sleep(0x1388); event3.leftClick(x, y); Thread.Sleep(0x1388); event2.pressKey(this.restKey.Text, 100); Thread.Sleep(0x3a980); event2.pressKey(this.restKey.Text, 100); Thread.Sleep(0xbb8); aionUtil.actionSeq(strArray5, num8); Thread.Sleep(0x3e8); aionUtil.followPath(num3, this.death_file_name.Text); } else if ((aionUtil.getPlayerHealth(num3) <= num9) && (aionUtil.hasTarget(num3) == 0)) { Thread.Sleep(0x3e8); aionUtil.actionSeq(strArray4, num7); } else { event2.pressLeft(300); } } this.fightCount = 0; }