public static void MountHorse() { byte found_horse = 0; for (int i = 0; i < Data.inventoryid.Count; i++) { string type = Data.inventorytype[i].ToString(); if (type.StartsWith("ITEM_COS_C_HORSE") || type.StartsWith("ITEM_COS_C_DHORSE")) { if (Character.Level >= (Data.inventorylevel[i])) { found_horse = 1; Packet NewPacket = new Packet((ushort)WorldServerOpcodes.CLIENT_OPCODES.CLIENT_INVENTORYUSE, true); uint slot = Data.inventoryslot[i]; NewPacket.WriteUInt8((byte)slot); NewPacket.WriteUInt8(0xEC); NewPacket.WriteUInt8(0x11); Proxy.ag_remote_security.Send(NewPacket); break; } } } if (found_horse == 0) { Data.loopend = 1; StartLooping.LoadTrainScript(); } }
public static void HorseAction(Packet packet) { if (packet.ReadUInt8() == 1) { uint char_id = packet.ReadUInt32(); if (char_id == Character.UniqueID) { byte action = packet.ReadUInt8(); uint pet_id = packet.ReadUInt32(); for (int i = 0; i < Pets.CharPets.Count; i++) { if (Pets.CharPets[i].UniqueID == pet_id) { switch (action) { case 0: Data.char_horseid = 0; Data.char_horsespeed = 0; if (Data.loopaction == "dismounthorse") { Data.loopaction = ""; StartLooping.Start(); } break; case 1: Data.char_horseid = pet_id; Data.char_horsespeed = Pets.CharPets[i].Speed; if (Data.loopaction == "mounthorse") { Data.loopaction = ""; Data.loopend = 1; StartLooping.LoadTrainScript(); } break; } break; } } } } }
public static void WalkScript() { { if (Data.bot) { if (i < count) { Data.loop = true; i++; try { string action = read.ReadLine(); if (action.StartsWith("go")) { Data.loopaction = "go"; Coordinates.x = Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[0]); Coordinates.y = Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[1]); int dist = (int)(Math.Abs(Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[0]) - Character.X) + Math.Abs(Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[1]) - Character.Y)); BotAction.WalkTo(Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[0]), Convert.ToInt32(action.Split('(')[1].Split(')')[0].Split(',')[1])); double time = 0; if (Data.char_horseid == 0) { time = (dist / Convert.ToInt64(Character.RunSpeed * 0.08)); } else { time = (dist / Convert.ToInt64(Data.char_horsespeed * 0.08)); } Timer repeat = new Timer(); repeat.Elapsed += new ElapsedEventHandler(repeat_Elapsed); repeat.Interval = time * 1000 + 1; repeat.Start(); repeat.AutoReset = false; repeat.Enabled = true; } if (action.StartsWith("talk")) { if (action.Split('(')[1].Split(')')[0] == "Storage") { Data.loopaction = "storage"; StorageControl.OpenStorage(); } if (action.Split('(')[1].Split(')')[0] == "Sell") { Data.loopaction = "blacksmith"; SellControl.OpenShop(); } if (action.Split('(')[1].Split(')')[0] == "Stable") { Data.loopaction = "stable"; BuyControl.OpenShop(); } if (action.Split('(')[1].Split(')')[0] == "Grocery") { Data.loopaction = "accessory"; BuyControl.OpenShop(); } if (action.Split('(')[1].Split(')')[0] == "Potion") { Data.loopaction = "potion"; BuyControl.OpenShop(); } } if (action.StartsWith("delay")) { Timer timer = new Timer(); timer.Elapsed += new ElapsedEventHandler(OnTick); timer.Interval = Convert.ToInt32(action.Split('(')[1].Split(')')[0]) + 1; timer.Start(); timer.AutoReset = false; timer.Enabled = true; } if (action.StartsWith("teleport")) { string[] tmp = action.Split(','); uint id = Spawns.NPCID[Spawns.NPCType.IndexOf(Mobs_Info.mobstypelist[Mobs_Info.mobsidlist.IndexOf(Convert.ToUInt32(tmp[1]))])]; Teleport.Tele(id, Convert.ToByte(tmp[2]), Convert.ToUInt32(tmp[3])); } if (action.StartsWith("set")) { Globals.MainWindow.SetText(Globals.MainWindow.x_setbox, action.Split('(')[1].Split(')')[0].Split(',')[0]); Globals.MainWindow.SetText(Globals.MainWindow.y_setbox, action.Split('(')[1].Split(')')[0].Split(',')[1]); } } catch { } if (i == count) { Data.loopaction = null; Data.loop = false; i = 0; read.Close(); if (Data.loopend == 0) { InventoryControl.MergeItems(); System.Threading.Thread.Sleep(5000); Globals.MainWindow.UpdateLogs("Townloop Ended"); if (Data.char_horseid == 0) { Data.loopaction = "mounthorse"; BotAction.MountHorse(); } else { Data.loopend = 1; StartLooping.LoadTrainScript(); } } else { Globals.MainWindow.UpdateLogs("Walkscript Ended"); Globals.MainWindow.SetText(Globals.MainWindow.x_setbox, Character.X.ToString()); Globals.MainWindow.SetText(Globals.MainWindow.y_setbox, Character.Y.ToString()); StartLooping.Start(); } } } } } }
public static void Start() { if (Data.bot) { type = Location.FindTown(); switch (type) { case null: Data.loopend = 0; Data.loop = false; Data.bot = false; Globals.MainWindow.UpdateLogs("Train coordinates are not correct! Please set coordinates before training."); Globals.MainWindow.Content(Globals.MainWindow.startbot, "Start Bot"); break; case "train": if (Data.char_horseid == 0) { Data.loopend = 0; Data.loop = false; Data.bot = true; PickupControl.there_is_pickable = true; Buffas.buff_waiting = true; Globals.MainWindow.UpdateLogs("Start Botting!"); Globals.MainWindow.Content(Globals.MainWindow.startbot, "Stop Bot"); if (Globals.MainWindow.Checked(Globals.MainWindow.autoparty) == true) { Party.CreateParty(); } LogicControl.Manager(); } else { Data.loopaction = "dismounthorse"; Packet NewPacket = new Packet((ushort)WorldServerOpcodes.CLIENT_OPCODES.CLIENT_KILLHORSE); NewPacket.WriteUInt32(Data.char_horseid); Proxy.ag_remote_security.Send(NewPacket); } break; case "ch": if (Globals.MainWindow.Checked(Globals.MainWindow.loop_off) == true) { try { LoopControl.read.Close(); } catch { } if (Data.char_horseid == 0) { Data.loopaction = "mounthorse"; BotAction.MountHorse(); } else { Data.loopend = 1; StartLooping.LoadTrainScript(); } } else { try { LoopControl.read.Close(); } catch { } LoopControl.read = new StreamReader(@"Data/Scripts/ch_town.txt"); LoopControl.count = File.ReadAllLines(@"Data/Scripts/ch_town.txt").Length; Data.loopend = 0; Data.loop = false; LoopControl.WalkScript(); } break; case "wc": if (Globals.MainWindow.Checked(Globals.MainWindow.loop_off) == true) { try { LoopControl.read.Close(); } catch { } if (Data.char_horseid == 0) { Data.loopaction = "mounthorse"; BotAction.MountHorse(); } else { Data.loopend = 1; StartLooping.LoadTrainScript(); } } else { try { LoopControl.read.Close(); } catch { } LoopControl.read = new StreamReader(@"Data/Scripts/wc_town.txt"); LoopControl.count = File.ReadAllLines(@"Data/Scripts/wc_town.txt").Length; Data.loopend = 0; Data.loop = false; LoopControl.WalkScript(); } break; case "kt": if (Globals.MainWindow.Checked(Globals.MainWindow.loop_off) == true) { try { LoopControl.read.Close(); } catch { } if (Data.char_horseid == 0) { Data.loopaction = "mounthorse"; BotAction.MountHorse(); } else { Data.loopend = 1; StartLooping.LoadTrainScript(); } } else { try { LoopControl.read.Close(); } catch { } LoopControl.read = new StreamReader(@"Data/Scripts/kt_town.txt"); LoopControl.count = File.ReadAllLines(@"Data/Scripts/kt_town.txt").Length; Data.loopend = 0; Data.loop = false; LoopControl.WalkScript(); } break; case "ca": if (Globals.MainWindow.Checked(Globals.MainWindow.loop_off) == true) { try { LoopControl.read.Close(); } catch { } if (Data.char_horseid == 0) { Data.loopaction = "mounthorse"; BotAction.MountHorse(); } else { Data.loopend = 1; StartLooping.LoadTrainScript(); } } else { try { LoopControl.read.Close(); } catch { } LoopControl.read = new StreamReader(@"Data/Scripts/ca_town.txt"); LoopControl.count = File.ReadAllLines(@"Data/Scripts/ca_town.txt").Length; Data.loopend = 0; Data.loop = false; LoopControl.WalkScript(); } break; case "eu": if (Globals.MainWindow.Checked(Globals.MainWindow.loop_off) == true) { try { LoopControl.read.Close(); } catch { } if (Data.char_horseid == 0) { Data.loopaction = "mounthorse"; BotAction.MountHorse(); } else { Data.loopend = 1; StartLooping.LoadTrainScript(); } } else { try { LoopControl.read.Close(); } catch { } LoopControl.read = new StreamReader(@"Data/Scripts/eu_town.txt"); LoopControl.count = File.ReadAllLines(@"Data/Scripts/eu_town.txt").Length; Data.loopend = 0; Data.loop = false; LoopControl.WalkScript(); } break; } } }