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

Fallout: New Vegas · handler “Fallout New Vegas Multiplayer Mod”

Version 11

Release notes

emptied the game start arguments line by default so when the bat is used it doesnt go into the next line

Released
Size
3.6 KB
Downloads
2,919
Check
Verified
SHA-256
15a7c528460c126acf056b37b2183f5eae971589cc4b82169caa1f60c9356df5
Download v11 (.nc)All versions

Files 4

PathSize
handler.js8.3 KB
NVMP/modlist.txt396 B
NVMP/retrieve_modlist.ps11.1 KB
NVMP/start.bat161 B

handler.js

Plain text
Hub.Handler.Version = 11; // Released at https://hub.splitscreen.me/ on Wed Aug 03 2022 05:38:41 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "vnPXYhWMJJ3FNuQuS";
Hub.Maintainer.Name = "Moon__Shyne";
Hub.Maintainer.Id = "CHEJQ8qDpxdMgSsc3";

//Game Info
Game.GameName = "NVMP";
Game.ExecutableToLaunch = "nvmp_start.exe";
Game.ExecutableName = "FalloutNV.exe";
Game.GUID = "NVMP";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;

Game.StartArguments = "";
Game.UseNucleusEnvironment = true;
Game.UserProfileConfigPath = "Documents\\My Games\\FalloutNV";
Game.UserProfileSavePath = "Documents\\My Games\\FalloutNV\\Saves";
Game.SymlinkFolders = false;
Game.ForceUserProfileConfigCopy = false;
Game.UserProfileSavePathNoCopy = true;

//Hook/Focus lines
Game.HandlerInterval = 100;
Game.Hook.ForceFocus = false; //added
Game.HasDynamicWindowTitle = true;
Game.Hook.ForceFocusWindowName = "New Vegas: Multiplayer"; //changed
Game.FakeFocus = false; //added
Game.FakeFocusSendActivate = true; //added
Game.HookFocus = false; //added
Game.SetWindowHook = true;
Game.RefreshWindowAfterStart = false; //changed
Game.ResetWindows = true;
Game.SetForegroundWindowElsewhere = false;
Game.Description = " GO TO https://hub.splitscreen.me/handler/vnPXYhWMJJ3FNuQuS FOR THE REQUIRED MODS AND GUIDE";

//Input lines
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = false;
Game.UseDInputBlocker = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.InjectHookXinput = true;

//Extra

Game.NeedsSteamEmulation = false;
Game.HideTaskbar = false;
Game.RequiresAdmin = false;
//Game.ThirdPartyLaunch = true; //Use if the game is launched outside of Nucleus | NOTE: You will not be able to use start up hooks or CMDLaunch with this option
//Game.ProcessChangesAtEnd = true;			//Do the resizing, repositioning and post-launch hooking of all game instances at the very end | will not work with every option ran normally
Game.PromptBetweenInstancesEnd = false;
Game.PauseBetweenStarts = 12;
Game.PauseBetweenProcessGrab = 16;
Game.PromptBetweenInstances = false;
Game.KillProcessesOnClose = ["nvmp_storyserver", "NVMP", "nvmp_launcher.temp"];

//ProtoInput:

Game.ProtoInput.InjectStartup = false;
Game.ProtoInput.InjectRuntime_RemoteLoadMethod = true;
Game.ProtoInput.InjectRuntime_EasyHookMethod = false;
Game.ProtoInput.InjectRuntime_EasyHookStealthMethod = false;
Game.LockInputAtStart = false;
Game.LockInputSuspendsExplorer = true;
Game.ProtoInput.FocusHooks = true;
Game.ProtoInput.FindWindowHook = true;
Game.ProtoInput.SetWindowStyleHook = true;
Game.ProtoInput.SetWindowPosHook = true;
Game.ProtoInput.RawInputFilter = false;
Game.ProtoInput.MouseMoveFilter = false;
Game.ProtoInput.MouseActivateFilter = false;
Game.ProtoInput.WindowActivateFilter = true;
Game.ProtoInput.WindowActvateAppFilter = true;
Game.ProtoInput.MouseWheelFilter = true;

Game.ProtoInput.UseOpenXinput = true;

Game.Play = function() {
  Context.RunAdditionalFiles(["1|" + Context.RootInstallFolder + "\\NVMP_StoryServer.exe"], false, 0, false, false);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\ModConverter.ps1");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "retrieve_modlist.ps1");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\start.bat");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "start.bat");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  Context.RunAdditionalFiles(["all|" + Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\start.bat"], false, 0, false, false);

  /* Backing up the specified files before editing them. In this way, when Nucleus-Coop will be closed, the original files will be restored. 
This is needed because the script is using the original game folder instead of symlinked ones.*/
  Context.BackupFile(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\client.cfg", true);
  Context.BackupFile(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Fallout_default.ini", true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\client.cfg");
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("Developer", "AllowMultipleNVInstances", "1.000000")]);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Fallout_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"),
    new Nucleus.IniSaveInfo("General", "SMainMenuMovieIntro", "0"),
    new Nucleus.IniSaveInfo("General", "SIntroSequence", "0"),
    new Nucleus.IniSaveInfo("Display", "fDefaultFOV", "98"),
    new Nucleus.IniSaveInfo("RenderedTerminal", "fRenderedTerminalZoom", "85"),
    new Nucleus.IniSaveInfo("General", "bPreemptivelyUnloadCells", "1"),
    new Nucleus.IniSaveInfo("General", "bSelectivePurgeUnusedOnFastTravel", "1")
  ]);

  var savePath = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\Fallout.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"),
    new Nucleus.IniSaveInfo("General", "SMainMenuMovieIntro", "0"),
    new Nucleus.IniSaveInfo("General", "SIntroSequence", "0"),
    new Nucleus.IniSaveInfo("Display", "fDefaultFOV", "98"),
    new Nucleus.IniSaveInfo("RenderedTerminal", "fRenderedTerminalZoom", "85"),
    new Nucleus.IniSaveInfo("General", "bPreemptivelyUnloadCells", "1"),
    new Nucleus.IniSaveInfo("General", "bSelectivePurgeUnusedOnFastTravel", "1")
  ]);

  var savePath = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\FalloutPrefs.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),
    new Nucleus.IniSaveInfo("Display", "fDefaultFOV", "98"),
    new Nucleus.IniSaveInfo("RenderedTerminal", "fRenderedTerminalZoom", "85"),
    new Nucleus.IniSaveInfo("General", "bPreemptivelyUnloadCells", "1"),
    new Nucleus.IniSaveInfo("General", "bSelectivePurgeUnusedOnFastTravel", "1")
  ]);

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

    if (System.IO.File.Exists(ini)) {
      System.IO.File.SetAttributes(ini, System.IO.File.GetAttributes(ini) & ~System.IO.FileAttributes.ReadOnly);
    }

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

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

  //variable that stores the environemnt saves folder path
  var SaveFolderPath = Context.EnvironmentPlayer + Context.UserProfileSavePath;
  //Do this if the "saves_deleted.txt" is not found in the path
  if (!System.IO.File.Exists(SaveFolderPath + "\\saves_deleted.txt")) {
    //Delete the saves folder and its content
    System.IO.Directory.Delete(SaveFolderPath, true);
    Game.ForceUserProfileConfigCopy = true;
    //Create a new saves folder
    System.IO.Directory.CreateDirectory(SaveFolderPath);
    //Create the "saves_deleted.txt" file for the next time.
    System.IO.File.Create(SaveFolderPath + "\\saves_deleted.txt");
  }
};