Jump to content

tutorial Engram removal/hiding - config generation


ToeiRei

Recommended Posts

Hiding engrams from a mod can be a pain in the rear, especially if there are many of them to be removed - an actual example would be hiding S+ engrams to enforce players to roll with other stuff without breaking existing builds. As I'm a linux user, I'm in the happy position of using their tools pretty sweet. If you're sitting on windows, can use cygwin or that windows 10 subsystem stuff that gives you some of that functionality.

Our main goal is to get a list of engrams to mask, which is fairly easy employing 'find' by cd-ing into the ark mods directory - in my case s+ - 

cd /home/arkserver/ShooterGame/Content/Mods/731604991
find . -iname EngramEntry_*

find now looks in '.' which is the current path.
-iname says 'look for files having ...' in its name

What we get is a list of engram entry files which we now need to trim down. Luckily xargs got you covered and we're sending the previous commands output through a pipe which give us

 find . -iname EngramEntry_* | xargs -n1 basename

that is sweet, but still not what we really need to roll with our list

Now there's sed, a sweet little swiss army knife of editing streams which we can add send ours to. Basic syntax is 's/needle/replacement/' whereas 's' is for replacing stuff, needle is what we search (looking for the needle in the hay) and 'replacement' is what we want to have instead.

as the documentation suggests, our Game.ini entry should look like this:

Quote

OverrideNamedEngramEntries=(EngramClassName="EngramEntry_XLWall_Adobe_C",EngramHidden=True,EngramPointsCost=0,EngramLevelRequirement=0,RemoveEngramPreReq=True)
 

we can use sed to slap it in shape. Just let 'EngramEntry_' and '.uasset' be our needles to be replaced

First part:

 sed 's/EngramEntry_/OverrideNamedEngramEntries=(EngramClassName="EngramEntry_/'

That will give us a list saying something like

OverrideNamedEngramEntries=(EngramClassName="EngramEntry_XLWall_Adobe.uasset

which is pretty what we want for the first part. Second part:

sed 's/.uasset/_C",EngramHidden=True,EngramPointsCost=0,EngramLevelRequirement=0,RemoveEngramPreReq=True)/'

Putting it together, we have:

find . -iname EngramEntry_* | xargs -n1 basename | sed 's/EngramEntry_/OverrideNamedEngramEntries=(EngramClassName=EngramEntry_"/' | sed 's/.uasset/_C",EngramHidden=True,EngramPointsCost=0,EngramLevelRequirement=0,RemoveEngramPreReq=True)/'

 

which should spit out a list of disable-able engrams of every mod we let that run against which you may have as a textfile, appending > '~/disable.txt' at the end. Now all you have to do is check your list, deleting the lines which you want to keep and add the remaining ones to your Game.ini underneath the  [/Script/ShooterGame.ShooterGameMode] header...

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...