private static void UseKey() { lock (list) { Item item = World.Player.Backpack.FindItem(i => IsKey(i) && !IsLockpick(i) && !list.Contains(i.Serial)); if (item == null && list.Count > 0) { list.Clear(); item = World.Player.Backpack.FindItem(i => IsKey(i) && !IsLockpick(i) && !list.Contains(i.Serial)); } if (item == null) { item = World.Player.Backpack.FindItem(i => IsKey(i) && !list.Contains(i.Serial)); } if (item != null) { door = WorldEx.FindItem(i => i.IsDoor && i.DistanceTo(World.Player) <= 1); if (door != null) { timer.Start(); } else { Item item2 = WorldEx.FindItemsG(i => IsSwitch(i) && i.DistanceTo(World.Player) < 3) .OrderBy(i => Utility.DistanceSqrt(i.Position, World.Player.Position)) .FirstOrDefault(); if (item2 != null) { item = item2; } } if (!IsSwitch(item)) { list.Add(item.Serial); list.RemoveAll(i => !World.Items.ContainsKey(i)); } WorldEx.SendToServer(new DoubleClick(item.Serial)); } else { item = WorldEx.FindItemsG(i => IsSwitch(i) && i.DistanceTo(World.Player) < 3) .OrderBy(i => Utility.DistanceSqrt(i.Position, World.Player.Position)) .FirstOrDefault(); if (item != null) { WorldEx.SendToServer(new DoubleClick(item.Serial)); } else { WorldEx.SendMessage("No key found."); } } } }
private static void OnHotkey() { if (World.Player.GetItemOnLayer(Layer.Mount) != null || !World.Player.IsPlayer()) { return; } Item item = WorldEx.FindItem(i => i.IsElementalBody() || i.IsSomeTreeishBody() && i.DistanceTo(World.Player) < 3); if (item != null) { DoIt(item); } }
private static void Dress(ItemID itemID) { Item item = WorldEx.FindItem(i => i.ItemID == itemID && i.RootContainer == World.Player && (!i.IsInBank || Bank.Opened)) ?? WorldEx.FindItemG(i => i.ItemID == itemID && i.DistanceTo(World.Player) < 3); if (item == null) { foreach (Item cont in WorldEx.FindItemsG(i => i.IsContainer && i.DistanceTo(World.Player) < 3)) { if ((item = cont.FindItem(itemID)) != null) { break; } } } if (item != null) { DressInternal(item.Serial); } }
private static Item GetDFBones() { return(WorldEx.FindItem(i => i.ItemID >= 0x0ECA && i.ItemID <= 0x0ED2 && i.DistanceTo(World.Player) < 3)); }
private static Item GetNeiraBones() { return(WorldEx.FindItem(i => i.ItemID == 0x0F7E && i.Hue == 0x0497 && i.DistanceTo(World.Player) < 3)); }