c0verfire 0 Posted September 21, 2019 Hey all, I am really new to modding, and trying to get started. I decided to take a simple mod that is broken on the workshop, and repack it (with the original owners permission) as a learning experience. Basically the mod allows you to craft a sea chest with planks and nails. In scripts\4_world\classes\recipes\recipes I put CraftCrateMod.c class CraftCrateMod extends RecipeBase { override void Init() { m_Name = "Craft Sea Chest"; m_IsInstaRecipe = false;//should this recipe be performed instantly without animation m_AnimationLength = 2;//animation length in relative time units m_Specialty = 0.01;// value > 0 for roughness, value < 0 for precision //conditions m_MinDamageIngredient[0] = -1;//-1 = disable check m_MaxDamageIngredient[0] = 3;//-1 = disable check m_MinQuantityIngredient[0] = 28;//-1 = disable check m_MaxQuantityIngredient[0] = -1;//-1 = disable check m_MinDamageIngredient[1] = -1;//-1 = disable check m_MaxDamageIngredient[1] = 3;//-1 = disable check m_MinQuantityIngredient[1] = 10;//-1 = disable check m_MaxQuantityIngredient[1] = -1;//-1 = disable check //---------------------------------------------------------------------------------------------------------------------- //INGREDIENTS //ingredient 1 InsertIngredient(0,"Nail");//you can insert multiple ingredients this way m_IngredientAddHealth[0] = 0;// 0 = do nothing m_IngredientSetHealth[0] = -1; // -1 = do nothing m_IngredientAddQuantity[0] = -28;// 0 = do nothing m_IngredientDestroy[0] = false;//true = destroy, false = do nothing m_IngredientUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this ingredient //ingredient 2 InsertIngredient(1,"WoodenPlank");//you can insert multiple ingredients this way m_IngredientAddHealth[1] = 0;// 0 = do nothing m_IngredientSetHealth[1] = -1; // -1 = do nothing m_IngredientAddQuantity[1] = -10;// 0 = do nothing m_IngredientDestroy[1] = false;// false = do nothing m_IngredientUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this ingredient //---------------------------------------------------------------------------------------------------------------------- //result1 AddResult("SeaChest");//add results here m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing m_ResultSetQuantity[0] = -1;//-1 = do nothing m_ResultSetHealth[0] = -1;//-1 = do nothing m_ResultInheritsHealth[0] = 1;// (value) == -1 means do nothing; a (value) >= 0 means this result will inherit health from ingredient number (value);(value) == -2 means this result will inherit health from all ingredients averaged(result_health = combined_health_of_ingredients / number_of_ingredients) m_ResultInheritsColor[0] = -1;// (value) == -1 means do nothing; a (value) >= 0 means this result classname will be a composite of the name provided in AddResult method and config value "color" of ingredient (value) m_ResultToInventory[0] = 1;//(value) == -2 spawn result on the ground;(value) == -1 place anywhere in the players inventory, (value) >= 0 means switch position with ingredient number(value) m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result m_ResultReplacesIngredient[0] = -1;// value == -1 means do nothing; a value >= 0 means this result will transfer item propertiesvariables, attachments etc.. from an ingredient value } }; In scripts\4_world\plugins\pluginbase I put the code to add the recipe modded class PluginRecipesManager { override void ReadCacheFromFile(string filename) { m_CacheItemMap.Clear(); m_CachedItems = new array<string>; GenerateRecipeCache(m_CachedItems); m_CachedItems.Clear(); } override void RegisterRecipies() { super.RegisterRecipies(); RegisterRecipe(new CraftCrateMod); } } In my config.cpp I have class CfgPatches { class FirstMod { requiredAddons[]={}; }; }; class CfgMods { class FirstMod { type = "mod"; dependencies[] = {"World"}; class defs { class worldScriptModule { value = ""; files[] = {"FirstMod/scripts/4_world/"}; }; }; }; }; I have packed the PBO, and am loading it into CommunityOfflineMode and get the following error. When I load CommunityOfflineMode I am getting the following error My guess is that I have my allowrecipe.c in the wrong path location, so it cannot find the function it is trying to call, but maybe I am wrong. Would love a friendly push in the right direction.... Thanks!!! Share this post Link to post Share on other sites
IMT 3190 Posted September 22, 2019 In PluginRecipesManager, you override the method ReadCacheFromFile, however, there is no ReadCacheFromFile in that class or any inherited classes apparently. Share this post Link to post Share on other sites
c0verfire 0 Posted September 22, 2019 thank you so much, I was able to figure it out from there!!! Share this post Link to post Share on other sites