simple permission system

Hi,
how can i achive a simple permission system?
My goal is to restrict what players can do depending on some base engrams learned.
For this i added 3 new Engrams that represent the permissions and based on the choosen engram the player can or cant do stuff.

Concrete:
How to restrict cooking of meat in campfire to persons that have engram X but allow others to make fire?
same for melting metal
same for accessing suply drops

I dont want to touch every engram, is there a possibility for a central solution like:
Person wants to do XY -> get permission engram -> look via ini file if someone with that permission can do XY

thanks

I think the main issue you’re going to have is that the auto-crafted things are crafted by the structure itself (for instance, the recipe for creating cooked meat is owned by the campfire or grill, there is no engram for this). Since the structure is owner of the raw meat and the structure is the owner of the recipe, the structure is going to cook the meat no matter who the player was or even if the player walks away or 5 different players all put their meat in it.

You might be able to find some way to prevent players from turning on/lighting a fire if they don’t have the engram for it, but once it’s lit anyone in the tribe can put meat in the campfire’s inventory and get it cooked.

To stop people from cooking meat without an engram you’ll have to 1) Disable auto-crafting in CookedMeat item by making a copy of CookedMeat in your mod folder and unchecking “Auto Craft Blueprint” 2) make a cooked meat engram that produces your CookedMeat item 3) In GameData, add the Cooked Meat engram to the additional engrams list so the player can learn it 4) In GameData, Add the cooked meat item (not engram) to the Additional Engram Structures list by adding the Campfire structure under “For Class” then adding your cooked meat item to “Class Additions” (don’t forget to do this for the grill too) so that the engram appears in the campfire for the player to craft 5) In GameData, remapping your mod’s CookedMeat over the game’s CookedMeat.

I think if you do all that you can make the CookedMeat manually craftable without having to mod each structure’s inventory to remove the recipes. If it still autocrafts meat I believe you’ll have to copy the Inventory blueprint files and change the “Default Engrams” array to make each engram 0 to disable autocrafting, then remap your inventory over the game’s inventory.

Hi, and first thanks for your help.
I tried all steps but cookedMeat is still autocraftable. You wrote to remap the inventory, where can i do this?

Sorry, now that I look at it, I don’t think that you can remap just the inventory. The Remap lists appear to be very specific in what they can do, if putting Remap Items from the built-in CookedMeat item to your ManuallyCookedMeat class didn’t stop the campfire from making its own cooked meat, you might have to replace the entire campfire by creating your own campfire item and your own campfire structure that is made from that item and your own campfire inventory (with autocrafting disabled) inside the campfire structure. In PrimalGameData you will need to add your campfire structure to the Additional Structures to Place array, then in Remap Items arr, make an entry “from” PrimalItemStructure_Campfire “To” your campfire item (just tested this).

After some try and error i figured it out.
I need to copy and change the following:

My_EngramEntry_CampFire
“Blue Print Entry” => “My_PrimalItemStructure_Campfire”
My_Campfire
Under Components: “delete current inventory” => “Add Component” => “My_PrimalInventoryBP_Campfire”
“Consumes Primal Item” => “My_PrimalItemStructure_Campfire”
My_PrimalInventoryBP_Campfire
“Check for Auto Craft Bluepronts” => disable
“Default Inventory Items” => “My_PrimalItemConsumable_CookedMeat”
“Default Engrams” => should be the same amount as in “Default Inventory Items”
“Use Craft Queue” => enable
“Crafting Enabled” => enable
My_PrimalItemStructure_Campfire
“Structure to Build” => “My_Campfire”

My_EngramEntry_CookedMeat
“Blue Print Entry” => “My_PrimalItemConsumable_CookedMeat”
“Give Blueprint to Player Inventory” => disable
My_PrimalItemConsumable_CookedMeat_child (must be a child otherwise its not usable as cookedMeat in other reciepes)
“Auto Craft Blueprint” => disable
“Crafting requires Inventory Component” => “My_PrimalInventoryBP_Campfire”

My_PrimalGameData_BP
“Additional Structure Engrams” => For Class: “My_PrimalItemStructure_Campfire”, Class Additions: “My_PrimalItemConsumable_CookedMeat”
“Additional Structure to place” ?> “My_Campfire”
“Engram Blueprint Classes” => duplicate Campfire => turn 2. campfire to “My_EngramEntry_CookedMeat”
“Remap Engrams” => From Class: “EngramEntry_Campfire”, To Class: “My_EngramEntry_Campfire”
“Remap Items” => From Class: “Campfire”, To Class “MY_Campfire”

And now for the permission settings. How can i do this without touching every Engram?
Is it possible to add addtional requirements for engrams? What i want is something like that:

Player wants to learn Engram X
Engram X needs Engram B (not set via requirements, only in ini!!!)
Sytem looks if Player has Engram A B or C (that are my 3 permission engrams, assume we habe B)
Look in ini if Engram X is allowed with Engram B
if yes he can learn it if not theres a message “Not allowed with permission B”