I want to create skills/powers specific trees and the simplest way to do it, is i think through engrams.
But after some tests and researches, I find it’s impossible to disable an engram if an other had been chosen.
I think about others solutions but i don’t know which one are possible :
Make the admin able to spawn a one-use blueprint to learn the tree’s base engram
Editing the character creation menu in wich you can chose a tree and having a different set of engrams
If editing the character creation menu can be an issue, create an UI that spawn at a certain level to make the choice that enable the base engram
making an unthrowable and unstolenable object in the inventory (as the implant, create through character creation menu or other way) a pre-requisit to learn an engram
Do you know if at least one of those is feasible or do you have others solutions that can do the thing?
This seems to be something that has been talked about since people started pushing mods. I have yet to see it completed tho.
MY guess is that the system is not setup, at all, for this functionality.
I would venture to guess that someone would need to cpp this functionality into the ADK, and, this is why it has yet to be done.
I think the easiest way (out of the options in my head) would be to add the functionality via cpp and then disable the default engrams (but how, they are in core). Creating a new GUI for the engrams may work, but, how do you stop me from selecting (lets say 3 trees) them all? If you dont, the issue will be if i get 10 abilities, and, there are 30 total (3 trees, 10 each), what if i pick the first 5 in each tree?
hmmmm …
Only way I can really see this working is a class selection setup at some place. Character creation (but that would be a nightmare to add) or some sort of “choose your path” setup (like an item, i want to be a mage, so, i click X item… or whatever). X item would relate to a GUI that had the “powers” engram. Kinda messy really … something along those ideas tho, should get you working.
I believe you can create your own UI that goes like this -
The UI itself is the tree of engrams. Like this:
A1 A2 A3
B1 B2 B3
C1 C2 C3
At first, only row A is available. You would have to select one, and confirm your selection. Upon doing so, A2 and A3 become disabled, and B1 and B2 become available, or however you wish to do your tree.
If I were to do something like this, I would create a small structure that you can access this UI tree from. I would utilized UE4’s SaveGame feature to store player selections server side. The structure gives a buff to the player, and the buff loads the player’s selections from the server, then passes this information through to the UI to determine what is available. Upon confirming a selection, you should be able to add an engram to a player, and you would simply not add the engrams to the additional engram portion of PrimalGameData. Alternatively, you might be able to bypass the SaveGame route by indexing unlocked engrams of the player accessing the UI. I’ve never looked into that side of things, though. The SaveGame route would be best if you wish to utilize a global list of player “titles” - such as if you were to have an alternate UI that displays something like:
Player Name - Tribe - Title
Where title is determined by which path you select, and/or how far down the path you are. So if you were to do a blacksmith tree, an Apprentice would have Tier 1 unlocked, and a Master would have Tier 3 unlocked.