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

Sir, You Are Being Hunted · handler “SirYouAreBeingHunted”

Version 2

Release notes

improvements and fixes.

Released
Size
4.6 KB
Downloads
316
Check
Verified
SHA-256
ddf6ff20ed994a7cac76780d39aa01d844ebe363729ce5d65da4aa2a5bbc8a43
Download v2 (.nc)All versions

Files 4

PathSize
handler.js4.6 KB
SirYouAreBeingHunted/P2/KeyBinds3.txt3.6 KB
SirYouAreBeingHunted/P3/KeyBinds3.txt3.6 KB
SirYouAreBeingHunted/P4/KeyBinds3.txt3.6 KB

handler.js

Plain text
Hub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Thu Oct 29 2020 03:06:29 GMT+0000 (UTC).
Hub.Handler.Id = "Hx8LoFMBjaBnZ59N9";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.DirSymlinkExclusions = ["SaveGames\\client"];
Game.FileSymlinkExclusions = ["KeyBinds3.txt"];
Game.FileSymlinkCopyInstead = ["GFXsettings.xml", "GameOptions.xml", "ControlOptions.xml"];
Game.NeedsSteamEmulation = false;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "sir.exe";
Game.SteamID = "242880";
Game.GUID = "Sir, You Are Being Hunted";
Game.GameName = "Sir, You Are Being Hunted";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "";
Game.LauncherTitle = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "SirYouAreBeingHunted";
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.FakeFocus = true;
Game.KeepSymLinkOnExit = false;
Game.Description =
  "You have to manually search for the sir multiplayer exe in Nucleus or it could find all the other exes named the same with auto search. Make sure you run your main game in multiplayer at least one time before running this script. Create a server in one instance then connect to it in all the other instances via the direct connect option, use the cursor in all menus for easier setup. If want to you use keyboards and mice enable the option in the script, after the instances open press the END key to lock the input for all instances to have their own cursor. Press the END key again to unlock the input. You can also use CTRL+Q to close Nucleus and all its instances. If you get uneven fps in the instances try alt tabbing to the nucleuscoop app window when using multiple gamepads only, the game windows will still remain on top.";
Game.PauseBetweenStarts = 30;

Game.SupportsMultipleKeyboardsAndMice = false;

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

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

Game.Play = function() {
  var Args = (Context.Args = " -popupwindow " + " -screen-width " + Context.Width + " -screen-height " + Context.Height);

  Context.StartArguments = Args;

  var path = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\SaveGames\\client\\GFXsettings.xml";
  Context.ChangeXmlNodeInnerTextValue(path, "//m_FullScreen", "false");
  Context.ChangeXmlNodeInnerTextValue(path, "//m_ResX", Context.Width);
  Context.ChangeXmlNodeInnerTextValue(path, "//m_ResY", Context.Height);

  var path = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\SaveGames\\client\\ControlOptions.xml";
  Context.ChangeXmlNodeInnerTextValue(path, "//EnableController", "true");

  if (Context.PlayerID == 1) {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\SaveGames\\client\\KeyBinds3.txt");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P2\\KeyBinds3.txt");
    System.IO.File.Copy(savePkgOrigin, savePath, true);
  }
  if (Context.PlayerID == 2) {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\SaveGames\\client\\KeyBinds3.txt");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P3\\KeyBinds3.txt");
    System.IO.File.Copy(savePkgOrigin, savePath, true);
  }
  if (Context.PlayerID == 3) {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\SaveGames\\client\\KeyBinds3.txt");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P4\\KeyBinds3.txt");
    System.IO.File.Copy(savePkgOrigin, savePath, true);
  }

  if (Context.IsKeyboardPlayer) {
    var path = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\SaveGames\\client\\ControlOptions.xml";
    Context.ChangeXmlNodeInnerTextValue(path, "//EnableController", "false");
  }
};