Need for Speed: Most Wanted · handler “Need For Speed Most Wanted 2005”
Version 3
Release notes
Xbox360 controllers preset
- Released
- Size
- 1.7 MB
- Downloads
- 1,039
- Check
- Verified
- SHA-256
- e0539c589492c381c34cf03a8d76f42f3d4c4e723af7fc925ff895eebfcddf5e
Files 13
| Path | Size |
|---|---|
| handler.js | 14 KB |
| Need For Speed Most Wanted 2005/1/NUCLEUS | 62 KB |
| Need For Speed Most Wanted 2005/1/SPARKLE-2012270-09-26-17-32-36.SAV | 62 KB |
| Need For Speed Most Wanted 2005/scripts/buttons-playstation.tpk | 651 KB |
| Need For Speed Most Wanted 2005/scripts/buttons-xbox.tpk | 651 KB |
| Need For Speed Most Wanted 2005/scripts/NFSMostWanted.WidescreenFix.asi | 349 KB |
| Need For Speed Most Wanted 2005/scripts/NFSMostWanted.WidescreenFix.ini | 1.1 KB |
| Need For Speed Most Wanted 2005/scripts/NFSMWExtraOptions.asi | 278 KB |
| Need For Speed Most Wanted 2005/scripts/NFSMWExtraOptionsSettings.ini | 13 KB |
| Need For Speed Most Wanted 2005/scripts/NFSMWHUDAdapter.asi | 74 KB |
| Need For Speed Most Wanted 2005/server.cfg | 1.4 KB |
| Need For Speed Most Wanted 2005/Settings.ini | 548 B |
| Need For Speed Most Wanted 2005/winmm.dll | 2.1 MB |
handler.js
Plain textHub.Handler.Version = 3; // Released at https://hub.splitscreen.me/ on Tue Apr 21 2020 21:31:40 GMT+0000 (UTC).
Hub.Handler.Id = "nBgGXtk5pTq9Taq2F";
Hub.Maintainer.Name = "Bizzo";
Hub.Maintainer.Id = "HEgozNi3MNvhAmWfi";
var answers2 = ["No", "Yes"]; //adding variables that user can use on the options
var answers = ["Yes", "No"];
Game.AddOption("Use compatible mode?", "If your GPU doesn't allow custom resolutions, enable this option.", "GPU", answers2); //adding options after the input/screen selector
Game.AddOption("Skip intro?", "If you choose No, it could help with crashes.", "Intro", answers);
Game.FileSymlinkCopyInstead = ["server.dll"]; //this files will be copied from the original folder
Game.FileSymlinkExclusions = [
//this files will not be symlinked from the original folder
"server.cfg",
"winmm.dll",
"dinput8.dll",
"XInput1_3.dll",
"XInputPlus.ini",
"Dinput.dll",
"buttons-playstation.tpk",
"buttons-xbox.tpk",
"NFSMostWanted.WidescreenFix.asi",
"NFSMostWanted.WidescreenFix.ini",
"modupdater.asi",
"modupdater.ini",
"modupdater.log",
"Settings.ini",
"NFSMWExtraOptions.asi",
"NFSMWExtraOptionsSettings.ini",
"NFSMWHUDAdapter.asi"
];
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "speed.exe";
Game.LauncherExe = "speed.exe";
Game.SteamID = "";
Game.GUID = "NeedForSpeedMostWanted2005";
Game.GameName = "Need For Speed Most Wanted 2005";
Game.HideTaskbar = true;
Game.ChangeExe = false;
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = false;
Game.GoldbergNeedSteamInterface = false;
Game.LauncherTitle = "";
Game.SupportsPositioning = true;
Game.BinariesFolder = "";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Need for Speed™️ Most Wanted";
Game.Hook.DInputEnabled = true;
Game.Hook.DInputForceDisable = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false; //set on true from make Xinput controllers act like DirectInput ones
Game.XInputPlusDll = ["xinput1_3.dll", "dinput.dll", "dinput8.dll"];
Game.UseDevReorder = false; //set on true if you use DirectInput controllers
Game.Hook.CustomDllEnabled = false;
Game.FakeFocus = true;
Game.PreventWindowDeactivation = false;
Game.PauseBetweenStarts = 30;
Game.PromptBetweenInstances = true;
Game.UseDirectX9Wrapper = false;
Game.Description =
"Use the horizontal split (vertical crop menu and hud). If you use DirectInput controllers open the NFS JS file, inside the Nucleus scripts folder and set Game.UseDevReorder on true . When you load the game from Nucleus use always the profile NUCLEUS. Before launching the next instance go to LAN, create a server, in server name write the playername and at the end create a room. Launch the next instance, go to LAN, create a server, in server name write the playername, then search for the room you create before and join in (probably, you will need more than one attempt). When all the players are ready, click ok on the last Nucleus prompt (hook/send fake message). Be careful, after that the keyboard will control all the instances, so use the mouse/gamepad.";
Game.Hook.CustomDllEnabled = false;
Game.KeepSymLinkOnExit = true;
Game.Play = function() {
//Create the "scripts" folder inside the NFSMW Nucleus instances content folder
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts"); //the location where a folder named "scripts" will be created
System.IO.Directory.CreateDirectory(filePath); //What Nucleus will do. Create the directory.
//Copying the specific files to the NFSMW Nucleus instances content folder from the NFSMW scripts Nucleus folder
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\buttons-playstation.tpk"); //the location where the specific file will be placed
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "scripts\\buttons-playstation.tpk"); //what file Nucleus will pick from the NFSMW scripts folder
System.IO.File.Copy(savePkgOrigin, savePath, true); //the action Nucleus will do. Copy the file.
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\buttons-xbox.tpk");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "scripts\\buttons-xbox.tpk");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMostWanted.WidescreenFix.asi");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "scripts\\NFSMostWanted.WidescreenFix.asi");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMostWanted.WidescreenFix.ini");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "scripts\\NFSMostWanted.WidescreenFix.ini");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\server.cfg");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "server.cfg");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\winmm.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "winmm.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWExtraOptions.asi");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "scripts\\NFSMWExtraOptions.asi");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWHUDAdapter.asi");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "scripts\\NFSMWHUDAdapter.asi");
System.IO.File.Copy(savePkgOrigin, savePath, true);
if (!System.IO.File.Exists(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWExtraOptionsSettings.ini")) {
//if this file is already in the instances folders, Nucleus will not copy the file inside the if{}
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWExtraOptionsSettings.ini");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "scripts\\NFSMWExtraOptionsSettings.ini");
System.IO.File.Copy(savePkgOrigin, savePath, true);
} //closing the if
if (!System.IO.Directory.Exists(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\1")) {
//if this directory is already in the instances folders, Nucleus will not copy the files inside the if{}. This will note copy the save file the next time_
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\1\\NFS Most Wanted\\NUCLEUS "); //_you will load the game
System.IO.Directory.CreateDirectory(filePath);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\1\\NFS Most Wanted\\NUCLEUS\\NUCLEUS");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "1\\NUCLEUS");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\1\\NFS Most Wanted\\NUCLEUS\\SPARKLE-2012270-09-26-17-32-36.SAV");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "1\\SPARKLE-2012270-09-26-17-32-36.SAV");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\1\\NFS Most Wanted\\Settings.ini");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Settings.ini");
System.IO.File.Copy(savePkgOrigin, savePath, true);
} //closing the if
//var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\XinputPlus.ini"; //if you have deadzone problems, enable this lines (for xinput controllers). Nucleus will edit the XinputPlus.ini file for each instance.
//Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [ // remove the // for enable it
//new Nucleus.IniSaveInfo("LeftStick", "DeadZone", "3277"),
//new Nucleus.IniSaveInfo("RightStick", "DeadZone", "3277"),
//]);
var gpu = Context.Options["GPU"]; //this is what happens on the "Use old GPU compatible mode?" option. Basically it jus edit a ini file depending by the choice
if (gpu == "No") {
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMostWanted.WidescreenFix.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "ResX", Context.Width), new Nucleus.IniSaveInfo("MAIN", "ResY", Context.Height)]); //this will automatically edit the ini file using the context screen division_
} //_resolution XY selected by the user
if (gpu == "Yes") {
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMostWanted.WidescreenFix.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "ResX", " 800"), new Nucleus.IniSaveInfo("MAIN", "ResY", " 600")]); //this will edit the resolution ini file to use 800x600
}
var intro = Context.Options["Intro"]; //this is what happens on the "Skip intro?" option. Basically it jus edit a ini file depending by the choice.
if (intro == "Yes") {
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWExtraOptionsSettings.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("Misc", "SkipMovies", " 1") //this skip the cutscenes. Set on 0 to enable them. This could help if the game crash at the start
]);
}
if (intro == "No") {
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWExtraOptionsSettings.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("Misc", "SkipMovies", " 0") //this skip the cutscenes. Set on 0 to enable them. This could help if the game crash at the start
]);
}
var LocalIP = Context.User.GetLocalIP(); //this will get the user local IP
if (Context.PlayerID == 0) {
//this is what Nucleus will do for the first player
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWExtraOptionsSettings.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("Misc", "WindowedMode", "2"), new Nucleus.IniSaveInfo("Misc", "EnableMusic", "1")]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\server.cfg";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("SERVER", "PORT", "9900"),
new Nucleus.IniSaveInfo("SERVER", "LAN_THROTTLE", "6"),
new Nucleus.IniSaveInfo("SERVER", "ADDR", '%%bind("' + LocalIP + ':9900")'),
new Nucleus.IniSaveInfo("SERVER", "TRUST_MATCH", '%%bind("' + LocalIP + '")')
]);
}
if (Context.PlayerID == 1) {
//this is what Nucleus will do for the second player
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWExtraOptionsSettings.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("Misc", "WindowedMode", "2"), new Nucleus.IniSaveInfo("Misc", "EnableMusic", "0")]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\server.cfg";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("SERVER", "PORT", "9901"),
new Nucleus.IniSaveInfo("SERVER", "LAN_THROTTLE", "6"),
new Nucleus.IniSaveInfo("SERVER", "ADDR", '%%bind("' + LocalIP + ':9901")'),
new Nucleus.IniSaveInfo("SERVER", "TRUST_MATCH", '%%bind("' + LocalIP + '")')
]);
}
if (Context.PlayerID == 2) {
//this is what Nucleus will do for the third player
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWExtraOptionsSettings.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("Misc", "WindowedMode", "2"), new Nucleus.IniSaveInfo("Misc", "EnableMusic", "0")]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\server.cfg";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("SERVER", "PORT", "9902"),
new Nucleus.IniSaveInfo("SERVER", "LAN_THROTTLE", "6"),
new Nucleus.IniSaveInfo("SERVER", "ADDR", '%%bind("' + LocalIP + ':9902")'),
new Nucleus.IniSaveInfo("SERVER", "TRUST_MATCH", '%%bind("' + LocalIP + '")')
]);
}
if (Context.PlayerID == 3) {
//this is what Nucleus will do for the fourth player
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\scripts\\NFSMWExtraOptionsSettings.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("Misc", "WindowedMode", "2"), new Nucleus.IniSaveInfo("Misc", "EnableMusic", "0")]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\server.cfg";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("SERVER", "PORT", "9903"),
new Nucleus.IniSaveInfo("SERVER", "LAN_THROTTLE", "6"),
new Nucleus.IniSaveInfo("SERVER", "ADDR", '%%bind("' + LocalIP + ':9903")'),
new Nucleus.IniSaveInfo("SERVER", "TRUST_MATCH", '%%bind("' + LocalIP + '")')
]);
}
};