internal void AddInventoryItem(int pItemId, int pCount = 1) { RPItem RPItem = ButterflyEnvironment.GetGame().GetRoleplayManager().GetItemManager().GetItem(pItemId); if (RPItem == null) { return; } RolePlayInventoryItem Item = GetInventoryItem(pItemId); if (Item == null) { using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO `user_rpitems` (`user_id`, `rp_id`, `item_id`, `count`) VALUES ('" + this._id + "', '" + this._rpId + "', '" + pItemId + "', '" + pCount + "')"); int Id = Convert.ToInt32(dbClient.InsertQuery()); this._inventory.TryAdd(pItemId, new RolePlayInventoryItem(Id, pItemId, pCount)); } } else { Item.Count += pCount; using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) dbClient.RunQuery("UPDATE user_rpitems SET count = count + '" + pCount + "' WHERE id = '" + Item.Id + "' LIMIT 1"); } this.SendWebPacket(new AddInventoryItemRpComposer(RPItem, pCount)); }
internal void RemoveInventoryItem(int ItemId, int Count = 1) { RolePlayInventoryItem Item = GetInventoryItem(ItemId); if (Item == null) { return; } if (Item.Count > Count) { Item.Count = Item.Count - Count; using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) dbClient.RunQuery("UPDATE user_rpitems SET count = count - '" + Count + "' WHERE id = '" + Item.Id + "' LIMIT 1"); } else { this._inventory.TryRemove(ItemId, out Item); using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) dbClient.RunQuery("DELETE FROM user_rpitems WHERE id = '" + Item.Id + "' LIMIT 1"); } this.SendWebPacket(new RemoveItemInventoryRpComposer(ItemId, Count)); }
internal RolePlayInventoryItem GetInventoryItem(int Id) { RolePlayInventoryItem Item = null; this._inventory.TryGetValue(Id, out Item); return(Item); }