Deleted3576383User Posted June 7, 2023 Share Posted June 7, 2023 I am trying to modify a script found in Swift Potion NG (https://www.nexusmods.com/skyrimspecialedition/mods/78272?) to change the default hotkeys. This is because the MCM does not save hotkeys across to new games (but it saves other settings). I didn't want to bother the mod author so I am trying this workaround for personal use.I set up PCA (https://www.nexusmods.com/skyrimspecialedition/mods/23852) in MO2 and tested with some vanilla scripts which compiled successfully. I made a mod with the scripts and source scripts from the Creation Kit zip, and also dropped in SKSE source and scripts to be sure. This way I can enable/disable these scripts at the highest MO2 priority just for compilation. I then changed the scancodes for wherever the old hotkeys were listed, thinking this would change the default hotkeys (which corresponded to the scancodes I found). Unfortunately, the script fails to compile even before my adjustment. _SPN_ConfigSkyUIScript.psc C:\Skyrim\Data\Scripts\Source\SKI_ConfigManager.psc(195,15): SetInputText is not a function or does not exist C:\Skyrim\Data\Scripts\Source\SKI_ConfigManager.psc(228,15): RequestInputDialogData is not a function or does not exist I haven't been able to figure out what to do by searching or looking at guides. By the way, this is the first Papyrus involvement I have had since 2012. How can I get through this so I can compile? Any help would be much appreciated. Link to comment Share on other sites More sharing options...
7531Leonidas Posted June 7, 2023 Share Posted June 7, 2023 You might try to ask the author of the Settings Loader series, they might have some input. Link to comment Share on other sites More sharing options...
IsharaMeradin Posted June 7, 2023 Share Posted June 7, 2023 SKI_ConfigManager.psc is part of SkyUI. Have you installed the SkyUI SDK? If not, you will need that in order to compile scripts utilizing the MCM system. You will need the SKSE PSC files too. There is also the chance that you need PSC files from other mods as well especially if settings are saved for use in other character runs. Link to comment Share on other sites More sharing options...
scorrp10 Posted June 7, 2023 Share Posted June 7, 2023 This is not SDK. Somehow, you ended up with SKI_ConfigManager.psc from Rukan. https://github.com/Rukan/Grimy-Skyrim-Papyrus-Source/blob/master/ski_configmanager.psc But It looks like your SKI_ConfigBase.psc is from the SDK. Make sure all you SKI* .pex and .psc files are indeed from the SkyUI SDK. Link to comment Share on other sites More sharing options...
IsharaMeradin Posted June 7, 2023 Share Posted June 7, 2023 @scorrp10I did not say that SKI_ConfigManager.psc was part of the SkyUI SDK. I said it was part of SkyUI and that the SDK would be needed. If you extract the contents of the SkyUI BSA to a clean folder, you will find that the SKI_ConfigManager.pex is included. @1HatTo avoid any issues from accidentally starting the game while the SDK is installed, remove the PEX files that come with the SDK. The Creation Kit and compiler does not use them and they could cause problems for SkyUI in game if left active. Link to comment Share on other sites More sharing options...
scorrp10 Posted June 7, 2023 Share Posted June 7, 2023 OP is trying to compile _SPN_ConfigSkyUIScript.psc but is getting a compile error for SKI_ConfigManager.pscSomething in that script references something in SKI_ConfigManagerA typical MCM extends SKI_ConfigBase and should NOT be touching SKI_ConfigManager. The compiler is not going to actually generate a new .pex from SKI_ConfigManager.psc, but it WILL verify that it can compile.And SKI_ConfigManager.psc is NOT included in SkyUI SDK, nor is it contained in SkyUI_SE.bsa.One place to get it is from SkyUI GitHub, but those files are VERY outdated. So not sure how, but OP got a 'rogue' copy of SKI_ConfigManager.psc from Rukan's GitHub. Which calls functions NOT defined in the SDK version of SKI_ConfigBase.psc What options there are:1. Get that ancient (2013) version of SKI_ConfigManager.psc from SkyUI github, and see if it is sufficient to get _SPN_ConfigSkyUIScript.psc to compile.2. Go further down the rabbit hole and replace the SKI_ConfigBase.psc with Rukan's version as well. It has those two functions defined.3. Simply comment out lines 195 and 228 in SKI_ConfigManager.psc. After all, it only checks that it CAN compile - without actually compiling it. Link to comment Share on other sites More sharing options...
IsharaMeradin Posted June 8, 2023 Share Posted June 8, 2023 I don't want to fight. I cannot see the missing functions on the aforementioned Rukan script. I feel like that is the wrong direction to go. I would rather see the script being compiled alongside the complete compiler error. Often times there could be a simple typo that throws off how Papyrus reads the PSC. Link to comment Share on other sites More sharing options...
scorrp10 Posted June 8, 2023 Share Posted June 8, 2023 Umm, from original post error messages: C:\Skyrim\Data\Scripts\Source\SKI_ConfigManager.psc(195,15): SetInputText is not a function or does not existC:\Skyrim\Data\Scripts\Source\SKI_ConfigManager.psc(228,15): RequestInputDialogData is not a function or does not existIn the Rukan version (which frankly looks like it was SKI_ConfigManager.pex, decompiled) 19: SKI_ConfigBase _activeConfig 195: _activeConfig.SetInputText(a_strArg) 228: _activeConfig.RequestInputDialogData(optionIndex) SKI_ConfigBase.psc from SkyUI SDK has neither of those. Hence compilation error. Link to comment Share on other sites More sharing options...
Deleted3576383User Posted June 8, 2023 Author Share Posted June 8, 2023 (edited) Thank you everyone for your informative answers.I added the scripts from the SkyHUD SDK and the compilation was successful. :smile:I used find and replace to switch out the default hotkeys for the new one in the two scripts where they appeared. I also changed the MCM initialized message slightly to indicate it loaded from my modified script. New scripts are overwriting the originals (pex and psc).It still uses the numpad hotkeys as default and the initialization message is the original one. Not sure where it is really drawing those values from. Maybe from the SKSE dll. Edit: It started working 'on it's own' (aka I don't know what changed). Hotkeys saved across new games now. Glad! Edited June 8, 2023 by Guest Link to comment Share on other sites More sharing options...
IsharaMeradin Posted June 8, 2023 Share Posted June 8, 2023 Umm, from original post error messages: C:\Skyrim\Data\Scripts\Source\SKI_ConfigManager.psc(195,15): SetInputText is not a function or does not existC:\Skyrim\Data\Scripts\Source\SKI_ConfigManager.psc(228,15): RequestInputDialogData is not a function or does not exist In the Rukan version (which frankly looks like it was SKI_ConfigManager.pex, decompiled) 19: SKI_ConfigBase _activeConfig 195: _activeConfig.SetInputText(a_strArg) 228: _activeConfig.RequestInputDialogData(optionIndex) SKI_ConfigBase.psc from SkyUI SDK has neither of those. Hence compilation error.I am sorry, but those calls are present on SKI_ConfigManager.pex / psc as found in ALL instances that I could locate. SkyUI GitHub, SkyUI SDK, SkyUI BSA decompiled and the Rukan posting. An actual function would be: Function SomeFunctionName() ; do stuff EndFunctionThat is what I could not find in SKI_ConfigManager and that is why I am confused by what you have been saying. Function calls are different than actual functions. When Papyrus says that it cannot find a function, it has found a function call but cannot locate the actual function referenced by that call. Thankfully, the OP installed the SDK and got an instance of SKI_ConfigBase.psc and was able to successfully compile their script. And for me, that is all that really matters. Link to comment Share on other sites More sharing options...
Recommended Posts