void OnServerInitialized() { GlobalItemManager GIM = Singleton <GlobalItemManager> .Instance; GIM.GetItem((int)EItemCode.IronOre).GetType().BaseType.GetProperty("ResourceTransitions").SetValue(GIM.GetItem((int)EItemCode.IronOre) as IItem, GenerateTransition((int)EItemCode.ShapedIron), null); GIM.GetItem((int)EItemCode.Metal2Ore).GetType().BaseType.GetProperty("ResourceTransitions").SetValue(GIM.GetItem((int)EItemCode.Metal2Ore) as IItem, GenerateTransition((int)EItemCode.ShapedMetal2), null); GIM.GetItem((int)EItemCode.Metal3Ore).GetType().BaseType.GetProperty("ResourceTransitions").SetValue(GIM.GetItem((int)EItemCode.Metal3Ore) as IItem, GenerateTransition((int)EItemCode.ShapedMetal3), null); GIM.GetItem((int)EItemCode.Metal4Ore).GetType().BaseType.GetProperty("ResourceTransitions").SetValue(GIM.GetItem((int)EItemCode.Metal4Ore) as IItem, GenerateTransition((int)EItemCode.ShapedMetal4), null); }
void ConfigStacks() { GlobalItemManager GIM = GlobalItemManager.Instance; Dictionary <int, ItemGeneratorAsset> generators = GIM.GetGenerators(); generators[170].GetDataProvider().MaxStackSize = (ushort)(int)Config["Steak"]; generators[144].GetDataProvider().MaxStackSize = (ushort)(int)Config["Steak"]; generators[279].GetDataProvider().MaxStackSize = (ushort)(int)Config["Steak"]; generators[338].GetDataProvider().MaxStackSize = (ushort)(int)Config["Steak"]; generators[322].GetDataProvider().MaxStackSize = (ushort)(int)Config["Steak"]; generators[76].GetDataProvider().MaxStackSize = (ushort)(int)Config["FreshOwrong"]; generators[166].GetDataProvider().MaxStackSize = (ushort)(int)Config["Arrows"]; generators[36].GetDataProvider().MaxStackSize = (ushort)(int)Config["OwnershipStake"]; generators[10].GetDataProvider().MaxStackSize = (ushort)(int)Config["Spears"]; generators[325].GetDataProvider().MaxStackSize = (ushort)(int)Config["Spears"]; generators[331].GetDataProvider().MaxStackSize = (ushort)(int)Config["C4"]; generators[274].GetDataProvider().MaxStackSize = (ushort)(int)Config["Dynamite"]; }
//////////////////////////////////////////////////////////////////////////////////////// // Выдаем игроку нужный предмет //////////////////////////////////////////////////////////////////////////////////////// object GiveItem(PlayerSession session, string itemNameOrIdOrGuid, int amount = 1) { string itemName = itemNameOrIdOrGuid; PlayerInventory inventory = session.WorldPlayerEntity.GetComponent <PlayerInventory>(); ItemGeneratorAsset generator = FindItem(itemNameOrIdOrGuid); if (generator == null) { PrintWarning("Something is wrong with the item:" + itemNameOrIdOrGuid); return(false); } ItemObject itemObj; if (generator.IsStackable()) { itemObj = GlobalItemManager.Instance.CreateItem(generator, amount); if (!inventory.GiveItemServer(itemObj)) { GlobalItemManager.SpawnWorldItem(itemObj, inventory); } } else { int amountGiven = 0; while (amountGiven < amount) { itemObj = GlobalItemManager.Instance.CreateItem(generator); if (!inventory.GiveItemServer(itemObj)) { GlobalItemManager.SpawnWorldItem(itemObj, inventory); } amountGiven++; } } return(true); }
void stackCommand(PlayerSession session) { Dictionary <int, int> items = new Dictionary <int, int>(); Dictionary <int, ItemGeneratorAsset> generators = new Dictionary <int, ItemGeneratorAsset>(); Inventory inv = session.WorldPlayerEntity.Storage; GlobalItemManager GIM = GlobalItemManager.Instance; if (!inv.IsEmpty()) { for (int i = 0; i < inv.Capacity; i++) { if (i < 8 || i > 15) { ItemObject item = inv.GetSlot(i); if (item != null) { if (items.ContainsKey(item.ItemId)) { items[item.ItemId] += item.StackSize; } else { items.Add(item.ItemId, item.StackSize); generators.Add(item.ItemId, item.Generator); } item.StackSize = 0; inv.Invalidate(); } } } foreach (var item in items) { GIM.GiveItem(session.Player, generators[item.Key], item.Value); inv.Invalidate(); } } }
void stackCommand(PlayerSession session) { Dictionary <int, int> items = new Dictionary <int, int>(); Inventory inv = session.WorldPlayerEntity.gameObject.GetComponent <PlayerInventory>(); GlobalItemManager GIM = Singleton <GlobalItemManager> .Instance; if (inv.Items.Length > 0) { for (int i = 0; i < inv.Capacity; i++) { if (i < 8 || i > 15) { ItemInstance item = inv.GetSlot(i); if (item != null) { if (items.ContainsKey(item.Item.ItemId)) { items[item.Item.ItemId] += item.StackSize; } else { items.Add(item.Item.ItemId, item.StackSize); } item.StackSize = 0; inv.Invalidate(); } } } foreach (var item in items) { GIM.GiveItem(session.Player, GIM.GetItem(item.Key), item.Value); inv.Invalidate(); } } }
private object GiveItem(IPlayer target, string itemNameOrId, int amount = 1, string container = "main") { if (config.ItemBlacklist.Contains(itemNameOrId.ToLower())) { return(null); } string itemName = itemNameOrId; #if HURTWORLDITEMV2 PlayerSession session = target.Object as PlayerSession; PlayerInventory inventory = session.WorldPlayerEntity.GetComponent <PlayerInventory>(); ItemGeneratorAsset generator = FindItem(itemNameOrId); ItemObject itemObj; if (generator.IsStackable()) { itemObj = GlobalItemManager.Instance.CreateItem(generator, amount); if (!inventory.GiveItemServer(itemObj)) { GlobalItemManager.SpawnWorldItem(itemObj, inventory); } } else { int amountGiven = 0; while (amountGiven < amount) { itemObj = GlobalItemManager.Instance.CreateItem(generator); if (!inventory.GiveItemServer(itemObj)) { GlobalItemManager.SpawnWorldItem(itemObj, inventory); } amountGiven++; } } #elif HURTWORLD PlayerSession session = target.Object as PlayerSession; PlayerInventory inventory = session.WorldPlayerEntity.GetComponent <PlayerInventory>(); GlobalItemManager.Instance.GiveItem(session.Player, FindItem(itemNameOrId), amount); #elif REIGNOFKINGS Player player = target.Object as Player; if (player == null) { return(false); } Container itemContainer = null; switch (container.ToLower()) { case "belt": itemContainer = player.CurrentCharacter.Entity.GetContainerOfType(CollectionTypes.Hotbar); break; case "main": itemContainer = player.CurrentCharacter.Entity.GetContainerOfType(CollectionTypes.Inventory); break; } InvItemBlueprint blueprint = InvDefinitions.Instance.Blueprints.GetBlueprintForName(itemName, true, true); if (blueprint == null) { return(false); } ContainerManagement containerManagement = blueprint.TryGet <ContainerManagement>(); int stackableAmount = containerManagement != null ? containerManagement.StackLimit : 0; int amountGiven = 0; while (amountGiven < amount) { int amountToGive = Mathf.Min(stackableAmount, amount - amountGiven); InvGameItemStack itemStack = new InvGameItemStack(blueprint, amountToGive, null); if (!ItemCollection.AutoMergeAdd(itemContainer.Contents, itemStack)) { int stackAmount = amountToGive - itemStack.StackAmount; if (stackAmount != 0) { amountGiven += stackAmount; } else { break; } } else { amountGiven += amountToGive; } if (itemContainer.Contents.FreeSlotCount == 0) { break; } } #elif RUST Item item = ItemManager.Create(FindItem(itemNameOrId)); if (item == null) { return(false); } item.amount = amount; BasePlayer basePlayer = target.Object as BasePlayer; if (basePlayer == null) { return(false); } ItemContainer itemContainer = null; switch (container.ToLower()) { case "belt": itemContainer = basePlayer.inventory.containerBelt; break; case "main": itemContainer = basePlayer.inventory.containerMain; break; } if (!basePlayer.inventory.GiveItem(item, itemContainer)) { item.Remove(); return(false); } itemName = item.info.displayName.english; if (config.ShowPopupNotices) { target.Command("note.inv", item.info.itemid, amount); target.Command("gametip.showgametip", Lang("ItemReceived", target.Id, itemName, amount)); timer.Once(2f, () => target.Command("gametip.hidegametip")); } #endif if (config.ShowChatNotices) { Message(target, "ItemReceived", itemName, amount); } if (config.LogToConsole) { Log($"{target.Name} {amount} x {itemName}"); } return(true); }
void Loaded() { LoadDefaultConfig(); GlobalItemManager GIM = Singleton <GlobalItemManager> .Instance; (GIM.GetItem(4) as ConsumableItem)?.StackSize((int)Config["Steak"]); (GIM.GetItem(5) as ConsumableItem)?.StackSize((int)Config["Steak"]); (GIM.GetItem(6) as ConsumableItem)?.StackSize((int)Config["Steak"]); (GIM.GetItem(25) as ConsumableItem)?.StackSize((int)Config["FreshOwrong"]); (GIM.GetItem(53) as ConstructionItem)?.StackSize((int)Config["BlastFurnace"]); (GIM.GetItem(88) as GearItem)?.StackSize((int)Config["Backpacks"]); (GIM.GetItem(90) as GearItem)?.StackSize((int)Config["Backpacks"]); (GIM.GetItem(91) as ConstructionItem)?.StackSize((int)Config["ConstructionHammer"]); (GIM.GetItem(93) as ConstructionItem)?.StackSize((int)Config["OwnershipStake"]); (GIM.GetItem(127) as ConstructionItem)?.StackSize((int)Config["Drills"]); (GIM.GetItem(144) as ConstructionItem)?.StackSize((int)Config["C4"]); (GIM.GetItem(155) as ExplosiveItem)?.StackSize((int)Config["Dynamite"]); (GIM.GetItem(166) as VehicleAttachmentWheelItem)?.StackSize((int)Config["Wheels"]); (GIM.GetItem(167) as VehicleAttachmentWheelItem)?.StackSize((int)Config["Wheels"]); (GIM.GetItem(171) as VehicleAttachmentEngineItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(172) as VehicleAttachmentEngineItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(173) as VehicleAttachmentEngineItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(174) as VehicleAttachmentGearBoxItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(175) as VehicleAttachmentGearBoxItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(178) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(179) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(180) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(181) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(182) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(183) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(184) as VehicleAttachmentWheelItem)?.StackSize((int)Config["Wheels"]); (GIM.GetItem(192) as VehicleAttachmentWheelItem)?.StackSize((int)Config["Wheels"]); (GIM.GetItem(193) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(194) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(195) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(196) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(197) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(198) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(199) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(200) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(201) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(202) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(203) as VehicleAttachmentSimpleItem)?.StackSize((int)Config["CarPanels"]); (GIM.GetItem(204) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(205) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(206) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(207) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(222) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(223) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(224) as PaintMaskItem)?.StackSize((int)Config["Designs"]); (GIM.GetItem(232) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(233) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(234) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(235) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(236) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(237) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(238) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(239) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(240) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(241) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(242) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(243) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(244) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(245) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(246) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(247) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(248) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(249) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(250) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(251) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(252) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(253) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(254) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(255) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(256) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(257) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(258) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(259) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(260) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(261) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(262) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(263) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(264) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(265) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(266) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(267) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(268) as PaintItem)?.StackSize((int)Config["Paints"]); (GIM.GetItem(273) as ConstructionItem)?.StackSize((int)Config["LandcrabMine"]); (GIM.GetItem(274) as ConstructionItem)?.StackSize((int)Config["PoisonTrap"]); (GIM.GetItem(276) as GearItem)?.StackSize((int)Config["Backpacks"]); (GIM.GetItem(277) as GearItem)?.StackSize((int)Config["Backpacks"]); (GIM.GetItem(296) as VehicleAttachmentEngineItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(297) as VehicleAttachmentEngineItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(298) as VehicleAttachmentEngineItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(299) as VehicleAttachmentEngineItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(300) as VehicleAttachmentGearBoxItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(301) as VehicleAttachmentGearBoxItem)?.StackSize((int)Config["CarParts"]); (GIM.GetItem(304) as MeleeWeaponItem)?.StackSize((int)Config["Wrench"]); (GIM.GetItem(305) as VehicleAttachmentWheelItem)?.StackSize((int)Config["Wheels"]); (GIM.GetItem(306) as VehicleAttachmentWheelItem)?.StackSize((int)Config["Wheels"]); (GIM.GetItem(307) as ConstructionItem)?.StackSize((int)Config["Drills"]); (GIM.GetItem(308) as ConstructionItem)?.StackSize((int)Config["Drills"]); (GIM.GetItem(310) as ConstructionItem)?.StackSize((int)Config["Sign"]); }
//void OnServerInitialized() => Loaded(); void Loaded() { LoadDefaultConfig(); GlobalItemManager GIM = Singleton <GlobalItemManager> .Instance; GIM.GetItem(4).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(4) as IItem, (int)Config["Steak"], null); GIM.GetItem(5).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(5) as IItem, (int)Config["Steak"], null); GIM.GetItem(6).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(6) as IItem, (int)Config["Steak"], null); GIM.GetItem(12).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(12) as IItem, (int)Config["Ruby"], null); GIM.GetItem(25).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(25) as IItem, (int)Config["FreshOwrong"], null); GIM.GetItem(48).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(48) as IItem, (int)Config["Arrows"], null); GIM.GetItem(53).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(53) as IItem, (int)Config["BlastFurnace"], null); GIM.GetItem(88).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(88) as IItem, (int)Config["Backpacks"], null); GIM.GetItem(90).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(90) as IItem, (int)Config["Backpacks"], null); GIM.GetItem(91).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(91) as IItem, (int)Config["ConstructionHammer"], null); GIM.GetItem(93).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(93) as IItem, (int)Config["OwnershipStake"], null); GIM.GetItem(127).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(127) as IItem, (int)Config["Drills"], null); GIM.GetItem(128).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(128) as IItem, (int)Config["Spears"], null); GIM.GetItem(144).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(144) as IItem, (int)Config["C4"], null); GIM.GetItem(155).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(155) as IItem, (int)Config["Dynamite"], null); GIM.GetItem(162).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(162) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(166).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(166) as IItem, (int)Config["Wheels"], null); GIM.GetItem(167).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(167) as IItem, (int)Config["Wheels"], null); GIM.GetItem(171).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(171) as IItem, (int)Config["CarParts"], null); GIM.GetItem(172).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(172) as IItem, (int)Config["CarParts"], null); GIM.GetItem(173).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(173) as IItem, (int)Config["CarParts"], null); GIM.GetItem(174).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(174) as IItem, (int)Config["CarParts"], null); GIM.GetItem(175).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(175) as IItem, (int)Config["CarParts"], null); GIM.GetItem(178).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(178) as IItem, (int)Config["Designs"], null); GIM.GetItem(179).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(179) as IItem, (int)Config["Designs"], null); GIM.GetItem(180).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(180) as IItem, (int)Config["Designs"], null); GIM.GetItem(181).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(181) as IItem, (int)Config["Designs"], null); GIM.GetItem(182).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(182) as IItem, (int)Config["Designs"], null); GIM.GetItem(183).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(183) as IItem, (int)Config["Designs"], null); GIM.GetItem(184).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(184) as IItem, (int)Config["Wheels"], null); GIM.GetItem(185).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(185) as IItem, (int)Config["GoatPanels"], null); GIM.GetItem(186).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(186) as IItem, (int)Config["GoatPanels"], null); GIM.GetItem(187).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(187) as IItem, (int)Config["GoatPanels"], null); GIM.GetItem(188).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(188) as IItem, (int)Config["GoatPanels"], null); GIM.GetItem(189).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(189) as IItem, (int)Config["GoatPanels"], null); GIM.GetItem(190).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(190) as IItem, (int)Config["GoatPanels"], null); GIM.GetItem(192).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(192) as IItem, (int)Config["Wheels"], null); GIM.GetItem(193).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(193) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(194).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(194) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(195).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(195) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(196).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(196) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(197).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(197) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(198).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(198) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(199).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(199) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(200).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(200) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(201).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(201) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(202).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(202) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(203).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(203) as IItem, (int)Config["CarPanels"], null); GIM.GetItem(204).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(204) as IItem, (int)Config["Designs"], null); GIM.GetItem(205).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(205) as IItem, (int)Config["Designs"], null); GIM.GetItem(206).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(206) as IItem, (int)Config["Designs"], null); GIM.GetItem(207).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(207) as IItem, (int)Config["Designs"], null); GIM.GetItem(222).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(222) as IItem, (int)Config["Designs"], null); GIM.GetItem(223).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(223) as IItem, (int)Config["Designs"], null); GIM.GetItem(224).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(224) as IItem, (int)Config["Designs"], null); GIM.GetItem(226).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(226) as IItem, (int)Config["Spears"], null); GIM.GetItem(227).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(227) as IItem, (int)Config["Spears"], null); GIM.GetItem(228).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(228) as IItem, (int)Config["Spears"], null); GIM.GetItem(232).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(232) as IItem, (int)Config["Paints"], null); GIM.GetItem(233).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(233) as IItem, (int)Config["Paints"], null); GIM.GetItem(234).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(234) as IItem, (int)Config["Paints"], null); GIM.GetItem(235).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(235) as IItem, (int)Config["Paints"], null); GIM.GetItem(236).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(236) as IItem, (int)Config["Paints"], null); GIM.GetItem(237).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(237) as IItem, (int)Config["Paints"], null); GIM.GetItem(238).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(238) as IItem, (int)Config["Paints"], null); GIM.GetItem(239).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(239) as IItem, (int)Config["Paints"], null); GIM.GetItem(240).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(240) as IItem, (int)Config["Paints"], null); GIM.GetItem(241).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(241) as IItem, (int)Config["Paints"], null); GIM.GetItem(242).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(242) as IItem, (int)Config["Paints"], null); GIM.GetItem(243).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(243) as IItem, (int)Config["Paints"], null); GIM.GetItem(244).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(244) as IItem, (int)Config["Paints"], null); GIM.GetItem(245).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(245) as IItem, (int)Config["Paints"], null); GIM.GetItem(246).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(246) as IItem, (int)Config["Paints"], null); GIM.GetItem(247).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(247) as IItem, (int)Config["Paints"], null); GIM.GetItem(248).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(248) as IItem, (int)Config["Paints"], null); GIM.GetItem(249).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(249) as IItem, (int)Config["Paints"], null); GIM.GetItem(250).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(250) as IItem, (int)Config["Paints"], null); GIM.GetItem(251).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(251) as IItem, (int)Config["Paints"], null); GIM.GetItem(252).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(252) as IItem, (int)Config["Paints"], null); GIM.GetItem(253).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(253) as IItem, (int)Config["Paints"], null); GIM.GetItem(254).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(254) as IItem, (int)Config["Paints"], null); GIM.GetItem(255).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(255) as IItem, (int)Config["Paints"], null); GIM.GetItem(256).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(256) as IItem, (int)Config["Paints"], null); GIM.GetItem(257).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(257) as IItem, (int)Config["Paints"], null); GIM.GetItem(258).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(258) as IItem, (int)Config["Paints"], null); GIM.GetItem(259).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(259) as IItem, (int)Config["Paints"], null); GIM.GetItem(260).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(260) as IItem, (int)Config["Paints"], null); GIM.GetItem(261).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(261) as IItem, (int)Config["Paints"], null); GIM.GetItem(262).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(262) as IItem, (int)Config["Paints"], null); GIM.GetItem(263).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(263) as IItem, (int)Config["Paints"], null); GIM.GetItem(264).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(264) as IItem, (int)Config["Paints"], null); GIM.GetItem(265).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(265) as IItem, (int)Config["Paints"], null); GIM.GetItem(266).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(266) as IItem, (int)Config["Paints"], null); GIM.GetItem(267).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(267) as IItem, (int)Config["Paints"], null); GIM.GetItem(268).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(268) as IItem, (int)Config["Paints"], null); GIM.GetItem(273).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(273) as IItem, (int)Config["LandcrabMine"], null); GIM.GetItem(274).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(274) as IItem, (int)Config["PoisonTrap"], null); GIM.GetItem(276).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(276) as IItem, (int)Config["Backpacks"], null); GIM.GetItem(277).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(277) as IItem, (int)Config["Backpacks"], null); GIM.GetItem(296).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(296) as IItem, (int)Config["CarParts"], null); GIM.GetItem(297).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(297) as IItem, (int)Config["CarParts"], null); GIM.GetItem(298).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(298) as IItem, (int)Config["CarParts"], null); GIM.GetItem(299).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(299) as IItem, (int)Config["CarParts"], null); GIM.GetItem(300).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(300) as IItem, (int)Config["CarParts"], null); GIM.GetItem(301).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(301) as IItem, (int)Config["CarParts"], null); GIM.GetItem(304).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(304) as IItem, (int)Config["Wrench"], null); GIM.GetItem(305).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(305) as IItem, (int)Config["Wheels"], null); GIM.GetItem(306).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(306) as IItem, (int)Config["Wheels"], null); GIM.GetItem(307).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(307) as IItem, (int)Config["Drills"], null); GIM.GetItem(308).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(308) as IItem, (int)Config["Drills"], null); GIM.GetItem(310).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(310) as IItem, (int)Config["Sign"], null); GIM.GetItem(314).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(314) as IItem, (int)Config["Wrench"], null); GIM.GetItem(322).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(322) as IItem, (int)Config["Diamonds"], null); GIM.GetItem(323).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(323) as IItem, (int)Config["Diamonds"], null); GIM.GetItem(327).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(327) as IItem, (int)Config["KangaParts"], null); GIM.GetItem(328).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(328) as IItem, (int)Config["KangaParts"], null); GIM.GetItem(329).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(329) as IItem, (int)Config["KangaParts"], null); GIM.GetItem(330).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(330) as IItem, (int)Config["KangaParts"], null); GIM.GetItem(331).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(331) as IItem, (int)Config["KangaParts"], null); GIM.GetItem(332).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(332) as IItem, (int)Config["KangaParts"], null); GIM.GetItem(333).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(333) as IItem, (int)Config["KangaParts"], null); GIM.GetItem(334).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(334) as IItem, (int)Config["KangaParts"], null); GIM.GetItem(335).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(335) as IItem, (int)Config["KangaParts"], null); GIM.GetItem(336).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(336) as IItem, (int)Config["KangaPanels"], null); GIM.GetItem(337).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(337) as IItem, (int)Config["KangaPanels"], null); GIM.GetItem(338).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(338) as IItem, (int)Config["KangaPanels"], null); GIM.GetItem(339).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(339) as IItem, (int)Config["KangaPanels"], null); GIM.GetItem(340).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(340) as IItem, (int)Config["KangaPanels"], null); GIM.GetItem(341).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(341) as IItem, (int)Config["KangaPanels"], null); GIM.GetItem(342).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(342) as IItem, (int)Config["Designs"], null); GIM.GetItem(343).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(343) as IItem, (int)Config["Designs"], null); GIM.GetItem(344).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(344) as IItem, (int)Config["Designs"], null); GIM.GetItem(345).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(345) as IItem, (int)Config["Designs"], null); GIM.GetItem(346).GetType().BaseType.GetProperty("MaxStackSize").SetValue(GIM.GetItem(346) as IItem, (int)Config["Designs"], null); }
private void DoRemove(PlayerSession session, string[] args, string vehicleType, VehicleInventory vehicleInventory, VehiclePassenger[] vehiclePassengers) { string steamId = session.SteamId.ToString(); // /car remove bumper|front|left|right|roof|rear|tire|engine|gearbox string tmp = args[1].ToLower(); //Check for permission to remove.extra if (tmp == "gear" || tmp == "gearbox" || tmp == "engine" || tmp == "tire" || tmp == "wheel" || tmp == "rotor" || tmp == "rotors") { if (!permission.UserHasPermission(steamId, RemoveExtraPermission)) { Player.Message(session, GetMsg("NoPermission", steamId).Replace("{permission}", RemoveExtraPermission)); return; } } //Check for permission to remove if (tmp == "bumper" || tmp == "front" || tmp == "left" || tmp == "right" || tmp == "roof" || tmp == "rear" || tmp == "all") { if (!permission.UserHasPermission(steamId, RemovePermission)) { Player.Message(session, GetMsg("NoPermission", steamId).Replace("{permission}", RemovePermission)); return; } } List <string> parts; if (tmp == "all") { parts = new List <string> { "bumper", "front", "left", "right", "roof", "rear" } } ; else { parts = new List <string> { tmp } }; bool ignorePart = false; foreach (string attach in parts) { ignorePart = false; // Cannot remove rear if a player is on the vehicle rear if (attach == "rear" || attach == "front") { foreach (VehiclePassenger vehiclePassenger in vehiclePassengers) { if (vehiclePassenger.HasPassenger()) { string seat = GetSeatName(vehiclePassenger.SeatOffset); if (attach == seat) { Player.Message(session, GetMsg("RemoveSeatError", steamId).Replace("{seat}", seat)); ignorePart = true; break; } } } } if (ignorePart) { continue; } //Get the restrictedSlots relative to vehicle attachment player wants to remove List <int> restrictedSlots = GetRestrictedSlots(attach, vehicleType, vehicleInventory); GlobalItemManager globalItemManager = GlobalItemManager.Instance; foreach (int slot in restrictedSlots) { //Give vehicle attach to player inventory ItemObject vehicleAttach = vehicleInventory.GetSlot(slot); globalItemManager.GiveItem(session.Player, vehicleAttach); //Remove attachment from vehicle. vehicleInventory.SetSlot(slot, null); vehicleInventory.Invalidate(false); if (tmp != "all") { Player.Message(session, GetMsg("VehicleRemove", steamId).Replace("{attachRemoved}", vehicleAttach.Generator.name).Replace("{vehicleType}", GetMsg("vehicles/" + vehicleType))); } } if (restrictedSlots.Count == 0) { if (tmp != "all") { Player.Message(session, GetMsg("RemoveAttachmentError").Replace("{attachment}", attach)); } } } if (tmp == "all") { Player.Message(session, GetMsg("VehicleRemoveAll").Replace("{vehicleType}", GetMsg("vehicles/" + vehicleType))); } }