public override void Execute() { PlayerMobile player = Engine.Player; if (player == null) { UOC.SystemMessage(Strings.Error__No_Player); return; } Item backpack = player.Backpack; if (backpack == null) { UOC.SystemMessage(Strings.Error__Cannot_find_player_backpack); return; } Item bandage = backpack.Container?.SelectEntity(i => _bandageTypes.Contains(i.ID)); if (bandage == null) { UOC.SystemMessage(Strings.Error__Cannot_find_type); return; } ObjectCommands.UseObject(bandage.Serial); bool result = UOC.WaitForTarget(TIMEOUT); if (result) { Engine.SendPacketToServer(new Target(-1, player, true)); } }
public void WillSendUseObjectPacket() { AutoResetEvent are = new AutoResetEvent(false); void InternalPacketSentEvent(byte[] data, int length) { if (data[0] != 0x06) { Assert.Fail(); } int serial = (data[1] << 24) | (data[2] << 16) | (data[3] << 8) | data[4]; Assert.AreEqual(0x40000001, serial); are.Set(); } Engine.InternalPacketSentEvent += InternalPacketSentEvent; Engine.Items.Add(new Item(0x40000001)); AliasCommands.SetAlias("item", 0x40000001); ObjectCommands.UseObject("item"); bool result = are.WaitOne(5000); Assert.IsTrue(result); Engine.InternalPacketSentEvent -= InternalPacketSentEvent; Engine.Items.Clear(); AliasCommands.UnsetAlias("item"); }
public override void Execute() { int serial = Engine.Player?.LastObjectSerial ?? 0; if (serial != 0) { ObjectCommands.UseObject(serial); } }
public static void UseHand(Layer layer) { PlayerMobile player = Engine.Player; if (player == null) { return; } int serial = player.GetLayer(layer); if (serial == 0) { UOC.SystemMessage(Strings.Invalid_layer_value___); return; } ObjectCommands.UseObject(serial); }