Tutorial:RPFM Post-Setup for Beginners

From Total War Modding

Hi, my name's Casualfield, welcome to the Total War Modding community! In this short'ish tutorial, I will show you a few settings in RPFM to improve the experience of modding and allow you to start learning. I'm going to assume you've already read the Tutorial:Beginner's Guide and Tutorial:RPFM For Dummies because if you haven't, go do that first.

Dependencies: The Foundation & Importer

Dependscf.png

I always have the dependencies viewable as you can search it independently of Global Search and also import files from it directly into your packfile. This also ensures that my dependencies are set up and RPFM is able to run diagnostics. Beaware not every table is able to detect empty keys which will cause a CTD, if you find these please report them in the discord so MR. Fro can fix them for everyone.

Adding other mods as a dependency is a thing.

Opendepsman.png

Right click the main packfile and open Dependencies manager. ctrl + shft + a to insert a new row and type in the pack file name including the file extension(.pack). This makes it easy to reference other mods, allows RPFM to run diagnostics especially if the mod is required.

Tooltips: The Dot Connector

Tooltipscf.png

While in RPFM you can hover your cursor over columns or various things and usually get info on where things connect. This is the main way to learn modding, especially when no guide exists.

Global Search: The Revealer

Gsearch.png

Now it's up to you if you always want this to be shown or not, but you WILL be using it. An idea pops into your head for a mod but you have no idea how go about it? Well, start here. Now you can either just blindly start typing in keywords and see what pops up or, my personal recommendation, start referencing the base game.

In game if there is text associated with something you can GSearch for that text if you have "loc" checked. Inside that .loc file there will be a key that you can then GSearch for which will lead to a more impactful key and so on.

Example time! Lets say you want to change the cost of Naggaronds's buildings. We know the name of the settlement so lets GSearch it!

Naggarondgsearch.png

That's quite the result! So the "loc" setting will search .loc files, text will search things like .lua scripts, DB searches database files. So you can toggle stuff off if you want to lessen the search time and radios or to avoid causing RPFM to crash by searching to much.

In this case we searched for a settlement name so text/db/building_chains__.loc is probably the best bet based on the other file names. Now we have these results inside the file, now we now the settlement name was just Naggarond so lets look for just that, two results. Double click and you'll be taken to the row. So now we have, building_chains_chain_tooltip_wh2_main_special_settlement_naggarond and building_chains_chain_tooltip_wh2_main_special_settlement_naggarond_hef. hef is short for High Elf so probably not what we want, let's global search "wh2_main_special_settlement_naggarond" with "DB" checked, as the first part is the main key for the .loc.

Ssnagggsreach.png

Now we have narrowed it down and all the results are building related so that's good! db/building_upgrades_junction_tables seems like what we want but actually that controls what buildings upgrade into not the cost. In this case I already know where we need to go but on your own you'll open every single file, especially if you want to create something. So db/building_levels_tables is the main table for building regarding cost and upgrades. Now, assuming you have created your packfile already, right click the tab at the top and import from dependencies.

Importdepnagg.png

This will import the whole file into your packfile. Let's rename the file to we don't mess with vanilla (ctrl + r once highlighted). Now highlight all the entire rows with "wh2_main_special_settlement_naggarond" and copy them(ctrl + c). Now ctrl + a to highlight the whole file and then delete them, now ctrl + shft + v to paste the rows back in. TA DA! We now have the exact rows we need to change the cost and nothing more.

That's all for now!