private void ParseCommandItem(string[] datas) { try { var item = Entities.Requests.ItemsRequests.ItemsList.First(x => x.ID == int.Parse(datas[1])); if (datas.Length == 2) { var newItem = new SunDofus.World.Characters.Items.CharacterItem(item); newItem.GeneratItem(); Client.Player.ItemsInventary.AddItem(newItem, false); Client.SendConsoleMessage("Item Added !", 0); } else if (datas.Length == 3) { var newItem = new SunDofus.World.Characters.Items.CharacterItem(item); newItem.GeneratItem(int.Parse(datas[2])); Client.Player.ItemsInventary.AddItem(newItem, false); Client.SendConsoleMessage("Item Added !", 0); } else { Client.SendConsoleMessage("Invalid Syntax !"); } } catch { Client.SendConsoleMessage("Cannot parse your AdminCommand !"); Client.SendConsoleMessage("Use the command 'Help' for more informations !"); } }
public void MoveItem(SunDofus.World.Characters.Items.CharacterItem item, int quantity, bool add = true) { if (add) { Character.ItemsInventary.DeleteItem(item.ID, quantity); if (Bank.Items.Any(x => x.EffectsInfos() == item.EffectsInfos() && x.Model.ID == item.Model.ID && x.Position == item.Position)) { var sameitem = Bank.Items.First(x => x.EffectsInfos() == item.EffectsInfos() && x.Model.ID == item.Model.ID && x.Position == item.Position); sameitem.Quantity += quantity; Character.NClient.Send(string.Concat("EsKO+", sameitem.StorageString())); return; } var newitem = item.Copy(); newitem.Quantity = quantity; Bank.Items.Add(newitem); Character.NClient.Send(string.Concat("EsKO+", newitem.StorageString())); } else { var pods = item.Model.Pods * quantity; if (pods + Character.Pods > Character.Stats.GetStat(Characters.Stats.StatEnum.MaxPods).Total) { Character.NClient.SendMessage("Vous êtes trop lourd pour éxecuter cette action !"); return; } if (quantity == item.Quantity) { Bank.Items.Remove(item); Character.NClient.Send(string.Concat("EsKO-", item.StorageString())); Character.ItemsInventary.AddItem(item, false); } else { item.Quantity -= quantity; Character.NClient.Send(string.Concat("EsKO+", item.StorageString())); var newitem = item.Copy(); newitem.Quantity = quantity; Character.ItemsInventary.AddItem(newitem, false); } } }