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!!!