Setting up Sfall Script Editor for RPU

Cerebro

It Wandered In From the Wastes
I've been trying to edit a script from RPU to include a new item into the stock of the gun merchant in San Francisco, but cannot get the Script Editor to work. I have Fallout Et Tu with the Mapper installed correctly and can open and compile the scripts from Et Tu just fine. I downloaded the RPU scripts from the GitHub and tried to set them up in same way as in Et Tu, but this doesn't work.

First of all, when I open the file I want to change, the log shows this error:



I guess the folder structure is wrong, but I'm not skilled in scripting and don't know what to change here. I dumpled sfall.h into any folder that might get checked, but this doesn't help. I would be grateful if someone with experience could get me on the right track here.
 
You need to download sfall modderspack and put all .h files from its scripting_docs\headers\ to a "sfall" folder in RPU script source, like this:
folders.png
 
Thanks NovaRain. That did help a lot and I got the script to open without any errors. However, compiling produced many errors and testing the script in game, the merchant lost every item in his stock with the exception of money.

Compiling figuntbl_[pre].ssl
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:815:42: Eliminating procedure checkPartyMembersNearDoor
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:14:42: Eliminating procedure check_filesystem_override
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:26:77: Eliminating procedure create_and_use_itempid_on
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:35:39: Eliminating procedure is_human
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:62:51: Eliminating procedure closest_party_member
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:86:29: Eliminating procedure self_is_evil
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:130:27: Eliminating procedure beacon_rep
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:136:25: Eliminating procedure cult_rep
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:145:30: Eliminating procedure perceived_rep
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:21:48: Eliminating procedure is_lockpick_elec
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:28:48: Eliminating procedure is_lockpick_mech
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:35:43: Eliminating procedure is_lockpick
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:44:35: Eliminating procedure dude_is_addicted
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:6:34: Eliminating procedure party_size_humans
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:490:72: Eliminating procedure roll_vs_stat
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:9:51: Eliminating procedure vault_boxer_style
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:32:39: Eliminating procedure doVaultBoxerAppearance
[Message] <D:/FALLOUT/_scripts/_RPU_scripts_src/sanfran/figuntbl.ssl>:39:43: Eliminating procedure removeVaultBoxerAppearance
[Message] <none>:-1: Eliminating unused global variable restock_trash
[Message] <none>:-1: Eliminating unused global variable forced_node
[Message] <none>:-1: Eliminating unused global variable in_dialog
[Message] <none>:-1: Eliminating unused global variable step_tile
[Message] <none>:-1: Eliminating unused global variable dest_tile
[Message] <none>:-1: Eliminating unused global variable global_temp
[Message] <none>:-1: Eliminating unused global variable tmp_gen_rep
[Message] <none>:-1: Eliminating unused global variable PartyHealingItem
[Message] <none>:-1: Eliminating unused global variable How_Many_Party_Members_Armed
[Message] <none>:-1: Eliminating unused global variable How_Many_Party_Members_Are_Injured
[Message] <none>:-1: Eliminating unused global variable Scenery_Creation_Ptr
[Message] <none>:-1: Eliminating unused global variable Temp_Scenery_Creation_Hex
[Message] <none>:-1: Eliminating unused global variable Scenery_Creation_Count
[Message] <none>:-1: Eliminating unused global variable Scenery_Creation_Hex
[Message] <none>:-1: Eliminating unused global variable Scenery_Creation
[Message] <none>:-1: Eliminating unused global variable ValueOfRollCheck
[Message] <none>:-1: Eliminating unused global variable ProtoOfItemGiven
[Message] <none>:-1: Removing unused string 'removeVaultBoxerAppearance' from program namespace
[Message] <none>:-1: Removing unused string 'doVaultBoxerAppearance' from program namespace
[Message] <none>:-1: Removing unused string 'vault_boxer_style' from program namespace
[Message] <none>:-1: Removing unused string 'restock_trash' from program namespace
[Message] <none>:-1: Removing unused string 'forced_node' from program namespace
[Message] <none>:-1: Removing unused string 'in_dialog' from program namespace
[Message] <none>:-1: Removing unused string 'roll_vs_stat' from program namespace
[Message] <none>:-1: Removing unused string 'step_tile' from program namespace
[Message] <none>:-1: Removing unused string 'dest_tile' from program namespace
[Message] <none>:-1: Removing unused string 'global_temp' from program namespace
[Message] <none>:-1: Removing unused string 'tmp_gen_rep' from program namespace
[Message] <none>:-1: Removing unused string 'party_size_humans' from program namespace
[Message] <none>:-1: Removing unused string 'dude_is_addicted' from program namespace
[Message] <none>:-1: Removing unused string 'is_lockpick' from program namespace
[Message] <none>:-1: Removing unused string 'is_lockpick_mech' from program namespace
[Message] <none>:-1: Removing unused string 'is_lockpick_elec' from program namespace
[Message] <none>:-1: Removing unused string 'perceived_rep' from program namespace
[Message] <none>:-1: Removing unused string 'cult_rep' from program namespace
[Message] <none>:-1: Removing unused string 'beacon_rep' from program namespace
[Message] <none>:-1: Removing unused string 'self_is_evil' from program namespace
[Message] <none>:-1: Removing unused string 'closest_party_member' from program namespace
[Message] <none>:-1: Removing unused string 'is_human' from program namespace
[Message] <none>:-1: Removing unused string 'create_and_use_itempid_on' from program namespace
[Message] <none>:-1: Removing unused string 'check_filesystem_override' from program namespace
[Message] <none>:-1: Removing unused string 'checkPartyMembersNearDoor' from program namespace
[Message] <none>:-1: Removing unused string 'PartyHealingItem' from program namespace
[Message] <none>:-1: Removing unused string 'How_Many_Party_Members_Armed' from program namespace
[Message] <none>:-1: Removing unused string 'How_Many_Party_Members_Are_Injured' from program namespace
[Message] <none>:-1: Removing unused string 'Scenery_Creation_Ptr' from program namespace
[Message] <none>:-1: Removing unused string 'Temp_Scenery_Creation_Hex' from program namespace
[Message] <none>:-1: Removing unused string 'Scenery_Creation_Count' from program namespace
[Message] <none>:-1: Removing unused string 'Scenery_Creation_Hex' from program namespace
[Message] <none>:-1: Removing unused string 'Scenery_Creation' from program namespace
[Message] <none>:-1: Removing unused string 'ValueOfRollCheck' from program namespace
[Message] <none>:-1: Removing unused string 'ProtoOfItemGiven' from program namespace

Compilation Successfully!



All I did with the script was adding one line of code in the restock table:

check_restock_item(PID_50_MG, 1, 2, 100)

Do you know how to fix this?
 
Last edited:
I believe that's just the optimizer doing it's job, it removes unused code. You shouldn't have any issues with the compiled script.

In the "Optimization" option you can change the settings to "None" if you wish to keep everything:

Screenshot 2025-04-09 211424.png
 
Thanks Goat_Boy, I was able to solve the problem with NovaRains help on Discord. Turns out the script I edited (figuntbl) depends on two other linked scripts (fcgunmer and sfchina) that needed to be recompiled (without making any changes) in order to make the changed script function properly.
 
Last edited:
Back
Top