Working with Table Files for Steam Workshop

[V] IdolNinja

Volition Staff
Steam workshop supports modifying the following tables:
  • items3d.xtbl will be parsed and we will look for items_containers.asm_pc and items_preload_containers.asm_pc.
  • Any weapons.xtbl will be parsed.
  • Any weapon_upgrades.xtbl will be parsed.
  • Any weapon_costumes.xtbl will be parsed and we will look for mods_costumes.asm_pc.
  • Any weapon_skins.xtbl will be parsed and we will look for mods_skins.asm_pc.
  • Any *_veh.xtbl will be parsed and we will look for vehicle_containers.asm_pc.
  • Any customization_items.xtbl and customization_outfitswill be parsed and we will look for custmize_item.asm_pc.
  • Any store_weapons.xtbl will be parsed.
  • Any items_inventory.xtbl will be parsed.
  • Any tweak_table.xtbl will be parsed. (Note that these are mods and not adds)
  • Any preload.xtbl will be parsed and names of the included containers will be preloaded.
  • Any homies.xtbl will be parsed and homies will be created from the entries.
  • Homies.xtbl has been augmented to support the tag <Auto_Unlocked>true</Auto_Unlocked> to unlock the homie without having to use an unlock from the unlockables table.
  • Cheats.xtbl will be parsed and any cheats found will be added.

For our first example, we're going to tweak a gameplay value to increase the threshold for friendly fire so homies won't go aggro on you if you accidentally hit them with a high damage attack like a rocket:

If you haven't already, you'll need to extract the Saints Row IV package files:
https://www.saintsrowmods.com/forum/threads/unpacking-every-saints-row-iv-packfile.3193/

The file we're looking for is named tweak_table.xtbl which is located in misc_tables.vpp_pc. Once you've located the file, open it in your favorite text editor. I recommend Notepad++ which is a free source code editor:
https://notepad-plus-plus.org/

Search for Player_friendly_fire_threshold, and copy the entire line to your clipboard. You'll notice the default value is 150.

tweak_table.jpg


Create a new blank text file somewhere else, like your desktop, and also name it tweak_table.xtbl. Open the new file in Notepad++ and paste in Player_friendly_fire_threshold line that you copied to your clipboard. It should look something like this:

tweak_table_2.jpg


You'll want to enclose this entry in a couple of additional tags for everything to work right. All xtbl mods will need these tags surrounding the edited content:

Code:
<root>
<Table>
* YOUR MODIFIED CODE HERE
</Table>
</root>

Your new tweak_table.xtbl should look like this (indents simply for readability) :

tweak_table_3.jpg


Now to bump up the value from 150 to a much higher number. 900 should pretty much keep your homies always friendly.

tweak_table_4.jpg


The final step is to save your file, and upload it to workshop. A tutorial on how to upload mods to workshop can be found here:
https://www.saintsrowmods.com/forum/threads/saints-row-iv-steam-workshop-uploader-beta-12.14114/

Other types of table file modding

But what if it's a new entry and not a modification? For something like cheats.xtbl you would want to copy and paste an existing cheat into a new cheats table file, modify the entry with your new cheat, and then add your root and table tags around it. The only real difference would be to make sure you give it a new name and entry code.

For this example, I've copied and pasted the entire entry for the Alien_Hover_Car into a new cheats.xtbl, and will then modify it to create a new vehicle cheat that gives the player the super hover tank from Mission 21:

cheats1.jpg


Now to make our changes to a new entry:

Name: GIVE_MISSION_TANK - This is just a unique name for the cheat so it doesn't conflict with an existing entry. The name can be anything.

UnlockString: ohyeahbaby - Whatever you want the player to type in their cheat text entry box to add it in to their available cheats

Vehicle_Name: sp_tank_hover_m21 - The in-code name of the vehicle
Vehicle_Variant: mi21 - The in-code variant name for the vehicle

NOTE: A list of all in-code vehicle names:
https://www.saintsrowmods.com/forum/threads/vehicle-list.4201/

DisplayName: DROP_MISSION_TANK - A new variable name for the string you want to appear in-game. For information on how to add string files:
https://www.saintsrowmods.com/forum/threads/creating-localization-files-for-steam-workshop.14705/

It should now look like this:

cheats2.jpg


Save the file and upload it to workshop like you did in the previous example. Just that easy!
 
Last edited:
Back
Top