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 16

Release notes

Zip test

Released
Size
4.0 KB
Downloads
31
Check
Verified
SHA-256
11afb7ce1bd8d886839315c1df1c14aa5c90814a7d2c85e6d5eaa1220ad26d28
Download v16 (.nc)All versions

Files 5

PathSize
handler.js8.6 KB
NVMP/Modlist.bat161 B
NVMP/modlist.txt356 B
NVMP/NVMP OFFLINE.Bat652 B
NVMP/retrieve_modlist.ps11.1 KB

handler.js

Plain text
Hub.Handler.Version = 16; // Released at https://hub.splitscreen.me/ on Thu Aug 03 2023 19:25:54 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "vnPXYhWMJJ3FNuQuS";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

//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 =
  'localhost 27015 22380 null null "CaravanPack.esm,ClassicPack.esm,DeadMoney.esm,FalloutNV.esm,GunRunnersArsenal.esm,HonestHearts.esm,LonesomeRoad.esm,MercenaryPack.esm,OldWorldBlues.esm,TribalPack.esm"';
Game.UseNucleusEnvironment = true;
Game.UserProfileConfigPath = "Documents\\My Games\\FalloutNV";
Game.UserProfileSavePath = "Documents\\My Games\\FalloutNV\\Saves";
Game.SymlinkFolders = true;
Game.SymlinkGame = true;
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 OFFLINE.Bat"], 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) + "\\Modlist.bat");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Modlist.bat");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  Context.RunAdditionalFiles(["all|" + Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Modlist.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");
  }
};