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 3

Release notes

got rid of other folder

Released
Size
3.8 KB
Downloads
2
Check
Verified
SHA-256
9b60515912e791b47c492429c44b868d95fe891b3a7cfe2f1c5bcf4d002a7f72
Download v3 (.nc)All versions

Files 4

PathSize
handler.js8.6 KB
NVMP/modlist.txt356 B
NVMP/retrieve_modlist.ps11.1 KB
NVMP/start.bat161 B

handler.js

Plain text
Hub.Handler.Version = 3; // Released at https://hub.splitscreen.me/ on Thu Jul 28 2022 06:08:14 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 =
  'localhost 27015 22380 null "CaravanPack.esm,ClassicPack.esm,DeadMoney.esm,FalloutNV.esm,FalloutNV_lang.esp,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 = false;
Game.ForceUserProfileConfigCopy = false;
Game.UserProfileSavePathNoCopy = true;
Game.Description = " IMPORTANT: Run Bat file in Fallout New Vegas folder inside the handler folder Install:4gb patcher NVMP and NVAC With NVSE DELETE THE NVSE INI OUTSIDE THE PLUGINS FOLDER.";

//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;

//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 = true;
//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");
  }
};