Hi I'm trying to add the storage keys to be craftable. I'm not sure what i could be doing wrong, I have reserched and researched and found nothing that would work. I have added these lines to deftinkering and it shows up in the crafting menu just fine but in game even tho i have all the components it says i don't and won't let me craft this key. It says " You don't have the components needed to make that".

//IngotKey
index = AddCraft(typeof(IngotKey), "Keys", "Ingot Keys", 100.0, 150.0, typeof(KeyRing), "KeyRing", 2, "You need more Key Rings");
AddSkill(index, SkillName.Blacksmith, 100.0, 120.0);
AddSkill(index, SkillName.ArmsLore, 100.0, 120.0);
AddRes(index, typeof(PlatinumIngot), "Platinum Ingots", 150, "You need more Platinum Ingots");
AddRes(index, typeof(PlatinumGranite), "Platinum Granite", 20, "You need more Platinum Granite");
AddRes(index, typeof(TribalBerry), "Tribal Berry", 6, "You need more Tribal Berries");

What could i be doing wrong i am so stumped right now.
 
My guess is you've got a resource referenced incorrectly. Double check all the names. Like are PlatinumIngot really PlatinumIngot or PlatinumIngots with the "s"?
Everything else looks fine. You might also check too that you're not just going off what you can see in the craft gump, because once you get beyond like 3 ingredients, the list won't scroll to show the rest. You have to manually change the height of the craft window accordingly (been there, done that). I banged my head against my desk for a couple of hours before I realized that one (late night coding is not smart) lol
 
lol thank you for your quick response tass23 i will look into what you just said. Just in case it doesn't work are there any other scripts that have to be edited or just this one?
 
Last edited:
still didn't work i even changed it to ironingot instead of platinum

//IngotKey
index = AddCraft(typeof(IngotKey), "Keys", "Ingot Key", 100.0, 150.0, typeof(KeyRing), "KeyRing", 2, "You need more Key Rings");
AddSkill(index, SkillName.Blacksmith, 100.0, 120.0);
AddSkill(index, SkillName.ArmsLore, 100.0, 120.0);
AddRes(index, typeof(IronIngot), "Iron Ingot", 150, "You need more Iron Ingots");
AddRes(index, typeof(TribalBerry), "Tribal Berry", 6, "You need more Tribal Berries");
 
Have you tried removing just ONE of the required ingredients from the list, say the Tribal Berry and trying to craft it?
Sometimes certain things can't be used as an ingredient because they inherit from something else...say Tribal Berry is a subclass of Berry, so you'd have to script Tribal Berry as a stand alone (Item instead of Berry in this case).
 
yea i took that out and just used iron ingot all alone and it still didn't work...:)

Like this

//IngotKey
index = AddCraft(typeof(IngotKey), "Keys", "Ingot Key", 100.0, 120.0, typeof(IronIngot), "Iron Ingot", 2, "You need more Iron Ingots");
AddSkill(index, SkillName.Blacksmith, 100.0, 120.0);
 
Try adding this, just to make sure all the bases are covered:
Code:
SetNeededExpansion(index, Expansion.ML);
Tinkering has a few examples of that already, but most just have it at the end of that recipe listing.
 
ok I'll try that

Still nothing hmmm

#region Universal Storage Keys
//IngotKey
index = AddCraft(typeof(IngotKey), "Keys", "Ingot Key", 100.0, 120.0, typeof(KeyRing), "KeyRing", 2, "You need more Key Rings");
AddRes(index, typeof(IronIngot), "Iron Ingots", 150, "You need more Iron Ingots");
AddSkill(index, SkillName.Blacksmith, 100.0, 120.0);
SetNeededExpansion(index, Expansion.ML);
#endregion Universal Storage Keys
 
Here is my deftinkering script well some of it my code is at the bottom i'm hoping it's in the right place

Code:
public override bool ConsumeOnFailure(Mobile from, Type resourceType, CraftItem craftItem)
        {
            if (resourceType == typeof(Silver))
                return false;

            return base.ConsumeOnFailure(from, resourceType, craftItem);
        }

        public void AddJewelrySet(GemType gemType, Type itemType)
        {
            int offset = (int)gemType - 1;

            int index = this.AddCraft(typeof(GoldRing), 1044049, 1044176 + offset, 40.0, 90.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddRes(index, itemType, 1044231 + offset, 1, 1044240);

            index = this.AddCraft(typeof(SilverBeadNecklace), 1044049, 1044185 + offset, 40.0, 90.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddRes(index, itemType, 1044231 + offset, 1, 1044240);

            index = this.AddCraft(typeof(GoldNecklace), 1044049, 1044194 + offset, 40.0, 90.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddRes(index, itemType, 1044231 + offset, 1, 1044240);

            index = this.AddCraft(typeof(GoldEarrings), 1044049, 1044203 + offset, 40.0, 90.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddRes(index, itemType, 1044231 + offset, 1, 1044240);

            index = this.AddCraft(typeof(GoldBeadNecklace), 1044049, 1044212 + offset, 40.0, 90.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddRes(index, itemType, 1044231 + offset, 1, 1044240);

            index = this.AddCraft(typeof(GoldBracelet), 1044049, 1044221 + offset, 40.0, 90.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddRes(index, itemType, 1044231 + offset, 1, 1044240);   
           
        }

        public override void InitCraftList()
        {
            int index = -1;

            #region Wooden Items
            this.AddCraft(typeof(JointingPlane), 1044042, 1024144, 0.0, 50.0, typeof(Log), 1044041, 4, 1044351);
            this.AddCraft(typeof(MouldingPlane), 1044042, 1024140, 0.0, 50.0, typeof(Log), 1044041, 4, 1044351);
            this.AddCraft(typeof(SmoothingPlane), 1044042, 1024146, 0.0, 50.0, typeof(Log), 1044041, 4, 1044351);
            this.AddCraft(typeof(ClockFrame), 1044042, 1024173, 0.0, 50.0, typeof(Log), 1044041, 6, 1044351);
            this.AddCraft(typeof(Axle), 1044042, 1024187, -25.0, 25.0, typeof(Log), 1044041, 2, 1044351);
            this.AddCraft(typeof(RollingPin), 1044042, 1024163, 0.0, 50.0, typeof(Log), 1044041, 5, 1044351);

            if (Core.SE)
            {
                index = this.AddCraft(typeof(Nunchaku), 1044042, 1030158, 70.0, 120.0, typeof(IronIngot), 1044036, 3, 1044037);
                this.AddRes(index, typeof(Log), 1044041, 8, 1044351);
                this.SetNeededExpansion(index, Expansion.SE);
            }
            #endregion

            #region Tools
            this.AddCraft(typeof(Scissors), 1044046, 1023998, 5.0, 55.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(MortarPestle), 1044046, 1023739, 20.0, 70.0, typeof(IronIngot), 1044036, 3, 1044037);
            this.AddCraft(typeof(Scorp), 1044046, 1024327, 30.0, 80.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(TinkerTools), 1044046, 1044164, 10.0, 60.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(Hatchet), 1044046, 1023907, 30.0, 80.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(DrawKnife), 1044046, 1024324, 30.0, 80.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(SewingKit), 1044046, 1023997, 10.0, 70.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(Saw), 1044046, 1024148, 30.0, 80.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(DovetailSaw), 1044046, 1024136, 30.0, 80.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(Froe), 1044046, 1024325, 30.0, 80.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(Shovel), 1044046, 1023898, 40.0, 90.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(Hammer), 1044046, 1024138, 30.0, 80.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(Tongs), 1044046, 1024028, 35.0, 85.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(SmithHammer), 1044046, 1025091, 40.0, 90.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(SledgeHammer), 1044046, 1024021, 40.0, 90.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(Inshave), 1044046, 1024326, 30.0, 80.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(Pickaxe), 1044046, 1023718, 40.0, 90.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(Lockpick), 1044046, 1025371, 45.0, 95.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(Skillet), 1044046, 1044567, 30.0, 80.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(FlourSifter), 1044046, 1024158, 50.0, 100.0, typeof(IronIngot), 1044036, 3, 1044037);
            this.AddCraft(typeof(FletcherTools), 1044046, 1044166, 35.0, 85.0, typeof(IronIngot), 1044036, 3, 1044037);
            this.AddCraft(typeof(MapmakersPen), 1044046, 1044167, 25.0, 75.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(ScribesPen), 1044046, 1044168, 25.0, 75.0, typeof(IronIngot), 1044036, 1, 1044037);

            #region Mondain's Legacy
            if (Core.ML)
            {
                this.AddCraft(typeof(MetalContainerEngraver), 1044046, 1072154, 75.0, 100.0, typeof(IronIngot), 1044036, 4, 1044037);
                this.AddRes(index, typeof(Springs), 1044171, 1, 1044253);
                this.AddRes(index, typeof(Gears), 1044254, 2, 1044253);
                this.AddRes(index, typeof(Diamond), 1062608, 1, 1044240);
                this.SetNeededExpansion(index, Expansion.ML);
            }
            #endregion

            #endregion

            #region Parts
            this.AddCraft(typeof(Gears), 1044047, 1024179, 5.0, 55.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(ClockParts), 1044047, 1024175, 25.0, 75.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(BarrelTap), 1044047, 1024100, 35.0, 85.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(Springs), 1044047, 1024189, 5.0, 55.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(SextantParts), 1044047, 1024185, 30.0, 80.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(BarrelHoops), 1044047, 1024321, -15.0, 35.0, typeof(IronIngot), 1044036, 5, 1044037);
            this.AddCraft(typeof(Hinge), 1044047, 1024181, 5.0, 55.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(BolaBall), 1044047, 1023699, 45.0, 95.0, typeof(IronIngot), 1044036, 10, 1044037);
          
            if (Core.ML)
            {
                index = this.AddCraft(typeof(JeweledFiligree), 1044047, 1072894, 70.0, 110.0, typeof(IronIngot), 1044036, 2, 1044037);
                this.AddRes(index, typeof(StarSapphire), 1044231, 1, 1044253);
                this.AddRes(index, typeof(Ruby), 1044234, 1, 1044253);
                this.SetNeededExpansion(index, Expansion.ML);
            }
          
            #endregion

            #region Utensils
            this.AddCraft(typeof(ButcherKnife), 1044048, 1025110, 25.0, 75.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(SpoonLeft), 1044048, 1044158, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(SpoonRight), 1044048, 1044159, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(Plate), 1044048, 1022519, 0.0, 50.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(ForkLeft), 1044048, 1044160, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(ForkRight), 1044048, 1044161, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(Cleaver), 1044048, 1023778, 20.0, 70.0, typeof(IronIngot), 1044036, 3, 1044037);
            this.AddCraft(typeof(KnifeLeft), 1044048, 1044162, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(KnifeRight), 1044048, 1044163, 0.0, 50.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddCraft(typeof(Goblet), 1044048, 1022458, 10.0, 60.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(PewterMug), 1044048, 1024097, 10.0, 60.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(SkinningKnife), 1044048, 1023781, 25.0, 75.0, typeof(IronIngot), 1044036, 2, 1044037);
            #endregion

            #region Misc
            this.AddCraft(typeof(KeyRing), 1044050, 1024113, 10.0, 60.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(Candelabra), 1044050, 1022599, 55.0, 105.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(Scales), 1044050, 1026225, 60.0, 110.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(Key), 1044050, 1024112, 20.0, 70.0, typeof(IronIngot), 1044036, 3, 1044037);
            this.AddCraft(typeof(Globe), 1044050, 1024167, 55.0, 105.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(Spyglass), 1044050, 1025365, 60.0, 110.0, typeof(IronIngot), 1044036, 4, 1044037);
            this.AddCraft(typeof(Lantern), 1044050, 1022597, 30.0, 80.0, typeof(IronIngot), 1044036, 2, 1044037);
            this.AddCraft(typeof(HeatingStand), 1044050, 1026217, 60.0, 110.0, typeof(IronIngot), 1044036, 4, 1044037);

            if (Core.SE)
            {
                index = this.AddCraft(typeof(ShojiLantern), 1044050, 1029404, 65.0, 115.0, typeof(IronIngot), 1044036, 10, 1044037);
                this.AddRes(index, typeof(Log), 1044041, 5, 1044351);
                this.SetNeededExpansion(index, Expansion.SE);

                index = this.AddCraft(typeof(PaperLantern), 1044050, 1029406, 65.0, 115.0, typeof(IronIngot), 1044036, 10, 1044037);
                this.AddRes(index, typeof(Log), 1044041, 5, 1044351);
                this.SetNeededExpansion(index, Expansion.SE);

                index = this.AddCraft(typeof(RoundPaperLantern), 1044050, 1029418, 65.0, 115.0, typeof(IronIngot), 1044036, 10, 1044037);
                this.AddRes(index, typeof(Log), 1044041, 5, 1044351);
                this.SetNeededExpansion(index, Expansion.SE);

                index = this.AddCraft(typeof(WindChimes), 1044050, 1030290, 80.0, 130.0, typeof(IronIngot), 1044036, 15, 1044037);
                this.SetNeededExpansion(index, Expansion.SE);

                index = this.AddCraft(typeof(FancyWindChimes), 1044050, 1030291, 80.0, 130.0, typeof(IronIngot), 1044036, 15, 1044037);
                this.SetNeededExpansion(index, Expansion.SE);
            }
            #endregion

            #region Jewelry
            this.AddJewelrySet(GemType.StarSapphire, typeof(StarSapphire));
            this.AddJewelrySet(GemType.Emerald, typeof(Emerald));
            this.AddJewelrySet(GemType.Sapphire, typeof(Sapphire));
            this.AddJewelrySet(GemType.Ruby, typeof(Ruby));
            this.AddJewelrySet(GemType.Citrine, typeof(Citrine));
            this.AddJewelrySet(GemType.Amethyst, typeof(Amethyst));
            this.AddJewelrySet(GemType.Tourmaline, typeof(Tourmaline));
            this.AddJewelrySet(GemType.Amber, typeof(Amber));
            this.AddJewelrySet(GemType.Diamond, typeof(Diamond));
            #endregion

            #region Multi-Component Items
            index = this.AddCraft(typeof(AxleGears), 1044051, 1024177, 0.0, 0.0, typeof(Axle), 1044169, 1, 1044253);
            this.AddRes(index, typeof(Gears), 1044254, 1, 1044253);

            index = this.AddCraft(typeof(ClockParts), 1044051, 1024175, 0.0, 0.0, typeof(AxleGears), 1044170, 1, 1044253);
            this.AddRes(index, typeof(Springs), 1044171, 1, 1044253);

            index = this.AddCraft(typeof(SextantParts), 1044051, 1024185, 0.0, 0.0, typeof(AxleGears), 1044170, 1, 1044253);
            this.AddRes(index, typeof(Hinge), 1044172, 1, 1044253);

            index = this.AddCraft(typeof(ClockRight), 1044051, 1044257, 0.0, 0.0, typeof(ClockFrame), 1044174, 1, 1044253);
            this.AddRes(index, typeof(ClockParts), 1044173, 1, 1044253);

            index = this.AddCraft(typeof(ClockLeft), 1044051, 1044256, 0.0, 0.0, typeof(ClockFrame), 1044174, 1, 1044253);
            this.AddRes(index, typeof(ClockParts), 1044173, 1, 1044253);

            this.AddCraft(typeof(Sextant), 1044051, 1024183, 0.0, 0.0, typeof(SextantParts), 1044175, 1, 1044253);

            index = this.AddCraft(typeof(Bola), 1044051, 1046441, 60.0, 80.0, typeof(BolaBall), 1046440, 4, 1042613);
            this.AddRes(index, typeof(Leather), 1044462, 3, 1044463);

            index = this.AddCraft(typeof(PotionKeg), 1044051, 1044258, 75.0, 100.0, typeof(Keg), 1044255, 1, 1044253);
            this.AddRes(index, typeof(Bottle), 1044250, 10, 1044253);
            this.AddRes(index, typeof(BarrelLid), 1044251, 1, 1044253);
            this.AddRes(index, typeof(BarrelTap), 1044252, 1, 1044253);
          
            if (Core.SA)
            {
                index = this.AddCraft(typeof(ModifiedClockworkAssembly), 1044051, 1113031, 65.0, 115.0, typeof(ClockworkAssembly), 1073426, 1, 502910);
                this.AddRes(index, typeof(PowerCrystal), 1112811, 1, 502910);
                this.AddRes(index, typeof(VoidEssence), 1112327, 1, 502910);
                this.SetNeededExpansion(index, Expansion.SA);
                this.ForceNonExceptional(index);

                index = this.AddCraft(typeof(ModifiedClockworkAssembly), 1044051, 1113032, 65.0, 115.0, typeof(ClockworkAssembly), 1073426, 1, 502910);
                this.AddRes(index, typeof(PowerCrystal), 1112811, 1, 502910);
                this.AddRes(index, typeof(VoidEssence), 1112327, 2, 502910);
                this.SetNeededExpansion(index, Expansion.SA);
                this.ForceNonExceptional(index);

                index = this.AddCraft(typeof(ModifiedClockworkAssembly), 1044051, 1113033, 65.0, 115.0, typeof(ClockworkAssembly), 1073426, 1, 502910);
                this.AddRes(index, typeof(PowerCrystal), 1112811, 1, 502910);
                this.AddRes(index, typeof(VoidEssence), 1112327, 3, 502910);
                this.SetNeededExpansion(index, Expansion.SA);
                this.ForceNonExceptional(index);
            }

            #region Hitching Post
            if (Core.ML)
            {
                index = this.AddCraft(typeof(HitchingRope), 1044051, 1071124, 60.0, 120.0, typeof(Rope), 1020934, 1, 1044253);
                this.AddSkill(index, SkillName.AnimalLore, 15.0, 100.0);
                this.AddRes(index, typeof(ResolvesBridle), 1074761, 1, 1044253);

                index = this.AddCraft(typeof(HitchingPost), 1044051, 1071127, 90.0, 160.0, typeof(IronIngot), 1044036, 50, 1044253);
                this.AddRes(index, typeof(AnimalPheromone), 1071200, 1, 1044253);
                this.AddRes(index, typeof(HitchingRope), 1071124, 2, 1044253);
                this.AddRes(index, typeof(PhillipsWoodenSteed), 1063488, 1, 1044253);
            }
            #endregion

            #endregion

            #region Traps
            // Dart Trap
            index = this.AddCraft(typeof(DartTrapCraft), 1044052, 1024396, 30.0, 80.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddRes(index, typeof(Bolt), 1044570, 1, 1044253);

            // Poison Trap
            index = this.AddCraft(typeof(PoisonTrapCraft), 1044052, 1044593, 30.0, 80.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddRes(index, typeof(BasePoisonPotion), 1044571, 1, 1044253);

            // Explosion Trap
            index = this.AddCraft(typeof(ExplosionTrapCraft), 1044052, 1044597, 55.0, 105.0, typeof(IronIngot), 1044036, 1, 1044037);
            this.AddRes(index, typeof(BaseExplosionPotion), 1044569, 1, 1044253);

            // Faction Gas Trap
            index = this.AddCraft(typeof(FactionGasTrapDeed), 1044052, 1044598, 65.0, 115.0, typeof(Silver), 1044572, Core.AOS ? 250 : 1000, 1044253);
            this.AddRes(index, typeof(IronIngot), 1044036, 10, 1044037);
            this.AddRes(index, typeof(BasePoisonPotion), 1044571, 1, 1044253);

            // Faction explosion Trap
            index = this.AddCraft(typeof(FactionExplosionTrapDeed), 1044052, 1044599, 65.0, 115.0, typeof(Silver), 1044572, Core.AOS ? 250 : 1000, 1044253);
            this.AddRes(index, typeof(IronIngot), 1044036, 10, 1044037);
            this.AddRes(index, typeof(BaseExplosionPotion), 1044569, 1, 1044253);

            // Faction Saw Trap
            index = this.AddCraft(typeof(FactionSawTrapDeed), 1044052, 1044600, 65.0, 115.0, typeof(Silver), 1044572, Core.AOS ? 250 : 1000, 1044253);
            this.AddRes(index, typeof(IronIngot), 1044036, 10, 1044037);
            this.AddRes(index, typeof(Gears), 1044254, 1, 1044253);

            // Faction Spike Trap         
            index = this.AddCraft(typeof(FactionSpikeTrapDeed), 1044052, 1044601, 65.0, 115.0, typeof(Silver), 1044572, Core.AOS ? 250 : 1000, 1044253);
            this.AddRes(index, typeof(IronIngot), 1044036, 10, 1044037);
            this.AddRes(index, typeof(Springs), 1044171, 1, 1044253);

            // Faction trap removal kit
            index = this.AddCraft(typeof(FactionTrapRemovalKit), 1044052, 1046445, 90.0, 115.0, typeof(Silver), 1044572, 500, 1044253);
            this.AddRes(index, typeof(IronIngot), 1044036, 10, 1044037);
            #endregion

            #region Mondain's Legacy Magic Jewlery
            if (Core.ML)
            {
                index = this.AddCraft(typeof(BrilliantAmberBracelet), 1073107, 1073453, 75.0, 125.0, typeof(IronIngot), 1044036, 5, 1044037);
                this.AddRes(index, typeof(Amber), 1062607, 20, 1044240);
                this.AddRes(index, typeof(BrilliantAmber), 1032697, 10, 1044240);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(FireRubyBracelet), 1073107, 1073454, 75.0, 125.0, typeof(IronIngot), 1044036, 5, 1044037);
                this.AddRes(index, typeof(Ruby), 1062603, 20, 1044240);
                this.AddRes(index, typeof(FireRuby), 1032695, 10, 1044240);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(DarkSapphireBracelet), 1073107, 1073455, 75.0, 125.0, typeof(IronIngot), 1044036, 5, 1044037);
                this.AddRes(index, typeof(Sapphire), 1062602, 20, 1044240);
                this.AddRes(index, typeof(DarkSapphire), 1032690, 10, 1044240);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(WhitePearlBracelet), 1073107, 1073456, 75.0, 125.0, typeof(IronIngot), 1044036, 5, 1044037);
                this.AddRes(index, typeof(Tourmaline), 1062606, 20, 1044240);
                this.AddRes(index, typeof(WhitePearl), 1032694, 10, 1044240);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(EcruCitrineRing), 1073107, 1073457, 75.0, 125.0, typeof(IronIngot), 1044036, 5, 1044037);
                this.AddRes(index, typeof(Citrine), 1062604, 20, 1044240);
                this.AddRes(index, typeof(EcruCitrine), 1032693, 10, 1044240);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(BlueDiamondRing), 1073107, 1073458, 75.0, 125.0, typeof(IronIngot), 1044036, 5, 1044037);
                this.AddRes(index, typeof(Diamond), 1062608, 20, 1044240);
                this.AddRes(index, typeof(BlueDiamond), 1032696, 10, 1044240);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(PerfectEmeraldRing), 1073107, 1073459, 75.0, 125.0, typeof(IronIngot), 1044036, 5, 1044037);
                this.AddRes(index, typeof(Emerald), 1062601, 20, 1044240);
                this.AddRes(index, typeof(PerfectEmerald), 1032692, 10, 1044240);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(TurqouiseRing), 1073107, 1073460, 75.0, 125.0, typeof(IronIngot), 1044036, 5, 1044037);
                this.AddRes(index, typeof(Amethyst), 1062605, 20, 1044240);
                this.AddRes(index, typeof(Turquoise), 1032691, 10, 1044240);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(ResilientBracer), 1073107, 1072933, 100.0, 125.0, typeof(IronIngot), 1044036, 2, 1044037);
                this.AddRes(index, typeof(CapturedEssence), 1032686, 1, 1044253);
                this.AddRes(index, typeof(BlueDiamond), 1032696, 10, 1044253);
                this.AddRes(index, typeof(Diamond), 1062608, 50, 1044253);
                this.AddRecipe(index, (int)TinkerRecipes.ResilientBracer);
                this.ForceNonExceptional(index);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(EssenceOfBattle), 1073107, 1072935, 100.0, 125.0, typeof(IronIngot), 1044036, 2, 1044037);
                this.AddRes(index, typeof(CapturedEssence), 1032686, 1, 1044253);
                this.AddRes(index, typeof(FireRuby), 1032695, 10, 1044253);
                this.AddRes(index, typeof(Ruby), 1062603, 50, 1044253);
                this.AddRecipe(index, (int)TinkerRecipes.EssenceOfBattle);
                this.ForceNonExceptional(index);
                this.SetNeededExpansion(index, Expansion.ML);

                index = this.AddCraft(typeof(PendantOfTheMagi), 1073107, 1072937, 100.0, 125.0, typeof(IronIngot), 1044036, 2, 1044037);
                this.AddRes(index, typeof(EyeOfTheTravesty), 1032685, 1, 1044253);
                this.AddRes(index, typeof(WhitePearl), 1032694, 10, 1044253);
                this.AddRes(index, typeof(StarSapphire), 1062600, 50, 1044253);
                this.AddRecipe(index, (int)TinkerRecipes.PendantOfTheMagi);
                this.ForceNonExceptional(index);
                this.SetNeededExpansion(index, Expansion.ML);
            }
            if (Core.SA)
            {
                index = this.AddCraft(typeof(GargishBracelet), 1044049, 1095785, 65.0, 115.0, typeof(IronIngot), 1044036, 6, 1044037);
                this.AddRes(index, typeof(BrilliantAmber), 1032697, 1, 1044240);
                this.SetNeededExpansion(index, Expansion.SA);
   
                index = this.AddCraft(typeof(GargishRing), 1044049, 1095786, 65.0, 115.0, typeof(IronIngot), 1044036, 3, 1044037);
                this.AddRes(index, typeof(StarSapphire), 1062600, 1, 1044253);
                this.SetNeededExpansion(index, Expansion.SA);
   
                index = this.AddCraft(typeof(GargishNecklace), 1044049, 1095784, 65.0, 115.0, typeof(IronIngot), 1044036, 6, 1044037);
                this.AddRes(index, typeof(FireRuby), 1032695, 1, 1044253);
                this.SetNeededExpansion(index, Expansion.SA);
   
                index = this.AddCraft(typeof(GargishEarrings), 1044049, 1095787, 65.0, 115.0, typeof(IronIngot), 1044036, 4, 1044037);
                this.AddRes(index, typeof(BlueDiamond), 1032696, 1, 1044253);
                this.SetNeededExpansion(index, Expansion.SA);
            }             
            #endregion

            #region Universal Storage Keys
            //IngotKey
            index = this.AddCraft(typeof(IngotKey), "Keys", "Ingot Key", 100.0, 120.0, typeof(KeyRing), "KeyRing", 2, "You need more Key Rings");
            this.AddRes(index, typeof(IronIngot), "Iron Ingots", 150, "You need more Iron Ingots");
            this.AddSkill(index, SkillName.Blacksmith, 100.0, 120.0);
            this.SetNeededExpansion(index, Expansion.ML);
            #endregion Universal Storage Keys
 
Just wondering about this
AddSkill(index, SkillName.Blacksmith, 100.0, 120.0);
Must work though with no error?

While in the repo for crafting contains this code
this.SetSkill(SkillName.Tinkering, 64.0, 100.0);
 
here is the ingotkey script wasn't sure if something needed to be added to it or not
Code:
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Solaris.ItemStore;                            //for connection to resource store data objects

namespace Server.Items
{
    //item derived from BaseResourceKey
    public class IngotKey : BaseStoreKey
    {
        public override List<StoreEntry> EntryStructure
        {
            get
            {
                List<StoreEntry> entry = base.EntryStructure;
              
                entry.Add( new ResourceEntry( typeof( IronIngot ), "Iron" ) );
                entry.Add( new ResourceEntry( typeof( DullCopperIngot ), "Dull" ) );
                entry.Add( new ResourceEntry( typeof( ShadowIronIngot ), "Shadow" ) );
                entry.Add( new ResourceEntry( typeof( CopperIngot ), "Copper" ) );
                entry.Add( new ResourceEntry( typeof( BronzeIngot ), "Bronze" ) );
                entry.Add( new ResourceEntry( typeof( GoldIngot ), "Gold" ) );
                entry.Add( new ResourceEntry( typeof( AgapiteIngot ), "Agapite" ) );
                entry.Add( new ResourceEntry( typeof( VeriteIngot ), "Verite" ) );
                entry.Add( new ResourceEntry( typeof( ValoriteIngot ), "Valorite" ) );
                entry.Add(new ResourceEntry(typeof(DullCopperIngot), "Silver"));
                entry.Add(new ResourceEntry(typeof(ShadowIronIngot), "Platinum"));
                entry.Add(new ResourceEntry(typeof(CopperIngot), "Mythril"));
                entry.Add(new ResourceEntry(typeof(BronzeIngot), "Obsidian"));
                entry.Add(new ResourceEntry(typeof(GoldIngot), "Jade"));
                entry.Add(new ResourceEntry(typeof(AgapiteIngot), "Moonstone"));
                entry.Add(new ResourceEntry(typeof(VeriteIngot), "Sunstone"));
                entry.Add(new ResourceEntry(typeof(ValoriteIngot), "Bloodstone"));
                
                return entry;
            }
        }
        [Constructable]
        public IngotKey() : base( 0x14 )        //hue 0x14
        {
            ItemID = 0x1BE8;            //pile of ingots
            Name = "Ingot Keys";
        }
        //this loads properties specific to the store, like the gump label, and whether it's a dynamic storage device
        protected override ItemStore GenerateItemStore()
        {
            //load the basic store info
            ItemStore store = base.GenerateItemStore();

            //properties of this storage device
            store.Label = "Ingot Storage";
          
            store.Dynamic = false;
            store.OfferDeeds = true;
            return store;
        }
      
        //serial constructor
        public IngotKey( Serial serial ) : base( serial )
        {
        }
      
        //events
      
        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );
          
            writer.Write( 0 );
        }
      
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );
          
            int version = reader.ReadInt();
        }
    }
}
 
Last edited:
Sorry lol i'm not sure what you mean. Well i even tried taking out the ingots and left the keyring on it like this and still won't work. tried it Milva's way and got errors on that.I even looked at daat99's modified deftinkering to see if there was any difference not so much tho.

#region Universal Storage Keys
//IngotKey
index = this.AddCraft(typeof(IngotKey), "Keys", "Ingot Key", 100.0, 120.0, typeof(KeyRing), "KeyRing", 2, "You need more Key Rings");
this.AddSkill(index, SkillName.Blacksmith, 100.0, 120.0);
this.SetNeededExpansion(index, Expansion.ML);
#endregion Universal Storage Keys
 
Last edited:
I mean switching your source material to a different ore. When you open the crafting menu, at the bottom, you can switch from Iron to Copper, Verite, Valorite, etc.
 
yea all that works fine.... would it need edits in like craftitem.cs or something?:confused:
 
Last edited:
Can you upload a screenshot after you click on Ingot Key in the top right there please?

I've looked at my other crafting scripts where I've added custom things and what I'm seeing matches what you have, except I didn't have a requirement for an additional skill. Maybe try removing that for now and lets see what happens...?
 
k yea thank you tass23 for all your responses too, i tried removing blacksmith skill and still nothing
 
Last edited:
i tried on the live server and i can craft everything but on the test server after putting in the storage keys i cannot so it has to be an edit i made for the storage keys
ok i took out all those edits that came with the universal storage package and now it works
So pretty much now on my test server its a drag and drop....lol

Thank You Tass23 for your help if i run into anymore problems i'll give you a holla
 
Last edited:
index = AddCraft(typeof(IngotKey), "Keys", "Ingot Key", 100.0,120.0, typeof(KeyRing), "Key Ring", 2, "You need more Key Rings");
AddSkill(index, SkillName.Blacksmith, 100.0,120.0);

Try this , same method i used my for cloth and its goes in just fine , also make sure you are Writing out its public class correctly just in case
this is what my original looks like
index = AddCraft(typeof(ChlorphyteCloth), "Infused clothing", "Chlorphyte Cloth", 53.9, 78.9, typeof(Chlorphyte), "Chlorphyte Cloth", 1, "You need more Chlorphyte");
AddSkill(index, SkillName.Tailoring, 53.9, 78.9);
AddRes(index, typeof(Cloth), "Cloth", 1, "You need more Cloth");
 
Back