Short Description:
This mod spawns trains on key press or automatically. It also allows you to spawn trains on rails that are normally not used like the ones in North Yankton or on DLC maps.

Description:
This mod serves two purposes. 
The first one being to spawn trains of the freight and metro variety. Either triggered by pressing a key or automatically in two minute intervals. 
The trains spawned with a key press are spawned at the nearest rail track to your current player position. The auto spawned trains spawn somewhere in the distance, a bit like the normal trains in GTA V.
The second purpose is that this mod can spawn trains on ALL rails. This means freight trains on the metro tracks or metro trains on freight tracks. It can even spawn trains on mission tracks like the ones in North Yankton or around the San Chianski gravel pit. Even more interesting, with this mod you can install train tracks as <b>addons</b>. This way you will never need to replace a train track in the tracks.xml you can just simply add new ones. This is especially interesting for map mod makers who can now add working trains to their maps without replacing the train lines in Los Santos. 

Features:
- Spawn Freight Trains by pressing T
- Spawn Metro Trains by pressing X
- Auto Spawn Trains on any rails
- Addon rails where trains auto spawn
- Configurable via ini file

Usage:
The T-Key is used for spawning the freight trains. 
The X-Key is used to spawn the metro trains. The trains are spawned at the nearest railtrack to your current player position.

Options:
The following settings can be changed in the “TrainSpawner.ini”:
The key to spawn the freight: Default is T (0x54)
The key to spawn the metro: Default is X (0x58)

Requirements:
OpenIV
ScriptHook

Optional Mods
RailRoad engineer to drive the train

Installation(basic):
This only installs the functionality to spawn trains on key press.
Extract / copy the TrainSpawner.asi and TrainSpawner.ini to your GTA V folder.

Installing Addon Tracks:
Tracks where the trains are auto spawned.
Download a train track (a tainsXYZ.dat file). Open OpenIV and navigate to your “mods” folder. There go to /common.rpf/data/levels/gta5. Now rename your trainsXYZ.dat file to something not already present in the /gta5 directory. 
E.g. per default there is a trains1.dat, trains2.dat, … , trains12.dat so you could e.g. rename your trainsXYZ.dat file to trains13.dat. Now copy the renamed file into this directory. 
Next edit the traintracks.xml and copy one of the train_tracks and paste it at the end of the file before the </train_tracks> tag. E.g.
	<train_track
		filename="common:/data/levels/gta5/trains13.dat"
		trainConfigName="freight_group"
		isPingPongTrack="false"
		stopsAtStations="true"
		MPstopsAtStations="true"
		speed="15"
		brakingDist="20"/>	
The “filename” must end with the name of your .dat file, in this case trains13.dat
The rest of the parameters are not really relevant for this mod, just leave them like they are. 
Now copy the “addonRails” folder from the downloaded archive into your main GTA V directory.
The last step is to also copy your trainsXYZ.dat file into one of the subfolders of “addonRail”. Copying into the “metro” folder will automatically spawn a metro on this track while the “freight” folder means the script spawns a freight train.

Installing Addon Train Models:
Install the models via OpenIV following the steps from the mods creator.

Open the TrainSpawner.ini go to the section of the track you want to add the model to.
There add the model names (you can add multiple separated by a comma) e.g. Models = model1, model2


As an example you can use the trains file from one of these mods:
https://www.gta5-mods.com/vehicles/libertycity-cablecar

Known Issues:
Script crashes if you spawn more than about 70 trains at once.
Tracks under 10 nodes are not supported by the way my script calculates where to spawn the train.

Special Thanks to:
dexyfex (CodeWalker)
OpenIV Team (OpenIV)























