public void UseMount(int timeout) { if (World.Player.Layers[Layer.Mount].ExistCust()) { youSeeMountText = null; Journal.EntryAdded += Journal_EntryAdded; underMount = World.Player.Layers[Layer.Mount].Serial; World.Player.Layers[Layer.Mount].Click(); World.Player.Use(); Game.Wait(250); Journal.EntryAdded -= Journal_EntryAdded; } else if (Mount.IsValidCust() && new UOObject(Mount).ExistCust()) { youSeeMountText = null; underMount = Serial.Invalid; UO.PrintObject(Mount, Game.Val_LightGreen, "[Mount]"); UO.UseObject(Mount); } else { List <UOCharacter> chars = new List <UOCharacter>(); chars.AddRange(World.Characters.Where(ch => ch.Distance < 8 && ch.Serial != World.Player.Serial && (ch.Renamable || Game.IsMob(ch.Serial))).OrderBy(ch => ch.Distance).ToArray()); bool mountFound = false; foreach (UOCharacter ch in chars) { if (ItemLibrary.IsGraphicFromList(ch.Model, ItemLibrary.MountTypes.GraphicArray)) { Mount = ch; UO.PrintObject(Mount, Game.Val_LightGreen, "[Mount]"); ch.Use(); mountFound = true; break; } } if (!mountFound) { UOItem sh = null; if (World.Player.Backpack.AllItems.FindType(0x211F).Exist) { sh = World.Player.Backpack.AllItems.FindType(0x211F); } else if (World.Player.Backpack.AllItems.FindType(0x2121).Exist) { sh = World.Player.Backpack.AllItems.FindType(0x2121); } else if (World.Player.Backpack.AllItems.FindType(0x20F6).Exist) { sh = World.Player.Backpack.AllItems.FindType(0x20F6); } else if (World.Player.Backpack.AllItems.FindType(0x2136).Exist) { sh = World.Player.Backpack.AllItems.FindType(0x2136); } else if (World.Player.Backpack.AllItems.FindType(0x2124).Exist) { sh = World.Player.Backpack.AllItems.FindType(0x2124); } else if (World.Player.Backpack.AllItems.FindType(0x2135).Exist) { sh = World.Player.Backpack.AllItems.FindType(0x2135); } else if (World.Player.Backpack.AllItems.FindType(0x2137).Exist) { sh = World.Player.Backpack.AllItems.FindType(0x2137); } // 0x20F6 if (sh != null) { sh.Use(); UO.Warmode(false); Game.Wait(250 + Core.Latency); } chars.Clear(); chars.AddRange(World.Characters.Where(ch => ch.Distance < 8 && ch.Serial != World.Player.Serial).OrderBy(ch => ch.Distance).ToArray()); foreach (UOCharacter ch in chars) { if (ItemLibrary.IsGraphicFromList(ch.Model, ItemLibrary.MountTypes.GraphicArray)) { Mount = ch; UO.PrintObject(Mount, Game.Val_LightGreen, "[Mount]"); ch.Use(); mountFound = true; break; } } } if (!mountFound) { World.Player.PrintMessage("Neni Mount", Game.Val_LightGreen); } } }