public static void BuyItem(ZoneClient client, Packet packet) { ZoneCharacter character = client.Character; ushort buyItemID; int amount; if (packet.TryReadUShort(out buyItemID) && packet.TryReadInt(out amount)) { FiestaLib.Data.ItemInfo buyItem; Data.DataProvider.Instance.ItemsByID.TryGetValue(buyItemID, out buyItem); if (amount < 255) { if (character.GiveItem(buyItemID, (byte)amount) != InventoryStatus.Full) { character.Inventory.Money -= amount * buyItem.BuyPrice; character.ChangeMoney(character.Inventory.Money); } } else { while (amount > 0) { if (character.GiveItem(buyItemID, 255) != InventoryStatus.Full) { character.Inventory.Money -= amount * buyItem.BuyPrice; character.ChangeMoney(character.Inventory.Money); character.CalculateMasterCopper(buyItem.BuyPrice); } if (amount < 255) { if (character.GiveItem(buyItemID, (byte)amount) != InventoryStatus.Full) { character.Inventory.Money -= amount * buyItem.BuyPrice; character.ChangeMoney(character.Inventory.Money); character.CalculateMasterCopper(buyItem.BuyPrice); } break; } amount -= 255; } } } }
private void ItemCommand(ZoneCharacter character, params string[] param) { string InxName = param[1]; byte amount = 1; if (param.Length > 2) { amount = byte.Parse(param[2]); } switch (character.GiveItem(InxName, amount)) { case FiestaLib.InventoryStatus.FULL: Handler12.InventoryFull(character); return; case FiestaLib.InventoryStatus.NOT_FOUND: character.DropMessage("Item not found."); return; } }
private void ItemCommand(ZoneCharacter character, params string[] param) { ushort id = ushort.Parse(param[1]); byte amount = 1; if (param.Length > 2) { amount = byte.Parse(param[2]); } // character.GiveItem(id,amount); switch (character.GiveItem(id, amount)) { case FiestaLib.InventoryStatus.Full: Handler12.InventoryFull(character); return; case FiestaLib.InventoryStatus.NotFound: character.DropMessage("Item not found."); return; } }