Skip to content
Beta: this is a preview of the new SplitScreen.Me. Data may be reset before launch.

The Elder Scrolls V: Skyrim Special Edition · handler “Skyrim Together Reborn”

Version 1

Release notes

First Release for r5.

Released
Size
1.9 KB
Downloads
21,168
Check
Verified
SHA-256
041eb4947920ad1d75d7f5d905ede0930355f1bb7d7c24361c45de81da48ed4f
Download v1 (.nc)All versions

Files 1

PathSize
handler.js6.6 KB

handler.js

Plain text
Hub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Sun Dec 27 2020 23:54:57 GMT+0000 (UTC).
Hub.Handler.Id = "PPct546raDXfjRLGw";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

var answers1 = ["2", "3", "4"];
Game.AddOption("How many instances?", "Select the number of instances you will launch.", "Number", answers1);

Game.ExecutableContext = ["server"];
Game.GameName = "The Elder Scrolls V: Skyrim Special Edition (Skyrim Together)";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = false;
Game.CreateSteamAppIdByExe = true;
Game.SupportsKeyboard = true;
Game.ExecutableName = "SkyrimSE.exe";
Game.SteamID = "489830";
Game.GUID = "SkyrimTogether";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "";
Game.NeedsSteamEmulation = false;
Game.LauncherTitle = "";
//Game.LauncherExe = "st_loader.exe";
Game.HideTaskbar = true;
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Skyrim Special Edition";
Game.HasDynamicWindowTitle = true;
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = false;
Game.UseDInputBlocker = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.InjectHookXinput = true;
Game.RefreshWindowAfterStart = true;
Game.ResetWindows = true;
Game.ThirdPartyLaunch = true;
Game.IgnoreThirdPartyPrompt = true;
Game.KillProcessesOnClose = ["Server"];
Game.UserProfileConfigPath = "Documents\\My Games\\Skyrim Special Edition";
Game.UserProfileSavePath = "Documents\\My Games\\Skyrim Special Edition\\Saves";
Game.Description =
  "Install Skyrim Together first using Harbor before launching this. Use a different save slot per instance, once in-game press the right CTRL key to open the connection menu, click connect and in the adress field type 127.0.0.1 and press connect. Do the same in all instances to connect to this offline local server, alt-tab between instances so you can press the right CTRL key in all and use the mouse cursor. If the number of instances you select in the UI option do not open just close Nucleus and try again. Keyboard only works with 2 instances, one using keyboard and the other the first gamepad, for more instances you will have to use gamepads only, after launching with the keyboard icon both instances will be controlled by keyboard and mouse, just start a game and in one instance press esc, go to system settings and enable gamepad.";
Game.PauseBetweenProcessGrab = 5;

Game.SupportsMultipleKeyboardsAndMice = false;

Game.HookSetCursorPos = false;
Game.HookGetCursorPos = false;
Game.HookGetKeyState = false;
Game.HookGetAsyncKeyState = false;
Game.HookGetKeyboardState = false;
Game.HookFilterRawInput = false;
Game.HookFilterMouseMessages = false;
Game.HookUseLegacyInput = false;
Game.HookDontUpdateLegacyInMouseMsg = false;
Game.HookMouseVisibility = false;

Game.SendNormalMouseInput = false;
Game.SendNormalKeyboardInput = false;
Game.SendScrollWheel = false;
Game.ForwardRawKeyboardInput = false;
Game.ForwardRawMouseInput = false;
Game.HookReRegisterRawInput = false;
Game.HookReRegisterRawInputMouse = false;
Game.HookReRegisterRawInputKeyboard = false;
Game.DrawFakeMouseCursor = false;
Game.LockInputAtStart = false;
Game.LockInputToggleKey = 0x23;

Game.Play = function() {
  Context.RunAdditionalFiles([Context.OrigRootFolder + "\\server\\Server.exe"], false, 10);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Skyrim_Default.ini");
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("Display", "iSize W", Context.Width),
    new Nucleus.IniSaveInfo("Display", "iSize H", Context.Height),
    new Nucleus.IniSaveInfo("Display", "bFull Screen", "0"),
    new Nucleus.IniSaveInfo("Display", "bBorderless", "0")
  ]);

  Context.BackupFile(Context.GetFolder(Nucleus.Folder.Documents) + "\\My Games\\Skyrim Special Edition\\Skyrim.ini", true);

  var savePath = Context.GetFolder(Nucleus.Folder.Documents) + "\\My Games\\Skyrim Special Edition\\Skyrim.ini";
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("General", "bAlwaysActive", "1"),
    new Nucleus.IniSaveInfo("Display", "iSize W", Context.Width),
    new Nucleus.IniSaveInfo("Display", "iSize H", Context.Height),
    new Nucleus.IniSaveInfo("Display", "bFull Screen", "0"),
    new Nucleus.IniSaveInfo("Display", "bBorderless", "0")
  ]);

  Context.BackupFile(Context.GetFolder(Nucleus.Folder.Documents) + "\\My Games\\Skyrim Special Edition\\SkyrimPrefs.ini", true);

  var savePath = Context.GetFolder(Nucleus.Folder.Documents) + "\\My Games\\Skyrim Special Edition\\SkyrimPrefs.ini";
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("Display", "bBorderless", "0"),
    new Nucleus.IniSaveInfo("Display", "bFull Screen", "0"),
    new Nucleus.IniSaveInfo("Display", "iSize H", Context.Height),
    new Nucleus.IniSaveInfo("Display", "iSize W", Context.Width)
  ]);

  if (Context.HasKeyboardPlayer) {
    Game.SupportsMultipleKeyboardsAndMice = false;

    var savePath = Context.GetFolder(Nucleus.Folder.Documents) + "\\My Games\\Skyrim Special Edition\\SkyrimPrefs.ini";
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "bGamepadEnable", "0")]);
  } else {
    Game.SupportsMultipleKeyboardsAndMice = true;

    var savePath = Context.GetFolder(Nucleus.Folder.Documents) + "\\My Games\\Skyrim Special Edition\\SkyrimPrefs.ini";
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "bGamepadEnable", "1")]);
  }

  var number = Context.Options["Number"];

  if (number == "2") {
    Context.RunAdditionalFiles([Context.OrigRootFolder + "\\st_loader.exe"], false, 0);

    Context.RunAdditionalFiles([Context.OrigRootFolder + "\\st_loader.exe"], false, 0);
  }

  if (number == "3") {
    Context.RunAdditionalFiles([Context.OrigRootFolder + "\\st_loader.exe"], false, 0);

    Context.RunAdditionalFiles([Context.OrigRootFolder + "\\st_loader.exe"], false, 0);

    Context.RunAdditionalFiles([Context.OrigRootFolder + "\\st_loader.exe"], false, 0);
  }

  if (number == "4") {
    Context.RunAdditionalFiles([Context.OrigRootFolder + "\\st_loader.exe"], false, 0);

    Context.RunAdditionalFiles([Context.OrigRootFolder + "\\st_loader.exe"], false, 0);

    Context.RunAdditionalFiles([Context.OrigRootFolder + "\\st_loader.exe"], false, 0);

    Context.RunAdditionalFiles([Context.OrigRootFolder + "\\st_loader.exe"], false, 0);
  }
};