0 of 0

File information

Last updated

Original upload

Created by

GodschildGaming

Uploaded by

Godschildgaming

Virus scan

Safe to use

Tags for this mod

180 comments

  1. Godschildgaming
    Godschildgaming
    • premium
    • 36 kudos
    Sticky
    I plan on adding documentation later when I get home. This is currently for the game settings that come from construction set but are handled by unreal engine. Lmk what other unreal settings I should include below!
    1. BluBalllZ
      BluBalllZ
      • supporter
      • 4 kudos
      Hey, please update your main.lua so it can use [/Script/Engine.PhysicsSettings] that usually run in the Engine.ini.
      Here is what works for me.

      local gameSettingsMap = require "Construction64_To_Unreal_GameSettings"
      local unrealGameSettings = StaticFindObject("/Script/UE5AltarPairing.Default__VOblivionInitialSettings")
      local physicsSettings = StaticFindObject("/Script/Engine.Default__PhysicsSettings")
      local loadedGameSettings = {}
      local luaIniParser = require "LIP"

      local function loadInis()
          for ini in io.popen([[dir "OBSE\Plugins\GameSettings" /b]]):lines() do
              if ini:sub(-4):lower() == ".ini" then
                  print("[BB's Game Settings Loader] Loading OBSE\\Plugins\\GameSettings\\" .. ini .. "... \n")
                  local loadedIni = luaIniParser.load("OBSE\\Plugins\\GameSettings\\"..ini)
                  if loadedIni.GameSettings ~= nil then
                      for setting, value in pairs(loadedIni.GameSettings) do
                          if gameSettingsMap[setting] ~= nil then
                              print("[BB's Game Settings Loader] " .. setting .. " -> " .. gameSettingsMap[setting] .. ": " .. tostring(value) .. "\n")
                              loadedGameSettings[gameSettingsMap[setting]] = value
                          end
                      end
                  end
              end
          end
          for ini in io.popen([[dir "GameSettings" /b]]):lines() do
              if ini:sub(-4):lower() == ".ini" then
                  print("[BB's Game Settings Loader] Loading GameSettings\\" .. ini .. "... \n")
                  local loadedIni = luaIniParser.load("GameSettings\\"..ini)
                  if loadedIni.GameSettings ~= nil then
                      for setting, value in pairs(loadedIni.GameSettings) do
                          if gameSettingsMap[setting] ~= nil then
                              print("[BB's Game Settings Loader] " .. setting .. " -> " .. gameSettingsMap[setting] .. ": " .. tostring(value) .. "\n")
                              loadedGameSettings[gameSettingsMap[setting]] = value
                          else
                              print("[BB's Game Settings Loader] " .. setting .. ": " .. tostring(value) .. "\n")
                              loadedGameSettings[setting] = value
                          end
                      end
                  end
              end
          end
      end

      local function applyInis()
          for setting, value in pairs(loadedGameSettings) do
              if unrealGameSettings and unrealGameSettings:IsValid() and unrealGameSettings[setting] and not string.find(tostring(unrealGameSettings[setting]), "UObject") then
                  unrealGameSettings[setting] = value
              elseif physicsSettings and physicsSettings:IsValid() and physicsSettings[setting] and not string.find(tostring(physicsSettings[setting]), "UObject") then
                  physicsSettings[setting] = value
              end
          end
      end

      if unrealGameSettings and unrealGameSettings:IsValid() then
              print("[BB's Game Settings Loader] --[[ Got Oblivion's Unreal game settings! ]]--\n")
              loadInis()
              print("[BB's Game Settings Loader] --[[ Applying loaded settings, pray to Todd! ]]--\n")
              applyInis()
              loadedGameSettings = nil
      end

      You can use this or do your own implementation.

      For people who want to do it themselves, just open the main.lua from this mod with notepad. Delete all text, copy and paste from this post and save.

      Now settings like "DefaultGravityZ" will work.
    2. Godschildgaming
      Godschildgaming
      • premium
      • 36 kudos
      Will examine later see if I can make any improvements, my focus kinda got lost onto the TesSyncMapInjector. I plan to make this able to apply internal game settings on save load too
    3. BluBalllZ
      BluBalllZ
      • supporter
      • 4 kudos
      Thanks for the Update!

      So people are aware. You now need to separate [GameSettings] and [PhysicsSettings] in your .ini files.

      example:
      [GameSettings]
      ArrowInitialSpeedMultiplier=7500.000000

      [PhysicsSettings]
      DefaultGravityZ=-2250
  2. xEpicBradx
    xEpicBradx
    • premium
    • 21 kudos
    Sticky
    [BUGFIX] Fix issue with getting tabbed out on load (probably the mouse / main menu lag too)
    Note: I tried to post this under bugs but nexus wouldn't cooperate (kept getting error 500 so comments it is...)


    Using MO2 I was noticing a console window flash open for a split second that was causing the issues mentioned, the problem stems from
    using io.popen(...), I have made a couple changes to main.lua that fixes this 

    here is the full main.lua with the changes added
    https://gist.github.com/cmd430/25bc3551c3d11ad18cfb3d936ad6546b

    and here are the two sections with the changes, it should work in both the steam and gamepass versions without issues (thanks to a couple nil checks for if dirs exist 👍)
    https://gist.github.com/cmd430/25bc3551c3d11ad18cfb3d936ad6546b#file-main-lua-L33-L40
    https://gist.github.com/cmd430/25bc3551c3d11ad18cfb3d936ad6546b#file-main-lua-L59-L68
    1. Godschildgaming
      Godschildgaming
      • premium
      • 36 kudos
      I would have never of guessed popen would cause the issue, I will rewrite a new update to address this. Thank you.

      Edit: made a simple function to replace io.popen and can confirm this should fix the weird behavior as this fixed the nvidia intro overlay thingy from glitching out like it has been for me >->
      local function getFilesInDirectory(path)
      local files = {}
      local folders = path:gmatch("([^\\]+)")
      local currentPath = IterateGameDirectories().Game.Binaries
      if currentPath.Win64 ~= nil then
      currentPath = currentPath.Win64
      else
      currentPath = currentPath.WinGDK
      end
      for fold in folders do
      if currentPath[fold] ~= nil then
      currentPath = currentPath[fold]
      else
      return pairs(files)
      end
      end
      for _,fileobject in pairs(currentPath.__files) do
      table.insert(files,fileobject.__name)
      end
      return pairs(files)
      end
    2. xEpicBradx
      xEpicBradx
      • premium
      • 21 kudos
      new update looks good, i did see you have a small mistake on line 44 when checking for the Gamepass exe you have accidentally reused the Win64 dir in the for loopfor _,file in pairs(BinariesFolder.Win64.__files) do
      should be
      for _,file in pairs(BinariesFolder.WinGDK.__files) do
  3. MadAborModding
    MadAborModding
    • premium
    • 520 kudos
    Hey there. I wanted to bring to your attention that, for whatever reason, the newer versions seem to be causing massive compatibility issues (Crashes) with nearly every other UE4SS mod.

    Through troubleshooting crashes with my users, I have confirmed crashes when you use GSL alongside these mods of mine:
    Slower Kiting - UE4SS
    Silent Notification Framework - UE4SS
    Spell and Arrow Stagger Chance - UE4SS
    Simple Critical Hit Chance - UE4SS
    Bloodlust - Blunt Perk Addon
    Engaging Combat - Oblivion
    Dynamic Multiple Summons - UE4SS

    Then, for mods that are not my own. GSL is causing confirmed crashes for:
    Camera Noise (has post sticked about it as well)
    Spell Hotkeys
    Bow Headshot UE4SS 
    Magic Skill Leveling Fixed
    Nascent - Archery Overhaul
    Harder Stealth
    Change Appearance Anytime
    The list goes on, but I'll stop there for now. Seemingly every UE4SS mod has a comment/report about it.


    These crashes can occur on startup or randomly while playing (strangely, sometimes when you hit an NPC in combat), but they are very consistent.
    I believe the cause to be something added in one of the more recent updates.
    On 0.0.6, I experience no crashes, but any in other version the crashes are very consistent and repeatable.
    1. SamFisher91
      SamFisher91
      • premium
      • 10 kudos
      +1 Ty for posting this. Yeah this game settings stuff and ue4ss stuff is extremely jank and causes crashes. Ive been hearing reports of the same. And majority of my crashes have been ue4ss related
    2. spacekebab
      spacekebab
      • member
      • 3 kudos
      yeah, this is definitely the culprit for me.
    3. ColdTyrant
      ColdTyrant
      • premium
      • 228 kudos
      This mod is also incompatible with my Smithing - Reforged, as well as my newest unreleased project which uses a custom Unreal Engine blueprint and Lua script trigger.

      This mod causes them to crash if it is installed.
    4. TriSton
      TriSton
      • premium
      • 1 kudos
      I was having the same issues many are posting on here and other places regarding this mod conflicting and CTD in combo with other UE4SS mods.

      I figured out the solution for my configuration and it all came down to this:
      I was using both UE4SS Game Settings Loader and Game Settings Loader by powerofthree at the same time.

      I had overlooked the Note on the description page of this mod that explains:
      "This mod does change game settings on the construction set side if setInternalGameSettings is true in config.lua, this might cause conflicts with Game Settings Loader by powerofthree and any esp files changing game settings too."

      So I actually found 2 ways to solve my issue:

      Set "setInternalGameSettings = false" in this mods config.lua, and continue to use Game Settings Loader by powerofthree to load game settings on the original “construction set side”. 

      [OR]

      Use only this mod with “setInternalGameSettings = true” (default) and disabling Game Settings Loader by powerofthree

      Still testing, but this has eliminated my CTDs on startup and on save load.
    5. Madrok7
      Madrok7
      • supporter
      • 3 kudos
      TriSton... tried both of your recommendations and both CTD. Can't even get to the title screen.
    6. MadAborModding
      MadAborModding
      • premium
      • 520 kudos
      I think the problem is how it initializes. It's new method of reading ini files breaks mods that load after it causing CTDs. It needs to be reverted to use io.popen again.
    7. ShaggyMonster
      ShaggyMonster
      • premium
      • 63 kudos
      Hi, See my comment below.....
    8. SamFisher91
      SamFisher91
      • premium
      • 10 kudos
      Is 0.0.6 compatible for latest game patch? The crash you described of literally just running up to an enemy then crashing instantly is whats happening to me
    9. MadAborModding
      MadAborModding
      • premium
      • 520 kudos
      0.0.6 should work on latest. but I'm hesitant to suggest using this mod. So far the authod has not recognized any of the the issues present so if something goes wrong, you won't have any support.

      Also @shaggymonster, the instability is not from the use of console commands.
    10. HughMann1
      HughMann1
      • member
      • 6 kudos
      Not seeing 0.0.6 in the files menu, so I guess I'll have to wait until the Author comes back... -.-
    11. RSMox5
      RSMox5
      • premium
      • 2 kudos
      I'd just dropped by to see if the stability problems have been worked out. Seems not. So I'd also like to see this updated. +1
  4. Madrok7
    Madrok7
    • supporter
    • 3 kudos
    PLEASE UPDATE!!!

    Game CTD frequently.
    1. sanjiz
      sanjiz
      • premium
      • 1 kudos
      Adding the last parameter of the following call in the OBRConsole.lua file fixed it for me:

      KismetSystemLibrary:ExecuteConsoleCommand(playerController.player, command, playerController, true)
    2. Arcanologue
      Arcanologue
      • member
      • 1 kudos
      It's undoubtedly efficient .
      But the game is still crashing sometimes 
    3. SamFisher91
      SamFisher91
      • premium
      • 10 kudos
      +1 to Madrok7's post
  5. ShaggyMonster
    ShaggyMonster
    • premium
    • 63 kudos
    Hi @Godschildgaming,

    I note your embedded version of the "Console Framework UE4SS" OBRConsole.lua Script has not had the latest fixes applied to remove the ExecuteInGameThread which is reported to cause crashes:-

    local C = {}
    function C.ExecuteConsole(command)
      local UEHelpers = require("UEHelpers")
      local playerController = UEHelpers.GetPlayerController()
      local KismetSystemLibrary = StaticFindObject('/Script/Engine.Default__KismetSystemLibrary')
      ExecuteInGameThread(function()   << Remove this Line
        if command ~= '' then
            if playerController:IsValid() then
                KismetSystemLibrary:ExecuteConsoleCommand(playerController.player, command, playerController, true) << Add ", true"
            else
              print("[LuaConsoleMod]playerController invalid")
            end
        else
          print("[LuaConsoleMod]command is null")
        end
      end) << Remove this Line
    end
    return C

    Thank you for all your efforts.....

    Cheers
    Shaggy
  6. QuantumRealm
    QuantumRealm
    • member
    • 0 kudos
    I managed to dramatically increase the stability of "UE4SS Game Settings Loader" by tweaking to a few LUA & ini files, however, my changes also require you to use powerofthree's "Game Settings Loader" alongside "UE4SS Game Settings Loader".  What I did in the steps below has so far seemingly fixed the current stability issues of this mod, which let me use this mod and the mods that require it without having a single crash as of posting this, which was after about 10 hours of play time.

    This was done on the Steam version of Oblivion Remastered, using Vortex, tested with the following mod versions...
    "UE4SS" version 3.0.1.a ;
    "UE4SS Game Settings Loader Steam" version 0.1.1 ;
    "OBSE64" (Oblivion Remastered Script Extender) version 0.2.1 ;
    powerofthree's "Game Settings Loader" version 1.1.0

    I also use Turpentine, but I don't believe that changes much in regards to these specific fixes. 

    Almost all of these fixes/steps I pieced together from what others had work properly, split amongst multiple Nexus mod pages, and I'm working in reverse from memory; Hopefully it works for anyone who wants to see if it works for their game like it does mine.  (Hopefully this is not too confusing to follow, I'm autistic and haven't slept in at least 28 hours.)

    (See addendums (Example, "(Add. #1)" for "Addendum #1") in my reply to this post for additional comments I give on steps that include the abbreviation.)

    ----------------------------------------------------------------------

    REMINDER!  IT IS ALWAYS SUGGESTED TO MAKE BACKUPS OF THE FILES PRIOR TO YOU EDITING THEM, JUST IN CASE!

    Step 1 : After installing both Game Settings Loaders, navigate to
    "OblivionRemastered\Binaries\Win64\ue4ss\Mods\GameSettingsLoader\Scripts"
    and open the "config.lua" file in a text editor.  (Add. #1)

    Step 2 : The "config.lua" file opened in the previous step will look something like this inside...

    return {
    setInternalGameSettings = false
    }

    Simply change "true" to "false" and save the file.

    Step 3 : (Add. #2)  Now open up the "main.lua" file in the same directory as the previous "config.lua" file, then, locate and replace ALL THREE instances of "Plugins" with "plugins" on lines 77, 79, and 80, and save the file.

    Step 4 : Next, open "OBRConsole.lua" in the same directory. If you are on a Windows PC, hold CTRL and press A to select all, otherwise, select all the old fashioned way. You can now paste in the following to replace everything in that file.


    local C = {}

    function C.ExecuteConsole(command)
    local UEHelpers = require("UEHelpers")
    local playerController = UEHelpers.GetPlayerController()
    local KismetSystemLibrary = StaticFindObject('/Script/Engine.Default__KismetSystemLibrary')
    if command ~= '' then
    if playerController:IsValid() then
    KismetSystemLibrary:ExecuteConsoleCommand(playerController.player, command, playerController, true)
    else
    print("[LuaConsoleMod]playerController invalid")
    end
    else
    print("[LuaConsoleMod]command is null")
    end
    end

    return C


    Now that you pasted that in, save the file.

    Step 5 : (Add. #3)  Navigate to the "OblivionRemastered\Binaries\Win64\ue4ss\Mods" folder and open the "mods.txt" file.  Then add the following to the bottom of the (probably very short) list...


    GameSettingsLoader : 1


    It should now look roughly like the following...


    BPML_GenericFunctions : 1
    BPModLoaderMod : 1
    GameSettingsLoader : 1


    Now save the file.

    Step 6 : It's time to make sure that the different "GameSettings" .ini files are in both GameSettings folders, as some get installed in the folder used by one mod or the other.  It's quite simple really.  I'd suggest you open up another File Explorer window, have one opened to the "OblivionRemastered\Binaries\Win64\GameSettings" folder, and the other opened to the "OblivionRemastered\Binaries\Win64\OBSE\plugins\GameSettings" folder.

    Step 7 : (Add. #4)  Now that preferably both folders are open and side-by-side, compare them, and copy any .ini files to the other folder if it isn't already in that folder.  FOR EXAMPLE, if in the "Win64\GameSettings" folder, there is a file named "RealisticArrowSpeed.ini", and it isn't already in the "\Win64\OBSE\plugins\GameSettings" folder, then simply copy it over!  Make sure to do it the other direction too if needed.

    Step 8 : UE4SS Game Settings Loader should hopefully work better for you now.


    ----------------------------------------------------------------------


    Ran out of room on this post, Addendums are in my reply!
    1. QuantumRealm
      QuantumRealm
      • member
      • 0 kudos
      ----------------------------------------------------------------------

      (Addendum #1 - I personally use and suggest Notepad++, as it tells you numbers for each text line, and shows which lines you edited just-in-case.)

      (Addendum #2 - I am not entirely sure if this step is actually required or not, but some people said that they were having problems with it being case-sensitive, so I included it when I fixed the UE4SS Game Settings Loader on my game, just to be safe.)

      (Addendum #3 - I'll be honest.  I don't exactly know if this does anything, but it didn't seem to harm anything when I did it on my own game. Deleting the "enabled.txt" file from the "OblivionRemastered\Binaries\Win64\ue4ss\Mods\GameSettingsLoader" folder might also need to be done for this to function, although not doing so didn't cause me any crashes, at the very least.)

      (Addendum #4 - You might not have ANYTHING in BOTH these GameSettings folders, if you don't, good for you, this step can be skipped, if not, MAKE SURE TO FOLLOW THIS STEP.  This step is CRITICAL now that we disabled "UE4SS Game Settings Loader"'s InternalGameSettings toggle!)
  7. theykh1992
    theykh1992
    • member
    • 1 kudos
    PSA!

    I found out that 'OBSE Custom Game Settings.ini' file was not being loaded by UE4SS Game Settings Loader. After digging around, I found out the reason was that my directories were not named in the expected manner.

    This mod is expecting 'OBSE Custom Game Settings.ini' to be under 'OBSE\Plugins\GameSettings'.

    Although the directories and file are indeed there in my system, Vortex deployed the mod under the directory 'obse\plugins\GameSettings'. Notice the lowercase directories.

    Because of this, the 'getFilesInDirectory' function in 'main.lua' of the mod was not picking up that the directories are existing in the file system.

    The quick fix is to make sure the directories in your game files are named with the correct case 'OBSE\Plugins\GameSettings' as expected by the mod and it should work.

    It would be better to have the function 'getFilesInDirectory' be case-insensitive since Windows is also case-insensitive, but I'm not familiar enough with Lua to propose a code change.

    Hope this helps.
  8. Arcanologue
    Arcanologue
    • member
    • 1 kudos
    Hi all,
    After the new Patch v1.511...
    In my UE4SS Debugging Tools i'm getting this In Red :

    [21:28:48.1590113] Error: [Lua::call_function] lua_pcall returned [UFunction::setup_metamethods -> __call] UFunction expected 4 parameters, received 3
    stack traceback:
      [C]: in method 'ExecuteConsoleCommand'
      ...n64\ue4ss\Mods\GameSettingsLoader\Scripts\OBRConsole.lua:10: in function <...n64\ue4ss\Mods\GameSettingsLoader\Scripts\OBRConsole.lua:7>
    [21:28:48.1597223] Error: [Lua::call_function] lua_pcall returned [UFunction::setup_metamethods -> __call] UFunction expected 4 parameters, received 3
    stack traceback:
      [C]: in method 'ExecuteConsoleCommand'
      ...n64\ue4ss\Mods\GameSettingsLoader\Scripts\OBRConsole.lua:10: in function <...n64\ue4ss\Mods\GameSettingsLoader\Scripts\OBRConsole.lua:7>
    [21:28:48.1600920] Error: [Lua::call_function] lua_pcall returned [UFunction::setup_metamethods -> __call] UFunction expected 4 parameters, received 3
    stack traceback:
      [C]: in method 'ExecuteConsoleCommand'
      ...n64\ue4ss\Mods\GameSettingsLoader\Scripts\OBRConsole.lua:10: in function <...n64\ue4ss\Mods\GameSettingsLoader\Scripts\OBRConsole.lua:7>

    do you have the same ?
    i have tried to reinstall UE4SS Game Settings Loader but it didn't fixed

    Any Clue ? Help ?

    Edit :

    go to :

    \Oblivion Remastered\OblivionRemastered\Binaries\Win64\ue4ss\Mods\GameSettingsLoader\Scripts\OBRConsole.lua
    set:KismetSystemLibrary:ExecuteConsoleCommand(playerController.player, command, playerController)
    to:KismetSystemLibrary:ExecuteConsoleCommand(playerController.player, command, playerController, true)

    Thanks to @sanjiz
    1. theykh1992
      theykh1992
      • member
      • 1 kudos
      Appreciate the edit and tip to fix it. I was able to find the line of code you're referencing and change it. Now I don't see the 'ExecuteConsoleCommand' errors in UE4SS log file.

      Any idea on why this works?

      I see the same error with 'ExecuteConsoleCommand' in other mods. Specifically, AccurateReflections and ShadowsReworked. I'm thinking of doing the same to those.
    2. theykh1992
      theykh1992
      • member
      • 1 kudos
      Update. Yes, adding the fourth argument to 'ExecuteConsoleCommand' in other mods like 'AccurateReflections' and 'ShadowsReworked' fixed the issues.
  9. 4nx13ty
    4nx13ty
    • member
    • 0 kudos
    There is a code error on line 44 of the main.lua and line 10 of OBRConsole.lua. The error in the main.lua made it so that no mods requiring this one worked for me. Should be a quick fix.
  10. steelwrist
    steelwrist
    • member
    • 0 kudos
    Hey, I am trying to use Realistic Arrow Speeds (Faster). The author says I need to see [00:54:16.4800424] Mod 'GameSettingsLoader' has enabled.txt, starting mod.
    [00:54:16.6420054] [Lua] [BB's Game Settings Loader] --[[ Got Oblivion's Unreal game settings! ]]--
    in the debug console. But I don't. What exactly is the problem? I can't seem to work your mod. I am a game pass player.

    Here's my debug console,

    https://imgur.com/a/9f2V9IO

    SOLVED! After tremendous amount of trial and error, I realized the UE4SS GSL is deployed to the wrong directory, it is not adapted to the Game Pass enviroment. Game Pass used WinGDK, while Steam uses Win64 I guess. BB's GSL loaded into the Win64, so when you change the folder to WinGDK, the problem solved for me. Realistic Arrow Speeds (Faster) The mod works!  
    1. 4nx13ty
      4nx13ty
      • member
      • 0 kudos
      I still can't get that arrow speed mod to work.
  11. Painbringer7
    Painbringer7
    • member
    • 4 kudos
    "Just a few hours ago, on the OMRC Discord, user Dicene discovered removing the "ExecuteInGameThread" line of code from OBRConsole.lua fixed most of the stability issues with console commands. 

    I had a 100% consistent crash in my "Dispel Bound Weapons" mod when you used it alongside  "Lock On".
    Removing ExecuteInGameThread fixed it.

    Dicene took it further and stress tested console commands by having them go off in the hook ReciveTick. I also tried this too. No crashes even after minutes and thousands of console commands ran.

    Even with this fix, there are some limitations, but if you run them in a hook itself (not a an async loop) and don't use ExecuteInGameThread, I have not experienced any crashes."

    If I do this, will it break the mod?
    1. Painbringer7
      Painbringer7
      • member
      • 4 kudos
      "Commenting this here for visibility. More details are available under the bug report.  @odashikonbu (and mod developers) You should consider removing "ExecuteInGameThread(function()" and its closing tag "end)" from OBRConsole.lua.  On the ORMC Discord, we found that calling console commands under this function causes very repeatable crashes.   Simply removing it fixes the stability issues.  With that fix, console commands via lua become safe to use." 

      This was posted over in the comment section of: https://www.nexusmods.com/oblivionremastered/mods/2205
    2. CHALLENGERIZER
      CHALLENGERIZER
      • supporter
      • 2 kudos
      Ah this is super interesting +1
  12. mackbnibble
    mackbnibble
    • member
    • 0 kudos
    false report