System $Buy ITEM Quantità
Installazione:
Aprire CommandPacketHandler.cs
Inserire all'interno la sorgente del codice fornito qui sotto
Salvare il progetto
Prendere il BuyPacket.cs da qui;
Creare un file di nome BuyPacket.cs e inserisci dentro la sorgente
Inserire il BuyPacket.cs dentro la cartella packet del source
Buildare il progetto ed il gioco è fatto!
Installazione:
Aprire CommandPacketHandler.cs
Inserire all'interno la sorgente del codice fornito qui sotto
Salvare il progetto
Prendere il BuyPacket.cs da qui;
C#:
[/CENTER]
////<auto-generated <- Codemaid exclusion for now (PacketIndex Order is important for maintenance)using OpenNos.Core;using OpenNos.Domain;namespace OpenNos.GameObject.CommandPackets{ [PacketHeader("$Buy", PassNonParseablePacket = true, Authority = AuthorityType.User)] public class BuyPacket : PacketDefinition { #region Properties [PacketIndex(0)] public string Item { get; set; } [PacketIndex(1)] public int Amount { get; set; } public static string ReturnHelp() { return "$Buy <Item> <Amount>"; } #endregion }}
[CENTER]
Inserire il BuyPacket.cs dentro la cartella packet del source
Buildare il progetto ed il gioco è fatto!
C#:
[/CENTER]
/// <summary>/// $Buy Packet/// </summary>/// <param name="BuyPacket"></param>public void Buy(OpenNos.GameObject.CommandPackets.BuyPacket buypacket){ try //Not needed but safe is safe { if (buypacket != null) { if (buypacket.Amount <= 1020) { if (buypacket.Item != null && buypacket.Amount != 0) { int Leftover = buypacket.Amount % 255; int FulLStacks = buypacket.Amount / 255; short BuyVNum = 0; switch (buypacket.Item.ToUpper()) { case "CELLA": BuyVNum = 1014; break; case "FULLI": BuyVNum = 1244; break; default: return; } Item iteminfo = ServerManager.Instance.GetItem(BuyVNum); if (Session.Character.Gold >= buypacket.Amount * iteminfo.Price) { for (int i = 1; i <= FulLStacks; i++) { ItemInstance inv = Session.Character.Inventory.AddNewToInventory(BuyVNum, 255).FirstOrDefault(); if (inv == null) { Session.SendPacket(UserInterfaceHelper.Instance.GenerateMsg(Language.Instance.GetMessageFromKey("NOT_ENOUGH_PLACE"), 0)); } else { Session.SendPacket(Session.Character.GenerateSay($"{Language.Instance.GetMessageFromKey("ITEM_ACQUIRED")}: {iteminfo.Name} x {255}", 12)); Session.Character.Gold -= 255 * inv.Item.Price; } } if (Leftover > 0) { ItemInstance inv = Session.Character.Inventory.AddNewToInventory(BuyVNum, (byte)Leftover).FirstOrDefault(); if (inv == null) { Session.SendPacket(UserInterfaceHelper.Instance.GenerateMsg(Language.Instance.GetMessageFromKey("NOT_ENOUGH_PLACE"), 0)); } else { Session.SendPacket(Session.Character.GenerateSay($"{Language.Instance.GetMessageFromKey("ITEM_ACQUIRED")}: {iteminfo.Name} x {Leftover}", 12)); Session.Character.Gold -= Leftover * inv.Item.Price; } } } else { Session.SendPacket(UserInterfaceHelper.Instance.GenerateMsg(Language.Instance.GetMessageFromKey("NOT_ENOUGH_MONEY"), 0)); } Session.SendPacket(Session.Character.GenerateGold()); } } } } catch { //Put Errorlog here return; }}
[CENTER]