![]()
|
|
For these:
My understanding of Papyrus tells me these scripts don't work at all since the game can't bind them to the appropriate objects. So the solution is much simpler than cooking up a whole new script. Simply edit them so they're extending ObjectReference properly. That's how every Terminal script I can find in the game has been written.
The only real question is how is it people haven't noticed the content isn't working properly since there's a lot of these terminals.
error: Unable to bind script ccBGSFO4115_:X02TerminalScript to
My understanding of Papyrus tells me these scripts don't work at all since the game can't bind them to the appropriate objects. So the solution is much simpler than cooking up a whole new script. Simply edit them so they're extending ObjectReference properly. That's how every Terminal script I can find in the game has been written.
The only real question is how is it people haven't noticed the content isn't working properly since there's a lot of these terminals.
It's complicated because Terminals are pulling double duty. The base object type is Terminal, and a script that extends Terminal will run appropriately on the base object when the terminal is used, either via references placed in world or via holotapes or submenus that use that terminal. However, placing a terminal in-world creates an ObjectReference that has that Terminal as its base object type, and since Terminal does not extend ObjectReference, any script that extends Terminal will fail to apply to the in-world ObjectReference.
Despite this error, the scripts are still applying to and running on the base Terminal objects. This can be verified by removing the scripts, which has the following results:
Essentially, it's like the difference between ActorBase Scripts and Actor scripts, except in this case there isn't an equivalent "Actor" script to handle things cleanly.
Despite this error, the scripts are still applying to and running on the base Terminal objects. This can be verified by removing the scripts, which has the following results:
- The quest objectives to insert the holotapes into the radio towers will not update appropriately when you select the terminal entries to do so.
- The final miscellaneous objectives (destroy the radio station or restore the radio station) will not be possible to show or complete because the journal entry that triggers them no longer sets a quest stage.
Essentially, it's like the difference between ActorBase Scripts and Actor scripts, except in this case there isn't an equivalent "Actor" script to handle things cleanly.
Comment #2 Mar 2, 2025 10:58 pm
Edited by Glitchfinder on Mar 2, 2025 11:10 pm
I'm not ok with the option of adding a separate ObjectReference script to the 7 references that would need it. They'd be separate scripts and would not be properly keeping track of the current state of things.
If the script on the terminal base object is doing what it should, then that's probably enough despite the errors. However, even if the scripts were to be "removed" from the 7 references, that WILL NOT take effect on an existing save and there's no retro process that can force it. Right now all 7 of those refs are inheriting the script unaltered. So changing it to the proper ObjectReference type should be fine as none of them are expecting different properties.
Further, these relay tower objects are vanilla and they're all contained within RFGP records, which are in turn part of precombs, so the 7 references themselves cannot be edited without breaking the precombs.
So IMO the only option to eliminate the errors is to change the extension type on the script from Terminal to ObjectReference. The errors will go away, and they'll continue to function correctly since the base object doesn't need to be changed either and whatever tracking is being done won't be lost.
Either that, or we ignore these errors as they're not actually having an impact on being able to do the quest.
If the script on the terminal base object is doing what it should, then that's probably enough despite the errors. However, even if the scripts were to be "removed" from the 7 references, that WILL NOT take effect on an existing save and there's no retro process that can force it. Right now all 7 of those refs are inheriting the script unaltered. So changing it to the proper ObjectReference type should be fine as none of them are expecting different properties.
Further, these relay tower objects are vanilla and they're all contained within RFGP records, which are in turn part of precombs, so the 7 references themselves cannot be edited without breaking the precombs.
So IMO the only option to eliminate the errors is to change the extension type on the script from Terminal to ObjectReference. The errors will go away, and they'll continue to function correctly since the base object doesn't need to be changed either and whatever tracking is being done won't be lost.
Either that, or we ignore these errors as they're not actually having an impact on being able to do the quest.
Comment #3 Mar 2, 2025 11:19 pm
Edited by Arthmoor on Mar 2, 2025 11:20 pm
I should clarify that I don't mean to add an ObjectReference script to each in-world reference. My initial testing involved adding the supplied script to the base Terminal objects (RelayTowerTerminal and ccBGSFO4115_ConsoleTerminal) rather than the in-world references, and then removing the original one provided by the addon. From a quick search, Bethesda only ever extended the Terminal script type in script fragments attached to Terminal objects, and the few terminals in the game that have scripts attached directly to them use ObjectReference scripts rather than Terminal scripts. This is corroborated by the fact that in order to attach a Terminal-type script to the Terminal object, you need to tick the checkbox to show incompatible scripts. All together, this indicates that the X-02 Power Armor and Hellfire Power Armor Creation Club addons both used the wrong script types for their terminals.
That said, if editing the references is the chosen approach, there are only three terminals to edit:
Editing ccBGSFO4115_:X02TerminalScript to change it to an ObjectReference script is not suitable, because it is also applied to Terminal records that will never have an ObjectReference and thus would break those ones instead.
Edit: I have attached an esp containing the terminal related changes I implemented while testing. This assumes you have added and compiled the small script in my initial post.
Attached Files:
X02Terminal.esp
That said, if editing the references is the chosen approach, there are only three terminals to edit:
- The new terminal X-02 adds to Mass Pike Tunnel
- The terminal at Relay Tower OMC-810
- The terminal at Relay Tower 0Sc-527
Editing ccBGSFO4115_:X02TerminalScript to change it to an ObjectReference script is not suitable, because it is also applied to Terminal records that will never have an ObjectReference and thus would break those ones instead.
Edit: I have attached an esp containing the terminal related changes I implemented while testing. This assumes you have added and compiled the small script in my initial post.


Comment #4 Mar 2, 2025 11:27 pm
Edited by Glitchfinder on Mar 2, 2025 11:38 pm
If a Terminal record never has a reference in game, how could it be broken? You could never access it to break it.
I don't see removing the initial script and adding a new one to replace it using the same name being any different from simply changing the existing one to the same inheritance type.
I don't see removing the initial script and adding a new one to replace it using the same name being any different from simply changing the existing one to the same inheritance type.
Because Terminals can also be accessed as submenus of other Terminals, or via holotapes which have their own separate references. When accessed this way, the Terminal never gains its own reference and is simply used as the base object instead. This means that these terminals will not function if ccBGSFO4115_:X02TerminalScript is changed to extend ObjectReference rather than Terminal:
There is also ccBGSFO4115_HolotapeTerminal02, which uses the script but appears to be fully unused.
- ccBGSFO4115_HolotapeSubTerminal01
- ccBGSFO4115_HolotapeSubTerminal02
- ccBGSFO4115_HolotapeSubTerminal03
- ccBGSFO4115_HolotapeSubTerminal04
- ccBGSFO4115_HolotapeSubTerminal07
- ccBGSFO4115_HolotapeTerminal527
There is also ccBGSFO4115_HolotapeTerminal02, which uses the script but appears to be fully unused.
Comment #6 Mar 3, 2025 12:08 am
Edited by Glitchfinder on Mar 3, 2025 12:13 am
Showing Comments 1 - 6 of 6