<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.trainzsimulator.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Windwalkr+%28legacy+2550%29</id>
	<title>TrainzOnline - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.trainzsimulator.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Windwalkr+%28legacy+2550%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/wiki/Special:Contributions/Windwalkr_(legacy_2550)"/>
	<updated>2026-11-05T20:34:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/MOSpeedBoard_config&amp;diff=1427</id>
		<title>CCG/MOSpeedBoard config</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/MOSpeedBoard_config&amp;diff=1427"/>
		<updated>2010-04-07T05:52:24Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=red&amp;gt;This should be merged into [[KIND MOSpeedboard]].&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Chapter 2: Introduction to Kinds, Containers, Tags, and Config.txt files==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KIND: MOSPEEDBOARD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a speed limit sign.&lt;br /&gt;
&lt;br /&gt;
Config.txt:&lt;br /&gt;
 kuid &amp;lt;KUID2:####:#####:1&amp;gt;&lt;br /&gt;
 kind mospeedboard&lt;br /&gt;
 trackside -2.5&lt;br /&gt;
 speedlimit 5.56&lt;br /&gt;
 username&lt;br /&gt;
 description &amp;quot; &amp;quot;&lt;br /&gt;
 trainz-build 2.5&lt;br /&gt;
 category-class “WS”&lt;br /&gt;
 category-region “AU”&lt;br /&gt;
 category-era “2000s”&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Breakdown:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;trackside&lt;br /&gt;
:This is a value that is the distance in meters the object is placed relative to the center of the track. Negative values will put the object on the left side of the track, and positive values will appear on the right.&lt;br /&gt;
;Speedlimit&lt;br /&gt;
:This value is the maximum speed allowed in meters per seconds.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;To convert miles per hour to meters per second multiply by a conversion factor of 0.447.&amp;lt;br&amp;gt;e.g. 10mph is 4.47 m/s.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;To convert kilometers per hour to meters per second multiply by a conversion factor of 0.278.&amp;lt;br&amp;gt;e.g. 10kph is 2.78m/s.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/Kinds&amp;diff=1426</id>
		<title>CCG/Kinds</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/Kinds&amp;diff=1426"/>
		<updated>2010-04-07T05:51:48Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=red&amp;gt;This should be merged into [[Content Configuration]].&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Chapter 2: Introduction to Kinds, Containers, Tags, and Config.txt files==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KINDS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Trainz recognises a number of Kinds of assets. Each Kind has different attributes, allowing different asset functions and behaviour to be used in the simulator.&lt;br /&gt;
&lt;br /&gt;
In creating a new asset, a suitable Kind must be chosen. The following is a list of all the Kinds that may be created in TC, with a brief description.&lt;br /&gt;
&lt;br /&gt;
;Activity: An activity is a scripted scenario, that details the locomotives and rollingstock used in a map, the driver settings, commands and scripts. A train driver can undertake a sequence of planned moves – a scenario.&lt;br /&gt;
;Behavior: A configurable behavior module that forms part of a session.&lt;br /&gt;
;Bogey: Bogeys are locomotive or rolling stock wheel mechanisms, sometimes known as ‘Trucks’. This asset is for attachment to a traincar (locomotive or rollingstock) and can include animation and a shadow model.&lt;br /&gt;
;Bridge: Road or rail bridges and similar assets, as variable length splines. The bridge kind may include initiator and terminator segments, and shadows. The height and gradient of the bridge spline may be varied in Surveyor.&lt;br /&gt;
;Buildable: A variant of Kind Scenery, with similar attributes, but allowing attached track to be used as part of the model. It does not support processes, as used in a Kind Industry&lt;br /&gt;
;Chunky-Track: Track and rails for Trains (the common flexi-track), by defining the cross section shape and properties of the track. It uses a texture file but does not require a 3dsmax or gmax mesh model.&lt;br /&gt;
;Double-Track: Track splines that may place two or more tracks as one model, by specifying the track spacings to be used.&lt;br /&gt;
;DriverCharacter: The locomotive driver character. This specifies the picture icon that appears in Driver for the engine driver.&lt;br /&gt;
;DriverCommand: A command for the train driver to accomplish a specific task.&lt;br /&gt;
;Engine: An engine specification for locomotives and rollingstock, which defines the detailed performance requirements; including throttle requirements, engine and braking performance&lt;br /&gt;
;EngineSound: An engine sound specification, detailing the locomotive engine sound files, referenced by the enginesound tag in a traincar kind.&lt;br /&gt;
;Environment: Additional sky textures, specifying the normal, night and stormy sky images to be used in Trainz&lt;br /&gt;
;FixedTrack: A fixedtrack asset can be likened to a model trains sectional track system. The models may be straight or curved and snap into position when moved onto another track in Surveyor.&lt;br /&gt;
;GroundTexture: A ground texture is tiled in Surveyor to color and cover the base grid. It can optionally reference a low polygon mesh and insert the mesh automatically as the ground is painted.&lt;br /&gt;
;HornSound: A traincar horn sound, referenced by the hornsound tag in a traincar config.txt file. It references the various sound file to be used.&lt;br /&gt;
;Html-Asset: An html-asset example is the ingame tutorial. The config.txt file references one or more .html pages. The html-asset can be referenced from scripts and from some of the Surveyor rules&lt;br /&gt;
;Industry: A scenery asset with product processing functionality. Industry assets interact with compatible rolling stock assets through their script file and asset triggers. An Industry asset supports product queues and attached track&lt;br /&gt;
;Interior: A traincar interior asset. It allows the interior mesh model to be defined, and may have attached levers and controls to operate a locomotive in cab mode. It also creates an interior for rolling stock.&lt;br /&gt;
;Library: Coded modules that interact with other coded modules.&lt;br /&gt;
;Mesh: A mesh that is never referenced through Surveyor panels, but referenced from another asset. It could be referenced through the preview-mesh-kuid tag or as a kind attachment effect, like the red arrows used on fixed-track assets.&lt;br /&gt;
;Mesh-Reducing-Track: Mesh-Reducing-Track is used to create poly efficient splines. The asset consists of a short high detailed mesh and a longer less detailed mesh, based on the same object. The short mesh is displayed when the camera is close to the asset whilst the long mesh is shown when less detail is required, when the viewpoint is further away.&lt;br /&gt;
;MOCrossing: Combined rail and road crossings, that reacts to trains or script control. This allows animation, special lighting effects and attachment points for rail track and roads.&lt;br /&gt;
;MOJunction: Junction control levers, which are attached to track junctions, include sound, and may be offset a specified distance from the track. They can be used to replace the default junction lever.&lt;br /&gt;
;MOSignal: A train signal with lights (coronas). It specifies the aspects the signal is capable of displaying, the light points activated when each state is displayed, and the corona details. The signal may be offset a specified distance from the track.&lt;br /&gt;
;MOSpeedBoard: A Speed limit sign for Trains. It displays the maximum limit (sign texture made by the creator) and the sign may be offset a specified distance from the track. The limit to control train speed is specified in the asset in metres per second.&lt;br /&gt;
;Paintshed-Skin: A reskin texture for a locomotive or rolling stock asset.&lt;br /&gt;
;Paintshed-Template: A template for particular locomotives and rolling stock that may be used in the integrated Paintshed utility. The template may be painted in different colour schemes&lt;br /&gt;
;Pantograph: The animated mechanisms on the roof of electric locomotives that conduct electricity from the catenary (wires) above. It is referenced by the pantograph tag in a traincar config.txt file.&lt;br /&gt;
;Product: An individual product (commodity) that Trainz compatible rolling stock and industry assets are able to process. It specifies the type, unit of measurement and the picture icon that displays the product in the simulator. Produce and materials are product examples.&lt;br /&gt;
;Product-Category: A category class of products (commodities) that Trainz compatible rolling-stock and industry assets are able to process. It specifies the type, unit of measurement and the picture icon that displays the category on Surveyor or Driver. Bulk, liquid, passengers and containers are product category examples.&lt;br /&gt;
;Profile: A Profile is known as a Session in Trainz. This kind creates a session defining a single route with different consists, starting points, and industry outputs. Different sets of trains may be used in each different session.&lt;br /&gt;
;Region: A region is chosen in Surveyor to create a new map or route. This Kind creates a new region in addition to the in-built regions, such as Australia or USA for example. The region can define geographical location, road traffic and weather conditions.&lt;br /&gt;
;Scenery: A basic scenery asset, that supports night lighting, smoke (particle) effects, sound and animation. It is height adjustable and forms the majority of map objects used.&lt;br /&gt;
;Scenery-Trackside: A special scenery asset, attached to rail track, with the offset distance from the track specified in the asset. Examples could include a signal box, or dummy track sign or track object.&lt;br /&gt;
;Steam-Engine: The special engine specification for steam locomotives, which defines the detailed performance requirements, including throttle settings, engine and braking performance, and boiler capacity and steam attributes.&lt;br /&gt;
;Texture: A simple texture as an asset that can be referenced from another asset for example, a custom corona, by reference to its kuid.&lt;br /&gt;
;Texture-Group: Defines a group of textures as an asset that can be referenced from another asset or via scripting.&lt;br /&gt;
;Track: Variable length spline based track, roads, and other scenery items. Tracks may include initiator and terminator segments, and are height adjustable. Other examples include fences, power lines and hedges.&lt;br /&gt;
;TrackSound: A sound asset that is referenced by track or bogeys to play a different sound from the default track/train sound (for example, when a train travels over a bridge or through a tunnel).&lt;br /&gt;
;Traincar: A locomotive or rolling stock item. A traincar specifies the dependant assets (bogey, engine sound, engine specification, pantograph and interior), to make a complete traincar asset.&lt;br /&gt;
;Tunnel: Road and rail tunnel variable length splines. These allow the spline to be placed below ground and usually require an integrated initiator and termination mesh as a tunnel entrance.&lt;br /&gt;
;TurnTable: A turntable asset for moving or rotating traincars, specifying the static and moving part of the turntable. Animated rotation (turntable) and lateral translation (transfer table) assets are supported.&lt;br /&gt;
;Water2: Animated water texture assets.&lt;br /&gt;
&lt;br /&gt;
There is two additional Kinds that are used by Trainz, but may not be created from within [[Content Creator Plus]] (CCP):&lt;br /&gt;
&lt;br /&gt;
;Map Kind: A map kind needs a number of files to be created when saving from Surveyor. This is not possible from within [[Content Creator Plus|CCP]]. However, a Map Kind created in Surveyor may be edited in [[Content Creator Plus|CCP]], for instance, to add specific car Kuids to the Map file. These cars will then be mixed with the default in-built cars on roads in the map.&lt;br /&gt;
;Displacements: This is a special Kind that is not created in [[Content Creator Plus|CCP]] as it does not require a config.txt file. Displacement maps are used to create the differing height/depth and shape of an area of terrain, based on shades of grey in a .bmp file.&lt;br /&gt;
:The graphic file is placed in the Displacements directory under the installed Custom directory in Trainz. This is the only instance where the Custom directory is used in TC.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Mesh-table&amp;diff=1421</id>
		<title>Mesh-table</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Mesh-table&amp;diff=1421"/>
		<updated>2010-03-25T09:42:18Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=red&amp;gt;This page is a duplicate and not in the correct format. Any additional information should be merged into the [[&amp;quot;mesh-table&amp;quot; container]] page and this page should be removed.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is the new and preferred method of asset mesh placement for most mesh asset types. It gives flexibility and control for mesh placement and animations.&lt;br /&gt;
&lt;br /&gt;
As of TC 2, there are some asset types that cannot use a mesh-table. These include all Bridges, Tunnels, Rails, Pantographs and other Spline Objects (eg. Fences or Catenaries).&lt;br /&gt;
&lt;br /&gt;
===Example Mesh Table===&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default&lt;br /&gt;
   {&lt;br /&gt;
     mesh industry.lm&lt;br /&gt;
     anim anim.kin&lt;br /&gt;
     animation-loop-speed 1.0&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     effects&lt;br /&gt;
     {&lt;br /&gt;
       0&lt;br /&gt;
       {&lt;br /&gt;
         [[kind name]]&lt;br /&gt;
         fontsize 0.15&lt;br /&gt;
         fontcolor 30,30,30&lt;br /&gt;
         att a.name0&lt;br /&gt;
         name name&lt;br /&gt;
       }&lt;br /&gt;
       1&lt;br /&gt;
       {&lt;br /&gt;
         [[kind corona]]&lt;br /&gt;
         att a.coronawhite&lt;br /&gt;
         frequency 1&lt;br /&gt;
         directional 0&lt;br /&gt;
         texture-kuid &amp;lt;KUID:-3:10111&amp;gt;&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   default-night&lt;br /&gt;
   {&lt;br /&gt;
     mesh nightwindows/nightwindows.im&lt;br /&gt;
     night-mesh-base default&lt;br /&gt;
   }&lt;br /&gt;
   attachedanimation&lt;br /&gt;
   {&lt;br /&gt;
     mesh subdirectoryname/meshname.im&lt;br /&gt;
     anim subdirectoryname/animname.kin&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     att a.pointname&lt;br /&gt;
     att-parent default&lt;br /&gt;
     animation-loop-speed 1.0&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===default===&lt;br /&gt;
Default is the ‘main’ mesh of the asset.&lt;br /&gt;
&lt;br /&gt;
===mesh===&lt;br /&gt;
The ‘main’ mesh name. This may include a sub-path; &lt;br /&gt;
ie: mesh nightwindows/nightwindows.im, where the file nightwindows.im has been placed in the subdirectory nightwindows.&lt;br /&gt;
&lt;br /&gt;
Use .im files exported from 3dsmax (as opposed to .pm.) or reference an .lm file if you wish your asset to have ‘Level of Detail’ mesh reduction. A pantograph model still requires a .pm file.&lt;br /&gt;
&lt;br /&gt;
Level of detail is a process of using different model meshes, depending on how far the viewer is from the model. A finer mesh is used for close up viewing in Trainz.&lt;br /&gt;
&lt;br /&gt;
===anim===&lt;br /&gt;
The animation file (.kin) exported from 3dsmax. This may include a sub-path.&lt;br /&gt;
&lt;br /&gt;
===animation-loop-speed===&lt;br /&gt;
This tag must be here if the asset is to animate when placed. If this tag is not here when placed the animation will not play by default, but may play if controlled by script. A different value (e.g. 0.5, 2.0) may be used in the tag to play the animation at a different speed from that created in 3dsmax.&lt;br /&gt;
&lt;br /&gt;
===auto-create 1===&lt;br /&gt;
The model is generated automatically when placed, or when you load a map which includes the model. In some instances you don’t want the mesh visible (as this may be controlled through script). If auto-create is 0 the mesh will not be visible when placed.&lt;br /&gt;
&lt;br /&gt;
===default-night===&lt;br /&gt;
‘Main’ night window mesh on scenery and industry and traincar assets. Modeled to the same 3d space as the default mesh and is inserted at the default mesh origin.&lt;br /&gt;
&lt;br /&gt;
===night-mesh-base default===&lt;br /&gt;
This night mesh is linked to the default mesh and is visible only at night. It is invisible if the ‘default’ mesh is invisible, (if the auto-create 0 line were used so the default mesh can be controlled by script).&lt;br /&gt;
&lt;br /&gt;
===att===&lt;br /&gt;
The mesh (and animation if present) is inserted at a mesh attachment point rather than the origin (without this line the mesh is placed relative to the origin of the parent model).&lt;br /&gt;
&lt;br /&gt;
===att-parent name===&lt;br /&gt;
The tag tells Trainz in which mesh the attachment point is located. The insertion attachment point is located within the mesh ‘name’ , as listed in the config.txt.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Mesh-table&amp;diff=1420</id>
		<title>Mesh-table</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Mesh-table&amp;diff=1420"/>
		<updated>2010-03-25T09:42:04Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font=red&amp;gt;This page is a duplicate and not in the correct format. Any additional information should be merged into the [[&amp;quot;mesh-table&amp;quot; container]] page and this page should be removed.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is the new and preferred method of asset mesh placement for most mesh asset types. It gives flexibility and control for mesh placement and animations.&lt;br /&gt;
&lt;br /&gt;
As of TC 2, there are some asset types that cannot use a mesh-table. These include all Bridges, Tunnels, Rails, Pantographs and other Spline Objects (eg. Fences or Catenaries).&lt;br /&gt;
&lt;br /&gt;
===Example Mesh Table===&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default&lt;br /&gt;
   {&lt;br /&gt;
     mesh industry.lm&lt;br /&gt;
     anim anim.kin&lt;br /&gt;
     animation-loop-speed 1.0&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     effects&lt;br /&gt;
     {&lt;br /&gt;
       0&lt;br /&gt;
       {&lt;br /&gt;
         [[kind name]]&lt;br /&gt;
         fontsize 0.15&lt;br /&gt;
         fontcolor 30,30,30&lt;br /&gt;
         att a.name0&lt;br /&gt;
         name name&lt;br /&gt;
       }&lt;br /&gt;
       1&lt;br /&gt;
       {&lt;br /&gt;
         [[kind corona]]&lt;br /&gt;
         att a.coronawhite&lt;br /&gt;
         frequency 1&lt;br /&gt;
         directional 0&lt;br /&gt;
         texture-kuid &amp;lt;KUID:-3:10111&amp;gt;&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   default-night&lt;br /&gt;
   {&lt;br /&gt;
     mesh nightwindows/nightwindows.im&lt;br /&gt;
     night-mesh-base default&lt;br /&gt;
   }&lt;br /&gt;
   attachedanimation&lt;br /&gt;
   {&lt;br /&gt;
     mesh subdirectoryname/meshname.im&lt;br /&gt;
     anim subdirectoryname/animname.kin&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     att a.pointname&lt;br /&gt;
     att-parent default&lt;br /&gt;
     animation-loop-speed 1.0&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===default===&lt;br /&gt;
Default is the ‘main’ mesh of the asset.&lt;br /&gt;
&lt;br /&gt;
===mesh===&lt;br /&gt;
The ‘main’ mesh name. This may include a sub-path; &lt;br /&gt;
ie: mesh nightwindows/nightwindows.im, where the file nightwindows.im has been placed in the subdirectory nightwindows.&lt;br /&gt;
&lt;br /&gt;
Use .im files exported from 3dsmax (as opposed to .pm.) or reference an .lm file if you wish your asset to have ‘Level of Detail’ mesh reduction. A pantograph model still requires a .pm file.&lt;br /&gt;
&lt;br /&gt;
Level of detail is a process of using different model meshes, depending on how far the viewer is from the model. A finer mesh is used for close up viewing in Trainz.&lt;br /&gt;
&lt;br /&gt;
===anim===&lt;br /&gt;
The animation file (.kin) exported from 3dsmax. This may include a sub-path.&lt;br /&gt;
&lt;br /&gt;
===animation-loop-speed===&lt;br /&gt;
This tag must be here if the asset is to animate when placed. If this tag is not here when placed the animation will not play by default, but may play if controlled by script. A different value (e.g. 0.5, 2.0) may be used in the tag to play the animation at a different speed from that created in 3dsmax.&lt;br /&gt;
&lt;br /&gt;
===auto-create 1===&lt;br /&gt;
The model is generated automatically when placed, or when you load a map which includes the model. In some instances you don’t want the mesh visible (as this may be controlled through script). If auto-create is 0 the mesh will not be visible when placed.&lt;br /&gt;
&lt;br /&gt;
===default-night===&lt;br /&gt;
‘Main’ night window mesh on scenery and industry and traincar assets. Modeled to the same 3d space as the default mesh and is inserted at the default mesh origin.&lt;br /&gt;
&lt;br /&gt;
===night-mesh-base default===&lt;br /&gt;
This night mesh is linked to the default mesh and is visible only at night. It is invisible if the ‘default’ mesh is invisible, (if the auto-create 0 line were used so the default mesh can be controlled by script).&lt;br /&gt;
&lt;br /&gt;
===att===&lt;br /&gt;
The mesh (and animation if present) is inserted at a mesh attachment point rather than the origin (without this line the mesh is placed relative to the origin of the parent model).&lt;br /&gt;
&lt;br /&gt;
===att-parent name===&lt;br /&gt;
The tag tells Trainz in which mesh the attachment point is located. The insertion attachment point is located within the mesh ‘name’ , as listed in the config.txt.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Setting_Up_the_Asset.&amp;diff=1419</id>
		<title>Setting Up the Asset.</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Setting_Up_the_Asset.&amp;diff=1419"/>
		<updated>2010-03-25T09:39:36Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Now we will examine the creation of a simple scripted asset and will deal with managing messages sent by other objects, with handling animations, corona and name effects and with playing sound files via script. We will be setting up methods to react automatically to events in the Trainz environment and we will be scripting a simple interface to allow the user to edit some of the object&#039;s properties.&lt;br /&gt;
&lt;br /&gt;
We will need a simple mesh asset to hang all of this script on and here is the asset we will be using. In case it&#039;s difficult for you to tell, this is an engine shed with animated opening doors, a flashing light and a name written on the pediment above.  If you want to texture it properly and add windows and drainpipes, be my guest.  It will have a roof mesh which can be hidden, so that we can see what is going on inside, and we will be arranging for bells to ring when the doors open.&lt;br /&gt;
&lt;br /&gt;
Since the asset will need attached tracks and a scenery trigger we will make it as a &#039;&#039;kind buildable&#039;&#039;.  The shed has been designed to suit diesel engines or railcars about twenty metres in length, steam engines with tenders or articulated trams introduce some complications so leave those for later.&lt;br /&gt;
&lt;br /&gt;
The shed is being set up so that an engine can be issued with a &#039;&#039;Drive&#039;&#039; command and sent towards the shed. The doors will open on the train&#039;s approach and close as it draws to a halt, all without user intervention. You will need to back out very slowly and under human control.&lt;br /&gt;
&lt;br /&gt;
Here is a diagram of the building with the dimensions that I used to build my version. All of the X dimensions are zero and the width and height of the shed itself are not particularly important as long as there is room for the train. The two helper points above the doors are &#039;&#039;a.corona&#039;&#039; and &#039;&#039;a.name&#039;&#039;, you might need to refer to the CCG to get the orientation right for the name effect.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Engine Shed.jpg]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will need to create this, or something similar, in Max and animate the front doors, I used 50 frames.  Each door should be linked to its respective dummy and everything else, including the two door dummies themselves, should be linked to b.r.main at the centre of the object.  Make sure that &#039;&#039;a.tracka1&#039;&#039; and &#039;&#039;a.tracka3&#039;&#039; are aligned as shown, the alignment of &#039;&#039;a.tracka2&#039;&#039; doesn&#039;t matter.  &lt;br /&gt;
&lt;br /&gt;
When you have built the main shed you will need to make an entirely separate roof mesh, exported as &#039;&#039;roof.im.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you prefer you can [[Media:Tutorial.zip|click on this link]] to download a zip file containing all of the files you will need (except for &#039;&#039;config.txt&#039;&#039; and &#039;&#039;Tutorial.gs&#039;&#039; which you should copy and paste from these pages) The gmax source is also included, although it&#039;s not my best model.  Unzip the download to a folder on your hard drive, add your .txt and .gs files and drop the folder into CMP.&lt;br /&gt;
&lt;br /&gt;
Here is the config.txt with one or two comments added (which cmp will not allow you to retain).&lt;br /&gt;
&lt;br /&gt;
 kuid                          &amp;lt;&amp;lt;font color=red&amp;gt;&amp;lt;b&amp;gt;ADD YOUR OWN KUID&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;gt;&lt;br /&gt;
 username                      &amp;quot;Engine Shed Tutorial&amp;quot;&lt;br /&gt;
 kind                          buildable&lt;br /&gt;
 trainz-build                  2.5&lt;br /&gt;
 &lt;br /&gt;
 light                         1&lt;br /&gt;
 &lt;br /&gt;
 category-region               &amp;quot;00&amp;quot;&lt;br /&gt;
 category-era                  &amp;quot;2000s&amp;quot;&lt;br /&gt;
 category-class                &amp;quot;TF&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 script                        Tutorial&lt;br /&gt;
 class                         Tutorial&lt;br /&gt;
 &lt;br /&gt;
 mesh-table {&lt;br /&gt;
    default {&lt;br /&gt;
       mesh                    &amp;quot;shed.im&amp;quot;&lt;br /&gt;
       anim                    &amp;quot;shed.kin&amp;quot;&lt;br /&gt;
       auto-create             1&lt;br /&gt;
       effects {&lt;br /&gt;
          corona {&lt;br /&gt;
             kind              corona&lt;br /&gt;
             att               &amp;quot;a.corona&amp;quot;&lt;br /&gt;
             texture-kuid      &amp;lt;kuid:-3:10110&amp;gt;&lt;br /&gt;
             frequency         2&lt;br /&gt;
             directional       0&lt;br /&gt;
             object-size       0.15&lt;br /&gt;
          }&lt;br /&gt;
          name {&lt;br /&gt;
             kind              name&lt;br /&gt;
             fontsize          0.5 &lt;br /&gt;
             fontcolor         160,160,160&lt;br /&gt;
             att               &amp;quot;a.name&amp;quot;&lt;br /&gt;
             name&lt;br /&gt;
          }&lt;br /&gt;
          masonry {&lt;br /&gt;
             kind             &amp;quot;texture-replacement&amp;quot;&lt;br /&gt;
             texture          &amp;quot;brick.texture&amp;quot;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
    roof {&lt;br /&gt;
       mesh                    &amp;quot;roof.im&amp;quot;&lt;br /&gt;
       auto-create             0&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;font color=#808080&amp;gt;&lt;br /&gt;
 // There are two attached track segments, the front segment will auto-update when you attach&lt;br /&gt;
 // your track to it, the second will remain invisible and is only present because trains under&lt;br /&gt;
 // a drive command will not go to the end of a track. You may need to adjust the position of&lt;br /&gt;
 // &#039;&#039;a.tracka3&#039;&#039; to get the train to stop in the right place &amp;lt;/font&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 attached-track {&lt;br /&gt;
   track1 {&lt;br /&gt;
      track                   &amp;lt;kuid:-10:137&amp;gt;&lt;br /&gt;
      useadjoiningtracktype   1&lt;br /&gt;
      vertices {&lt;br /&gt;
         0                    &amp;quot;a.tracka1&amp;quot;&lt;br /&gt;
         1                    &amp;quot;a.tracka2&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   track2 {&lt;br /&gt;
      track                   &amp;lt;kuid:-10:137&amp;gt;&lt;br /&gt;
      useadjoiningtracktype   0&lt;br /&gt;
      vertices {&lt;br /&gt;
         0                    &amp;quot;a.tracka2&amp;quot;&lt;br /&gt;
         1                    &amp;quot;a.tracka3&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;font color=#808080&amp;gt;&lt;br /&gt;
 // This is the trigger which detects the approaching train. Since it has a &#039;&#039;track&#039;&#039; assignment&lt;br /&gt;
 // it will ignore trains on any parallel tracks in the same object.  You will find this a useful &lt;br /&gt;
 // device if you decide to turn this into a multi track shed.&amp;lt;/font&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 attached-trigger {&lt;br /&gt;
    trigger1 {&lt;br /&gt;
       att                     &amp;quot;a.tracka1&amp;quot;&lt;br /&gt;
       radius                  25&lt;br /&gt;
       track                   &amp;quot;track1&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Once you have all of this done create a script file called &#039;&#039;Tutorial.gs&#039;&#039; and add the following code. This does nothing other than turning off the corona. We will be adding to it in steps.&lt;br /&gt;
&lt;br /&gt;
 include &amp;quot;Buildable.gs&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 class Tutorial isclass Buildable {&lt;br /&gt;
 &lt;br /&gt;
    public void Init(void) {&lt;br /&gt;
      inherited();&lt;br /&gt;
      SetFXCoronaTexture(&amp;quot;corona&amp;quot;,null);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Now you should load the asset via CMP, commit it and make sure that it is error free and shows up correctly in the game. Don&#039;t worry that the roof is invisible, this is by design.&lt;br /&gt;
&lt;br /&gt;
When working with script it&#039;s usually advisable to add short sections of code and test them out thoroughly. Even though it will mean frequently restarting Trainz, it will be quicker to do this in the end. There are very few facilities for debugging and you can be reasonably sure that any errors or problems that you find will be connected to the last change you made. Don&#039;t forget to check the compilation before restarting Trainz, this will save you a lot of aggravation.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Next Tutorial: [[Automating Animations.]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Mesh-table&amp;diff=1417</id>
		<title>Mesh-table</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Mesh-table&amp;diff=1417"/>
		<updated>2010-03-25T09:38:19Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the new and preferred method of asset mesh placement for most mesh asset types. It gives flexibility and control for mesh placement and animations.&lt;br /&gt;
&lt;br /&gt;
As of TC 2, there are some asset types that cannot use a mesh-table. These include all Bridges, Tunnels, Rails, Pantographs and other Spline Objects (eg. Fences or Catenaries).&lt;br /&gt;
&lt;br /&gt;
===Example Mesh Table===&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default&lt;br /&gt;
   {&lt;br /&gt;
     mesh industry.lm&lt;br /&gt;
     anim anim.kin&lt;br /&gt;
     animation-loop-speed 1.0&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     effects&lt;br /&gt;
     {&lt;br /&gt;
       0&lt;br /&gt;
       {&lt;br /&gt;
         [[kind name]]&lt;br /&gt;
         fontsize 0.15&lt;br /&gt;
         fontcolor 30,30,30&lt;br /&gt;
         att a.name0&lt;br /&gt;
         name name&lt;br /&gt;
       }&lt;br /&gt;
       1&lt;br /&gt;
       {&lt;br /&gt;
         [[kind corona]]&lt;br /&gt;
         att a.coronawhite&lt;br /&gt;
         frequency 1&lt;br /&gt;
         directional 0&lt;br /&gt;
         texture-kuid &amp;lt;KUID:-3:10111&amp;gt;&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   default-night&lt;br /&gt;
   {&lt;br /&gt;
     mesh nightwindows/nightwindows.im&lt;br /&gt;
     night-mesh-base default&lt;br /&gt;
   }&lt;br /&gt;
   attachedanimation&lt;br /&gt;
   {&lt;br /&gt;
     mesh subdirectoryname/meshname.im&lt;br /&gt;
     anim subdirectoryname/animname.kin&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     att a.pointname&lt;br /&gt;
     att-parent default&lt;br /&gt;
     animation-loop-speed 1.0&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===default===&lt;br /&gt;
Default is the ‘main’ mesh of the asset.&lt;br /&gt;
&lt;br /&gt;
===mesh===&lt;br /&gt;
The ‘main’ mesh name. This may include a sub-path; &lt;br /&gt;
ie: mesh nightwindows/nightwindows.im, where the file nightwindows.im has been placed in the subdirectory nightwindows.&lt;br /&gt;
&lt;br /&gt;
Use .im files exported from 3dsmax (as opposed to .pm.) or reference an .lm file if you wish your asset to have ‘Level of Detail’ mesh reduction. A pantograph model still requires a .pm file.&lt;br /&gt;
&lt;br /&gt;
Level of detail is a process of using different model meshes, depending on how far the viewer is from the model. A finer mesh is used for close up viewing in Trainz.&lt;br /&gt;
&lt;br /&gt;
===anim===&lt;br /&gt;
The animation file (.kin) exported from 3dsmax. This may include a sub-path.&lt;br /&gt;
&lt;br /&gt;
===animation-loop-speed===&lt;br /&gt;
This tag must be here if the asset is to animate when placed. If this tag is not here when placed the animation will not play by default, but may play if controlled by script. A different value (e.g. 0.5, 2.0) may be used in the tag to play the animation at a different speed from that created in 3dsmax.&lt;br /&gt;
&lt;br /&gt;
===auto-create 1===&lt;br /&gt;
The model is generated automatically when placed, or when you load a map which includes the model. In some instances you don’t want the mesh visible (as this may be controlled through script). If auto-create is 0 the mesh will not be visible when placed.&lt;br /&gt;
&lt;br /&gt;
===default-night===&lt;br /&gt;
‘Main’ night window mesh on scenery and industry and traincar assets. Modeled to the same 3d space as the default mesh and is inserted at the default mesh origin.&lt;br /&gt;
&lt;br /&gt;
===night-mesh-base default===&lt;br /&gt;
This night mesh is linked to the default mesh and is visible only at night. It is invisible if the ‘default’ mesh is invisible, (if the auto-create 0 line were used so the default mesh can be controlled by script).&lt;br /&gt;
&lt;br /&gt;
===att===&lt;br /&gt;
The mesh (and animation if present) is inserted at a mesh attachment point rather than the origin (without this line the mesh is placed relative to the origin of the parent model).&lt;br /&gt;
&lt;br /&gt;
===att-parent name===&lt;br /&gt;
The tag tells Trainz in which mesh the attachment point is located. The insertion attachment point is located within the mesh ‘name’ , as listed in the config.txt.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Autodesk_3ds_Max_Exporters&amp;diff=1416</id>
		<title>Autodesk 3ds Max Exporters</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Autodesk_3ds_Max_Exporters&amp;diff=1416"/>
		<updated>2010-03-25T09:37:40Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Current Exporters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auran uses Autodesk 3DS Max for internal modeling needs. At the current time, this is the only Auran-supported tool for creating models for the Trainz environment. Auran supplies exporters for the following Max versions for TS2009:&lt;br /&gt;
&lt;br /&gt;
* Max 4&lt;br /&gt;
* Max 5&lt;br /&gt;
* Max 6&lt;br /&gt;
* Max 7&lt;br /&gt;
* Max 8&lt;br /&gt;
* Max 9&lt;br /&gt;
* Max 2008&lt;br /&gt;
&lt;br /&gt;
Supported exporters may be [[Downloads | downloaded here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installing an Exporter&#039;&#039;&#039;&lt;br /&gt;
#Have a supported version of 3DS Max installed. Have the downloaded exporters archive available. (*) &lt;br /&gt;
#Unzip or extract the exporters archive to your Desktop or other handy location. &lt;br /&gt;
#Locate the exporter version to match your version of 3DS Max. &lt;br /&gt;
#Copy the exporter .DLE file to your 3DS Max plugins folder. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example. If 3DS Max is installed in &lt;br /&gt;
&lt;br /&gt;
C:\Program Files\Autodesk\3ds Max 2008 &lt;br /&gt;
&lt;br /&gt;
Copy &#039;JetExporter.dle&#039; into the plugin folder so it ends up: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files\Autodesk\3ds Max 2008\plugins\JetExporter.dle &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(*) You will also need up-to-date Microsoft Run Time Libraries for the exporter to load and run correctly.&lt;br /&gt;
Although run time libraries ship with your operating system, they are usually out of date.  There is never&lt;br /&gt;
any harm in updating your libraries, as the installer will simply add the files you are missing.  If you&lt;br /&gt;
don&#039;t have a compatible library version installed, the software will not run and you will likely see an&lt;br /&gt;
ambiguous message like &#039;&#039;&amp;quot;This application has failed to start because the application configuration is incorrect.&amp;quot;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What are Run Time Libraries?&lt;br /&gt;
&lt;br /&gt;
Have you noticed that when you run different Windows applications, they often look similar, with familiar&lt;br /&gt;
buttons, menus and dialog boxes?  That is because they share bits of program in libraries, usually packaged&lt;br /&gt;
as .DLL files.  As time passes, newer versions of these shared libraries are distributed, with the latest&lt;br /&gt;
version shipping with your operating system at that time.  Anyway, you need them, and if you don&#039;t have them&lt;br /&gt;
they are freely available for download from Microsoft:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) (~2.6 MB) &lt;br /&gt;
[http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&amp;amp;displaylang=en Download From Microsoft]&lt;br /&gt;
&lt;br /&gt;
Microsoft .NET Framework Version 2.0 Redistributable Package (x86) (~22.4 MB) &lt;br /&gt;
[http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;amp;displaylang=en Download From Microsoft]&lt;br /&gt;
 &lt;br /&gt;
Follow the instructions on the web page, but you typically just download the .exe file and run it to update your system. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To test the exporter:&#039;&#039;&#039;&lt;br /&gt;
# Start 3D Studio (it should load without unusual error messages)&lt;br /&gt;
# Click File -&amp;gt; Export&lt;br /&gt;
# Save as type, drop down and select &#039;&#039;Trainz format (*.IM, *.KIN)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If an error occurs while loading 3D Studio, or the &#039;&#039;Trainz format&#039;&#039; save type is not present in the Export dialog, carefully read the installation instructions again and repeat the process.  If you have copied the files to the wrong location, carefully check that the file names match those of the Trainz Exporter before deleting those files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Uninstalling the exporter&#039;&#039;&#039;&lt;br /&gt;
# Locate the 3DS Max plugin folder&lt;br /&gt;
# Delete JetExporter.dle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Older versions of the exporter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Auran previously distributed a gmax bundle including a Trainz exporter. The output from this exporter remains compatible with TS2009, however the gmax exporter lacks support for many Trainz features which are considered mandatory for TS2009 content. Auran is unable to provide updated versions of the gmax exporter as the third-party gmax application software has long since been discontinued.&lt;br /&gt;
&lt;br /&gt;
Auran has previously released a Max 3 exporter, however this lacks support for many Trainz features which are considered mandatory for TS2009 content.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To remove older versions of the exporter, locate your plugins folder and remove these files:  &lt;br /&gt;
&lt;br /&gt;
*JetExporter.dle &lt;br /&gt;
*JetExporter\AnimationExport.dll &lt;br /&gt;
*JetExporter\GenericMeshExport.dll &lt;br /&gt;
*JetExporter\IndexedMeshExport.dll &lt;br /&gt;
*JetExporter\ProgressiveMeshExport.dll&lt;br /&gt;
*JetExporter\JetExporter.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other ways to get models and animations into Trainz&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A XML import format is now available, which allows 3D data, potentially from any source to be used in Trainz.&lt;br /&gt;
For more information, please visit:  [[Trainz Mesh Importer]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=List_of_Standard_Messages&amp;diff=1415</id>
		<title>List of Standard Messages</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=List_of_Standard_Messages&amp;diff=1415"/>
		<updated>2010-03-25T09:35:52Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TrainzScript Language Reference|API Hierarchy]]&lt;br /&gt;
&lt;br /&gt;
*This list is a first step towards documenting Trainz use of messages. It has been generated by scanning one or two copies of jetlog.txt from TC, together with the TC scripts folder and the TRS2006 copy of index.chm. There are probably many standard messages missing and there are some obscure ones listed. Please add anything that is missing. I will progressively link and document the list. &lt;br /&gt;
__NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|rules=&amp;quot;rows&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; width=&amp;quot;95%&amp;quot; style=&amp;quot;border-collapse:collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;15&amp;quot;|&lt;br /&gt;
|width=&amp;quot;250&amp;quot;|Message&lt;br /&gt;
|width=&amp;quot;165&amp;quot;|Source &amp;amp; Destination&lt;br /&gt;
|Purpose&lt;br /&gt;
|&lt;br /&gt;
{{IndexSplit|A}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Animation-Event Message|Animation-Event,&#039;&#039;eventname&#039;&#039;]]&lt;br /&gt;
|meshobject &amp;gt; meshobject&lt;br /&gt;
|Sent when an animation triggers an event. These events are included in *.kin files generated by Max when the &#039;Query for Event&#039; box is checked during animation export.  They are used to enable code to be executed in sync with animations.&lt;br /&gt;
{{IndexSplit|B}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|BaseIndustry,LoadComplete&lt;br /&gt;
|industry &amp;gt; industry&lt;br /&gt;
|Sent when an industry loading operation has completed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Browser Messages|Browser-Closed,&#039;&#039;null&#039;&#039;]]&lt;br /&gt;
|browser &amp;gt; broadcast&lt;br /&gt;
|Sent when any in game browser is closed.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Browser-Key,ScriptObjectives&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|Sent by Trainz in response to a ScriptObjectives hotkey press. Obsolete?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Browser Messages|Browser-URL,&#039;&#039;live://linkname&#039;&#039;]]&lt;br /&gt;
|browser &amp;gt; broadcast&lt;br /&gt;
|Sent when the user clicks in a link in a custom browser&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Build,Cancelled&lt;br /&gt;
|? &amp;gt; buildable&lt;br /&gt;
|Not generally used. Intended for RTS-style gameplay where individual industries (etc) start in an unbuilt state and can be built at some resource cost during gameplay.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Build,Completed&lt;br /&gt;
|? &amp;gt; buildable&lt;br /&gt;
|Not generally used. Intended for RTS-style gameplay where individual industries (etc) start in an unbuilt state and can be built at some resource cost during gameplay.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Build,Started&lt;br /&gt;
|? &amp;gt; buildable&lt;br /&gt;
|Not generally used. Intended for RTS-style gameplay where individual industries (etc) start in an unbuilt state and can be built at some resource cost during gameplay.&lt;br /&gt;
{{IndexSplit|C}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Camera Messages|Camera,Interior-Changed]]&lt;br /&gt;
|new train? &amp;gt; broadcast&lt;br /&gt;
|Sent when a different train is selected.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Camera Messages|Camera,Target-Changed]]&lt;br /&gt;
|new target? &amp;gt; broadcast&lt;br /&gt;
|Sent when the camera selects a different target, may not be a train.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Camera Messages|Camera,External-View]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent when the camera mode is changed.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Camera Messages|Camera,Internal-View]]&lt;br /&gt;
|? &amp;gt; Broadcast&lt;br /&gt;
|Sent when the camera mode is changed.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Camera Messages|Camera,Roaming-View]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent when the camera mode is changed.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Camera Messages|Camera,Tracking-View]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent when the camera mode is changed.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Check,Speed&lt;br /&gt;
|vehicle &amp;gt; vehicle&lt;br /&gt;
|Sent continuously to ensure that jetlog isn&#039;t allowed to remain legible :-)&lt;br /&gt;
{{IndexSplit|D}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|DriverCharacter,BoardedTrain&lt;br /&gt;
|driver &amp;gt; broadcast&lt;br /&gt;
|Sent when a driver boards a train&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|DriverCharacter,Created&lt;br /&gt;
|driver &amp;gt; broadcast&lt;br /&gt;
|Sent when a driver character is initialised&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|DriverCharacter,LeftTrain&lt;br /&gt;
|driver &amp;gt; broadcast&lt;br /&gt;
|Sent when a driver leaves a train&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|DriverDisplay,ResetTripMeter&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|DriverModule,DCC-Panel-Created]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent when driver selection widget has been created&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|DriverSetup,CharactersDone&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent when driver characters have been initialised&lt;br /&gt;
{{IndexSplit|G}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GenericIndustry,LoadComplete&lt;br /&gt;
|industry &amp;gt; industry&lt;br /&gt;
|Sent when an industry loading operation has completed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|GenericIndustry,ProcessComplete&lt;br /&gt;
|industry &amp;gt; industry&lt;br /&gt;
|Sent when an industry process has completed&lt;br /&gt;
{{IndexSplit|H}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|HandleTrain,Release&lt;br /&gt;
|industry &amp;gt; train&lt;br /&gt;
|Sent when an industry loading operation has completed&lt;br /&gt;
{{IndexSplit|I}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface,ClickSystemButton]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,MapViewOff]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent when the minimap is opened&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,MapViewOn]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent when the minimap is closed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Minimap-Mouse-Enter]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Minimap-Mouse-Leave]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,New-Driver-Message]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Mouse-Enter]]&lt;br /&gt;
|object &amp;gt; broadcast&lt;br /&gt;
|Sent on mouseover an object&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Mouse-Leave]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent on mouseout of an object&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Set-Metric-Mode]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent when the interface units are changed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Toggle-Interface]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent when the main HUD is turned on or off&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Toggle-ButtonBar]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Toggle-CustomHUD]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Toggle-VehicleControls]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Left-Click]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|Interface-Event,Surveyor-Left-Click]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
{{IndexSplit|J}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Junction,Enter]]&lt;br /&gt;
|junction &amp;gt; train&lt;br /&gt;
|Sent when a train enters a junction&#039;s outer area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Junction,InnerEnter]]&lt;br /&gt;
|junction &amp;gt; train&lt;br /&gt;
|Sent when a train enters a junction&#039;s inner area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Junction,InnerLeave]]&lt;br /&gt;
|junction &amp;gt; train&lt;br /&gt;
|Sent when a train leaves a junction&#039;s inner area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Junction,Leave]]&lt;br /&gt;
|junction &amp;gt; train&lt;br /&gt;
|Sent when a train leaves a junction&#039;s outer area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Junction,Stopped]]&lt;br /&gt;
|junction &amp;gt; train&lt;br /&gt;
|Sent when a train stops in a junction trigger area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Junction,Toggled&lt;br /&gt;
|junction &amp;gt; broadcast&lt;br /&gt;
|Sent when a junctionbase object is toggled&lt;br /&gt;
{{IndexSplit|M}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[MapObject Messages|MapObject,View-Details]]&lt;br /&gt;
|? &amp;gt; object&lt;br /&gt;
|Sent when the user right-clicks an object and selects &#039;View Details&#039; from the resulting menu, some assets provide a built-in browser in response to this message.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[MapObject Messages|MapObject,View-Schedule]]&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|Sent when the user right-clicks an object and selects &#039;View Schedule&#039; from the resulting menu. The vehicle must have a timetable for this menu item to be displayed.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|MeshObject-Click,*&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
{{IndexSplit|O}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Enter]]&lt;br /&gt;
|crossing &amp;gt; crossing&lt;br /&gt;
|Train has entered crossing trigger area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Leave]]&lt;br /&gt;
|crossing &amp;gt; crossing&lt;br /&gt;
|Train has left crossing trigger area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Enter]]&lt;br /&gt;
|train &amp;gt; junction&lt;br /&gt;
|Sent when a train enters a junction&#039;s outer area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,InnerEnter]]&lt;br /&gt;
|train &amp;gt; junction&lt;br /&gt;
|Sent when a train enters a junction&#039;s inner area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,InnerLeave]]&lt;br /&gt;
|train &amp;gt; junction&lt;br /&gt;
|Sent when a train leaves a junction&#039;s inner area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Leave]]&lt;br /&gt;
|train &amp;gt; junction&lt;br /&gt;
|Sent when a train leaves a junction&#039;s outer area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Stopped]]&lt;br /&gt;
|train &amp;gt; junction&lt;br /&gt;
|Sent when a train stops in a junction trigger area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Enter]]&lt;br /&gt;
|train &amp;gt; trackmark&lt;br /&gt;
|Sent when a train enters a trackmark&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Leave]]&lt;br /&gt;
|train &amp;gt; trackmark&lt;br /&gt;
|Sent when a train leaves a trackmark&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Stopped]]&lt;br /&gt;
|train &amp;gt; trackmark&lt;br /&gt;
|Sent when a train stops at a trackmark&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Enter]]&lt;br /&gt;
|train &amp;gt; trigger&lt;br /&gt;
|Sent when a train enters a trigger&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Leave]]&lt;br /&gt;
|train &amp;gt; trigger&lt;br /&gt;
|Sent when a train leaves a trigger&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Stopped]]&lt;br /&gt;
|train &amp;gt; trigger&lt;br /&gt;
|Sent when a train stops at a trigger&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Enter]]&lt;br /&gt;
|vehicle &amp;gt; scenerywithtrack&lt;br /&gt;
|Sent when a vehicle enters a scenery trigger&#039;s outer area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,InnerEnter]]&lt;br /&gt;
|vehicle &amp;gt; scenerywithtrack&lt;br /&gt;
|Sent when a vehicle enters a scenery trigger&#039;s inner area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,InnerLeave]]&lt;br /&gt;
|vehicle &amp;gt; scenerywithtrack&lt;br /&gt;
|Sent when a vehicle leaves a scenery trigger&#039;s inner area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Leave]]&lt;br /&gt;
|vehicle &amp;gt; scenerywithtrack&lt;br /&gt;
|Sent when a vehicle leaves a scenery trigger&#039;s outer area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Object,Stopped]]&lt;br /&gt;
|vehicle &amp;gt; scenerywithtrack&lt;br /&gt;
|Sent when a train stops in a scenery trigger&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|OnlineAccess,ReceiveMessage&lt;br /&gt;
|? &amp;gt; onlineaccess&lt;br /&gt;
|Message awaiting collection&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|OnlineAccess,StatusChange&lt;br /&gt;
|? &amp;gt; onlineaccess&lt;br /&gt;
|Network status change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|OnlineGroup,StatusChange&lt;br /&gt;
|? &amp;gt; onlinegroup&lt;br /&gt;
|Network status change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|OnlineGroup,UsersChange&lt;br /&gt;
|? &amp;gt; onlinegroup&lt;br /&gt;
|Network users change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|OnlineGroup.UserRemoved,*&lt;br /&gt;
|? &amp;gt; onlinegroup&lt;br /&gt;
|Network users change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|OnlineGroup.UserAdded,*&lt;br /&gt;
|? &amp;gt; onlinegroup&lt;br /&gt;
|Network users change&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|OnlineGroup.UserStatus,*&lt;br /&gt;
|? &amp;gt; onlinegroup&lt;br /&gt;
|Network users change&lt;br /&gt;
{{IndexSplit|P}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Permit,Granted&lt;br /&gt;
|? &amp;gt; objectrequesting&lt;br /&gt;
|Sent when a track or junction permit is granted&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|PortalTunnel,EmitTrain&lt;br /&gt;
|portal &amp;gt; portal&lt;br /&gt;
|Sent when a portal produces a train&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[pfx Message|pfx,&#039;&#039;particledata&#039;&#039;]]&lt;br /&gt;
|script &amp;gt; object&lt;br /&gt;
|Sent by script to control particle effects&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Process-Start,&#039;&#039;processname&#039;&#039;&lt;br /&gt;
|industry &amp;gt; industry&lt;br /&gt;
|Sent when an industry process has started&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Process-Stop,&#039;&#039;processname&#039;&#039;&lt;br /&gt;
|industry &amp;gt; industry&lt;br /&gt;
|Sent when an industry process has completed&lt;br /&gt;
{{IndexSplit|S}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Scenario,KillMonitor&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|Sent to terminate a scenario thread&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Scenario,Quit&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|Sent to terminate a scenario&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|ScenarioBehaviour,Touch&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|Called on a parent rule when the child rule completes. May also indicate other state changes.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|SceneryTrigger,Enter]]&lt;br /&gt;
|scenerywithtrack &amp;gt; vehicle&lt;br /&gt;
|Sent when a vehicle enters a scenery trigger&#039;s outer area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|SceneryTrigger,InnerEnter]]&lt;br /&gt;
|scenerywithtrack &amp;gt; vehicle&lt;br /&gt;
|Sent when a vehicle enters a scenery trigger&#039;s inner area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|SceneryTrigger,InnerLeave]]&lt;br /&gt;
|scenerywithtrack &amp;gt; vehicle&lt;br /&gt;
|Sent when a vehicle leaves a scenery trigger&#039;s inner area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|SceneryTrigger,Leave]]&lt;br /&gt;
|scenerywithtrack &amp;gt; vehicle&lt;br /&gt;
|Sent when a vehicle leaves a scenery trigger&#039;s outer area&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|SceneryTrigger,Stopped]]&lt;br /&gt;
|scenerywithtrack &amp;gt; vehicle&lt;br /&gt;
|Sent when a train stops in a scenery trigger&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Schedule,Abort&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Sent when a command schedule is abandoned&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Schedule,Complete&lt;br /&gt;
|train &amp;gt; broadcast&lt;br /&gt;
|Sent when a command schedule is completed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Schedule,Touch&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Sent when a Train&#039;s AI schedule state is modified (see Train.StopSchedule()) and sniffed by DriverCharacter to implement DriverCommand support.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Signal Messages|Signal,StateChanged]]&lt;br /&gt;
|signal &amp;gt; broadcast&lt;br /&gt;
|Signal aspect has changed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|StationMain.Timer,Tick&lt;br /&gt;
|station &amp;gt; station&lt;br /&gt;
|Sent by stations to initiate a periodic update&lt;br /&gt;
{{IndexSplit|T}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Timer,Tick&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|A common custom message used by various scripts to implement timed polling.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Timetable,&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Trackmark,Enter]]&lt;br /&gt;
|trackmark &amp;gt; train&lt;br /&gt;
|Sent when a train enters a trackmark&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Trackmark,Leave]]&lt;br /&gt;
|trackmark &amp;gt; train&lt;br /&gt;
|Sent when a train leaves a trackmark&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Trackmark,Stopped]]&lt;br /&gt;
|trackmark &amp;gt; train&lt;br /&gt;
|Sent when a train stops at a trackmark&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Signal Messages|Train,Entered red signal]]&lt;br /&gt;
|signal &amp;gt; train&lt;br /&gt;
|Train has entered signal&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Signal Messages|Train,Entered red signal notify]]&lt;br /&gt;
|train &amp;gt; broadcast&lt;br /&gt;
|Train has entered signal&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Signal Messages|Train,Passed Signal]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Over speed limit]]&lt;br /&gt;
|train &amp;gt; broadcast&lt;br /&gt;
|Sent when a train exceeds the current speed limit.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Under speed limit]]&lt;br /&gt;
|train &amp;gt; broadcast&lt;br /&gt;
|Sent when a train slows below the current speed limit.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Over advisory speed limit]]&lt;br /&gt;
|train &amp;gt; broadcast&lt;br /&gt;
|Sent when a train exceeds the current advisory speed limit.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Under advisory speed limit]]&lt;br /&gt;
|train &amp;gt; broadcast&lt;br /&gt;
|Sent when a train slows below the current advisory speed limit.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Over floating speed limit]]&lt;br /&gt;
|train &amp;gt; broadcast&lt;br /&gt;
|Sent when a train exceeds the floating speed limit.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Under floating speed limit]]&lt;br /&gt;
|train &amp;gt; broadcast&lt;br /&gt;
|Sent when a train slows below the floating speed limit.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Cleanup]]&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|Sent immediately prior to the destruction of a Train object, to allow certain scripts to clean up their state.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Deleted]]&lt;br /&gt;
|train &amp;gt; ?&lt;br /&gt;
|Sent when a train is deleted from the train list. This will also occur when two trains couple to form a new train.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,ThreadAITrainStoppedMovingFailed&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Internal Train.gs implementation- sent when the AI fails to enter the expected junction.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,CommandCoupleVehicleTimer&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Internal Train.gs implementation- sent when the AI fails to couple in a two-second window.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,CommandReverseTrain.Pulse&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Internal Train.gs implementation- sent when the AI fails to take permits to reverse a train within a 20-second window.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,DriverBoarded]]&lt;br /&gt;
|train &amp;gt; driver&lt;br /&gt;
|Sent when a driver boards a train&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,NotifyBell&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Sent when the interface bell button is clicked&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,NotifyHeadlights&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Sent when the interface headlight button is clicked&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,NotifyHorn&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Sent when the interface horn button is clicked&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,NotifyPantographs&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Sent when the interface pantograph button is clicked&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,NotifySanding&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,TurnAround&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,ReachedTarget]]&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|Sent by Trainz when a train reaches the specified Autopilot Target Position.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,SlowingForTarget]]&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Sent by Trainz when the train begins to slow on approach to a specified Autopilot Target Position.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Handbrake-Apply]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,Handbrake-Release]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,StartedMoving]]&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Sent when a train starts to move&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,StoppedMoving]]&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|Sent when a train stops&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Train Messages|Train,ThrottleChanged]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train,Tick&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Train,EnterTrack]]&lt;br /&gt;
|track &amp;gt; train&lt;br /&gt;
|Sent when a train enters a track section&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Train,InnerEnterTrack]]&lt;br /&gt;
|track &amp;gt; train&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Train,InnerLeaveTrack]]&lt;br /&gt;
|track &amp;gt; train&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Train,LeaveTrack]]&lt;br /&gt;
|track &amp;gt; train&lt;br /&gt;
|Sent when a train leaves a track section&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Train.ThreadAITrainStuck,Touch&lt;br /&gt;
|train &amp;gt; train&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|TrainTimetable,Touch&lt;br /&gt;
|? &amp;gt; ?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Trigger,Enter]]&lt;br /&gt;
|trigger &amp;gt; train&lt;br /&gt;
|Sent when a train enters a trigger&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Trigger,Leave]]&lt;br /&gt;
|trigger &amp;gt; train&lt;br /&gt;
|Sent when a train leaves a trigger&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Object Messages|Trigger,Stopped]]&lt;br /&gt;
|trigger &amp;gt; train&lt;br /&gt;
|Sent when a train stops at a trigger&lt;br /&gt;
{{IndexSplit|V}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Vehicle Messages|Vehicle,BadCouple]]&lt;br /&gt;
|vehicle &amp;gt; broadcast&lt;br /&gt;
|Sent when a vehicle couples at excessive speed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Vehicle Messages|Vehicle,Collided]]&lt;br /&gt;
|vehicle &amp;gt; broadcast&lt;br /&gt;
|Sent on a collision between vehicles&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Vehicle Messages|Vehicle,Coupled]]&lt;br /&gt;
|vehicle &amp;gt; broadcast&lt;br /&gt;
|Sent when a vehicle couples to another&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Vehicle Messages|Vehicle,Decoupled]]&lt;br /&gt;
|vehicle &amp;gt; broadcast&lt;br /&gt;
|Sent when a vehicle uncouples from another&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Vehicle Messages|Vehicle,Derailed]]&lt;br /&gt;
|vehicle &amp;gt; broadcast&lt;br /&gt;
|Sent when a vehicle is derailed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Vehicle,LoadComplete&lt;br /&gt;
|industry &amp;gt; vehicle&lt;br /&gt;
|Sent when loading of a vehicle from an industry is complete&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Vehicle,Coupler breakage&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Vehicle,Coupler breakage notify&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Vehicle,Coupler Repaired&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
{{IndexSplit|W}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|WaybillManager,WaybillsWindowShown]]&lt;br /&gt;
|waybillmanager &amp;gt; broadcast&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[Interface Messages|WaybillManager,WaybillsWindowHidden]]&lt;br /&gt;
|waybillmanager &amp;gt; broadcast&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[ModuleInit Message|World,ModuleInit]]&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent whenever TRS switches to Driver, Surveyor or Railyard modes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|World,Paused&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|World,Unpaused&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|World,Day&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent 1.) at ca. 05:45 ~ 0.739409 Gametime 2.) sometimes when TS starts Driver&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|World,Night&lt;br /&gt;
|? &amp;gt; broadcast&lt;br /&gt;
|Sent 1.) at ca. 18:15 ~ 0.260611 GameTime 2.) whenever TS starts Driver or Surveyor and Playtime is beween 18:15 and 05:45 3.) sometimes when TS switched to Driver or Surveyor&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Kind_name&amp;diff=1414</id>
		<title>Kind name</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Kind_name&amp;diff=1414"/>
		<updated>2010-03-25T09:35:39Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some assets may have editable signs. When you set an asset’s name in surveyor through the Edit Properties icon (‘?’ icon) the signage can be set-up to automatically update. The variables can be set for each sign.&lt;br /&gt;
&lt;br /&gt;
Typical Kind Name mesh table set-up:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default&lt;br /&gt;
   {&lt;br /&gt;
     mesh industry.lm&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     effects&lt;br /&gt;
     {&lt;br /&gt;
       0&lt;br /&gt;
       {&lt;br /&gt;
         kind name&lt;br /&gt;
         font garamond&lt;br /&gt;
         fontsize 0.15&lt;br /&gt;
         fontcolor 30,30,30&lt;br /&gt;
         att a.name0&lt;br /&gt;
         name name&lt;br /&gt;
       }&lt;br /&gt;
       1&lt;br /&gt;
       {&lt;br /&gt;
         kind name&lt;br /&gt;
         font swiss&lt;br /&gt;
         fontsize 0.3&lt;br /&gt;
         fontcolor 30,30,30&lt;br /&gt;
         att a.name1&lt;br /&gt;
         name name&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
You do not have to use the 0,1,2... block naming convention.&lt;br /&gt;
&lt;br /&gt;
For the name effects described in the example, 0 could easily be mainsign or something more relevant to your model.&lt;br /&gt;
&lt;br /&gt;
Setting unique names may be useful for script purposes, so you can easily recognize a script reference, for instance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Breakdown of KIND NAME:==&lt;br /&gt;
===kind name===&lt;br /&gt;
The effect kind&lt;br /&gt;
===font===&lt;br /&gt;
Only supported in Trainz Classics and later&lt;br /&gt;
&lt;br /&gt;
The name of the font - refer to the list of names below:&lt;br /&gt;
 arial&lt;br /&gt;
 console&lt;br /&gt;
 comic_sans&lt;br /&gt;
 courier&lt;br /&gt;
 cordia&lt;br /&gt;
 century_gothic&lt;br /&gt;
 garamond&lt;br /&gt;
 helvetica&lt;br /&gt;
 impact&lt;br /&gt;
 sans_serif&lt;br /&gt;
 swiss&lt;br /&gt;
 tahoma&lt;br /&gt;
 times_new_roman&lt;br /&gt;
 verdana&lt;br /&gt;
All these fonts have a base size of 24 points. This size is varied by using the fontsize tag (a multiplying factor of the default font size) in the config.txt file.&lt;br /&gt;
&lt;br /&gt;
===fontsize===&lt;br /&gt;
The size of the font as a fraction of the original default font size, eg. 0.15 is 15% of the default size of 24 points.&lt;br /&gt;
&lt;br /&gt;
There is an additional larger default font size that has been used in TC which is available for use. This is referenced by the in-game name, mainmenu_titles, not by the more usual “font” name Arial. By using this larger font (80 points) and specifying a font size factor, better quality may be obtained for the name text on the created asset.&lt;br /&gt;
&lt;br /&gt;
mainmenu_titles&lt;br /&gt;
===fontcolor===&lt;br /&gt;
The color of the sign text in r.g.b.&lt;br /&gt;
===att===&lt;br /&gt;
The sign text insertion point (part of the mesh). The attachment point must be orientated correctly in 3dsmax.&lt;br /&gt;
&lt;br /&gt;
Points are placed in top view in 3dsmax. When aligning the point in 3dsmax, click on the Hierarchy - Affect Pivot Only option to examine the axis direction, turn off the Affect Pivot Only selection, and rotate the point itself to the correct orientation. Click on the Affect Pivot Only option again to check the new alignment. Make sure you rotate the point, not the axis.&lt;br /&gt;
===name===&lt;br /&gt;
The default text when placed&lt;br /&gt;
&lt;br /&gt;
When name name is specified, it uses the asset’s changeable name option, changed through the Edit Properties icon (the ‘?’ icon) in Surveyor.&lt;br /&gt;
&lt;br /&gt;
If name Graceland (for example) were used, the sign would never be able to be changed, even though the user may have changed the asset’s name in Surveyor.&lt;br /&gt;
&lt;br /&gt;
When you use the name tag, this name will appear in the minimap. In some instances the names will be hard to distinguish in a crowded map. For this reason, it may be advisable to limit the use of the name tag to objects that have a use for the attribute.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Index_of_Tags_%26_Containers&amp;diff=1413</id>
		<title>Index of Tags &amp; Containers</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Index_of_Tags_%26_Containers&amp;diff=1413"/>
		<updated>2010-03-25T09:35:24Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#ffffcc;&amp;quot;&lt;br /&gt;
|width=15%|Tag or Container&lt;br /&gt;
|width=15%|Data Type&lt;br /&gt;
|width=15%|Parent&lt;br /&gt;
|width=15%|Applies to&lt;br /&gt;
|width=40%|Description&lt;br /&gt;
|-&lt;br /&gt;
|accel&lt;br /&gt;
|float,float&lt;br /&gt;
|smoke {&lt;br /&gt;
|smoke block&lt;br /&gt;
|Acceleration. First number is Gravity effect, second is wind effect. Default is 0,0.&lt;br /&gt;
|-&lt;br /&gt;
|adhesion&lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|air-drag-coefficient &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|alias&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Kuid of the asset to be referenced as a basis for the new asset. For example TRS Traincars can reference archived locomotive mesh assets for use with custom textures. This process is done by aliasing the KUID of the archived traincars.&lt;br /&gt;
|-&lt;br /&gt;
|alias&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|paintshed-skin&lt;br /&gt;
|the kuid of the paintshed template the paintshed reskin is based on&lt;br /&gt;
|-&lt;br /&gt;
|allowed-categories {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|The allowed product categories in this queue.&lt;br /&gt;
|-&lt;br /&gt;
|allowed-products {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|The allowed products in this queue.&lt;br /&gt;
|-&lt;br /&gt;
|allows-mixing&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|product&lt;br /&gt;
|Products with this tag may be combined in a single queue along with other products of the same category. Eg. Lumber and 20ft Container on a flatcar. By default, allows-mixing is set to 0. Therefore by default, a queue will only allow one product-category at a time. To look at allows-mixing from another angle, liquid products should never have allows-mixing enabled. Otherwise you have the potential to mix petrol with oil within the same tanker.&lt;br /&gt;
|-&lt;br /&gt;
|altitude&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|region&lt;br /&gt;
|altitude of this region&lt;br /&gt;
|-&lt;br /&gt;
|ambient&lt;br /&gt;
|boolean&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|0 or 1, default 0 is off. Ambient sounds have no 3D “position” and may be stereo. Non-ambient (positional) sounds are positioned on the object and must be mono - see attachment above&lt;br /&gt;
|-&lt;br /&gt;
|amount&lt;br /&gt;
|float&lt;br /&gt;
|inputs-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Amount required as input.&lt;br /&gt;
|-&lt;br /&gt;
|amount&lt;br /&gt;
|float&lt;br /&gt;
|outputs-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Amount to output.&lt;br /&gt;
|-&lt;br /&gt;
|angle&lt;br /&gt;
|float list degrees&lt;br /&gt;
|config.txt&lt;br /&gt;
|turntable&lt;br /&gt;
|Specifies the angles at which the turntable stops. Not used if the turntable is set up as animation.&lt;br /&gt;
|-&lt;br /&gt;
|angles&lt;br /&gt;
|float list&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|Rotational boundaries in radians relative to its attachment point.&lt;br /&gt;
|-&lt;br /&gt;
|anim&lt;br /&gt;
|[path/]filename.kin&lt;br /&gt;
|config.txt&lt;br /&gt;
|pantograph&lt;br /&gt;
|The “anim.kin” animation file for the pantograph&lt;br /&gt;
|-&lt;br /&gt;
|anim&lt;br /&gt;
|[path/]filename.kin&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|animation effect&lt;br /&gt;
|Reference to the animation file (.kin)&lt;br /&gt;
|-&lt;br /&gt;
|anim&lt;br /&gt;
|[path/]filename.kin&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The animation file (.kin) exported from 3dsmax.&lt;br /&gt;
|-&lt;br /&gt;
|animated-mesh&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Animated mesh which changes as the queue becomes full.&lt;br /&gt;
|-&lt;br /&gt;
|animation-loop-speed&lt;br /&gt;
|float&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|This tag must be here if the asset is to animate when placed. If this tag is not here when placed the animation will not play by default, but may play if controlled by script. A different value (e.g. 0.5, 2.0) may be used in the tag to play the animation at a different speed from that created in 3dsmax.&lt;br /&gt;
|-&lt;br /&gt;
|animdist&lt;br /&gt;
|float&lt;br /&gt;
|config.txt&lt;br /&gt;
|bogey&lt;br /&gt;
|Leave this tag out if the bogey is not animated. The distance traveled in meters by the bogeys in 1 second (30 frames) of animation. Bogey animations (exported from 3ds Max) are called “anim.kin”.&lt;br /&gt;
|-&lt;br /&gt;
|asset-filename&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Obsolete&lt;br /&gt;
|-&lt;br /&gt;
|att&lt;br /&gt;
|helper&lt;br /&gt;
|attached-trigger-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Attachment point (stored in the mesh file)&lt;br /&gt;
|-&lt;br /&gt;
|att&lt;br /&gt;
|helper&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|The effect insertion point. The attachment point must be orientated correctly in 3dsmax.&lt;br /&gt;
|-&lt;br /&gt;
|att&lt;br /&gt;
|helper&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The mesh (and animation if present) is inserted at a mesh attachment point rather than the origin (without this line the mesh is placed relative to the origin of the parent model).&lt;br /&gt;
|-&lt;br /&gt;
|attached-track {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery with track&lt;br /&gt;
|Auto-generated spline track. Generated through attachment points located within the default mesh. Attached-tracks update automatically to the spline track connected to it. You may over-ride this auto-update feature by adding useadjoiningtracktype 0 Note. Correct track end attachment orientation is essential. The Y axis must point ‘out’ at the correct angle. The Z axis must point ‘up’.&lt;br /&gt;
|-&lt;br /&gt;
|attached-track-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|attached-track {&lt;br /&gt;
|scenery with track&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|attached-trigger {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|industry&lt;br /&gt;
|A Trigger is a point along an attached track with a specified radius. When a compatible rollingstock item enters this radius it triggers a set of commands,controlled through its script.&lt;br /&gt;
|-&lt;br /&gt;
|attached-trigger-ID {&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|attached-trigger {&lt;br /&gt;
|industry&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|attachment&lt;br /&gt;
|helper&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The attachment point (stored in the mesh file) to place the smoke effect.&lt;br /&gt;
|-&lt;br /&gt;
|attachment&lt;br /&gt;
|helper&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Attachment point on the object to which the sound is attached. Default: The sound will attach to the origin of parent object (not used for ambient sound)&lt;br /&gt;
|-&lt;br /&gt;
|attachment-points {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|List of attachment points for this queue on which products are visualised. (Use this, OR animated-mesh)&lt;br /&gt;
|-&lt;br /&gt;
|att-parent&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The tag tells Trainz in which mesh the attachment point is located. The insertion attachment point is located within the mesh ‘name’ , as listed in the config.txt.&lt;br /&gt;
|-&lt;br /&gt;
|author&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Author, contact-email and contact-website are useful information, particularly if a user has a question on your models or would like to offer help or suggestions.&lt;br /&gt;
|-&lt;br /&gt;
|autobrakecylinder &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|autobrakecylinder_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|autobrakecylindervent &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|auto-create&lt;br /&gt;
|boolean&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The model is generated automatically when placed, or when you load a map which includes the model. In some instances you don’t want the mesh visible (as this may be controlled through script). If auto-create is 0 the mesh will not be visible when placed.&lt;br /&gt;
|-&lt;br /&gt;
|autoname&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|When enabled, automatically assigns a unique name to this object as it is placed.&lt;br /&gt;
|-&lt;br /&gt;
|autopilotmode&lt;br /&gt;
|boolean&lt;br /&gt;
|driver-settings {&lt;br /&gt;
|activity&lt;br /&gt;
|AI driver setting. (off, on)&lt;br /&gt;
|-&lt;br /&gt;
|auxreservoir &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|auxreservoir_autobrakecylinder &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|auxreservoir_no3&lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|auxreservoir_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|auxreservoir_trainbrakepipe &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|auxreservoirvent&lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|axle-count &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|backdrop&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Specifies whether the object is treated as a backdrop or not. (stays visible even when far from the camera)&lt;br /&gt;
|-&lt;br /&gt;
|bendy&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Switches how track is bent on corners, set as 1 allows the mesh to be deformed as the spline is bend around corners.&lt;br /&gt;
|-&lt;br /&gt;
|bogey&lt;br /&gt;
|kuid&lt;br /&gt;
|bogeys-ID {&lt;br /&gt;
|traincar&lt;br /&gt;
|Kuid of bogey asset.&lt;br /&gt;
|-&lt;br /&gt;
|bogey&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|The bogey KUID number (default for a.bog0 and a.bog1)&lt;br /&gt;
|-&lt;br /&gt;
|bogey&lt;br /&gt;
|kuid&lt;br /&gt;
|tracksound {&lt;br /&gt;
|Tracksound&lt;br /&gt;
|The bogey to which this sound will apply.&lt;br /&gt;
|-&lt;br /&gt;
|bogey-#&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|The bogey KUID number for a.bog# (Used only if different to a.bog0)&lt;br /&gt;
|-&lt;br /&gt;
|bogey-#-r&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Used instead of ‘bogey’ and bogey-1. The bogey will have reversed orientation. Note: This will cause bogey animation to play in reverse unless the attachment point for the bogey is also rotated 180 degrees in 3dmax.&lt;br /&gt;
|-&lt;br /&gt;
|bogey-r&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Used instead of ‘bogey’ and bogey-1. The bogey will have reversed orientation. Note: This will cause bogey animation to play in reverse unless the attachment point for the bogey is also rotated 180 degrees in 3dmax.&lt;br /&gt;
|-&lt;br /&gt;
|bogeys {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|The bogey container stores the bogeys used for the loco\rollingstock item.&lt;br /&gt;
|-&lt;br /&gt;
|bogeys-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|bogeys {&lt;br /&gt;
|traincar&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|boiler-to-piston-flow&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|boiler-volume&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|brakefull &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|brakeinitial &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|brakepipe &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|brakeratio &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|bridgetrack&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Kuid of the track type to be used.&lt;br /&gt;
|-&lt;br /&gt;
|buffer-speed&lt;br /&gt;
|float metres/second&lt;br /&gt;
|config.txt&lt;br /&gt;
|trackside&lt;br /&gt;
|Used for buffers; specifies the maximum speed up to which the buffer will stop a train.&lt;br /&gt;
|-&lt;br /&gt;
|burn-rate&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|burn-rate-idle&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|cabinsway&lt;br /&gt;
|float&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Cabin sway multiplier. Eg -2.&lt;br /&gt;
|-&lt;br /&gt;
|camera#&lt;br /&gt;
|float list&lt;br /&gt;
|cameralist {&lt;br /&gt;
|interior&lt;br /&gt;
|A camera contains 5 numeric coordinates that determine the placement and orientation of the camera. These are: 0,0,0,0,0 =left/right, front/back, up/down, yaw, pitch To determine these variables add -freeintcam to the trainzoptions.txt. Pan around the interior using arrow keys and mouse. Co-ordinates are displayed at bottom-left of screen. industry asset’s script file.&lt;br /&gt;
|-&lt;br /&gt;
|cameradefault&lt;br /&gt;
|integer&lt;br /&gt;
|config.txt&lt;br /&gt;
|interior&lt;br /&gt;
|The in-cab camera view Trainz defaults to when entering the cab.&lt;br /&gt;
|-&lt;br /&gt;
|cameralist {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|interior&lt;br /&gt;
|List of camera viewpoints&lt;br /&gt;
|-&lt;br /&gt;
|car#&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|map&lt;br /&gt;
|Each of these tags stores the kuid of a car to be used on the roads.&lt;br /&gt;
|-&lt;br /&gt;
|car#&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|region&lt;br /&gt;
|Each of these tags stores the kuid of a car to be used on the roads.&lt;br /&gt;
|-&lt;br /&gt;
|carrate&lt;br /&gt;
|float seconds&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Defines traffic density on road (minimum seconds between each car generated). 0 = No traffic. Number must be greater than 3.&lt;br /&gt;
|-&lt;br /&gt;
|casts_shadows&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Toggles whether the shadow model is displayed.&lt;br /&gt;
|-&lt;br /&gt;
|category-class&lt;br /&gt;
|class code&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|The class code for this asset.&lt;br /&gt;
|-&lt;br /&gt;
|category-era&lt;br /&gt;
|era code&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Era code list.&lt;br /&gt;
|-&lt;br /&gt;
|category-era-#&lt;br /&gt;
|era list&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Era code.&lt;br /&gt;
|-&lt;br /&gt;
|category-keywords&lt;br /&gt;
|keyword list&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Keyword list&lt;br /&gt;
|-&lt;br /&gt;
|category-region&lt;br /&gt;
|region list&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|A list of REGION codes or REGION GROUP codes,&lt;br /&gt;
|-&lt;br /&gt;
|category-region-#&lt;br /&gt;
|region code&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|A REGION codes or REGION GROUP code.&lt;br /&gt;
|-&lt;br /&gt;
|changeability&lt;br /&gt;
|0/1/2&lt;br /&gt;
|driver-settings {&lt;br /&gt;
|activity&lt;br /&gt;
|Propensity for weather to change. (none, periodic, extreme)&lt;br /&gt;
|-&lt;br /&gt;
|chunky_info&lt;br /&gt;
|float list&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|These values (in metres) define the shape of the mesh created for the track.&lt;br /&gt;
|-&lt;br /&gt;
|chunky_mesh&lt;br /&gt;
|folder&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Name of texture to apply to rail. The texture must be within a directory of the same name (ie. “textureName\textureName.texture.txt”). The chunky_mesh value will simply be the name of this directory (ie. “textureName”).&lt;br /&gt;
|-&lt;br /&gt;
|class&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|This refers to the class of asset within the script file (the class must match that stated in the script).&lt;br /&gt;
|-&lt;br /&gt;
|clutter-mesh&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|groundtexture&lt;br /&gt;
|Ground textures can now reference a mesh and insert the mesh automatically as the ground is painted. Painting over a clutter-mesh ground texture effectively deletes clutter meshes and texture. The mesh it refers to is can be standard scenery object kind mesh. Clutter-meshes must have only one Max material assigned to it only. Polycounts must be very low.&lt;br /&gt;
|-&lt;br /&gt;
|collate-meshes&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|trackside&lt;br /&gt;
|Enables clutter-mesh support (eg. fast trees)&lt;br /&gt;
|-&lt;br /&gt;
|collision-parent&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|For collision-proxy meshes in an interior mesh-table, this specifies the parent object to be proxied. is 3.&lt;br /&gt;
|-&lt;br /&gt;
|color&lt;br /&gt;
|rgb value&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The R,G,B colour value of the effect.&lt;br /&gt;
|-&lt;br /&gt;
|company&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|The Locomotive or car owner&lt;br /&gt;
|-&lt;br /&gt;
|compressor &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|compressor &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|conesize&lt;br /&gt;
|?&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|conflicts-with queues {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|This queue and the conflicting queue(s) cannot be used simultaneously.&lt;br /&gt;
|-&lt;br /&gt;
|consists {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|industry&lt;br /&gt;
|The consists tag stores information on consists that can be generated by the industry.&lt;br /&gt;
|-&lt;br /&gt;
|consists-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|consists {&lt;br /&gt;
|industry&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|consists-vehicle-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|consists-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|contact-email&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Author, contact-email and contact-website are useful information, particularly if a user has a question on your models or would like to offer help or suggestions.&lt;br /&gt;
|-&lt;br /&gt;
|contact-website&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Author, contact-email and contact-website are useful information, particularly if a user has a question on your models or would like to offer help or suggestions.&lt;br /&gt;
|-&lt;br /&gt;
|controlmethod&lt;br /&gt;
|0/1&lt;br /&gt;
|driver-settings {&lt;br /&gt;
|activity&lt;br /&gt;
|Driver control setting. (dcc, cabin)&lt;br /&gt;
|-&lt;br /&gt;
|coupling-mask&lt;br /&gt;
|boolean&lt;br /&gt;
|consists-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Coupling mask that applies to the consist. 0 will block off all coupling activity while “1” will mean you can couple with a vehicle.&lt;br /&gt;
|-&lt;br /&gt;
|critical-animation&lt;br /&gt;
|boolean&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|When enabled, this forces the animation to continue playing when off screen. Impacts performance when enabled.&lt;br /&gt;
|-&lt;br /&gt;
|custom-attachments&lt;br /&gt;
|?&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Not used.&lt;br /&gt;
|-&lt;br /&gt;
|decoupling-mask&lt;br /&gt;
|boolean&lt;br /&gt;
|consists-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Coupling mask that applies to the consist. 0 will mean you can’t decouple vehicles in the train while 1 means you can decouple vehicles.&lt;br /&gt;
|-&lt;br /&gt;
|default {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Main mesh of the asset&lt;br /&gt;
|-&lt;br /&gt;
|defaultjunction&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|region&lt;br /&gt;
|Default type of junction in this region.&lt;br /&gt;
|-&lt;br /&gt;
|default-mesh&lt;br /&gt;
|kuid&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|attachment effect&lt;br /&gt;
|The KUID of the attached mesh.&lt;br /&gt;
|-&lt;br /&gt;
|default-night {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|‘Main’ night window mesh on scenery and industry and traincar assets. Modeled to the same 3d space as the default mesh and is inserted at the default mesh origin. &lt;br /&gt;
|-&lt;br /&gt;
|default-night-forward {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The name for a submesh attached to a locomotive, to show a beam of light for example, in the direction of movement of the locomotive. Trainz recognises the name and turns on the correct mesh depending on the running direction.&lt;br /&gt;
|-&lt;br /&gt;
|default-night-reverse {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The name for a submesh attached to a locomotive, to show a beam of light for example, in the direction of movement of the locomotive. Trainz recognises the name and turns on the correct mesh depending on the running direction.&lt;br /&gt;
|-&lt;br /&gt;
|deraillevel&lt;br /&gt;
|0/1/2&lt;br /&gt;
|driver-settings {&lt;br /&gt;
|activity&lt;br /&gt;
|Derail setting. (none, arcade, realistic)&lt;br /&gt;
|-&lt;br /&gt;
|description&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Description of the asset.&lt;br /&gt;
|-&lt;br /&gt;
|description-##&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Translated description of the asset.&lt;br /&gt;
|-&lt;br /&gt;
|dighole&lt;br /&gt;
|float length, width&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Specifies the number of grid segments (length, width) to be removed from the surveyor grid to accommodate the turntable pit.&lt;br /&gt;
|-&lt;br /&gt;
|direct-drive&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|bogey&lt;br /&gt;
|When direct-drive is present, the bogey animation is linked to the steam piston and physics system. If this tag is not included the piston and steam sounds will not work!&lt;br /&gt;
|-&lt;br /&gt;
|direction&lt;br /&gt;
|vector&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The vector at which the smoke travels.&lt;br /&gt;
|-&lt;br /&gt;
|directional&lt;br /&gt;
|boolean&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|corona effect&lt;br /&gt;
|The default for coronas is to be aligned to the attachment point to face the NEGATIVE Z direction. This is especially useful for Traincars.&lt;br /&gt;
|-&lt;br /&gt;
|disable-extra-track-sounds&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Disables the “click-clack” tracksounds. (0, 1)&lt;br /&gt;
|-&lt;br /&gt;
|distance&lt;br /&gt;
|min, max metres&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|2 numbers (meters) 1st number is the distance at which the sound is played 100% 2nd number is the cut-off distance. Doesn’t affect the volume of the sound (Default: 50m, 150m)&lt;br /&gt;
|-&lt;br /&gt;
|ditch_color&lt;br /&gt;
|rgb value&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|RGB ditch light colour. Eg. 255,255,255.&lt;br /&gt;
|-&lt;br /&gt;
|divider&lt;br /&gt;
|folder&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Name of the model to use as the middle bridge section. Placed in subfolder with same name.&lt;br /&gt;
|-&lt;br /&gt;
|don’t-flip-terminator&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Terminator model isn’t mirrored on one side.&lt;br /&gt;
|-&lt;br /&gt;
|driver-settings {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|activity&lt;br /&gt;
|Specify the settings of this scenario, similar to Driver’s settings screen&lt;br /&gt;
|-&lt;br /&gt;
|duration&lt;br /&gt;
|float&lt;br /&gt;
|process-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Length of time (in seconds) that the process runs for.&lt;br /&gt;
|-&lt;br /&gt;
|dynamic-brake {&lt;br /&gt;
|container&lt;br /&gt;
|?&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|effects {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|Optional mesh-table variations&lt;br /&gt;
|-&lt;br /&gt;
|effects {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Optional mesh-table variations&lt;br /&gt;
|-&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|effects {&lt;br /&gt;
|effects {&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|enabled&lt;br /&gt;
|boolean&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|Specifies whether the effect is enabled.&lt;br /&gt;
|-&lt;br /&gt;
|endcolor&lt;br /&gt;
|rgb value&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The final colour the smoke effect shifts to.&lt;br /&gt;
|-&lt;br /&gt;
|endlength&lt;br /&gt;
|float metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Length in meters of the initiator and terminator models.&lt;br /&gt;
|-&lt;br /&gt;
|engine&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|States type of traincar. 0 for Rolling stock, 1 for Locomotive.&lt;br /&gt;
|-&lt;br /&gt;
|enginesound&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|References the KUID number for the traincar’s sound.&lt;br /&gt;
|-&lt;br /&gt;
|enginespec&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|References the engine KUID number. This specifies the driver physics boundaries for the traincar.&lt;br /&gt;
|-&lt;br /&gt;
|epreservoirpipe &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|epreservoirpipe &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|epreservoirpipe_autobrakecylinder &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|epreservoirpipe_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|equaliser &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|equaliser_mainreservoir &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|equaliser_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|equaliservent &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|equaliserventemergency &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|equaliserventhandleoff &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|extensions {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|all&lt;br /&gt;
|Asset specific data.&lt;br /&gt;
|-&lt;br /&gt;
|faces&lt;br /&gt;
|camera/motion/down&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The direction the smoke effect faces.&lt;br /&gt;
|-&lt;br /&gt;
|face-texture&lt;br /&gt;
|[path/]filename.texture&lt;br /&gt;
|config.txt&lt;br /&gt;
|drivercharacter&lt;br /&gt;
|This is the driver icon used in TRS. Must be 64x64 pixels&lt;br /&gt;
|-&lt;br /&gt;
|facing&lt;br /&gt;
|boolean&lt;br /&gt;
|consists-vehicle-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Indicates the direction of the vehicle.&lt;br /&gt;
|-&lt;br /&gt;
|file&lt;br /&gt;
|[path/]filename.tfx&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The twinkle file to be used (optional).&lt;br /&gt;
|-&lt;br /&gt;
|firebox-efficiency&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|firebox-to-boiler-heat-flow&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|firebox-to-boiler-heat-flow-idle&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|firebox-volume&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|flowsize {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|fontcolor&lt;br /&gt;
|rgb value&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|corona effect&lt;br /&gt;
|The colour of the sign text in r.g.b.&lt;br /&gt;
|-&lt;br /&gt;
|fonts&lt;br /&gt;
|integer&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Indicates how many types of numbering fonts used.&lt;br /&gt;
|-&lt;br /&gt;
|fontsize&lt;br /&gt;
|float metres&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|corona effect&lt;br /&gt;
|The size of the sign text&lt;br /&gt;
|-&lt;br /&gt;
|fonts-path&lt;br /&gt;
|folder&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Replaces asset-filename usage for ‘fonts’.&lt;br /&gt;
|-&lt;br /&gt;
|frame-rate&lt;br /&gt;
|float frames/second&lt;br /&gt;
|config.txt&lt;br /&gt;
|turntable&lt;br /&gt;
|Generally make this 30 (frames per second)&lt;br /&gt;
|-&lt;br /&gt;
|frequency&lt;br /&gt;
|float per second&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|corona effect&lt;br /&gt;
|This variable specifies the frequency in Hz (or ‘flashes’ per second). e.g. 1 for once per second, 0.5 for once every 2 seconds, 2 for twice per second.&lt;br /&gt;
|-&lt;br /&gt;
|fuel&lt;br /&gt;
|?&lt;br /&gt;
|mass {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|fuel-energy&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|function&lt;br /&gt;
|&#039;TrackSignal&#039;&lt;br /&gt;
|config.txt&lt;br /&gt;
|trackside&lt;br /&gt;
|Must be set to &#039;TrackSignal&#039;&lt;br /&gt;
|-&lt;br /&gt;
|grounded&lt;br /&gt;
|float metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Height in meters for the road to be offset from terrain.&lt;br /&gt;
|-&lt;br /&gt;
|height&lt;br /&gt;
|float metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Height from the track level to the base. Must be a negative value in order to raise the bridge above the ground.&lt;br /&gt;
|-&lt;br /&gt;
|height&lt;br /&gt;
|integer&lt;br /&gt;
|thumbnails-ID {&lt;br /&gt;
|all&lt;br /&gt;
|Image height&lt;br /&gt;
|-&lt;br /&gt;
|height&lt;br /&gt;
|negative metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Height from the track level to the base. Should be negative.&lt;br /&gt;
|-&lt;br /&gt;
|height-range&lt;br /&gt;
|min,max metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|height-range min, max eg: height-range –10, 100. Where min and max are values in meters.&lt;br /&gt;
|-&lt;br /&gt;
|hidden&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Prevents the spline from being rendered.&lt;br /&gt;
|-&lt;br /&gt;
|highspeedexhauster &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|highspeedexhauster_vacuumbrakepipe &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|hornsound&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|References the KUID number for the traincar horn sound.&lt;br /&gt;
|-&lt;br /&gt;
|icon0&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Window preview icon - see information box&lt;br /&gt;
|-&lt;br /&gt;
|icon1&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Window preview icon - see information box&lt;br /&gt;
|-&lt;br /&gt;
|icon2&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Window preview icon - see information box&lt;br /&gt;
|-&lt;br /&gt;
|icon3&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Window preview icon - see information box&lt;br /&gt;
|-&lt;br /&gt;
|icon-texture&lt;br /&gt;
|[path/]filename.texture&lt;br /&gt;
|config.txt&lt;br /&gt;
|product&lt;br /&gt;
|The in-game representation of the product when specifying the load type for a compatible rollingstock item (driver) Should be a 64x64 TGA.&lt;br /&gt;
|-&lt;br /&gt;
|image&lt;br /&gt;
|[path/]filename&lt;br /&gt;
|thumbnails-ID {&lt;br /&gt;
|all&lt;br /&gt;
|Image filename&lt;br /&gt;
|-&lt;br /&gt;
|indbrakefull &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|independantbrakecylinder&lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|independantbrakecylinder_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|info-page&lt;br /&gt;
|[path/]filename.html&lt;br /&gt;
|config.txt&lt;br /&gt;
|profile&lt;br /&gt;
|Filename of the HTML information page for the session.&lt;br /&gt;
|-&lt;br /&gt;
|inherit-velocity&lt;br /&gt;
|?&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|initial-boiler-temperature&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|initial-count&lt;br /&gt;
|integer&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|The initial number of items in the queue.&lt;br /&gt;
|-&lt;br /&gt;
|initiator&lt;br /&gt;
|folder&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Name of model to use at start of bridge, placed in subfolder with same name.&lt;br /&gt;
|-&lt;br /&gt;
|inputs {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|processID {&lt;br /&gt;
|industry&lt;br /&gt;
|Input process list&lt;br /&gt;
|-&lt;br /&gt;
|inputs-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|inputs {&lt;br /&gt;
|industry&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|instance-type&lt;br /&gt;
|&#039;instance&#039;/&#039;resource&#039;&lt;br /&gt;
|config.txt&lt;br /&gt;
|product&lt;br /&gt;
|Instance-type: &#039;resource&#039; is used when there is no mesh, or one only mesh is referenced in the mesh table (Ie Liquids, Bulk loads etc). &#039;instance&#039; is used when more than one mesh is in the mesh table Ie: Passengers, General Goods. 200 max.‘size’ per Asset.&lt;br /&gt;
|-&lt;br /&gt;
|interior&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|References the KUID number for the traincar interior cab view.&lt;br /&gt;
|-&lt;br /&gt;
|interpolate&lt;br /&gt;
|?&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|invisible&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Specifies whether the object is invisible.&lt;br /&gt;
|-&lt;br /&gt;
|isroad&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Isroad/Istrack. Two boolean tags detailing the behavior of the bridge. If the isroad is set to true, then cars are placed on the bridge. Both values should not be set to true.&lt;br /&gt;
|-&lt;br /&gt;
|istrack&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Isroad/Istrack. Two boolean tags detailing the behavior of the bridge. If the isroad is set to true, then cars are placed on the bridge. Both values should not be set to true.&lt;br /&gt;
|-&lt;br /&gt;
|junction-lever-mesh&lt;br /&gt;
|subcontainer&lt;br /&gt;
|junction-vertices-ID {&lt;br /&gt;
|fixed track&lt;br /&gt;
|The mesh (selected from the mesh table) to be used as a junction lever.&lt;br /&gt;
|-&lt;br /&gt;
|junction-vertex&lt;br /&gt;
|helper&lt;br /&gt;
|junction-vertices-ID {&lt;br /&gt;
|fixed track&lt;br /&gt;
|The attachment point (located in mesh file) at which to place the lever.&lt;br /&gt;
|-&lt;br /&gt;
|junction-vertices {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|fixed track&lt;br /&gt;
|The Junction-Vertices Container contains the tags needed to handle the lever portions of a fixed track.&lt;br /&gt;
|-&lt;br /&gt;
|junction-vertices-ID {&lt;br /&gt;
|container&lt;br /&gt;
|junction-vertices {&lt;br /&gt;
|fixed track&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|keyframes&lt;br /&gt;
|integer list&lt;br /&gt;
|config.txt&lt;br /&gt;
|turntable&lt;br /&gt;
|Specifies where on the animation the turntable is to stop.&lt;br /&gt;
|-&lt;br /&gt;
|kind&lt;br /&gt;
|&#039;animation&#039;&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|This effect is used when a mesh has a variety of animations. Usually the animations will be controlled by a script related to the asset.&lt;br /&gt;
|-&lt;br /&gt;
|kind&lt;br /&gt;
|&#039;attachment&#039;&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|In TRS we now have the ability to attach a mesh into another mesh by referencing it’s KUID through a meshtable.&lt;br /&gt;
|-&lt;br /&gt;
|kind&lt;br /&gt;
|&#039;corona&#039;&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|A corona is a ‘glow’ light effect. It is a simple texture that is inserted at an attachment point within the mesh. Coronas can be added to any asset that uses a meshtable.&lt;br /&gt;
|-&lt;br /&gt;
|kind&lt;br /&gt;
|interior object kind&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|The type of interior object the particular mesh is. Affects the behavior of the mesh in game. Kinds: lever (Levers, switches, dials etc), animated-lever (Animated Levers etc Eg. in steam cabs), collision-proxy (Mouse collisions for animated levers), needle (Gauge needles, Speedo, brake pres.), pullrope (Pull rope horn as in the F7), light (Wheelslip light)&lt;br /&gt;
|-&lt;br /&gt;
|kind&lt;br /&gt;
|kind&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Asset kind.&lt;br /&gt;
|-&lt;br /&gt;
|kind&lt;br /&gt;
|&#039;name&#039;&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|Some assets may have editable signs. When you set an asset’s name in surveyor through the Edit Properties icon (‘?’ icon) the signage can be set-up to automatically update. The variables can be set for each sign.&lt;br /&gt;
|-&lt;br /&gt;
|kind&lt;br /&gt;
|&#039;texture-replacement&#039;&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|This effect was created for rolling stock items to swap the visible texture of bulk loads (such as coal or woodchips).&lt;br /&gt;
|-&lt;br /&gt;
|kuid&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Asset kuid&lt;br /&gt;
|-&lt;br /&gt;
|kuid-table {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|all&lt;br /&gt;
|List of all required dependencies.&lt;br /&gt;
|-&lt;br /&gt;
|kuid-table-ID {&lt;br /&gt;
|kuid&lt;br /&gt;
|kuid-table {&lt;br /&gt;
|all&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|latitude&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|region&lt;br /&gt;
|latitude of this region&lt;br /&gt;
|-&lt;br /&gt;
|left-passenger-door {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Predefined submesh identifier. Left side passenger doors.&lt;br /&gt;
|-&lt;br /&gt;
|length&lt;br /&gt;
|float metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Length of track segment in meters&lt;br /&gt;
|-&lt;br /&gt;
|levels {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|tracksound {&lt;br /&gt;
|Tracksound&lt;br /&gt;
|Relative sound levels. The sound is silent until 0.1 m/s, ramping up in volume until 10.0 m/s, constant maximum after that. Note, a value below 0.1 will not play a sound.&lt;br /&gt;
|-&lt;br /&gt;
|licence&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|User licence details&lt;br /&gt;
|-&lt;br /&gt;
|lifetime&lt;br /&gt;
|float&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|Time in seconds that smoke particles exist for. Default is 3.&lt;br /&gt;
|-&lt;br /&gt;
|light&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Sets lighting to be used for object to be ambient or directional. 0 sets ambient lighting and object is light by general light value, 1 sets directional light which is affected by the position of the sun.&lt;br /&gt;
|-&lt;br /&gt;
|light&lt;br /&gt;
|boolean&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Sets lighting to be used for object to be ambient or directional. 0 sets ambient lighting and object is light by general light value, 1 sets directional light which is affected by the position of the sun.&lt;br /&gt;
|-&lt;br /&gt;
|light_color&lt;br /&gt;
|rgb value&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|RGB headlight colour. Eg. 255,255,255.&lt;br /&gt;
|-&lt;br /&gt;
|lights {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|mosignal&lt;br /&gt;
|Signal lighting container.  A list of coronas attached to each light point. Coronas are stored in each signal object’s directory alongside it’s textures.&lt;br /&gt;
|-&lt;br /&gt;
|lights-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|lights {&lt;br /&gt;
|mosignal&lt;br /&gt;
|Light point identifier.&lt;br /&gt;
|-&lt;br /&gt;
|limits&lt;br /&gt;
|float list&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|Mathematical boundaries Trainz uses determine the objects function. These values vary as different objects use different mathematical units.&lt;br /&gt;
|-&lt;br /&gt;
|longitude&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|region&lt;br /&gt;
|longitude of this region&lt;br /&gt;
|-&lt;br /&gt;
|loop&lt;br /&gt;
|float seconds&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|Time in seconds to loop the smoke sequence. Only valid if mode is set to time.&lt;br /&gt;
|-&lt;br /&gt;
|loopdelay&lt;br /&gt;
|float seconds&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|Delay (in seconds) before the effect is played again.&lt;br /&gt;
|-&lt;br /&gt;
|looped&lt;br /&gt;
|boolean&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|animation effect&lt;br /&gt;
|Looped 1 (optional) Use only if the animation is looping (repeating). Default 0 (i.e. not looped).&lt;br /&gt;
|-&lt;br /&gt;
|looping&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|turntable&lt;br /&gt;
|specifies that the turntable can go all the way around, rather than stopping at a certain point.&lt;br /&gt;
|-&lt;br /&gt;
|mainreservoir &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|mainreservoir &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|mainreservoir_ep &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|mainreservoir_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|main-reservoir-volume&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|map-kuid&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|profile&lt;br /&gt;
|Kuid of the map attached to this session.&lt;br /&gt;
|-&lt;br /&gt;
|mass&lt;br /&gt;
|float kg&lt;br /&gt;
|config.txt&lt;br /&gt;
|product&lt;br /&gt;
|The physical mass of the product. For Containers and Passengers this is calculated in kilograms/unit, while for Liquid and Bulk loads this is calculated in kilograms/litre.&lt;br /&gt;
|-&lt;br /&gt;
|mass&lt;br /&gt;
|integer kg&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Mass in kilograms&lt;br /&gt;
|-&lt;br /&gt;
|mass {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|max-accel &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|max-coupler-gap&lt;br /&gt;
|float metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|maximum gap expected between couplers of this type&lt;br /&gt;
|-&lt;br /&gt;
|max-decel &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|max-distance&lt;br /&gt;
|float&lt;br /&gt;
|tracksound {&lt;br /&gt;
|Tracksound&lt;br /&gt;
|Maximum distance at which the sound is played. Eg 1000&lt;br /&gt;
|-&lt;br /&gt;
|max-fire-coal-mass&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|max-fire-temperature&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|maximum-volume&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|maxrate&lt;br /&gt;
|float&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The maximum rate at which particles are emitted.&lt;br /&gt;
|-&lt;br /&gt;
|maxsize&lt;br /&gt;
|float&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|maxspeed &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|maxspeedkph&lt;br /&gt;
|float&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|maxvoltage &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|mesh&lt;br /&gt;
|[path/]filename.im&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The mesh name. This may include a sub-path. ie: mesh nightwindows/nightwindows.im, where the file nightwindows.im has been placed in the subdirectory nightwindows.&lt;br /&gt;
|-&lt;br /&gt;
|mesh&lt;br /&gt;
|[path/]filename.lm&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The mesh name. This may include a sub-path. ie: mesh nightwindows/nightwindows.im, where the file nightwindows.im has been placed in the subdirectory nightwindows.&lt;br /&gt;
|-&lt;br /&gt;
|mesh&lt;br /&gt;
|[path/]filename.pm&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The mesh name. This may include a sub-path. ie: mesh nightwindows/nightwindows.im, where the file nightwindows.im has been placed in the subdirectory nightwindows.&lt;br /&gt;
|-&lt;br /&gt;
|mesh&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|drivercharacter&lt;br /&gt;
|This refers to the kuid of the mesh asset inserted in to the locomotive mesh at a.driver0 (when in the Driver Module).&lt;br /&gt;
|-&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|mesh object&lt;br /&gt;
|This is the new and preferred method of asset mesh placement for most mesh asset types. It gives huge control over mesh placement and animations. There are some asset types that cannot use a meshtable. These include all Bridges, Tunnels, Rails, Pantographs and other Spline Objects (eg. Fences or Catenaries).&lt;br /&gt;
|-&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|interior&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|min-distance&lt;br /&gt;
|float&lt;br /&gt;
|tracksound {&lt;br /&gt;
|Tracksound&lt;br /&gt;
|Minimum distance at which the sound is played. Eg 0.&lt;br /&gt;
|-&lt;br /&gt;
|minimum-volume&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|minrate&lt;br /&gt;
|float&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The minimum rate at which particles are emitted.&lt;br /&gt;
|-&lt;br /&gt;
|minsize&lt;br /&gt;
|float&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|mode&lt;br /&gt;
|speed/anim/timeofday/time&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|Describes the mode or type of this smoke effect. This affects how start and period are interpreted. (time | speed | anim | timeofday). &lt;br /&gt;
|-&lt;br /&gt;
|mode0 {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|trackside&lt;br /&gt;
|Mesh showing lever in first position&lt;br /&gt;
|-&lt;br /&gt;
|mode0 {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Predefined submesh identifier. Mesh showing lever in first position&lt;br /&gt;
|-&lt;br /&gt;
|mode1 {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|trackside&lt;br /&gt;
|Mesh showing lever in second position&lt;br /&gt;
|-&lt;br /&gt;
|mode1 {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Predefined submesh identifier. Mesh showing lever in second position&lt;br /&gt;
|-&lt;br /&gt;
|motor {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|mousespeed&lt;br /&gt;
|float&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|This controls the use of the mouse on screen. Use this to control the mouse speed and push/pull direction for levers and dials. • mousespeed -1 Inverts mouse direction. • mousespeed 2 Doubles mouse speed in default direction. • mousespeed -0.5 Inverts mouse direction and halves the speed.&lt;br /&gt;
|-&lt;br /&gt;
|moving-friction-coefficient &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|name&lt;br /&gt;
|&amp;lt;blank&amp;gt;&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|name effect&lt;br /&gt;
|Leave blank to allow the name to be inserted by script without an initial default.&lt;br /&gt;
|-&lt;br /&gt;
|name&lt;br /&gt;
|&#039;name&#039;&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|name effect&lt;br /&gt;
|When name name is specified, it uses the asset’s changeable name. Changed through the Edit Properties icon (the ‘?’ icon) in Surveyor.&lt;br /&gt;
|-&lt;br /&gt;
|name&lt;br /&gt;
|string&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|name effect&lt;br /&gt;
|The default text when placed.  If name Graceland (for example) was used, the sign would never be able to be changed even though the user may have changed the asset’s name in Surveyor.&lt;br /&gt;
|-&lt;br /&gt;
|night&lt;br /&gt;
|[path/]filename.tga&lt;br /&gt;
|config.txt&lt;br /&gt;
|environment&lt;br /&gt;
|Name of image file for night sky. File should be 256 x 256 pixel 24bit tga. The file extension should be excluded here, ie “QLD_Sky” rather than  &amp;quot;qLD_Sky.texture.txt”.&lt;br /&gt;
|-&lt;br /&gt;
|night-mesh-base&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The mesh to which &#039;default-night&#039; is linked.  If the &#039;night-mesh-base&#039; is hidden then &#039;default-night&#039; will not be displayed.&lt;br /&gt;
|-&lt;br /&gt;
|nightmode&lt;br /&gt;
|home/lamp/constant&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Only add this tag if you reference a default-night mesh in the mesh-table. Values: home, lamp or constant.&lt;br /&gt;
|-&lt;br /&gt;
|no3pipe &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|no3pipe &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|no3pipe_autobrakecylinder &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|no3pipe_mainreservoir &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|no3pipe_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|no3pipevent &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|no4pipe &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|no4pipe &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|no4pipe_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|normal&lt;br /&gt;
|[path/]filename.tga&lt;br /&gt;
|config.txt&lt;br /&gt;
|environment&lt;br /&gt;
|Name of image file for normal sky. File should be 256 x 256 pixel 24bit tga. The file extension should be excluded here, ie “QLD_Sky” rather than  &amp;quot;qLD_Sky.texture.txt”.&lt;br /&gt;
|-&lt;br /&gt;
|nostartdelay&lt;br /&gt;
|boolean&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|0 or 1, default 0 If not set, the sound will have a short delay before playing, this stops flanging (flanging is a really nasty sound caused when several copies of the same sound are played at once).&lt;br /&gt;
|-&lt;br /&gt;
|notches&lt;br /&gt;
|float list&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|The position of notches within the angle boundaries. These are represented as decimal points between and including 0 and 1.&lt;br /&gt;
|-&lt;br /&gt;
|notchheight&lt;br /&gt;
|float list&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|The size of the notches specified.&lt;br /&gt;
|-&lt;br /&gt;
|object-size&lt;br /&gt;
|float metres&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|corona effect&lt;br /&gt;
|Size of the corona on the object when viewed up close Defaults to 0.15 (i.e. 0.15m)&lt;br /&gt;
|-&lt;br /&gt;
|obsolete-table { &lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|all&lt;br /&gt;
|The obsolete-table describes the asset’s revision history.&lt;br /&gt;
|-&lt;br /&gt;
|ontheright&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|region&lt;br /&gt;
|Cars drive on the right side of the road.&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|0..1&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Controls the opacity of the mesh. Zero (invisible, not recommended) or one (solid).&lt;br /&gt;
|-&lt;br /&gt;
|opacity&lt;br /&gt;
|0..1&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|Usually used for the window mesh to give transparency (and the impression of reflection).&lt;br /&gt;
|-&lt;br /&gt;
|organisation&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Organisation name will show in Trainz in Railyard as the organisation for the model, for instance if you use Joe’s Trainz or Cripple Creek Logging Company.&lt;br /&gt;
|-&lt;br /&gt;
|origin&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|The Country Abbreviation.&lt;br /&gt;
|-&lt;br /&gt;
|outputs {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|process-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Output process list&lt;br /&gt;
|-&lt;br /&gt;
|outputs-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|outputs {&lt;br /&gt;
|industry&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|paintshed-skin-used&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|paintshed-skin&lt;br /&gt;
|Kuid of the paintshed skin used. (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|paintshed-skin-used&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|paintshed-template&lt;br /&gt;
|Kuid of the paintshed skin to be used for this template.&lt;br /&gt;
|-&lt;br /&gt;
|paintshed-template-used&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|paintshed-skin&lt;br /&gt;
|Kuid of the paintshed template used. (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|pantograph&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|The pantograph kuid number inserted at a.pant0, a.pant1, etc. Use this tag only when needed.&lt;br /&gt;
|-&lt;br /&gt;
|passenger-height&lt;br /&gt;
|float metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|industry&lt;br /&gt;
|This value sets the height of the passenger asset in metres, to suit the platform model height. (Doesn&#039;t work)&lt;br /&gt;
|-&lt;br /&gt;
|passenger-queue&lt;br /&gt;
|boolean&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Defines this as a passenger station queue.&lt;br /&gt;
|-&lt;br /&gt;
|period&lt;br /&gt;
|?&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The usage of period depends on the value of the mode tag. If the mode is set to time, period is the duration of time this effect will remain active.&lt;br /&gt;
|-&lt;br /&gt;
|permit-commit&lt;br /&gt;
|boolean&lt;br /&gt;
|privileges {&lt;br /&gt;
|all&lt;br /&gt;
|Allows the end-user to commit changes to this asset.&lt;br /&gt;
|-&lt;br /&gt;
|permit-edit&lt;br /&gt;
|boolean&lt;br /&gt;
|privileges {&lt;br /&gt;
|all&lt;br /&gt;
|Allows the end-user to open this asset for editing&lt;br /&gt;
|-&lt;br /&gt;
|permit-listing&lt;br /&gt;
|boolean&lt;br /&gt;
|privileges {&lt;br /&gt;
|all&lt;br /&gt;
|Allows the end-user to view this object in the surveyor pickers (if it is of an appropriate kind.) Does not affect the visibility of the asset within the CMP asset list.&lt;br /&gt;
|-&lt;br /&gt;
|piston-angular-offsets&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|piston-area&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|piston-to-atmosphere-flow&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|piston-volume-max&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|piston-volume-min&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|pressure {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|preview-mesh-kuid&lt;br /&gt;
|kuid&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|The mesh to be used in the surveyor preview area. This is useful when an asset has a large bounding box. Ie the &amp;quot;Airport” with it’s jet animation.&lt;br /&gt;
|-&lt;br /&gt;
|preview-scale&lt;br /&gt;
|float&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Scale of the preview mesh.&lt;br /&gt;
|-&lt;br /&gt;
|priority&lt;br /&gt;
|float, 0 = highest&lt;br /&gt;
|tracksound {&lt;br /&gt;
|Tracksound&lt;br /&gt;
|The priority of the sound versus other sounds to be played. Lower values indicate a higher priority.&lt;br /&gt;
|-&lt;br /&gt;
|privileges {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|all&lt;br /&gt;
|Limited content protection applies only to built-in (JArchived) assets.&lt;br /&gt;
|-&lt;br /&gt;
|processes {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|industry&lt;br /&gt;
|Processes (required) The input and output settings of the industry. You can specify the amount of input and output for each queue referenced product as well as the duration (or rate) in seconds for that process to take place. All queues and processes are linked through the industry asset’s script file.&lt;br /&gt;
|-&lt;br /&gt;
|process-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|processes {&lt;br /&gt;
|industry&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|product-category&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|product&lt;br /&gt;
|Kuid of applicable category for this product&lt;br /&gt;
|-&lt;br /&gt;
|product-id&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|paintshed-skin&lt;br /&gt;
|For paintshed support.&lt;br /&gt;
|-&lt;br /&gt;
|product-kuid&lt;br /&gt;
|kuid&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|The product type used to fill ‘initial-count’&lt;br /&gt;
|-&lt;br /&gt;
|product-texture&lt;br /&gt;
|[path/]filename.texture&lt;br /&gt;
|config.txt&lt;br /&gt;
|product&lt;br /&gt;
|The texture to be used with load ‘texture-replacement’. Ie When a hopper loads woodchips instead of it’s default load of coal.&lt;br /&gt;
|-&lt;br /&gt;
|product-type&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|paintshed-skin&lt;br /&gt;
|For paintshed support.&lt;br /&gt;
|-&lt;br /&gt;
|product-version&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|paintshed-skin&lt;br /&gt;
|For paintshed support.&lt;br /&gt;
|-&lt;br /&gt;
|queue&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|inputs-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|queue from which to take input.&lt;br /&gt;
|-&lt;br /&gt;
|queue&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|outputs-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|queue in which to place output.&lt;br /&gt;
|-&lt;br /&gt;
|queues {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|industry&lt;br /&gt;
|The queues container states which product or products the industry can use. It contains the size of each product, the initial count when placed, and can refer to it’s visual load state whether through a load animation or attachment.&lt;br /&gt;
|-&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|queues {&lt;br /&gt;
|industry&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|radius&lt;br /&gt;
|float&lt;br /&gt;
|attached-trigger-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Radius (in meters) of the trigger.&lt;br /&gt;
|-&lt;br /&gt;
|radius&lt;br /&gt;
|float&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|The notch position relative to the attachment point.&lt;br /&gt;
|-&lt;br /&gt;
|random-color-high-hsb&lt;br /&gt;
|hsb value&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|For clutter-mesh objects, specifies a color range for tinting purposes. HSB color space.&lt;br /&gt;
|-&lt;br /&gt;
|random-color-low-hsb&lt;br /&gt;
|hsb value&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|For clutter-mesh objects, specifies a color range for tinting purposes. HSB color space.&lt;br /&gt;
|-&lt;br /&gt;
|rate&lt;br /&gt;
|float particles/second&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The rate of emission in particles per second for modes time, speed, and timeofday, or the number of particles to emit over the animation period for  anim mode. Default is 4.&lt;br /&gt;
|-&lt;br /&gt;
|region&lt;br /&gt;
|region code&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|The country region to which this asset belongs. This should be one of the Auran-supplied region names&lt;br /&gt;
|-&lt;br /&gt;
|repeat-delay&lt;br /&gt;
|random [min,max] seconds&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|1 or 2 numbers (min, max, in sec) time to delay between the end of the sound playing, and playing it again randomised between(min .. max) default min is 0, default max is equal to min  Notes: Repeat-delay now has two values rather than one. When upgrading old assets, make sure there is a repeat delay for both values or the sound will loop endlessly when triggered.&lt;br /&gt;
|-&lt;br /&gt;
|repeats&lt;br /&gt;
|integer&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|The number of times the mesh is placed between spline points&lt;br /&gt;
|-&lt;br /&gt;
|resistance &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|reversed&lt;br /&gt;
|boolean&lt;br /&gt;
|bogeys-ID {&lt;br /&gt;
|traincar&lt;br /&gt;
|Affects the direction of the bogey.&lt;br /&gt;
|-&lt;br /&gt;
|rgb&lt;br /&gt;
|rgb value&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|This value should be left as default.&lt;br /&gt;
|-&lt;br /&gt;
|right-passenger-door {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Predefined submesh identifier. Right side passenger doors.&lt;br /&gt;
|-&lt;br /&gt;
|rollstep&lt;br /&gt;
|float degrees&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Where n is a value in degrees. Used in conjunction with rotate-yz-range, rollstep lets you specify the step size of roll angles for this object. Other example values are 1, 5, 20 etc. The default rollstep is 1.0.&lt;br /&gt;
|-&lt;br /&gt;
|rotate&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Where n is 0 or 1 (default). This lets you disable rotation on a scenery object. 0 to disable, 1 to enable (default).&lt;br /&gt;
|-&lt;br /&gt;
|rotate-yz-range&lt;br /&gt;
|min,max degrees&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Where min and max are values in degrees. This tag lets you set the roll / yz rotation range (normal object rotation is an xy rotation). If you want your scenery object to support rolling then use this tag to set the minimum and maximum roll range. By default, objects have a min/max roll range of 0 to 0.&lt;br /&gt;
|-&lt;br /&gt;
|rotstep&lt;br /&gt;
|float degrees&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Where n is a value in degrees. This lets you specify the step size of rotation angles for this object. Other example values are 1, 10, 20, 90, 180 etc. The default rotstep is 1.0&lt;br /&gt;
|-&lt;br /&gt;
|running-number&lt;br /&gt;
|string&lt;br /&gt;
|consists-vehicle-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Running number of the vehicle.&lt;br /&gt;
|-&lt;br /&gt;
|safety-valve-high-flow&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|safety-valve-high-pressure&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|safety-valve-low-flow&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|safety-valve-low-pressure&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|scale&lt;br /&gt;
|?&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|scale &lt;br /&gt;
|?&lt;br /&gt;
|mass {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|scale &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|scale &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|script&lt;br /&gt;
|[path/]filename.gs&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|This refers to the name of the script file.&lt;br /&gt;
|-&lt;br /&gt;
|search-limit&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|trackside&lt;br /&gt;
|Not required. For internal use only.&lt;br /&gt;
|-&lt;br /&gt;
|shadow {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Predefined submesh identifier. Shadow mesh.&lt;br /&gt;
|-&lt;br /&gt;
|shadows&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Undocumented&lt;br /&gt;
|-&lt;br /&gt;
|shift&lt;br /&gt;
|?&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|shovel-coal-mass&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|showhelp&lt;br /&gt;
|boolean&lt;br /&gt;
|driver-settings {&lt;br /&gt;
|activity&lt;br /&gt;
|Show Driver Help. (off, on)&lt;br /&gt;
|-&lt;br /&gt;
|show-in-consist-menu&lt;br /&gt;
|boolean&lt;br /&gt;
|consists-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Boolean flag that dictates whether this train appears in the consist menu (0 - false, 1 - true). The consist menu was along the bottom of the screen in the original Trainz and UTC but is no longer present. It effectively stopped a user from getting access to an AI train. Redundant for most uses except for legacy/scenario usage.&lt;br /&gt;
|-&lt;br /&gt;
|signals {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|mosignal&lt;br /&gt;
|Sets out which aspects the signal is capable of displaying, and also which light points are activated when each state is displayed.&lt;br /&gt;
|-&lt;br /&gt;
|signals-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|lights {&lt;br /&gt;
|mosignal&lt;br /&gt;
|Signal point identifier.&lt;br /&gt;
|-&lt;br /&gt;
|size&lt;br /&gt;
|integer&lt;br /&gt;
|queues-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Size of queue.&lt;br /&gt;
|-&lt;br /&gt;
|smoke_fastlife&lt;br /&gt;
|float&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Longevity of smoke particles at normal speed.&lt;br /&gt;
|-&lt;br /&gt;
|smoke_fastspeed&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|smoke_height&lt;br /&gt;
|float&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|How hard particles are pushed out of the stack.&lt;br /&gt;
|-&lt;br /&gt;
|smoke_random&lt;br /&gt;
|float&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Level of particle excitation.&lt;br /&gt;
|-&lt;br /&gt;
|smoke_shade&lt;br /&gt;
|float&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Smoke opacity. (0 - 1)&lt;br /&gt;
|-&lt;br /&gt;
|smoke_slowlife&lt;br /&gt;
|float&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Longevity of smoke particles at low speed.&lt;br /&gt;
|-&lt;br /&gt;
|smoken {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|smoke block&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|snapgrid&lt;br /&gt;
|float metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Where n is a value in meters. This lets you specify the size of the grid the object snaps to. We recommend factors/fractions of 720 as this is the size of a base board and the positioning may do funny things across section borders. e.g. 1, 2, 5, 10, 20, 30, 40, 45, 60, 80, 90, 120, 180, 240, 360, 720. The default snapgrid is 10.&lt;br /&gt;
|-&lt;br /&gt;
|snapmode&lt;br /&gt;
|0/1/2&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Where n is either 0 (default) , 1 or 2. Use snapmode to enable snapping of a scenery object to the snap grid. 0 will disable grid snapping (default), 1 will enable grid snapping, 2 will enable an offset grid snapping. Offset grid snapping will cause objects to be snapped to the grid but will also offset the object’s position by ½ the grid size – essentially positioning the object in between the normal grid lines.&lt;br /&gt;
|-&lt;br /&gt;
|sound { &lt;br /&gt;
|subcontainer&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|List of .wav files to play (randomly picked)&lt;br /&gt;
|-&lt;br /&gt;
|soundscript {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|mesh object&lt;br /&gt;
|Controls the looping sound made by the object.&lt;br /&gt;
|-&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|soundscript {&lt;br /&gt;
|mesh object&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|speed&lt;br /&gt;
|float&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|animation effect&lt;br /&gt;
|Speed factor of the animation. Default 1, 2 for double speed, 0.5 for half speed&lt;br /&gt;
|-&lt;br /&gt;
|speedlimit&lt;br /&gt;
|float metres/second&lt;br /&gt;
|config.txt&lt;br /&gt;
|trackside&lt;br /&gt;
|This value is the maximum speed allowed in meters per second&lt;br /&gt;
|-&lt;br /&gt;
|start&lt;br /&gt;
|?&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The usage of stard depends on the value of the mode tag. If the mode is set to time, start is a set of time values in seconds after the creation of this effect’s parent object when this phase of the effect will start. If the mode is set to speed, start is a speed in meters per second (m/s) and period is not used. (Note: 1 m/s = 3.6 km/hr.) All other sequence attributes (rate, velocity, lifetime, minsize, maxsize) are interpolated so there are smooth transitions between phases. If the mode is set to anim, start is a value from 0.0 to 1.0 which describes the start time into the object’s animation cycle. If the mode is set to timeofday, start is a value from 0.0 to 1.0 which describes the time of day when this effect will start. Values range as follow: 0 - midnight, 0.25 - 6am, 0.5 - midday, 0.75 6pm, 1.0 - midnight.&lt;br /&gt;
|-&lt;br /&gt;
|start-enabled&lt;br /&gt;
|boolean&lt;br /&gt;
|process-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|Specifies whether the process starts enabled.&lt;br /&gt;
|-&lt;br /&gt;
|startingtime&lt;br /&gt;
|0..1&lt;br /&gt;
|driver-settings {&lt;br /&gt;
|activity&lt;br /&gt;
|Time of day. Range is from 0 to 1 (0.5 - midday).&lt;br /&gt;
|-&lt;br /&gt;
|steam {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|storm&lt;br /&gt;
|[path/]filename.tga&lt;br /&gt;
|config.txt&lt;br /&gt;
|environment&lt;br /&gt;
|Name of image file for stormy sky. File should be 256 x 256 pixel 24bit tga. The file extension should be excluded here, ie “QLD_Sky” rather than  &amp;quot;qLD_Sky.texture.txt”.&lt;br /&gt;
|-&lt;br /&gt;
|string-table {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|all&lt;br /&gt;
|The string table stores a list of text strings to be used by the industry script.&lt;br /&gt;
|-&lt;br /&gt;
|string-table-## {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|all&lt;br /&gt;
|These alternative string tables store translated strings&lt;br /&gt;
|-&lt;br /&gt;
|supports-null-driver-character&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|drivercommand&lt;br /&gt;
|Command can be executed without a driver present in the selected loco.&lt;br /&gt;
|-&lt;br /&gt;
|surface-area &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|surveyor-name-label&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Specifies whether this item has floating name label text.&lt;br /&gt;
|-&lt;br /&gt;
|surveyor-only&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|Adding this means the attached mesh will only be visible in Surveyor and not Driver.&lt;br /&gt;
|-&lt;br /&gt;
|surveyor-only&lt;br /&gt;
|boolean&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|attachment effect&lt;br /&gt;
|Adding this means the attached mesh will only be visible in Surveyor and not Driver.&lt;br /&gt;
|-&lt;br /&gt;
|tender&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|traincar&lt;br /&gt;
|Specifies that the traincar is a tender.&lt;br /&gt;
|-&lt;br /&gt;
|terminator&lt;br /&gt;
|folder&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Name of model to use at end of bridge, placed in subfolder with same name.&lt;br /&gt;
|-&lt;br /&gt;
|test-collisions&lt;br /&gt;
|boolean&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|interior&lt;br /&gt;
|Mouse cannot be used for this mesh. Collision mesh used instead. Ie animated-levers.&lt;br /&gt;
|-&lt;br /&gt;
|texture&lt;br /&gt;
|[path/]filename.texture&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|An image texture file.&lt;br /&gt;
|-&lt;br /&gt;
|texture&lt;br /&gt;
|[path]/filename.texture&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|texture-replacement effect&lt;br /&gt;
|Texture reference denoting the texture file to be swapped by this effect.&lt;br /&gt;
|-&lt;br /&gt;
|texture&lt;br /&gt;
|kuid&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|Kuid of the texture to be used for the effect.&lt;br /&gt;
|-&lt;br /&gt;
|texture-kuid&lt;br /&gt;
|&amp;lt;blank&amp;gt;&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|corona effect&lt;br /&gt;
|If the texture-kuid tag is not present the corona will use the default yellow/orange texture in TRS.&lt;br /&gt;
|-&lt;br /&gt;
|texture-kuid&lt;br /&gt;
|kuid&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|corona effect&lt;br /&gt;
|Add this tag only when you want to specify your own texture for the corona. It specifies the KUID of a kind texture asset. See KIND TEXTURE.&lt;br /&gt;
|-&lt;br /&gt;
|textures {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|texturegroup&lt;br /&gt;
|The textures container stores a list of additional textures to be used in the texture group.&lt;br /&gt;
|-&lt;br /&gt;
|three-part&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|hornsound&lt;br /&gt;
|Specifies that the hornsound has a beginning, middle and ending sound.&lt;br /&gt;
|-&lt;br /&gt;
|throttle-notches &lt;br /&gt;
|?&lt;br /&gt;
|motor {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|throttle-power {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|thumbnails {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|all&lt;br /&gt;
|Any asset may specify a thumbnail or preview image.&lt;br /&gt;
|-&lt;br /&gt;
|thumbnails-ID {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|thumbnails {&lt;br /&gt;
|all&lt;br /&gt;
|User supplied identifier&lt;br /&gt;
|-&lt;br /&gt;
|timerate&lt;br /&gt;
|float&lt;br /&gt;
|driver-settings {&lt;br /&gt;
|activity&lt;br /&gt;
|Time progression. (1 - real-time, 2 - double speed etc.)&lt;br /&gt;
|-&lt;br /&gt;
|track&lt;br /&gt;
|kuid&lt;br /&gt;
|attached-track-ID {&lt;br /&gt;
|scenery with track&lt;br /&gt;
|Kuid of the track to be used.&lt;br /&gt;
|-&lt;br /&gt;
|track&lt;br /&gt;
|kuid&lt;br /&gt;
|tracksound {&lt;br /&gt;
|Tracksound&lt;br /&gt;
|The track type to which this sound will apply&lt;br /&gt;
|-&lt;br /&gt;
|track&lt;br /&gt;
|trackID&lt;br /&gt;
|attached-trigger-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|The track name which the train must be on to trigger.&lt;br /&gt;
|-&lt;br /&gt;
|trackmark&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|trackside&lt;br /&gt;
|Specifies that the object is a trackmark.&lt;br /&gt;
|-&lt;br /&gt;
|trackoffsets&lt;br /&gt;
|float list, metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Distance in meters the rail/s are attached to the center of the spline. Any number of tracks can be attached to the spline, only splines with the same track offsets can be connected together.&lt;br /&gt;
|-&lt;br /&gt;
|track-parent&lt;br /&gt;
|kuid&lt;br /&gt;
|tracksound {&lt;br /&gt;
|Tracksound&lt;br /&gt;
|The parent (eg. bridge/industry/tunnel) of the track to which this sound will apply.&lt;br /&gt;
|-&lt;br /&gt;
|trackside&lt;br /&gt;
|float metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|trackside&lt;br /&gt;
|This is a value that is the distance in meters the object is placed relative to the center of the track. Negative values will put the object on the left side of the track, and positive values will appear on the right.&lt;br /&gt;
|-&lt;br /&gt;
|track-sound&lt;br /&gt;
|kuid&lt;br /&gt;
|tracksound {&lt;br /&gt;
|Tracksound&lt;br /&gt;
|The kuid of the tracksound object to be used.&lt;br /&gt;
|-&lt;br /&gt;
|tracksound {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|Tracksound&lt;br /&gt;
|A sound asset that is referenced by track or bogeys to play a different sound from the default track/train sound (for example when a train travels over a bridge or through a tunnel).&lt;br /&gt;
|-&lt;br /&gt;
|trainbrakepipe &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|trainbrakepipe &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|trainbrakepipe_reservoir &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|trainbrakepipe_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|trainbrakepipevent &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|trainz-build&lt;br /&gt;
|build code&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|The Trainz build is the version number for which this asset was created.&lt;br /&gt;
|-&lt;br /&gt;
|trigger&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|trackside&lt;br /&gt;
|Specifies that the object is a trigger.&lt;br /&gt;
|-&lt;br /&gt;
|trigger&lt;br /&gt;
|string&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|A trigger may be used in an event file (.evt) associated with an animation. It plays at selected key frames of animation as defined in the event file. Sound files may triggered in this manner, and from scripting. Used in the mojunction example (switch lever) the “toggle” action is automatically triggered when the lever is operated and the sound plays.&lt;br /&gt;
|-&lt;br /&gt;
|turntable {&lt;br /&gt;
|mesh-table-ID {&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|turntable&lt;br /&gt;
|Predefined submesh identifier&lt;br /&gt;
|-&lt;br /&gt;
|turntable {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Predefined submesh identifier. &lt;br /&gt;
|-&lt;br /&gt;
|two-part&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|hornsound&lt;br /&gt;
|Indicates that the Railyard and Driver hornsounds are different. The Driver hornsound is looping. If this tag is not present, the hornsound defauts to UTC equivalent non-looping format.&lt;br /&gt;
|-&lt;br /&gt;
|type&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|Specify a type for the model that will be used in the Surveyor menu drop down menu for Track or Object type.&lt;br /&gt;
|-&lt;br /&gt;
|uncached_alphas&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|This is used in certain situations to improve alpha sorting. This should only be set to 1 for tracks that use an alpha texture and are always placed flat &lt;br /&gt;
|-&lt;br /&gt;
|unit_mesh&lt;br /&gt;
|folder&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|For mesh-reducing track, the filename of the long mesh, which must be placed in a subdirectory of the same name as the mesh. Only the file name is entered, not the directory name nor the file extension. For example, the full pathname and extension is “rockwall/rockwall.im”. Enter only “rockwall” in the text input box.&lt;br /&gt;
|-&lt;br /&gt;
|upright&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Specifies whether the bridge “legs” point vertically, or perpendicular to the spline.&lt;br /&gt;
|-&lt;br /&gt;
|useadjoiningtracktype&lt;br /&gt;
|boolean&lt;br /&gt;
|attached-track-ID {&lt;br /&gt;
|scenery with track&lt;br /&gt;
|Indicates whether the track type should change to match that of the first track joined to the object.&lt;br /&gt;
|-&lt;br /&gt;
|use-gradient-track&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|scenery&lt;br /&gt;
|This means to use the spline gradient rather than following the ground height.&lt;br /&gt;
|-&lt;br /&gt;
|use-parent-bounds&lt;br /&gt;
|boolean&lt;br /&gt;
|mesh-table {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Specifies that the mesh should use the bounds of the parent object for visibility culling. Use with caution.&lt;br /&gt;
|-&lt;br /&gt;
|username&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|The human-readable English name of this asset.&lt;br /&gt;
|-&lt;br /&gt;
|username-##&lt;br /&gt;
|string&lt;br /&gt;
|config.txt&lt;br /&gt;
|general&lt;br /&gt;
|The human-readable translated name of this asset.&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakecylinder &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakecylinder_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakecylinder_vacuumbrakepipe &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakepipe&lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakepipe &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakepipe_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakepipereleasevent &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakepipevent &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakereservoir &lt;br /&gt;
|?&lt;br /&gt;
|volume {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakereservoir_start &lt;br /&gt;
|?&lt;br /&gt;
|pressure {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|vacuumbrakereservoir_vacuumbrakepipe &lt;br /&gt;
|?&lt;br /&gt;
|flowsize {&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|value-range&lt;br /&gt;
|min,max time of day&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|2 numbers, currently used only for day/night sound effects. Midnight is 0.5, midday = 0.0 or 1.0 Where the numbers are not the same, this sets the start and end times for the sound to play.  Default 0,0 (off)&lt;br /&gt;
|-&lt;br /&gt;
|vehicle&lt;br /&gt;
|kuid&lt;br /&gt;
|consists-vehicle-ID {&lt;br /&gt;
|industry&lt;br /&gt;
|The kuid of the vehicle to be used.&lt;br /&gt;
|-&lt;br /&gt;
|velocity&lt;br /&gt;
|float&lt;br /&gt;
|smoke# {&lt;br /&gt;
|smoke block&lt;br /&gt;
|The initial speed of emitted smoke particles. Default is 1.&lt;br /&gt;
|-&lt;br /&gt;
|vertices {&lt;br /&gt;
|subcontainer&lt;br /&gt;
|attached-track-ID {&lt;br /&gt;
|scenery with track&lt;br /&gt;
|Attachment points at which to place track.&lt;br /&gt;
|-&lt;br /&gt;
|visible-on-minimap&lt;br /&gt;
|boolean&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Specifies whether the object\track is displayed on the minimap.&lt;br /&gt;
|-&lt;br /&gt;
|volume&lt;br /&gt;
|0..1&lt;br /&gt;
|soundscript-ID {&lt;br /&gt;
|mesh object&lt;br /&gt;
|Gain of the sound Default 1.0 = 100%&lt;br /&gt;
|-&lt;br /&gt;
|volume {&lt;br /&gt;
|container&lt;br /&gt;
|config.txt&lt;br /&gt;
|engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|water&lt;br /&gt;
|kuid&lt;br /&gt;
|config.txt&lt;br /&gt;
|map&lt;br /&gt;
|Undocumented&lt;br /&gt;
|-&lt;br /&gt;
|watercolor&lt;br /&gt;
|rgb value&lt;br /&gt;
|config.txt&lt;br /&gt;
|region&lt;br /&gt;
|RGB colour value of the water for the region.&lt;br /&gt;
|-&lt;br /&gt;
|water-injector-rate&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|wave-shift&lt;br /&gt;
|?&lt;br /&gt;
|effects-ID {&lt;br /&gt;
|corona effect&lt;br /&gt;
|Affects the flashing intensity pattren on the corona.&lt;br /&gt;
|-&lt;br /&gt;
|weather&lt;br /&gt;
|0..7&lt;br /&gt;
|driver-settings {&lt;br /&gt;
|activity&lt;br /&gt;
|Weather setting. (clear, cloudy, drizzle, rain, stormy, light snow, medium snow, heavy snow)&lt;br /&gt;
|-&lt;br /&gt;
|westinghouse-volume&lt;br /&gt;
|?&lt;br /&gt;
|steam {&lt;br /&gt;
|steam-engine&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|width&lt;br /&gt;
|float metres&lt;br /&gt;
|config.txt&lt;br /&gt;
|splines&lt;br /&gt;
|Width of track mesh in meters.&lt;br /&gt;
|-&lt;br /&gt;
|width&lt;br /&gt;
|integer&lt;br /&gt;
|thumbnails-ID {&lt;br /&gt;
|all&lt;br /&gt;
|Image width&lt;br /&gt;
|-&lt;br /&gt;
|workingscale&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|map&lt;br /&gt;
|Undocumented&lt;br /&gt;
|-&lt;br /&gt;
|workingunits&lt;br /&gt;
|?&lt;br /&gt;
|config.txt&lt;br /&gt;
|map&lt;br /&gt;
|Undocumented&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Automating_Animations.&amp;diff=1412</id>
		<title>Automating Animations.</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Automating_Animations.&amp;diff=1412"/>
		<updated>2010-03-25T09:34:57Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The code to deal with this follows. Any text sandwiched between /* and */ character pairs, and the text on any line starting with //, will be treated as a comment and ignored by the compiler.&lt;br /&gt;
&lt;br /&gt;
 include &amp;quot;Buildable.gs&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 class Tutorial isclass Buildable {&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=#808080&amp;gt;/* We will need a variable to keep track of whether the shed doors are open or closed,&lt;br /&gt;
    declaring this in the body of the class and outside of any method definitions will&lt;br /&gt;
    make it available to any method in the class.*/ &amp;lt;/font&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    bool doorsOpen = false;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=#808080&amp;gt;/* We are going to open and close the doors whenever a vehicle enters or leaves the area &lt;br /&gt;
    defined by our trigger.  To do this we will be listening for &#039;&#039;Object,InnerEnter&#039;&#039; and&lt;br /&gt;
    &#039;&#039;Object,InnerLeave&#039;&#039; messages. We do this by adding a handler in Init().*/ &amp;lt;/font&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    public void Init(void) {&lt;br /&gt;
       inherited();&lt;br /&gt;
       SetFXCoronaTexture(&amp;quot;corona&amp;quot;,null);&lt;br /&gt;
       AddHandler(me,&amp;quot;Object&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;ObjectHandler&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=#808080&amp;gt;/* Object handler will &#039;wake up&#039; whenever we receive an Object message. It is good &lt;br /&gt;
    practice to check that the message is coming from an expected source. This is done &lt;br /&gt;
    by converting or &#039;casting&#039; the source of the message to a vehicle.  If the cast does&lt;br /&gt;
    not work the variable &#039;&#039;vehicle&#039;&#039; will be null and the handler is exited immediately. &lt;br /&gt;
    The remainder of the method checks whether the vehicle is entering or leaving and runs &lt;br /&gt;
    the animations as appropriate. &#039;&#039;SetMeshAnimationState()&#039;&#039; runs the animation attached &lt;br /&gt;
    to the named mesh from its current position to the beginning or end, depending on the &lt;br /&gt;
    value of the second parameter.*/ &amp;lt;/font&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
    void ObjectHandler(Message msg) {&lt;br /&gt;
       Vehicle vehicle = cast&amp;lt;Vehicle&amp;gt;msg.src;&lt;br /&gt;
       if (!vehicle) return;&lt;br /&gt;
       if (msg.minor == &amp;quot;InnerEnter&amp;quot;) {&lt;br /&gt;
          doorsOpen = true;&lt;br /&gt;
          SetMeshAnimationState(&amp;quot;default&amp;quot;, true);&lt;br /&gt;
       }&lt;br /&gt;
       else if (msg.minor == &amp;quot;InnerLeave&amp;quot;) {&lt;br /&gt;
          doorsOpen = false;&lt;br /&gt;
          SetMeshAnimationState(&amp;quot;default&amp;quot;, false);&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
There are a couple of quirks to notice about the code in &#039;&#039;ObjectHandler&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
1. The cast statement &#039;&#039;&#039;Vehicle vehicle = cast&amp;lt;Vehicle&amp;gt;msg.src;&#039;&#039;&#039;&lt;br /&gt;
* If you have remembered that TrainzScript is case sensitive you will see that there is a difference between        &#039;&#039;Vehicle&#039;&#039; and &#039;&#039;vehicle&#039;&#039;.&lt;br /&gt;
* The former is a built-in class name and the latter is a variable, so the phrase &#039;&#039;Vehicle vehicle&#039;&#039; is a declaration of a variable called &#039;&#039;vehicle&#039;&#039; to be of the class &#039;&#039;Vehicle&#039;&#039;. You may need to read that a couple of times.&lt;br /&gt;
* I don&#039;t personally like this convention (script is confusing enough without it) but you will see it frequently so you might as well start getting used to it now.&lt;br /&gt;
&lt;br /&gt;
2. The &#039;&#039;if&#039;&#039; statement &#039;&#039;&#039;if (msg.minor == &amp;quot;InnerEnter&amp;quot;) doorsOpen = true;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;==&#039;&#039;&#039; and &#039;&#039;&#039;=&#039;&#039;&#039; mean different things.&lt;br /&gt;
* &#039;&#039;doorsOpen = true&#039;&#039; is an assignment, the same as saying let &#039;&#039;doorsOpen&#039;&#039; be equal to &#039;&#039;true&#039;&#039;.&lt;br /&gt;
* &#039;&#039;msg.minor == &amp;quot;InnerEnter&amp;quot;&#039;&#039; is a comparison which will return &#039;&#039;true&#039;&#039; if &#039;&#039;msg.minor&#039;&#039; is equal to &#039;&#039;&amp;quot;InnerEnter&amp;quot;&#039;&#039; and false otherwise.&lt;br /&gt;
* The most common mistake you will make is to type &#039;&#039;if (msg.minor = &amp;quot;InnerEnter&amp;quot;)&#039;&#039;, missing out the second equals sign. This will always evaluate to true, will usually mess up your code, and will always be difficult to spot. You have been warned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check out your script:&lt;br /&gt;
* Compile the code and reload and commit the asset.&lt;br /&gt;
* Start Surveyor and place an instance (a copy) of the object on your map. &lt;br /&gt;
* Add a section of track to the track node nearest to the doors and extend it some distance away from the object&lt;br /&gt;
* Place a railcar or something similar at the far end of the track, orient it towards the engine shed.&lt;br /&gt;
* Go to Driver via the Quick Launch button, select DCC mode and click on the train that you have just placed.&lt;br /&gt;
* Issue a &#039;&#039;Drive&#039;&#039; command.&lt;br /&gt;
The selected train should head off towards the engine shed. Once it gets close enough the doors should open and the train should slow down as it approaches the end of the track. Once inside the train should stop and the doors should close. Since the shed doesn&#039;t currently have a visible roof you will be able to see all of this happening.&lt;br /&gt;
&lt;br /&gt;
If its not quite right you may need to go back to the Max source and adjust some of the dimensions.  The Object messages which control the doors are issued when the centre point of the traincar crosses the trigger radius.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Next Tutorial: [[Handling Corona Effects.]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Attachment_point&amp;diff=1411</id>
		<title>Attachment point</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Attachment_point&amp;diff=1411"/>
		<updated>2010-03-25T09:34:44Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Attachments are the means of specifying how sub meshes or other effects are placed or attached in a model.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Attachments=&lt;br /&gt;
An attachment point is located in the model and reference is made from the [[Config.txt_file|config.txt]] file, to define its use and function.&lt;br /&gt;
&lt;br /&gt;
Attachment points use the &#039;&#039;&#039;a.name&#039;&#039;&#039; convention, to be recognised in Trainz. For an attachment point to move with an animated dummy, there is a special naming convention for the point in 3dsmax, e.g. &#039;&#039;&#039;a.r.dummy/a.name&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Attachment points should be created in top view, and the orientation of the axis will then be consistent. Sometimes the attachment point may not be facing the correct direction, and has to be rotated (realigned). Refer to other sections for advice on any special orientation required for different attachment points, for track, names, bogeys, coupler points and effects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;a.bog&#039;&#039;&#039;, &#039;&#039;&#039;a.limfront&#039;&#039;&#039; and &#039;&#039;&#039;a.limback&#039;&#039;&#039; are some of the important attachments for rollingstock models. As these have specific placements, it may be helpful to save a file of these points as a template, so you can merge it with your next model. With a few adjustments, you can quickly incorporate the template into the model and be sure the point names and orientation are correct.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=3D Studio Max Guidelines=&lt;br /&gt;
In 3dsmax: ‘Create’ tab, ‘Helpers’, ‘Point’.&lt;br /&gt;
&lt;br /&gt;
[[Image:attachmentpointcreation.jpg]]&lt;br /&gt;
&lt;br /&gt;
To maintain correct alignment, attachment points should be created in the TOP viewport. The front end of the train body should be on the Left hand side when displayed in the RIGHT viewport in 3dsmax (ie, in TOP view, the loco should face down the page).&lt;br /&gt;
&lt;br /&gt;
Any object in the scene that has to move (ie. levers and dials), or animate, will need to be ‘detached’ from the main model. To do this, select the polygons or elements you want detached and through the 3dsmax modify panel, press the detach button and name the new object.&lt;br /&gt;
&lt;br /&gt;
To make life a heck of a lot easier later on, it pays to move the pivot point of each new object to it’s logical position. Ie. For needles and levers the pivot point should be the centre of rotation (with the rotation around the Z axis). Align lever shaft in the Positive Y direction.&lt;br /&gt;
&lt;br /&gt;
To do this, access the 3dsmax Hierarchy panel, and press Affect Pivot Only. From here you can centre and align the pivot to the object and move it to the preferred&lt;br /&gt;
location.&lt;br /&gt;
&lt;br /&gt;
[[image:3dsmaxpivotpoint.jpg]]&lt;br /&gt;
&lt;br /&gt;
Be aware that the point itself must be rotated correctly, not the axis of the point. The &#039;&#039;&#039;Hirerachy&#039;&#039;&#039;...&#039;&#039;&#039;Affect Pivot Only&#039;&#039;&#039; option may be turned on to determine the orientation of the point, it must then be turned off before rotating the point (click on the Affect Pivot Only box to toggle on/off). Turn on the axis information again to verify the rotation of the point has been done correctly.&lt;br /&gt;
&lt;br /&gt;
Once the pivot points have been set for all your new objects, now is the time to start adding attachment points. Add these through the 3dsmax create panel (see image below). Remember to use the &#039;&#039;&#039;a.name&#039;&#039;&#039; naming convention. Attachment points are simply points in 3D space where another mesh can inserted (through [[Config.txt_file|config.txt]] reference).&lt;br /&gt;
&lt;br /&gt;
Since you have already worked out the pivot points of all your objects, all you have to do is align the attachment points to your object pivot points. Press the icon (above) and select the object to align to....&lt;br /&gt;
&lt;br /&gt;
These attachments are exported as part of the default mesh (or the main mesh). Objects for attachment must not be included in the export as they are each exported from their own 3dsmax files and attached to the default mesh separately (through [[Config.txt_file|config.txt]] reference).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Remember to save a backup of the 3dsmax file!!&#039;&#039;  Select each object from the scene and save each one as its own 3dsmax file, (command panel, file - save selected). You may delete the object from the main mesh scene after you save it.&lt;br /&gt;
&lt;br /&gt;
[[Image:3dsmaxmoveandrotate.jpg]]&lt;br /&gt;
The next step is to open each 3dsmax file you have just created (of the movable objects), and move the object to 0,0,0 and make the rotational values 0,0,0 (press and right click these 3dsmax icons). This makes the object (and it’s pivot) aligned correctly to the origin of the scene.&lt;br /&gt;
&lt;br /&gt;
Now is the time to export the object to a Trainz mesh file (.im).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Naming=&lt;br /&gt;
&lt;br /&gt;
==Moving attachment points for other models==&lt;br /&gt;
Attachments use the &#039;&#039;&#039;a.name&#039;&#039;&#039; convention and allow the attachment of a submesh to a specific point in a mesh. If the attachment point in the main mesh is to move with an animation of that mesh, the special naming convention above must be used for the point to follow the animation, and allow the submesh to then follow the point.&lt;br /&gt;
For example, a submesh is to be attached to a main mesh using the attachment name &#039;&#039;&#039;a.lever&#039;&#039;&#039;. This attachment point in the main mesh must be linked to a helper point called &#039;&#039;&#039;b.r.pivot&#039;&#039;&#039;, that is animated.&lt;br /&gt;
The attachment point in the 3dsmax model must be named &#039;&#039;&#039;a.r.pivot/a.lever&#039;&#039;&#039;. In the [[Config.txt_file|config.txt]] file the attachment point will be entered as &#039;&#039;&#039;a.lever&#039;&#039;&#039;. Note the helper point in 3dsmax will be called &#039;&#039;&#039;b.r.pivot&#039;&#039;&#039;, &#039;&#039;&#039;not a.r.pivot&#039;&#039;&#039;!&lt;br /&gt;
The submesh will now follow any animation in the main mesh. It can be useful for moving coronas, and animated nightwindow meshs.&lt;br /&gt;
&lt;br /&gt;
==Level Of Detail Meshes==&lt;br /&gt;
From a &#039;&#039;&#039;.lm.txt&#039;&#039;&#039; configuration file:&lt;br /&gt;
  attachmentCutOff = 0.1;&lt;br /&gt;
Attachment cutoff specifies the level where attachments with the flag &#039;&#039;&#039;:Cull&#039;&#039;&#039; are dropped.&lt;br /&gt;
&lt;br /&gt;
ie To stop drawing the bogeys of the trains at a specific level of detail, append &#039;&#039;&#039;:Cull&#039;&#039;&#039; to the bogie attachment point. (ie &#039;&#039;&#039;a.bog0:Cull&#039;&#039;&#039; )&lt;br /&gt;
&lt;br /&gt;
Where the above applies (bogeys culled) the body mesh will need a low poly representation of the bogeys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Special Attachment Points==&lt;br /&gt;
A number of [[Vehicle Attachment Points]] are reserved for predefined use in Trainz.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Animation-Event_Message&amp;diff=1410</id>
		<title>Animation-Event Message</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Animation-Event_Message&amp;diff=1410"/>
		<updated>2010-03-25T09:34:18Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Generic events can be linked to an animation key frame to give a measure of control over script timing. This is a different mechanism from Sound_Event, which interfaces with a &#039;&#039;soundscript&#039;&#039; container in config.txt and does not require scripting.&lt;br /&gt;
&lt;br /&gt;
When an animation file, *.kin, is exported from Max, the exporter will make a query for an event file. Tick the box and you will be asked to browse to the file. The event information is added to the contents of the new animation.&lt;br /&gt;
&lt;br /&gt;
* To produce an animation event which can be read by script you need to insert a line or lines similar to that below to a plain text file and to save it with an *.evt file extension.&lt;br /&gt;
&lt;br /&gt;
 002 Generic_Event animstart&lt;br /&gt;
&lt;br /&gt;
* This example will result in the message &#039;&#039;Animation-Event,animstart&#039;&#039; being sent by the game whenever the animation plays past frame 2.  &lt;br /&gt;
* It is best to avoid issuing events on the first or last frames since these are not always converted reliably into messages.&lt;br /&gt;
* To use the message you should define a handler using:&lt;br /&gt;
&lt;br /&gt;
 AddHandler(me,&amp;quot;Animation-Event&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;AnimationHandler&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
 void AnimationHandler(Message msg) {&lt;br /&gt;
    if (msg.minor == &amp;quot;animstart&amp;quot;) &lt;br /&gt;
       Interface.Print(&amp;quot;Animation has started&amp;quot;);&lt;br /&gt;
    else if (msg.minor == &amp;quot;animstop&amp;quot;) &lt;br /&gt;
       Interface.Print(&amp;quot;Animation has completed&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* In practice the game engine often issues duplicate messages so you will need to ensure that you are not responding more often than necessary. One way of doing this is to use a boolean variable to keep track of what your script is doing and use this to ignore duplicating script actions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[List of Standard Messages]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22mesh-table%22_container&amp;diff=1409</id>
		<title>&quot;mesh-table&quot; container</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22mesh-table%22_container&amp;diff=1409"/>
		<updated>2010-03-25T09:34:01Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;mesh-table&amp;quot; container is a top-level [[config.txt file]] entry used by various [[Content Types]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The mesh-table is a list of mesh subcontainers with no standalone tags. Each mesh subcontainer uses the following format. Tags are parsed in a standardised format, but not all [[Content Types]] support the full range of tags. Each mesh derives its name from the subcontainer&#039;s tag name. These names are used to refer to specific meshes from within the mesh-table and also from script.&lt;br /&gt;
&lt;br /&gt;
=Supported Tags=&lt;br /&gt;
Each mesh subcontainer supports the following tags. Each tag is shown here with its default value.&lt;br /&gt;
&lt;br /&gt;
 mesh-asset &amp;lt;NULLKUID&amp;gt;&lt;br /&gt;
 mesh &amp;quot;&amp;quot;&lt;br /&gt;
 anim &amp;quot;&amp;quot;&lt;br /&gt;
 lod-level 255&lt;br /&gt;
 mesh-season 255&lt;br /&gt;
 att &amp;quot;&amp;quot;&lt;br /&gt;
 att-parent &amp;quot;&amp;quot;&lt;br /&gt;
 opacity 1.0&lt;br /&gt;
 position 0,0,0&lt;br /&gt;
 orientation 0,0,0&lt;br /&gt;
 auto-create 0&lt;br /&gt;
 use-parent-bounds 0&lt;br /&gt;
 animation-loop-speed 0&lt;br /&gt;
 light 1&lt;br /&gt;
 critical-animation 1&lt;br /&gt;
 effects&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 night-mesh-base &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====mesh-asset====&lt;br /&gt;
&#039;&#039;TBD&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====mesh====&lt;br /&gt;
The ‘main’ mesh name. This may include a sub-path; &lt;br /&gt;
ie: mesh nightwindows/nightwindows.im, where the file nightwindows.im has been placed in the subdirectory nightwindows.&lt;br /&gt;
&lt;br /&gt;
Use .im files exported from 3dsmax (as opposed to .pm.) or reference an .lm file if you wish your asset to have ‘Level of Detail’ mesh reduction.&lt;br /&gt;
&lt;br /&gt;
Level of detail is a process of using different model meshes, depending on how far the viewer is from the model. A finer mesh is used for close up viewing in Trainz.&lt;br /&gt;
&lt;br /&gt;
====anim====&lt;br /&gt;
The animation file (.kin) exported from 3dsmax. This may include a sub-path.&lt;br /&gt;
&lt;br /&gt;
====lod-level====&lt;br /&gt;
The object LOD level at which this mesh is displayed. The default value (255) indicates that this mesh is visible at all detail levels.  See also [[KIND Mesh]] for the &#039;mesh-detail-level&#039; tag.&lt;br /&gt;
&lt;br /&gt;
====mesh-season====&lt;br /&gt;
The season index for which this mesh is displayed. The default value (255) indicates that this mesh is visible in all seasons.  See also [[&amp;quot;Season-selector&amp;quot; container]].&lt;br /&gt;
&lt;br /&gt;
====att====&lt;br /&gt;
The mesh (and animation if present) is inserted at a mesh attachment point rather than the origin (without this line the mesh is placed relative to the origin of the parent model).&lt;br /&gt;
&lt;br /&gt;
====att-parent====&lt;br /&gt;
The tag tells Trainz in which mesh the attachment point is located. The insertion attachment point is located within the mesh ‘name’ , as listed in the config.txt.&lt;br /&gt;
&lt;br /&gt;
====opacity====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====position====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====orientation====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====auto-create====&lt;br /&gt;
The model is generated automatically when placed, or when you load a map which includes the model. In some instances you don’t want the mesh visible (as this may be controlled through script). If auto-create is 0 the mesh will not be visible when placed.&lt;br /&gt;
&lt;br /&gt;
====use-parent-bounds====&lt;br /&gt;
When enabled, this tag indicates that render culling should occur using the whole object&#039;s bounding box rather than this mesh&#039;s bounding box. Bounding boxes on individual meshes may not update correctly when animation moves the object&#039;s geometry any significant distance from the bind position. This flag can help mitigate such effects, at a tiny performance penalty.&lt;br /&gt;
&lt;br /&gt;
====animation-loop-speed====&lt;br /&gt;
This tag must be here if the asset is to animate when placed. If this tag is not here when placed the animation will not play by default, but may play if controlled by script. A different value (e.g. 0.5, 2.0) may be used in the tag to play the animation at a different speed from that created in 3dsmax.&lt;br /&gt;
&lt;br /&gt;
====light====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====critical-animation====&lt;br /&gt;
&amp;quot;critical-animation&amp;quot; indicates that this mesh&#039;s animation generates events which are critical to the script system&#039;s behavior. If your asset is not scripted, does not use scripted animation events, or only uses the events for display purposes and will not break if the occasional event is missed, this tag should be set to &#039;&#039;false&#039;&#039;. Leaving this flag set to &#039;&#039;true&#039;&#039; is a &#039;&#039;&#039;significant&#039;&#039;&#039; performance penalty.&lt;br /&gt;
&lt;br /&gt;
====night-mesh-base====&lt;br /&gt;
This night mesh is linked to the specified mesh and is visible only at night. It is invisible if the specified mesh is invisible, (if the auto-create 0 line were used so the specified mesh can be controlled by script).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Effects Container=&lt;br /&gt;
The effects container also contains a list of effect subcontainers. The effect subcontainers support the following generic tags.&lt;br /&gt;
&lt;br /&gt;
 kind &amp;quot;&amp;quot;&lt;br /&gt;
 name &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The effect subcontainers support additional tags depending on the effect kind. The following effect kinds are supported:&lt;br /&gt;
&lt;br /&gt;
* [[Corona Effect]]&lt;br /&gt;
* [[Name Effect]]&lt;br /&gt;
* [[Attachment Effect]]&lt;br /&gt;
* [[Animation Effect]]&lt;br /&gt;
* [[Texture-Replacement Effect]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mesh-Table Example=&lt;br /&gt;
The following is an example of a simple mesh-table which implements two levels of detail.&lt;br /&gt;
&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default-lod0&lt;br /&gt;
   {&lt;br /&gt;
     mesh &amp;quot;example-lod0.im&amp;quot;&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     lod-level 0&lt;br /&gt;
   }&lt;br /&gt;
   default-lod1&lt;br /&gt;
   {&lt;br /&gt;
     mesh &amp;quot;example-lod1.im&amp;quot;&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     lod-level 1&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Container]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/New_in_TC&amp;diff=1408</id>
		<title>CCG/New in TC</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/New_in_TC&amp;diff=1408"/>
		<updated>2010-03-25T09:32:47Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=red&amp;gt;This information is all pretty much obsolete and should be re-factored or removed. Historical information should be moved to the appropriate product page(s).&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CHAPTER 1: The Basics==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New in TC&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TC introduces a number of new functions specifically designed to enhance the performance of Trainz. The aim in this build is to make the train driving experience more realistic. Some of the new features in TC are.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;In the Simulator:&#039;&#039;&lt;br /&gt;
* Flexible Cab Signalling system&lt;br /&gt;
* Headlight dimmer system&lt;br /&gt;
* Flashing ditch-lights&lt;br /&gt;
* Train controlled sounds, lights and boom gates at build-in road crossings&lt;br /&gt;
* Automatic Train Protection options&lt;br /&gt;
* New sound functions for better representation of electric traction&lt;br /&gt;
* New Freeways feature supporting and including one way and multi-lane roads&lt;br /&gt;
* Remodelled roadway traffic featuring working head lights&lt;br /&gt;
* Computerised in-cab displays&lt;br /&gt;
* Improved Heads-Up-Display options&lt;br /&gt;
* Improved session-design options&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;New Routes:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* a route based on the Harlem Line in New York, developed by Auran staff&lt;br /&gt;
* also included is Metropolis - Modula City developed by third party creators.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For Managing Content:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Content Manager]] module makes the management of assets very easy. It is integrated with the Download Station, listing the assets available on the Download Station, enabling updating of the list when connected to the Download Station via the Internet, and making the upload or download an efficient and simple process.&lt;br /&gt;
&lt;br /&gt;
[[Content Manager]] relies on a database of content in your installation on your computer. This database makes the loading of data into Trainz on start up very efficient, and minimises load time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For Content Creation:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Content Creator Plus]] module is integrated with the [[Content Manager]] module. It is essential for creating content in TC.This document will cover detail on how to use Content Creator Plus to create config.txt files and manage the asset files.&lt;br /&gt;
&lt;br /&gt;
New functions in TC for creators are covered in Appendix D.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/Getting_Started&amp;diff=1407</id>
		<title>CCG/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/Getting_Started&amp;diff=1407"/>
		<updated>2010-03-25T09:31:49Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==CHAPTER 3: Understanding and using Content Creator Plus==&lt;br /&gt;
&lt;br /&gt;
The purpose of this chapter is to introduce users to [[Content Creator Plus]], a powerful program used to generate and validate [[config.txt file]]s. [[Content Creator Plus]] is intended for in-experienced content creators, however a degree of understanding regarding kinds and containers is assumed. Please refer to other Chapters in this document for assistance in familiarising yourself with the requirements and structures of containers and tags.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Getting Started&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Main Screen===&lt;br /&gt;
&lt;br /&gt;
The main screen is divided into a number of areas:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-1.png|CCG main screen]]&lt;br /&gt;
* 1. Tree View&lt;br /&gt;
* 2. Tag space&lt;br /&gt;
* 3. 3D Viewport (only visible when a mesh is selected)&lt;br /&gt;
* 4. Error Message Box.&lt;br /&gt;
&lt;br /&gt;
===1. Tree View===&lt;br /&gt;
&lt;br /&gt;
When an existing config.txt file is loaded, the program will “parse” the text file and gather 2 different sorts of information: the tags and the containers. The tags are values being assigned to a property, and a container is a section of the config.txt that groups a number of tags or other containers.&lt;br /&gt;
&lt;br /&gt;
With many possible tags and containers, the best way to manage the containers is to display them in a tree view hierarchy (like the tree view of Explorer for example). The diagram below is a section of the tree view for a Kind traincar model:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-2.png|CCG main screen tree view]]&lt;br /&gt;
&lt;br /&gt;
The top “node” or Kind may be called traincar for example, and is the main container for the complete config.txt file. Traincar is the name of the Kind that we are currently creating (for example, if we were making a bogey, it would be listed as “bogey”). Under this main container are other sub containers in the config.txt file.&lt;br /&gt;
&lt;br /&gt;
The tree may be freely expanded or collapsed (by clicking with the Left mouse button on the plus or minus symbols). When you click on one of the nodes, it will load the tags that are included for that container in the tag space, so you can add new entries or edit existing values. Left clicking on the node icon will select that node, whilst Left clicking the node name will select the node for renaming, if allowed (some names are reserved).&lt;br /&gt;
&lt;br /&gt;
When you click with the Right mouse button on one of the nodes, a contextual menu will pop up with four different sections:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-3.png|CCG main screen tree view popup menu]]&lt;br /&gt;
&lt;br /&gt;
Sub-Containers: The first section is the available sub-container section. This section shows which sub-containers you may add to the opened container. Select a sub-container by clicking on it with the Left mouse button. Depending on the type of container added, when you click with the Left mouse button on the new container name, a number of compulsory entry dialog boxes may appear. The diagram above shows the containers and tags available under a mesh container.&lt;br /&gt;
&lt;br /&gt;
Tags: The second section is the tag section. This shows you the list of non-compulsory tags (a non-compulsory tag is an optional tag for additional functionality). When you click on one of the choices with the Left mouse button, it will be added to the tag space that represents the container. You may also delete any non-compulsory tags.&lt;br /&gt;
&lt;br /&gt;
Rename: The rename option allows you to change the name of a container, unless it is a reserved name.&lt;br /&gt;
&lt;br /&gt;
Remove: The remove option allows you to delete an unwanted container from the config.txt file. This is particularly useful if you are editing a config.txt from an existing asset to create a new asset. Click on a container name with the Right mouse button to open the options for the container, and select an item using the Left mouse button.&lt;br /&gt;
&lt;br /&gt;
===2. Tag Space===&lt;br /&gt;
&lt;br /&gt;
This section of the program displays the content of a container. It dynamically changes as you either select different containers or add\delete tags.&lt;br /&gt;
&lt;br /&gt;
Selected tags may have a variety of buttons placed adjacently:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-4.png|CCG main screen tag space]]&lt;br /&gt;
&lt;br /&gt;
Tag Name: The name of every mandatory and\or user selected tag will be displayed on the left hand side of the space.&lt;br /&gt;
&lt;br /&gt;
Tag Value: The value stored in the selected tag - initially shows blank for a new asset.&lt;br /&gt;
&lt;br /&gt;
Load: This button will let you select a file or asset (depending on the tag type) which will be loaded into the Tag Value display.&lt;br /&gt;
&lt;br /&gt;
View in Content Manager Plus: This button will open [[Content Manager]] and allow you to find and select an asset, or for an already selected asset, will show you that asset. Because the assets are loaded using their username, it allows you to verify that the selection is the one intended.&lt;br /&gt;
&lt;br /&gt;
Delete: Removes the selected tag from the working config.txt.&lt;br /&gt;
&lt;br /&gt;
===3. 3D Viewport===&lt;br /&gt;
&lt;br /&gt;
When a mesh is referenced for the model, you need to specify a mesh file. Clicking on the “...” button will allow you to browse for the filename. The program will load the referenced mesh file, and display it in the 3D viewport. This viewport only appears in [[Content Creator Plus]] when a valid mesh is loaded.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-5.png|CCG main screen 3D viewport]]&lt;br /&gt;
&lt;br /&gt;
Buttons below the viewport allow the camera to be moved, rotated or zoomed. Alternatively, you can control the model with your mouse by interacting directly with the 3D Viewport.&lt;br /&gt;
&lt;br /&gt;
: Use the Mousewheel to zoom in and out&lt;br /&gt;
: Hold the Left mouse button down and drag to move the display&lt;br /&gt;
: Hold the Right mouse button down to drag to rotate the display&lt;br /&gt;
&lt;br /&gt;
===4. Error Message Box===&lt;br /&gt;
&lt;br /&gt;
When you load or save a config.txt file, the program will validate your data input to make sure that everything is correct. The error box is used to output error\warning messages to the user to assist error checking if the model is not working in Trainz.&lt;br /&gt;
&lt;br /&gt;
Clicking on an error message within CCP with the Left mouse button will jump to the relevant tag in the [[config.txt file]] (in CCP) that is causing the error.&lt;br /&gt;
&lt;br /&gt;
You can also Right click on the message, which will bring up a contextual menu that will let you copy the error message to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Trainz offers many options (containers and tags) for an asset, and a user may select those that are considered appropriate for a particular Kind. CCP may not prompt you for a container or tag that is required to make the asset fully functional in Trainz.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For example, normally a traincar requires a reference to a bogey; if you neglect to select the appropriate bogey container for the asset, no error message will be displayed, but the asset may not show or operate correctly in Trainz. Using mandatory tags only may not be sufficient for an asset to operate correctly (or to your expectation) in Trainz.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please refer to the chapters on Kinds, Containers, Tags and asset examples for guidance on the containers and tags required for a particular Kind.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/Introduction&amp;diff=1406</id>
		<title>CCG/Introduction</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/Introduction&amp;diff=1406"/>
		<updated>2010-03-25T09:29:59Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==CHAPTER 1: The Basics==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Introduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Content Creator’s Guide.&lt;br /&gt;
&lt;br /&gt;
This document is designed to assist 3rd party content creators design and create functional content for the Trainz Railroad Simulator. The purpose of this document is to detail the way in which 3rd party content should be designed and built to be compatible with TC and to describe the use of the new functions in TC, the [[Content Manager]] and the [[Content Creator Plus]].&lt;br /&gt;
&lt;br /&gt;
The [[Content Manager]] module manages content on your computer, communicates with the Download Station and uploads or downloads content more easily than in previous versions of Trainz.&lt;br /&gt;
&lt;br /&gt;
The [[Content Creator Plus]] module assists in creating model assets that are compatible with the Download Station requirements, and incorporates error checking that should assist in the creation of successful models. The module creates the config.txt file for the model asset, the entry of data is by means of templates for each model asset Kind, and dialogue boxes that filter and check the data.&lt;br /&gt;
&lt;br /&gt;
This document provides the standards and procedures for a content creator to enter data for the model asset, using [[Content Creator Plus]]. It also provides advice on the creation of the model mesh using 3dsmax, and the creation of correct texture files for the model.&lt;br /&gt;
&lt;br /&gt;
Scripting is an integral part of model creation, however details on script code and usage are included in a separate document. Only brief references to Scripting are made in this document, as far as they effect the creation requirements.&lt;br /&gt;
&lt;br /&gt;
New content creation features added to TC include:&lt;br /&gt;
* ability to vary track sounds on track for tunnels and bridges and for bogeys (tracksounds)&lt;br /&gt;
* basic animated turnouts&lt;br /&gt;
* ability to create backdrop objects&lt;br /&gt;
* control of invisible track display (visible in minimap)&lt;br /&gt;
* third-party configuration tags, in an extensions container&lt;br /&gt;
* use of asset thumbnails, replacing art files and other picture files&lt;br /&gt;
* new coupler performance tags and wheelslip functions&lt;br /&gt;
* a new kind steam engine and kind texture group.&lt;br /&gt;
&lt;br /&gt;
These functions are described in Appendix D.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/New_in_TC&amp;diff=1405</id>
		<title>CCG/New in TC</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/New_in_TC&amp;diff=1405"/>
		<updated>2010-03-25T09:29:13Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=red&amp;gt;this information is all pretty much obsolete and should be re-factored or removed.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CHAPTER 1: The Basics==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New in TC&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TC introduces a number of new functions specifically designed to enhance the performance of Trainz. The aim in this build is to make the train driving experience more realistic. Some of the new features in TC are.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;In the Simulator:&#039;&#039;&lt;br /&gt;
* Flexible Cab Signalling system&lt;br /&gt;
* Headlight dimmer system&lt;br /&gt;
* Flashing ditch-lights&lt;br /&gt;
* Train controlled sounds, lights and boom gates at build-in road crossings&lt;br /&gt;
* Automatic Train Protection options&lt;br /&gt;
* New sound functions for better representation of electric traction&lt;br /&gt;
* New Freeways feature supporting and including one way and multi-lane roads&lt;br /&gt;
* Remodelled roadway traffic featuring working head lights&lt;br /&gt;
* Computerised in-cab displays&lt;br /&gt;
* Improved Heads-Up-Display options&lt;br /&gt;
* Improved session-design options&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;New Routes:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* a route based on the Harlem Line in New York, developed by Auran staff&lt;br /&gt;
* also included is Metropolis - Modula City developed by third party creators.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For Managing Content:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Content Manager]] module makes the management of assets very easy. It is integrated with the Download Station, listing the assets available on the Download Station, enabling updating of the list when connected to the Download Station via the Internet, and making the upload or download an efficient and simple process.&lt;br /&gt;
&lt;br /&gt;
[[Content Manager]] relies on a database of content in your installation on your computer. This database makes the loading of data into Trainz on start up very efficient, and minimises load time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For Content Creation:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The [[Content Creator Plus]] module is integrated with the [[Content Manager]] module. It is essential for creating content in TC.This document will cover detail on how to use Content Creator Plus to create config.txt files and manage the asset files.&lt;br /&gt;
&lt;br /&gt;
New functions in TC for creators are covered in Appendix D.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/The_Basics_of_Content_Creation&amp;diff=1404</id>
		<title>CCG/The Basics of Content Creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/The_Basics_of_Content_Creation&amp;diff=1404"/>
		<updated>2010-03-25T09:28:17Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==CHAPTER 1: The Basics==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Basics of Content Creation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Creating new content for Trainz is generally a seven-step process.&lt;br /&gt;
&lt;br /&gt;
===1. Research===&lt;br /&gt;
&lt;br /&gt;
The research step involves finding out all the relevant information that you can about the item you wish to create. Research usually covers the accumulation of data about the content in question. The information needed may cover technical drawings of front, side and top, performance specifications (for loco engines), and photo’s for texture reference.&lt;br /&gt;
&lt;br /&gt;
You will generally find that much of this information can be obtained by searching on the Internet. You should also be aware of, and comply with, any copyright issues on information obtained, including pictures, textures and information.&lt;br /&gt;
&lt;br /&gt;
===2. Create a Mesh (.im file)===&lt;br /&gt;
&lt;br /&gt;
An .im file is an Indexed Mesh. These files are created by exporting from ‘3D Studio Max’ (3dsmax) using an [[Downloads|Trainz exporter plugin]]. A third-party plugin for Blender is also available.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Early versions of Trainz supported a ‘Progressive Mesh’ file ( .pm ). In modern Trainz versions, only .im files are used, progressive mesh files are obsolete. These files will still function in Trainz, but for new models, the .im format should be used.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So what is 3dsmax or Blender? These are 3D modeling programs that enable you to make things such as locomotives, items of rolling stock or scenery and trackside accessories. They are quite complex programs, and you can expect a steep learning curve should you decide to dive in and learn asset creation. However, on the plus side, the benefits are well worth it, and if you take the time to learn it well, you will certainly be able to create some masterpieces.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Create textures===&lt;br /&gt;
&lt;br /&gt;
Creating textures for your assets is a very important part of the content creation process. Making good textures is one of the hardest things to do, but they can be the difference between a good-looking model and a great looking model.&lt;br /&gt;
&lt;br /&gt;
Textures are created for Trainz using any 3rd party program that supports the creation of 2D art, like Adobe Photoshop or Paint Shop Pro.&lt;br /&gt;
&lt;br /&gt;
There are a number of free programs that may be available, but they may lack the functionality of the commercial programs.&lt;br /&gt;
&lt;br /&gt;
There are special requirements for texture types and sizes for models, details are given in this document.&lt;br /&gt;
&lt;br /&gt;
===4. Create a ‘Config.txt’ file.===&lt;br /&gt;
&lt;br /&gt;
Each and every item of content for Trainz has it’s own [[config.txt file]]. This file is a human-readable text file included with its corresponding item of content. Depending on what the item of content is will determine the necessary contents of the text file, but it will always contain a unique [[KUID]], (a KUID is an identification serial code defined a little later in this document), a description and other information to make the model recognised by, and function in, Trainz.&lt;br /&gt;
&lt;br /&gt;
Items of content created for Trainz are always assigned to a group of content called a KIND. A KIND is a type of content that has particular properties that Trainz recognizes. For example, one type of KIND is a TRACK. Trainz understands that items of content that belong to a group of this KIND define where locomotives and rolling stock travel, the “steel rails” for trains (of course some modern trains do not have “steel rails”, the Maglev for instance). Other KINDs are listed later in this document.&lt;br /&gt;
&lt;br /&gt;
The config.txt file also includes a number of statements for content categories, time eras, Trainz Build, a list of items that the model may depend on (a KUID list of dependencies) and other instructions defining how the asset will behave in Trainz, or assist the Download Station to manage the content.&lt;br /&gt;
&lt;br /&gt;
These instructions are called “tags” and a number of “tags” may be grouped functionally into “containers” within the config.txt file. Refer to examples later in this document.&lt;br /&gt;
&lt;br /&gt;
Previous versions of Trainz required the config.txt file to be generated by a text editor such as Notepad, and saved as UTF-8 code, not ANSI. This encoding option is available from the save dialogue box. Programs such as MS Word that can introduce unwanted formatting, including non standard quotation marks, are not to be used.&lt;br /&gt;
&lt;br /&gt;
While it is possible to generate a config.txt file in this manner for TC, the Content Creator Plus module will do this work for you when you enter the appropriate data.&lt;br /&gt;
&lt;br /&gt;
This document gives details on how to create mesh and texture files, the config.txt file using the Content Creator Plus module, and how to incorporate them into the Trainz program.&lt;br /&gt;
&lt;br /&gt;
===5. Incorporate your asset into Trainz===&lt;br /&gt;
&lt;br /&gt;
All model assets are processed and incorporated in Trainz as a total asset database. This makes for very fast load times, but can restrict easy access to your files.&lt;br /&gt;
&lt;br /&gt;
Briefly, when a new asset is created, [[Content Creator Plus]] (CCP) creates a directory for the new asset under the “editing” directory in your installed Trainz, and saves a [[config.txt file]] in Explorer. This newly created directory can then be located, and files may be placed or exported for the asset mesh and textures. Even if the model is only partly constructed, it can be viewed in Trainz, by “committing” the asset into the database. The directory is then removed automatically, and Trainz can be launched to see the model.&lt;br /&gt;
&lt;br /&gt;
On exiting Trainz, CCP can re-open the directory for work to continue on the model and files if you wish. This process will be fully explained in the following pages.&lt;br /&gt;
&lt;br /&gt;
===6. Upload your new content to the Auran Download Station.===&lt;br /&gt;
&lt;br /&gt;
You should create all models for TC using the CCP and [[Content Manager]] modules if you wish to upload to the Auran [[Download Station]]. [[Content Manager]] has an integrated function to package your model for the Download Station and upload it.&lt;br /&gt;
&lt;br /&gt;
[[Content Manager]] is a very useful application in that it automatically performs error checking and simplifies the preparation of your content for upload. The [[Content Manager]] module embeds information into the upload package that is required by the Auran Download Station.&lt;br /&gt;
&lt;br /&gt;
Don’t include files such as .exe, .com or .bat in the model files. Because these files are a potential source of virus files they will not be packaged by CM. Only in-game and text files are packaged.&lt;br /&gt;
&lt;br /&gt;
For information on how to upload files and the Download Station requirements refer to Chapter 9.&lt;br /&gt;
&lt;br /&gt;
===7. Backup your new content===&lt;br /&gt;
&lt;br /&gt;
Backing up newly created content is important, in case Trainz needs to be re-installed, or so that the content may be modified at a later date. Once content is committed into the database, the asset files are no longer available for copying or viewing, unless they are re-opened for editing. Re-opening files allows modifications to be made.&lt;br /&gt;
&lt;br /&gt;
1. Assets on the Download Station may be installed by re-downloading again. The [[Content Manager]] (CM) module makes this a seamless task.&lt;br /&gt;
&lt;br /&gt;
2. To disribute model assets to other users, outside of the Download Station option, make a cdp file from within CM.&lt;br /&gt;
&lt;br /&gt;
3. Assets may be archieved from within CM. An archieve name and location may be specified, and more than one asset may be incorporated in the archieve. Trainz keeps track of any archieve created, making an archieve does not remove the assets from Trainz, it backs up the assets.&lt;br /&gt;
&lt;br /&gt;
4. Of course the previous methods do not let you actually see the individual asset files nor allow them to be altered. To have access to the files, the asset is opened for editing in Explorer. An asset directory containing the files is created. This is found under the “editing” directory in the Trainz installation. If the asset has been given a username, the directory name will be that username. If a username has not been allocated, a temporary directory name using alphabetic and numeric characters will be created.&lt;br /&gt;
&lt;br /&gt;
The created directory can then be copied to another location on the computer for backup or other purpose. While creating an asset, this procedure may be useful each time before committing the asset, to ensure that no files are lost should a computer or program failure occur. Remember that texture files and exported mesh files are not easily accessible once the asset is committed.&lt;br /&gt;
&lt;br /&gt;
5. A temporary directory could be created outside of the Trainz installation and the texture files and mesh files placed there. This directory can then be imported into CM, the drag and drop feature makes this quite easy (drag the file directory into the main data window of CM). Of course a valid [[config.txt]] file needs to be included for CM to recognise the directory as a valid asset. Opening the asset in CCP, correcting any errors, or adding other tags and containers to finish the model, and then saving the [[config.txt]] file will then create a build 2.5 asset.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/KUID_Numbering&amp;diff=1403</id>
		<title>CCG/KUID Numbering</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/KUID_Numbering&amp;diff=1403"/>
		<updated>2010-03-25T09:22:28Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=red&amp;gt;This information is obsolete and should be removed in favor of the [[KUID]] page.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CHAPTER 1: The Basics==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KUID Numbering&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A KUID is a unique number allocated to all content created for Trainz and can be thought of as a bar code.&lt;br /&gt;
&lt;br /&gt;
===KUID2 Format===&lt;br /&gt;
&lt;br /&gt;
The KUID format in TC follows the standard adopted in TRS2004, and takes the form of three Identification Numbers (ID) each separated by a colon.&lt;br /&gt;
&lt;br /&gt;
The breakdown of the KUID system is as follows:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;KUID2:User_ID:Content_ID:Version_ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example of a Kuid number with actual figures:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;KUID2:171456:38001:1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===User ID Number===&lt;br /&gt;
&lt;br /&gt;
The number 171456 after the KUID2 is the USER_ID of the content creator.&lt;br /&gt;
&lt;br /&gt;
When you registered Trainz with the Planet Auran website, you would have been issued with your USER_ID. This is the number you should have entered into Trainz as your USER_ID.&lt;br /&gt;
&lt;br /&gt;
Planet Auran may be found by clicking with the left mouse button on the Profil button in the top task bar of the Forum page, or visiting the website:&lt;br /&gt;
&lt;br /&gt;
https://www.auran.com/planetauran/login_f.php&lt;br /&gt;
&lt;br /&gt;
Every member of the Trainz community who is a member of Planet Auran has a USER_ID. Now, you may be wondering why you need a USER_ID if you don’t intend to make any content for Trainz. If you intend to make a layout (route or map) at some point in time and you’d like to share that layout with your friends or other community members, then you are in fact a content creator.&lt;br /&gt;
&lt;br /&gt;
===Content ID Number===&lt;br /&gt;
&lt;br /&gt;
The middle number is the CONTENT_ID.&lt;br /&gt;
&lt;br /&gt;
This is a number that the content creator assigns to each creation to uniquely identify it, in previous Trainz builds. In TC, the Content Creator Plus module will automatically assign a CONTENT_ID when you create a new asset. It will not repeat a number, and keeps track of all content numbers installed, so you do not have to keep a separate list or spreadsheet of CONTENT_ID numbers for your model assets.&lt;br /&gt;
&lt;br /&gt;
A CONTENT_ID number is also assigned automatically when you save a layout (map).&lt;br /&gt;
&lt;br /&gt;
The combination of a creator’s USER_ID and the CONTENT_ID is unique, and will not conflict with assets created by others.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Previous versions of Trainz used Content ID Ranges for KUID creation. The automatic assignment of CONTENT_ID numbers in TC has obsoleted the need for, or the usefullness of, a specific range of numbers for different kinds of assets.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Version ID Number===&lt;br /&gt;
&lt;br /&gt;
The third number is the asset Version_ID number. The default for all assets is 0 e.g. &amp;lt;KUID2:xxx:yyyyy:0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Should this asset require revisions after release to the Trainz Download Station, the Version ID for each subsequent revision may be updated as follows:&lt;br /&gt;
: First revision &amp;lt;KUID2:xxx:yyyyy:1&amp;gt;&lt;br /&gt;
: Second revision &amp;lt;KUID2:xxx:yyyyy:2&amp;gt;&lt;br /&gt;
: Third revision &amp;lt;KUID2:xxx:yyyyy:3&amp;gt; Etc.&lt;br /&gt;
&lt;br /&gt;
The maximum version number is 127. After the maximum version number is used (rare) a new Content ID needs to be allocated for this asset, and the previous one needs to be added to the obsolete-table.&lt;br /&gt;
&lt;br /&gt;
To make a new version asset, in CMP right click on the asset and select “Create New Version”. The version number will be incremented in the new model. Trainz will use the highest version number found for the asset. Obsoleting a KUID2 asset of the same content ID number does not require the use of the obsolete table.&lt;br /&gt;
&lt;br /&gt;
Obsoleting is a process of replacing a previous item with a more recent one, for updating, improving, or replacing a faulty model.&lt;br /&gt;
&lt;br /&gt;
Example 1:&amp;lt;br&amp;gt;&lt;br /&gt;
A model &amp;lt;KUID2:171456:38001:3&amp;gt; is to be replaced by a newer version. The new number &amp;lt;KUID2:171456:38001:4&amp;gt; is used in the new config.txt file. The previous model will be replaced (obsoleted).&lt;br /&gt;
&lt;br /&gt;
Example 2:&amp;lt;br&amp;gt;&lt;br /&gt;
A model &amp;lt;KUID:171456:27001&amp;gt; (UTC version) is to be replaced, using the new KUID2 format, and with a new number, &amp;lt;KUID2:171456:27002:1&amp;gt;. Note the new content ID number is different from the original asset.&lt;br /&gt;
&lt;br /&gt;
In this case, the obsolete table container is used to show the old model KUID to be obsoleted. In this way, the new KUID is linked to that of the older asset.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Important Notes:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;1. &amp;lt;KUID2:xxx:yyyyy:0&amp;gt; is exactly equal to &amp;lt;KUID:xxx:yyyyy&amp;gt; in the old KUID format. These will be read as duplicates should they be used simultaneously.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;2. Similarly, &amp;lt;KUID2:xxx:yyyyy:1&amp;gt; acts as a KUID2 format obsoletion of &amp;lt;KUID:xxx:yyyyy&amp;gt; .&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;3. Using the zero, “0” as the first version is acceptable, however the display on the Download Station, and the installed file will be in the UTC KUID format, without the KUID2 format display. It is recommended that you start the numbering at one, “1” if this is a problem to you.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;4. The Download Station displays a History of obsoleted models. If an obsoleted model has never been placed on the Download Station, do not include it in your obsolete table, it will result in a History error notification when you try to upload the asset.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;5. While you may use leading zeros in the KUID system, a version “02” will be the same as “002” or “2”, and the zeros will be truncated. It is recommended not to use any leading zeros.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An asset placed in your map will display (show as) the latest installed version. When retrieving an asset from the Download Station, the newest version will be automatically provided, and the Download Station will display a History tag for the model versions. For further examples of the use of the obsolete-table, refer to Chapter 2.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/Trainz_Build&amp;diff=1402</id>
		<title>CCG/Trainz Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/Trainz_Build&amp;diff=1402"/>
		<updated>2010-03-25T09:21:51Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font color=red&amp;gt;This information is obsolete and should be removed in favor of the [[&amp;quot;Trainz-build&amp;quot; tag]] page.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CHAPTER 1: The Basics==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TRAINZ Build&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Trainz build is the numbering system allocated to each released version of Trainz. Content may be created for different versions, making use of the newer functions in a more recent release. Consequently, some models will not function in earlier versions of the simulator.&lt;br /&gt;
&lt;br /&gt;
It is important for models to list the version of Trainz for which they are compatible. For older Trainz builds, this is done by entering a Trainz-Build number in the model config.txt file. The Content Creator Plus module will automatically add the correct trainz-build 2.5 to the config.txt file.&lt;br /&gt;
&lt;br /&gt;
A model constructed for an older version may function in a newer version, but this is not guaranteed, as there have been amendments made to subsequent versions. Likewise, a model using the latest functions will not work in an earlier version.&lt;br /&gt;
&lt;br /&gt;
The Download Station identifies which version of Trainz you have installed and when you use the Download Helper option, it will not allow the download of a more recent model that is incompatible with your version.&lt;br /&gt;
&lt;br /&gt;
The approved Trainz-Build version numbers are;&lt;br /&gt;
* trainz-build 1.3 for Trainz&lt;br /&gt;
* trainz-build 1.5 for Ultimate Trainz Collection&lt;br /&gt;
* trainz-build 2.4 for Trainz Railroad Simulator 2004&lt;br /&gt;
* trainz-build 2.5 for Trainz Railroad Simulator 2006&lt;br /&gt;
* trainz-build 2.6 for Trainz Railroad Simulator 2006, SP1&lt;br /&gt;
* trainz-build 2.7 for Trainz Classics&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/Getting_Started&amp;diff=1401</id>
		<title>CCG/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/Getting_Started&amp;diff=1401"/>
		<updated>2010-03-25T09:20:21Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==CHAPTER 3: Understanding and using Content Creator Plus==&lt;br /&gt;
&lt;br /&gt;
The purpose of this chapter is to introduce users to [[Content Creator Plus]], a powerful program used to generate and validate [[config.txt file]]s. [[Content Creator Plus]] is intended for in-experienced content creators, however a degree of understanding regarding kinds and containers is assumed. Please refer to other Chapters in this document for assistance in familiarising yourself with the requirements and structures of containers and tags.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Getting Started&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Main Screen===&lt;br /&gt;
&lt;br /&gt;
The main screen is divided into a number of areas:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-1.png|CCG main screen]]&lt;br /&gt;
* 1. Tree View&lt;br /&gt;
* 2. Tag space&lt;br /&gt;
* 3. 3D Viewport (only visible when a mesh is selected)&lt;br /&gt;
* 4. Error Message Box.&lt;br /&gt;
&lt;br /&gt;
===1. Tree View===&lt;br /&gt;
&lt;br /&gt;
When an existing config.txt file is loaded, the program will “parse” the text file and gather 2 different sorts of information: the tags and the containers. The tags are values being assigned to a property, and a container is a section of the config.txt that groups a number of tags or other containers.&lt;br /&gt;
&lt;br /&gt;
With many possible tags and containers, the best way to manage the containers is to display them in a tree view hierarchy (like the tree view of Explorer for example). The diagram below is a section of the tree view for a Kind traincar model:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-2.png|CCG main screen tree view]]&lt;br /&gt;
&lt;br /&gt;
The top “node” or Kind may be called traincar for example, and is the main container for the complete config.txt file. Traincar is the name of the Kind that we are currently creating (for example, if we were making a bogey, it would be listed as “bogey”). Under this main container are other sub containers in the config.txt file.&lt;br /&gt;
&lt;br /&gt;
The tree may be freely expanded or collapsed (by clicking with the Left mouse button on the plus or minus symbols). When you click on one of the nodes, it will load the tags that are included for that container in the tag space, so you can add new entries or edit existing values. Left clicking on the node icon will select that node, whilst Left clicking the node name will select the node for renaming, if allowed (some names are reserved).&lt;br /&gt;
&lt;br /&gt;
When you click with the Right mouse button on one of the nodes, a contextual menu will pop up with four different sections:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-3.png|CCG main screen tree view popup menu]]&lt;br /&gt;
&lt;br /&gt;
Sub-Containers: The first section is the available sub-container section. This section shows which sub-containers you may add to the opened container. Select a sub-container by clicking on it with the Left mouse button. Depending on the type of container added, when you click with the Left mouse button on the new container name, a number of compulsory entry dialog boxes may appear. The diagram above shows the containers and tags available under a mesh container.&lt;br /&gt;
&lt;br /&gt;
Tags: The second section is the tag section. This shows you the list of non-compulsory tags (a non-compulsory tag is an optional tag for additional functionality). When you click on one of the choices with the Left mouse button, it will be added to the tag space that represents the container. You may also delete any non-compulsory tags.&lt;br /&gt;
&lt;br /&gt;
Rename: The rename option allows you to change the name of a container, unless it is a reserved name.&lt;br /&gt;
&lt;br /&gt;
Remove: The remove option allows you to delete an unwanted container from the config.txt file. This is particularly useful if you are editing a config.txt from an existing asset to create a new asset. Click on a container name with the Right mouse button to open the options for the container, and select an item using the Left mouse button.&lt;br /&gt;
&lt;br /&gt;
===2. Tag Space===&lt;br /&gt;
&lt;br /&gt;
This section of the program displays the content of a container. It dynamically changes as you either select different containers or add\delete tags.&lt;br /&gt;
&lt;br /&gt;
Selected tags may have a variety of buttons placed adjacently:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-4.png|CCG main screen tag space]]&lt;br /&gt;
&lt;br /&gt;
Tag Name: The name of every mandatory and\or user selected tag will be displayed on the left hand side of the space.&lt;br /&gt;
&lt;br /&gt;
Tag Value: The value stored in the selected tag - initially shows blank for a new asset.&lt;br /&gt;
&lt;br /&gt;
Load: This button will let you select a file or asset (depending on the tag type) which will be loaded into the Tag Value display.&lt;br /&gt;
&lt;br /&gt;
View in Content Manager Plus: This button will open [[Content Manager]] and allow you to find and select an asset, or for an already selected asset, will show you that asset. Because the assets are loaded using their username, it allows you to verify that the selection is the one intended.&lt;br /&gt;
&lt;br /&gt;
Delete: Removes the selected tag from the working config.txt.&lt;br /&gt;
&lt;br /&gt;
===3. 3D Viewport===&lt;br /&gt;
&lt;br /&gt;
When a mesh is referenced for the model, you need to specify a mesh file. Clicking on the “...” button will allow you to browse for the filename. The program will load the referenced mesh file, and display it in the 3D viewport. This viewport only appears in Content Manager Plus when a valid mesh is loaded.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-5.png|CCG main screen 3D viewport]]&lt;br /&gt;
&lt;br /&gt;
Buttons below the viewport allow the camera to be moved, rotated or zoomed. Alternatively, you can control the model with your mouse by interacting directly with the 3D Viewport.&lt;br /&gt;
&lt;br /&gt;
: Use the Mousewheel to zoom in and out&lt;br /&gt;
: Hold the Left mouse button down and drag to move the display&lt;br /&gt;
: Hold the Right mouse button down to drag to rotate the display&lt;br /&gt;
&lt;br /&gt;
===4. Error Message Box===&lt;br /&gt;
&lt;br /&gt;
When you load or save a config.txt file, the program will validate your data input to make sure that everything is correct. The error box is used to output error\warning messages to the user to assist error checking if the model is not working in Trainz.&lt;br /&gt;
&lt;br /&gt;
Clicking on an error message within CCP with the Left mouse button will jump to the relevant tag in the [[config.txt file]] (in CCP) that is causing the error.&lt;br /&gt;
&lt;br /&gt;
You can also Right click on the message, which will bring up a contextual menu that will let you copy the error message to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Trainz offers many options (containers and tags) for an asset, and a user may select those that are considered appropriate for a particular Kind. CCP may not prompt you for a container or tag that is required to make the asset fully functional in Trainz.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For example, normally a traincar requires a reference to a bogey; if you neglect to select the appropriate bogey container for the asset, no error message will be displayed, but the asset may not show or operate correctly in Trainz. Using mandatory tags only may not be sufficient for an asset to operate correctly (or to your expectation) in Trainz.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please refer to the chapters on Kinds, Containers, Tags and asset examples for guidance on the containers and tags required for a particular Kind.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Content_Creator%27s_Guide&amp;diff=1400</id>
		<title>Content Creator&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Content_Creator%27s_Guide&amp;diff=1400"/>
		<updated>2010-03-25T09:19:39Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): remove obsolete info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Contents ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chapter 1: The basics&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[CCG/Introduction|Introduction]]&lt;br /&gt;
* [[CCG/New in TC|New in TC]]&lt;br /&gt;
* [[CCG/The Basics of Content Creation|The Basics of Content Creation]]&lt;br /&gt;
* [[CCG/KUID Numbering|KUID Numbering]]&lt;br /&gt;
** [[CCG/KUID Numbering#KUID2 Format|KUID2 Format]]&lt;br /&gt;
** [[CCG/KUID Numbering#User ID Number|User ID Number]]&lt;br /&gt;
** [[CCG/KUID Numbering#Content ID Number|Content ID Number]]&lt;br /&gt;
** [[CCG/KUID Numbering#Version ID Number|Version ID Number]]&lt;br /&gt;
* [[CCG/Trainz Build|Trainz Build]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chapter 2: Introduction to Kinds, Containers, Tags, and Config.txt files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[CCG/Kinds|Kinds]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Lots of other stuff&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chapter 3: Understanding and using Content Creator Plus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[CCG/Getting Started|Getting Started]]&lt;br /&gt;
* [[CCG/Using Content Creator Plus|Using Content Creator Plus]]&lt;br /&gt;
* [[CCG/Inheritance Template|Inheritance Template]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chapter 4: Using Content Creator Plus to create a New Asset&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[CCG/Creating a New Asset|Creating a New Asset]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/Getting_Started&amp;diff=1399</id>
		<title>CCG/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/Getting_Started&amp;diff=1399"/>
		<updated>2010-03-25T09:19:22Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==CHAPTER 3: Understanding and using Content Creator Plus==&lt;br /&gt;
&lt;br /&gt;
The purpose of this chapter is to introduce users to [[Content Creator Plus]], a powerful program used to generate and validate “config.txt” files. [[Content Creator Plus]] is intended for in-experienced content creators, however a degree of understanding regarding kinds and containers is assumed. Please refer to other Chapters in this document for assistance in familiarising yourself with the requirements and structures of containers and tags.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Getting Started&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Main Screen===&lt;br /&gt;
&lt;br /&gt;
The main screen is divided into a number of areas:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-1.png|CCG main screen]]&lt;br /&gt;
* 1. Tree View&lt;br /&gt;
* 2. Tag space&lt;br /&gt;
* 3. 3D Viewport (only visible when a mesh is selected)&lt;br /&gt;
* 4. Error Message Box.&lt;br /&gt;
&lt;br /&gt;
===1. Tree View===&lt;br /&gt;
&lt;br /&gt;
When an existing config.txt file is loaded, the program will “parse” the text file and gather 2 different sorts of information: the tags and the containers. The tags are values being assigned to a property, and a container is a section of the config.txt that groups a number of tags or other containers.&lt;br /&gt;
&lt;br /&gt;
With many possible tags and containers, the best way to manage the containers is to display them in a tree view hierarchy (like the tree view of Explorer for example). The diagram below is a section of the tree view for a Kind traincar model:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-2.png|CCG main screen tree view]]&lt;br /&gt;
&lt;br /&gt;
The top “node” or Kind may be called traincar for example, and is the main container for the complete config.txt file. Traincar is the name of the Kind that we are currently creating (for example, if we were making a bogey, it would be listed as “bogey”). Under this main container are other sub containers in the config.txt file.&lt;br /&gt;
&lt;br /&gt;
The tree may be freely expanded or collapsed (by clicking with the Left mouse button on the plus or minus symbols). When you click on one of the nodes, it will load the tags that are included for that container in the tag space, so you can add new entries or edit existing values. Left clicking on the node icon will select that node, whilst Left clicking the node name will select the node for renaming, if allowed (some names are reserved).&lt;br /&gt;
&lt;br /&gt;
When you click with the Right mouse button on one of the nodes, a contextual menu will pop up with four different sections:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-3.png|CCG main screen tree view popup menu]]&lt;br /&gt;
&lt;br /&gt;
Sub-Containers: The first section is the available sub-container section. This section shows which sub-containers you may add to the opened container. Select a sub-container by clicking on it with the Left mouse button. Depending on the type of container added, when you click with the Left mouse button on the new container name, a number of compulsory entry dialog boxes may appear. The diagram above shows the containers and tags available under a mesh container.&lt;br /&gt;
&lt;br /&gt;
Tags: The second section is the tag section. This shows you the list of non-compulsory tags (a non-compulsory tag is an optional tag for additional functionality). When you click on one of the choices with the Left mouse button, it will be added to the tag space that represents the container. You may also delete any non-compulsory tags.&lt;br /&gt;
&lt;br /&gt;
Rename: The rename option allows you to change the name of a container, unless it is a reserved name.&lt;br /&gt;
&lt;br /&gt;
Remove: The remove option allows you to delete an unwanted container from the config.txt file. This is particularly useful if you are editing a config.txt from an existing asset to create a new asset. Click on a container name with the Right mouse button to open the options for the container, and select an item using the Left mouse button.&lt;br /&gt;
&lt;br /&gt;
===2. Tag Space===&lt;br /&gt;
&lt;br /&gt;
This section of the program displays the content of a container. It dynamically changes as you either select different containers or add\delete tags.&lt;br /&gt;
&lt;br /&gt;
Selected tags may have a variety of buttons placed adjacently:&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-4.png|CCG main screen tag space]]&lt;br /&gt;
&lt;br /&gt;
Tag Name: The name of every mandatory and\or user selected tag will be displayed on the left hand side of the space.&lt;br /&gt;
&lt;br /&gt;
Tag Value: The value stored in the selected tag - initially shows blank for a new asset.&lt;br /&gt;
&lt;br /&gt;
Load: This button will let you select a file or asset (depending on the tag type) which will be loaded into the Tag Value display.&lt;br /&gt;
&lt;br /&gt;
View in Content Manager Plus: This button will open [[Content Manager]] and allow you to find and select an asset, or for an already selected asset, will show you that asset. Because the assets are loaded using their username, it allows you to verify that the selection is the one intended.&lt;br /&gt;
&lt;br /&gt;
Delete: Removes the selected tag from the working config.txt.&lt;br /&gt;
&lt;br /&gt;
===3. 3D Viewport===&lt;br /&gt;
&lt;br /&gt;
When a mesh is referenced for the model, you need to specify a mesh file. Clicking on the “...” button will allow you to browse for the filename. The program will load the referenced mesh file, and display it in the 3D viewport. This viewport only appears in Content Manager Plus when a valid mesh is loaded.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-5.png|CCG main screen 3D viewport]]&lt;br /&gt;
&lt;br /&gt;
Buttons below the viewport allow the camera to be moved, rotated or zoomed. Alternatively, you can control the model with your mouse by interacting directly with the 3D Viewport.&lt;br /&gt;
&lt;br /&gt;
: Use the Mousewheel to zoom in and out&lt;br /&gt;
: Hold the Left mouse button down and drag to move the display&lt;br /&gt;
: Hold the Right mouse button down to drag to rotate the display&lt;br /&gt;
&lt;br /&gt;
===4. Error Message Box===&lt;br /&gt;
&lt;br /&gt;
When you load or save a config.txt file, the program will validate your data input to make sure that everything is correct. The error box is used to output error\warning messages to the user to assist error checking if the model is not working in Trainz.&lt;br /&gt;
&lt;br /&gt;
Clicking on an error message within CCP with the Left mouse button will jump to the relevant tag in the [[config.txt file]] (in CCP) that is causing the error.&lt;br /&gt;
&lt;br /&gt;
You can also Right click on the message, which will bring up a contextual menu that will let you copy the error message to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Trainz offers many options (containers and tags) for an asset, and a user may select those that are considered appropriate for a particular Kind. CCP may not prompt you for a container or tag that is required to make the asset fully functional in Trainz.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For example, normally a traincar requires a reference to a bogey; if you neglect to select the appropriate bogey container for the asset, no error message will be displayed, but the asset may not show or operate correctly in Trainz. Using mandatory tags only may not be sufficient for an asset to operate correctly (or to your expectation) in Trainz.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please refer to the chapters on Kinds, Containers, Tags and asset examples for guidance on the containers and tags required for a particular Kind.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=CCG/Using_Content_Creator_Plus&amp;diff=1398</id>
		<title>CCG/Using Content Creator Plus</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=CCG/Using_Content_Creator_Plus&amp;diff=1398"/>
		<updated>2010-03-25T09:18:11Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==CHAPTER 3: Understanding and using Content Creator Plus==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using Content Creator Plus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Creating a new Asset===&lt;br /&gt;
&lt;br /&gt;
In the [[Content Manager]] Program, clicking on the New button will open [[Content Creator Plus]] and display the “New Asset” window, from which you can select a base Kind to use as a template.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-6.png|CCP new asset window]]&lt;br /&gt;
&lt;br /&gt;
The displayed list shows all the asset Kinds supported by Trainz. Click on the name of the Kind that you want to create and the program will generate the basic config.txt structure for that kind, using the mandatory tags. You may also add additional optional tags and containers to your config.txt file for a more complex asset.&lt;br /&gt;
&lt;br /&gt;
Refer also to the [[CCG/Getting Started#4. Error Message Box|notes]] for containers and tags that are required for the model to function correctly.&lt;br /&gt;
&lt;br /&gt;
===The Working Directory===&lt;br /&gt;
&lt;br /&gt;
When you are creating or editing an asset with [[Content Creator Plus]], all of your content exists in a temporary “working directory” which is located in your “.\editing” folder within your Trainz install. Assets in this folder are considered “open for editing”.&lt;br /&gt;
&lt;br /&gt;
All files required by your new model MUST be placed in your temporary working directory.&lt;br /&gt;
&lt;br /&gt;
You can open this folder by selecting “Edit|Edit in Explorer” from the main menu bar. Note that the name of the folder may be of the form “edit nfd0hk9y6”. After you have given the asset a username, saved the config.txt file, and committed the asset, the directory name will change to the selected username when you next reopen it in Explorer.&lt;br /&gt;
&lt;br /&gt;
===Formats for entering Tag Data===&lt;br /&gt;
&lt;br /&gt;
Tags require different forms of entry depending on the type of data required. Some tags require a simple text string, while others will require more complex data like a Vector, a float list or a Boolean value.&lt;br /&gt;
&lt;br /&gt;
====String, floating point numbers or integers====&lt;br /&gt;
&lt;br /&gt;
These three data types are simple text or numeric values.&lt;br /&gt;
&lt;br /&gt;
A string is a basic text field, a Floating point number (or float) is a number that includes a decimal point, while and integer is a numeric value with no decimal point (whole number). The value placed in the text box will be directly associated with the tag.&lt;br /&gt;
&lt;br /&gt;
====Vector====&lt;br /&gt;
&lt;br /&gt;
A vector is a series of values. A vector may have any number of values depending on the type of data it stores, for example a vector3 will display three separate text boxes, one for each value.&lt;br /&gt;
&lt;br /&gt;
====Float list entry====&lt;br /&gt;
&lt;br /&gt;
A float list for a tag will take a series of floating point number values.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-7.png|Float list entry]]&lt;br /&gt;
&lt;br /&gt;
The list above includes a series of four floats, each of which can be removed if required. Additional values may be added to the list by clicking on the add button.&lt;br /&gt;
&lt;br /&gt;
====KUIDs====&lt;br /&gt;
&lt;br /&gt;
The KUID entry is made up of three different parts: The user ID, the content ID and the version ID.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-8.png|KUID]]&lt;br /&gt;
&lt;br /&gt;
KUIDs are handled internally, and are unable to be edited directly.&lt;br /&gt;
&lt;br /&gt;
====Boolean Entry====&lt;br /&gt;
&lt;br /&gt;
A Boolean entry is a simple true or false value. It is represented by a tick box.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-9.png|Boolean entry]]&lt;br /&gt;
&lt;br /&gt;
Clicking with the Left Mouse button in the box will toggle the tick mark on or off. A tick represents “True” or “1”.&lt;br /&gt;
&lt;br /&gt;
====Data choices====&lt;br /&gt;
&lt;br /&gt;
Where a large list of choices is offered, it is convenient for CCP to display the available selections in a combo box.&lt;br /&gt;
&lt;br /&gt;
Open the box and select a value by clicking on that value with the Left mouse button. A tick-mark is shown in the box. You may select multiple choices by ticking additional boxes in the list. The category-region or category-era are examples of multiple selection options, while the category-class is a single selection from a drop down box.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-10.png|Data choices]]&lt;br /&gt;
&lt;br /&gt;
====File Browser====&lt;br /&gt;
&lt;br /&gt;
Clicking on the “...” button adjacent to an appropriate tag with the Left mouse button will open the file browser. The file browser is used to locate the files you wish to use in your asset.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-11.png|File browser]]&lt;br /&gt;
&lt;br /&gt;
Once the file is located, click on the “Open” button and the field will be filled with the path for the file you have selected.&lt;br /&gt;
&lt;br /&gt;
Remember that your files must be placed in the working directory.&lt;br /&gt;
&lt;br /&gt;
The file type selections in the browser will reflect the types that are required to fill the dialog box. For example, a mesh dialog box offers a choice between “ *.im, *.lm, and *.lm.txt” types, whereas a script will allow files with “*.gs or *.gse” extensions to be selected.&lt;br /&gt;
&lt;br /&gt;
====New Assets====&lt;br /&gt;
&lt;br /&gt;
Some tags (typically images, scripts or HTML assets) will have an adjacent “New” button when the entry box is empty.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-12.png|New asset]]&lt;br /&gt;
&lt;br /&gt;
Clicking on the “New” button will allow you to create a new asset of the appropriate kind, and will automatically create the necessary files and load them into your editor of choice (specified in your windows settings, for example Photoshop may be your default image editor).&lt;br /&gt;
&lt;br /&gt;
If these tags are populated, the “New” button is replaced with an “Edit” button, which will open the asset in your default editor.&lt;br /&gt;
&lt;br /&gt;
====Asset Browser====&lt;br /&gt;
&lt;br /&gt;
Some fields require a link to other assets. For simplicity, a list of relevant assets is presented from which the user can select their desired asset, in the Asset Browser.&lt;br /&gt;
&lt;br /&gt;
For convenience, the top drop down selection box filters assets by type, to simplify searching and selection.&lt;br /&gt;
&lt;br /&gt;
Browse through the list of installed assets, or type in a partial name in the search box (second top box) to locate the asset required. Once you have found the asset you wish to use, Left click on the “Select” button. This will internally store the asset KUID. A null KUID may alternatively be selected where required. Note that the kuid for an asset is not displayed, usernames are used for simplification. Care should be used in selecting assets where the same username has been used for different assets - it may be convenient to locate the required asset in CMP to verify selections.&lt;br /&gt;
&lt;br /&gt;
[[Image:CCGFigure3-13.png|Asset browser]]&lt;br /&gt;
&lt;br /&gt;
====String Asset Browser====&lt;br /&gt;
&lt;br /&gt;
The string asset (KUID) browser works similarly to the KUID browser, with the additional ability to change the actual name of the tag.&lt;br /&gt;
&lt;br /&gt;
Refer to the [[CCG/Getting Started|Getting Started]] section for additional information on saving files and error checking, and to Chapter 4 for detailed information on creating a new asset.&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22mesh-table%22_container&amp;diff=1383</id>
		<title>&quot;mesh-table&quot; container</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22mesh-table%22_container&amp;diff=1383"/>
		<updated>2010-03-24T10:39:06Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;mesh-table&amp;quot; container is a top-level [[config.txt file]] entry used by various [[Content Types]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The mesh-table is a list of mesh subcontainers with no standalone tags. Each mesh subcontainer uses the following format. Tags are parsed in a standardised format, but not all [[Content Types]] support the full range of tags. Each mesh derives its name from the subcontainer&#039;s tag name. These names are used to refer to specific meshes from within the mesh-table and also from script.&lt;br /&gt;
&lt;br /&gt;
=Supported Tags=&lt;br /&gt;
Each mesh subcontainer supports the following tags. Each tag is shown here with its default value.&lt;br /&gt;
&lt;br /&gt;
 mesh-asset &amp;lt;NULLKUID&amp;gt;&lt;br /&gt;
 mesh &amp;quot;&amp;quot;&lt;br /&gt;
 anim &amp;quot;&amp;quot;&lt;br /&gt;
 lod-level 255&lt;br /&gt;
 mesh-season 255&lt;br /&gt;
 att &amp;quot;&amp;quot;&lt;br /&gt;
 att-parent &amp;quot;&amp;quot;&lt;br /&gt;
 opacity 1.0&lt;br /&gt;
 position 0,0,0&lt;br /&gt;
 orientation 0,0,0&lt;br /&gt;
 auto-create 0&lt;br /&gt;
 use-parent-bounds 0&lt;br /&gt;
 animation-loop-speed 0&lt;br /&gt;
 light 1&lt;br /&gt;
 critical-animation 1&lt;br /&gt;
 effects&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 night-mesh-base &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====mesh-asset====&lt;br /&gt;
&#039;&#039;TBD&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====mesh====&lt;br /&gt;
The ‘main’ mesh name. This may include a sub-path; &lt;br /&gt;
ie: mesh nightwindows/nightwindows.im, where the file nightwindows.im has been placed in the subdirectory nightwindows.&lt;br /&gt;
&lt;br /&gt;
Use .im files exported from 3dsmax or gmax (as opposed to .pm.) or reference an .lm file if you wish your asset to have ‘Level of Detail’ mesh reduction.&lt;br /&gt;
&lt;br /&gt;
Level of detail is a process of using different model meshes, depending on how far the viewer is from the model. A finer mesh is used for close up viewing in Trainz.&lt;br /&gt;
&lt;br /&gt;
====anim====&lt;br /&gt;
The animation file (.kin) exported from 3dsmax or gmax. This may include a sub-path.&lt;br /&gt;
&lt;br /&gt;
====lod-level====&lt;br /&gt;
The object LOD level at which this mesh is displayed. The default value (255) indicates that this mesh is visible at all detail levels.  See also [[KIND Mesh]] for the &#039;mesh-detail-level&#039; tag.&lt;br /&gt;
&lt;br /&gt;
====mesh-season====&lt;br /&gt;
The season index for which this mesh is displayed. The default value (255) indicates that this mesh is visible in all seasons.  See also [[&amp;quot;Season-selector&amp;quot; container]].&lt;br /&gt;
&lt;br /&gt;
====att====&lt;br /&gt;
The mesh (and animation if present) is inserted at a mesh attachment point rather than the origin (without this line the mesh is placed relative to the origin of the parent model).&lt;br /&gt;
&lt;br /&gt;
====att-parent====&lt;br /&gt;
The tag tells Trainz in which mesh the attachment point is located. The insertion attachment point is located within the mesh ‘name’ , as listed in the config.txt.&lt;br /&gt;
&lt;br /&gt;
====opacity====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====position====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====orientation====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====auto-create====&lt;br /&gt;
The model is generated automatically when placed, or when you load a map which includes the model. In some instances you don’t want the mesh visible (as this may be controlled through script). If auto-create is 0 the mesh will not be visible when placed.&lt;br /&gt;
&lt;br /&gt;
====use-parent-bounds====&lt;br /&gt;
When enabled, this tag indicates that render culling should occur using the whole object&#039;s bounding box rather than this mesh&#039;s bounding box. Bounding boxes on individual meshes may not update correctly when animation moves the object&#039;s geometry any significant distance from the bind position. This flag can help mitigate such effects, at a tiny performance penalty.&lt;br /&gt;
&lt;br /&gt;
====animation-loop-speed====&lt;br /&gt;
This tag must be here if the asset is to animate when placed. If this tag is not here when placed the animation will not play by default, but may play if controlled by script. A different value (e.g. 0.5, 2.0) may be used in the tag to play the animation at a different speed from that created in 3dsmax or gmax.&lt;br /&gt;
&lt;br /&gt;
====light====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====critical-animation====&lt;br /&gt;
&amp;quot;critical-animation&amp;quot; indicates that this mesh&#039;s animation generates events which are critical to the script system&#039;s behavior. If your asset is not scripted, does not use scripted animation events, or only uses the events for display purposes and will not break if the occasional event is missed, this tag should be set to &#039;&#039;false&#039;&#039;. Leaving this flag set to &#039;&#039;true&#039;&#039; is a &#039;&#039;&#039;significant&#039;&#039;&#039; performance penalty.&lt;br /&gt;
&lt;br /&gt;
====night-mesh-base====&lt;br /&gt;
This night mesh is linked to the specified mesh and is visible only at night. It is invisible if the specified mesh is invisible, (if the auto-create 0 line were used so the specified mesh can be controlled by script).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Effects Container=&lt;br /&gt;
The effects container also contains a list of effect subcontainers. The effect subcontainers support the following generic tags.&lt;br /&gt;
&lt;br /&gt;
 kind &amp;quot;&amp;quot;&lt;br /&gt;
 name &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The effect subcontainers support additional tags depending on the effect kind. The following effect kinds are supported:&lt;br /&gt;
&lt;br /&gt;
* [[Corona Effect]]&lt;br /&gt;
* [[Name Effect]]&lt;br /&gt;
* [[Attachment Effect]]&lt;br /&gt;
* [[Animation Effect]]&lt;br /&gt;
* [[Texture-Replacement Effect]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mesh-Table Example=&lt;br /&gt;
The following is an example of a simple mesh-table which implements two levels of detail.&lt;br /&gt;
&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default-lod0&lt;br /&gt;
   {&lt;br /&gt;
     mesh &amp;quot;example-lod0.im&amp;quot;&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     lod-level 0&lt;br /&gt;
   }&lt;br /&gt;
   default-lod1&lt;br /&gt;
   {&lt;br /&gt;
     mesh &amp;quot;example-lod1.im&amp;quot;&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     lod-level 1&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Container]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22season-selector%22_container&amp;diff=1382</id>
		<title>&quot;season-selector&quot; container</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22season-selector%22_container&amp;diff=1382"/>
		<updated>2010-03-24T10:35:25Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): New page: The &amp;quot;Season-selector&amp;quot; container is a top-level container is some assets&amp;#039; config.txt file which allows the simulator to display an appropriate visual for each asset instance based o...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[&amp;quot;Season-selector&amp;quot; container]] is a top-level container is some assets&#039; [[config.txt file]] which allows the simulator to display an appropriate visual for each asset instance based on certain environmental parameters. The container does not specify anything about the visuals directly, but rather provides logic which maps the varied environmental parameters down to a single &amp;quot;season index&amp;quot; which is then used in other parts of the asset&#039;s [[config.txt file]].&lt;br /&gt;
&lt;br /&gt;
The [[&amp;quot;Season-selector&amp;quot; container]] is a recursive structure- meaning that the container may contain one or more of itself as sub-containers.&lt;br /&gt;
&lt;br /&gt;
==Supported Tags==&lt;br /&gt;
The [[&amp;quot;Season-selector&amp;quot; container]] supports the following tags. Each tag is show here with its default value.&lt;br /&gt;
&lt;br /&gt;
 output-season&lt;br /&gt;
 season-range 0.0, 1.0&lt;br /&gt;
 above-snow-line 0&lt;br /&gt;
 branch-true&lt;br /&gt;
 branch-false&lt;br /&gt;
&lt;br /&gt;
====output-season====&lt;br /&gt;
:Type: Integer&lt;br /&gt;
:Desc: The season index used for this asset if the decision logic reaches this [sub-]container. If specified, this should be the only tag in this &amp;quot;Season-selector&amp;quot; [sub-]container.&lt;br /&gt;
&lt;br /&gt;
====season-range====&lt;br /&gt;
:Type: vector2&lt;br /&gt;
:Desc: A conditional tag which tests whether the global time-of-year value falls within the specified range. If the first number is less than the second, the condition is evaluated by (first-value &amp;lt;= time-of-year &amp;lt;= second-value.) If the second number is less than the first, the condition is evaluated by (time-of-year &amp;lt;= second-value || time-of-year &amp;gt;= first-value.) The global time-of-year value varies from 0.0 to 1.0 throughout the year, where 0.0 is new year.&lt;br /&gt;
&lt;br /&gt;
====above-snow-line====&lt;br /&gt;
:Type: boolean&lt;br /&gt;
:Desc: A conditional tag which tests whether the asset instance is above the snow-line. If set to a true value (eg. 1) then asset instances will evaluate this condition as (asset-height &amp;gt;= snow-line-height.) If set to a false value (eg. 0) then no test is performed.&lt;br /&gt;
&lt;br /&gt;
====branch-true====&lt;br /&gt;
:Type: [[&amp;quot;Season-selector&amp;quot; container]]&lt;br /&gt;
:Desc: If all of the conditional tags in this [sub-]container evaluate to true, this child branch is evaluated to determine the output-season for a specified asset instance.&lt;br /&gt;
&lt;br /&gt;
====branch-false====&lt;br /&gt;
:Type: [[&amp;quot;Season-selector&amp;quot; container]]&lt;br /&gt;
:Desc: If one or more of the conditional tags in this [sub-]container evaluate to false, this child branch is evaluated to determine the output-season for a specified asset instance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;quot;Season-selector&amp;quot; Example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Container]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Localization_code&amp;diff=1313</id>
		<title>Localization code</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Localization_code&amp;diff=1313"/>
		<updated>2010-03-08T12:46:34Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is a full list of the currently supported language suffix codes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=2 cellspacing=0&lt;br /&gt;
|username-cn||Chinese&lt;br /&gt;
|-&lt;br /&gt;
|username-cz||Czech&lt;br /&gt;
|-&lt;br /&gt;
|username-nl||Dutch&lt;br /&gt;
|-&lt;br /&gt;
|username-fr||French&lt;br /&gt;
|-&lt;br /&gt;
|username-de||German&lt;br /&gt;
|-&lt;br /&gt;
|username-hu||Hungarian&lt;br /&gt;
|-&lt;br /&gt;
|username-it||Italian&lt;br /&gt;
|-&lt;br /&gt;
|username-pl||Polish&lt;br /&gt;
|-&lt;br /&gt;
|username-ru||Russian&lt;br /&gt;
|-&lt;br /&gt;
|username-es||Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[HowTo/Localize an Asset]]&lt;br /&gt;
* [[&amp;quot;Username&amp;quot; tag]]&lt;br /&gt;
* [[&amp;quot;Description&amp;quot; tag]]&lt;br /&gt;
* [[&amp;quot;String-table&amp;quot; container]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Normal-texture&amp;diff=1312</id>
		<title>TagName Normal-texture</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Normal-texture&amp;diff=1312"/>
		<updated>2010-03-08T12:45:57Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Normal-texture moved to &amp;quot;Normal-texture&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Normal-texture&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Localization_code&amp;diff=1310</id>
		<title>Localization code</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Localization_code&amp;diff=1310"/>
		<updated>2010-03-08T12:45:45Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is a full list of the currently supported language suffix codes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=2 cellspacing=0&lt;br /&gt;
|username-cn||Chinese&lt;br /&gt;
|-&lt;br /&gt;
|username-cz||Czech&lt;br /&gt;
|-&lt;br /&gt;
|username-nl||Dutch&lt;br /&gt;
|-&lt;br /&gt;
|username-fr||French&lt;br /&gt;
|-&lt;br /&gt;
|username-de||German&lt;br /&gt;
|-&lt;br /&gt;
|username-hu||Hungarian&lt;br /&gt;
|-&lt;br /&gt;
|username-it||Italian&lt;br /&gt;
|-&lt;br /&gt;
|username-pl||Polish&lt;br /&gt;
|-&lt;br /&gt;
|username-ru||Russian&lt;br /&gt;
|-&lt;br /&gt;
|username-es||Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[HowTo/Localize an Asset]]&lt;br /&gt;
* [[&amp;quot;username&amp;quot; tag]]&lt;br /&gt;
* [[&amp;quot;description&amp;quot; tag]]&lt;br /&gt;
* [[&amp;quot;string-table&amp;quot; container]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22Trainz-build%22_tag&amp;diff=1309</id>
		<title>&quot;Trainz-build&quot; tag</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22Trainz-build%22_tag&amp;diff=1309"/>
		<updated>2010-03-08T12:44:33Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trainz build is the numbering system allocated to each released version of Trainz. Content may be created for different versions, making use of the newer functions in a more recent release. Consequently, some assets will not function in earlier versions of the simulator.&lt;br /&gt;
&lt;br /&gt;
It is important for assets to list the version of Trainz with which they are compatible. For older Trainz builds, this is done by entering a Trainz-Build number in the model config.txt file. [[Content Creator Plus]] will automatically add the correct trainz-build to the config.txt file.&lt;br /&gt;
&lt;br /&gt;
A correctly-constructed asset built for an older version will usually function in a newer version of Trainz, but this is not always guaranteed, as there have been amendments made to subsequent versions. &#039;&#039;(TBD: List of known breaking changes.)&#039;&#039; A model using the latest functions will not work in an earlier version.&lt;br /&gt;
The [[Download Station]] identifies which version of Trainz you have installed and when you use the [[Content Manager]], it will not allow the download of a more recent model that is incompatible with your version.&lt;br /&gt;
&lt;br /&gt;
The approved Trainz-Build version numbers are as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=2 cellspacing=0&lt;br /&gt;
|&#039;&#039;&#039;trainz-build&#039;&#039;&#039;||&#039;&#039;&#039;First Trainz product to support this content version&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|1.3||[[Trainz SP3]]&lt;br /&gt;
|-&lt;br /&gt;
|1.5||Ultimate Trainz Collection&lt;br /&gt;
|-&lt;br /&gt;
|1.6||Ultimate Trainz Collection SP1&lt;br /&gt;
|-&lt;br /&gt;
|2.0||[[TRS2004]]&lt;br /&gt;
|-&lt;br /&gt;
|2.1||[[TRS2004]] SP1&lt;br /&gt;
|-&lt;br /&gt;
|2.2||[[TRS2004]] SP2 - Passenger Pack&lt;br /&gt;
|-&lt;br /&gt;
|2.3||[[TRS2004]] SP3&lt;br /&gt;
|-&lt;br /&gt;
|2.4||[[TRS2004]] SP4&lt;br /&gt;
|-&lt;br /&gt;
|2.5||[[TRS2006]]&lt;br /&gt;
|-&lt;br /&gt;
|2.6||[[TRS2006]] SP1&lt;br /&gt;
|-&lt;br /&gt;
|2.7||Trainz Classics 1&amp;amp;2&lt;br /&gt;
|-&lt;br /&gt;
|2.8||Trainz Classics 3&lt;br /&gt;
|-&lt;br /&gt;
|2.9||[[TS2009]]&lt;br /&gt;
|-&lt;br /&gt;
|3.0||[[TS2009]] SP1&lt;br /&gt;
|-&lt;br /&gt;
|3.1||[[TS2009]] SP2&lt;br /&gt;
|-&lt;br /&gt;
|3.2||&lt;br /&gt;
|-&lt;br /&gt;
|3.3||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22Trainz-build%22_tag&amp;diff=1308</id>
		<title>&quot;Trainz-build&quot; tag</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22Trainz-build%22_tag&amp;diff=1308"/>
		<updated>2010-03-08T12:44:14Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trainz build is the numbering system allocated to each released version of Trainz. Content may be created for different versions, making use of the newer functions in a more recent release. Consequently, some assets will not function in earlier versions of the simulator.&lt;br /&gt;
&lt;br /&gt;
It is important for assets to list the version of Trainz with which they are compatible. For older Trainz builds, this is done by entering a Trainz-Build number in the model config.txt file. [[Content Creator Plus]] will automatically add the correct trainz-build to the config.txt file.&lt;br /&gt;
&lt;br /&gt;
A correctly-constructed asset built for an older version will usually function in a newer version of Trainz, but this is not always guaranteed, as there have been amendments made to subsequent versions. &#039;&#039;(TBD: List of known breaking changes.)&#039;&#039; A model using the latest functions will not work in an earlier version.&lt;br /&gt;
The [[Download Station]] identifies which version of Trainz you have installed and when you use the [[Content Manager]], it will not allow the download of a more recent model that is incompatible with your version.&lt;br /&gt;
&lt;br /&gt;
The approved Trainz-Build version numbers are;&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=2 cellspacing=0&lt;br /&gt;
|&#039;&#039;&#039;trainz-build&#039;&#039;&#039;||&#039;&#039;&#039;First Trainz product to support this content version&#039;&#039;&#039;||&lt;br /&gt;
|-&lt;br /&gt;
|1.3||[[Trainz SP3]]&lt;br /&gt;
|-&lt;br /&gt;
|1.5||Ultimate Trainz Collection&lt;br /&gt;
|-&lt;br /&gt;
|1.6||Ultimate Trainz Collection SP1&lt;br /&gt;
|-&lt;br /&gt;
|2.0||[[TRS2004]]&lt;br /&gt;
|-&lt;br /&gt;
|2.1||[[TRS2004]] SP1&lt;br /&gt;
|-&lt;br /&gt;
|2.2||[[TRS2004]] SP2 - Passenger Pack&lt;br /&gt;
|-&lt;br /&gt;
|2.3||[[TRS2004]] SP3&lt;br /&gt;
|-&lt;br /&gt;
|2.4||[[TRS2004]] SP4&lt;br /&gt;
|-&lt;br /&gt;
|2.5||[[TRS2006]]&lt;br /&gt;
|-&lt;br /&gt;
|2.6||[[TRS2006]] SP1&lt;br /&gt;
|-&lt;br /&gt;
|2.7||Trainz Classics 1&amp;amp;2&lt;br /&gt;
|-&lt;br /&gt;
|2.8||Trainz Classics 3&lt;br /&gt;
|-&lt;br /&gt;
|2.9||[[TS2009]]&lt;br /&gt;
|-&lt;br /&gt;
|3.0||[[TS2009]] SP1&lt;br /&gt;
|-&lt;br /&gt;
|3.1||[[TS2009]] SP2&lt;br /&gt;
|-&lt;br /&gt;
|3.2||&lt;br /&gt;
|-&lt;br /&gt;
|3.3||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Username&amp;diff=1306</id>
		<title>TagName Username</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Username&amp;diff=1306"/>
		<updated>2010-03-08T12:34:54Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Username moved to &amp;quot;Username&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Username&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22Username%22_tag&amp;diff=1305</id>
		<title>&quot;Username&quot; tag</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22Username%22_tag&amp;diff=1305"/>
		<updated>2010-03-08T12:34:54Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Username moved to &amp;quot;Username&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The human-readable English name of this asset. This is the name that will be visible in [[Content Manager]], the [[Download Station]], and [[Surveyor]]. The username tag is mandatory.&lt;br /&gt;
&lt;br /&gt;
To compliment the English username, a variety of additional tags allow for equivalent usernames to be supported across other languages. It should be noted that the English &amp;quot;username&amp;quot; tag is mandatory, and must be in English. Localised tags are optional.&lt;br /&gt;
&lt;br /&gt;
The complete set of supported description tags are as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=2 cellspacing=0&lt;br /&gt;
|username||English&lt;br /&gt;
|-&lt;br /&gt;
|username-cn||Chinese&lt;br /&gt;
|-&lt;br /&gt;
|username-cz||Czech&lt;br /&gt;
|-&lt;br /&gt;
|username-nl||Dutch&lt;br /&gt;
|-&lt;br /&gt;
|username-fr||French&lt;br /&gt;
|-&lt;br /&gt;
|username-de||German&lt;br /&gt;
|-&lt;br /&gt;
|username-hu||Hungarian&lt;br /&gt;
|-&lt;br /&gt;
|username-it||Italian&lt;br /&gt;
|-&lt;br /&gt;
|username-pl||Polish&lt;br /&gt;
|-&lt;br /&gt;
|username-ru||Russian&lt;br /&gt;
|-&lt;br /&gt;
|username-es||Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Localization code]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Trainz-build&amp;diff=1303</id>
		<title>TagName Trainz-build</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Trainz-build&amp;diff=1303"/>
		<updated>2010-03-08T12:34:45Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Trainz-build moved to &amp;quot;Trainz-build&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Trainz-build&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22Trainz-build%22_tag&amp;diff=1302</id>
		<title>&quot;Trainz-build&quot; tag</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22Trainz-build%22_tag&amp;diff=1302"/>
		<updated>2010-03-08T12:34:45Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Trainz-build moved to &amp;quot;Trainz-build&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trainz build is the numbering system allocated to each released version of Trainz. Content may be created for different versions, making use of the newer functions in a more recent release. Consequently, some models will not&lt;br /&gt;
function in earlier versions of the simulator.&lt;br /&gt;
&lt;br /&gt;
It is important for models to list the version of Trainz for which they are compatible. For older Trainz builds, this is done by entering a Trainz-Build number in the model config.txt file. The Content Creator Plus module will automatically add the correct trainz-build to the config.txt file.&lt;br /&gt;
&lt;br /&gt;
A model constructed for an older version may function in a newer version, but this is not guaranteed, as there have been amendments made to subsequent versions. Likewise, a model using the latest functions will not work in an earlier version.&lt;br /&gt;
The Download Station identifies which version of Trainz you have installed and when you use the Download Helper option, it will not allow the download of a more recent model that is incompatible with your version.&lt;br /&gt;
&lt;br /&gt;
The approved Trainz-Build version numbers are;&lt;br /&gt;
&lt;br /&gt;
 trainz-build 1.3 for Trainz SP3&lt;br /&gt;
 trainz-build 1.5 for Ultimate Trainz Collection&lt;br /&gt;
 trainz-build 1.6 for Ultimate Trainz Collection SP1&lt;br /&gt;
 trainz-build 2.0 for Trainz Railroad Simulator 2004&lt;br /&gt;
 trainz-build 2.1 for Trainz Railroad Simulator 2004 SP1&lt;br /&gt;
 trainz-build 2.2 for Trainz Railroad Simulator 2004 SP2 - Passenger Pack&lt;br /&gt;
 trainz-build 2.3 for Trainz Railroad Simulator 2004 SP3&lt;br /&gt;
 trainz-build 2.4 for Trainz Railroad Simulator 2004 SP4&lt;br /&gt;
 trainz-build 2.5 for Trainz Railroad Simulator 2006&lt;br /&gt;
 trainz-build 2.6 for Trainz Railroad Simulator 2006 SP1&lt;br /&gt;
 trainz-build 2.7 for Trainz Classics 1&amp;amp;2&lt;br /&gt;
 trainz-build 2.8 for Trainz Classics 3&lt;br /&gt;
 trainz-build 2.9 for Trainz Railroad Simulator 2009&lt;br /&gt;
 trainz-build 3.0 for Trainz Railroad Simulator 2009 SP1&lt;br /&gt;
 trainz-build 3.1 for Trainz Railroad Simulator 2009 SP2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Trackside&amp;diff=1300</id>
		<title>TagName Trackside</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Trackside&amp;diff=1300"/>
		<updated>2010-03-08T12:34:35Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Trackside moved to &amp;quot;Trackside&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Trackside&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Texture&amp;diff=1297</id>
		<title>TagName Texture</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Texture&amp;diff=1297"/>
		<updated>2010-03-08T12:34:25Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Texture moved to &amp;quot;Texture&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Texture&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22Texture%22_tag&amp;diff=1296</id>
		<title>&quot;Texture&quot; tag</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22Texture%22_tag&amp;diff=1296"/>
		<updated>2010-03-08T12:34:25Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Texture moved to &amp;quot;Texture&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The texture file to be used in [[KIND_Texture|kind texture]] and [[KIND Groundtexture|kind groundtexture]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Storm&amp;diff=1295</id>
		<title>TagName Storm</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Storm&amp;diff=1295"/>
		<updated>2010-03-08T12:34:15Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Storm moved to &amp;quot;Storm&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Storm&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Normal&amp;diff=1293</id>
		<title>TagName Normal</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Normal&amp;diff=1293"/>
		<updated>2010-03-08T12:33:55Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Normal moved to &amp;quot;Normal&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Normal&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Night&amp;diff=1291</id>
		<title>TagName Night</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Night&amp;diff=1291"/>
		<updated>2010-03-08T12:33:47Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Night moved to &amp;quot;Night&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Night&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Description&amp;diff=1284</id>
		<title>TagName Description</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Description&amp;diff=1284"/>
		<updated>2010-03-08T12:33:16Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Description moved to &amp;quot;Description&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Description&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22Description%22_tag&amp;diff=1283</id>
		<title>&quot;Description&quot; tag</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22Description%22_tag&amp;diff=1283"/>
		<updated>2010-03-08T12:33:16Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Description moved to &amp;quot;Description&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The human-readable multi-line English description of this asset. It displays on the Download Station with your content, so please make it useful and informative.&lt;br /&gt;
&lt;br /&gt;
To compliment the English description, a variety of additional tags allow for equivalent descriptions to be supported across other languages. It should be noted that the English &amp;quot;description&amp;quot; tag is mandatory, and must be in English. Localised tags are optional.&lt;br /&gt;
&lt;br /&gt;
The complete set of supported description tags are as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=2 cellspacing=0&lt;br /&gt;
|description||English&lt;br /&gt;
|-&lt;br /&gt;
|description-cn||Chinese&lt;br /&gt;
|-&lt;br /&gt;
|description-cz||Czech&lt;br /&gt;
|-&lt;br /&gt;
|description-nl||Dutch&lt;br /&gt;
|-&lt;br /&gt;
|description-fr||French&lt;br /&gt;
|-&lt;br /&gt;
|description-de||German&lt;br /&gt;
|-&lt;br /&gt;
|description-hu||Hungarian&lt;br /&gt;
|-&lt;br /&gt;
|description-it||Italian&lt;br /&gt;
|-&lt;br /&gt;
|description-pl||Polish&lt;br /&gt;
|-&lt;br /&gt;
|description-ru||Russian&lt;br /&gt;
|-&lt;br /&gt;
|description-es||Spanish&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
* [[Localization code]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=TagName_Clutter-Mesh&amp;diff=1281</id>
		<title>TagName Clutter-Mesh</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=TagName_Clutter-Mesh&amp;diff=1281"/>
		<updated>2010-03-08T12:33:06Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): TagName Clutter-Mesh moved to &amp;quot;Clutter-mesh&amp;quot; tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;Clutter-mesh&amp;quot; tag]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22junction-vertices%22_Container&amp;diff=1270</id>
		<title>&quot;junction-vertices&quot; Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22junction-vertices%22_Container&amp;diff=1270"/>
		<updated>2010-03-08T12:30:50Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &amp;quot;junction-vertices&amp;quot; Container moved to &amp;quot;junction-vertices&amp;quot; container&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;junction-vertices&amp;quot; container]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22junction-vertices%22_container&amp;diff=1269</id>
		<title>&quot;junction-vertices&quot; container</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22junction-vertices%22_container&amp;diff=1269"/>
		<updated>2010-03-08T12:30:50Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &amp;quot;junction-vertices&amp;quot; Container moved to &amp;quot;junction-vertices&amp;quot; container&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[&amp;quot;junction-vertices&amp;quot; Container]] is a top-level [[config.txt file]] entry used by [[KIND SceneryWithTrack]] assets.&lt;br /&gt;
&lt;br /&gt;
The [[&amp;quot;junction-vertices&amp;quot; Container]] is a list of junction subcontainers with no standalone tags. Each junction subcontainer uses the following format. Each junction derives its name from the subcontainer&#039;s tag name. These names are used to refer to specific junctions from script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supported Tags==&lt;br /&gt;
Each junction subcontainer supports the following tags. Each tag is shown here with its default value. &lt;br /&gt;
&lt;br /&gt;
 junction-vertex &amp;quot;&amp;quot;&lt;br /&gt;
 junction-lever-mesh &amp;quot;&amp;quot;&lt;br /&gt;
 junction-mutex &amp;quot;&amp;quot;&lt;br /&gt;
 junction-mutex-sharing-left 0&lt;br /&gt;
 junction-mutex-sharing-forward 0&lt;br /&gt;
 junction-mutex-sharing-right 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;junction-vertex&amp;quot; tag is compulsory and determines the track vertex at which this junction is to be create. This name must correspond to one of the vertices specified in the [[&amp;quot;attached-track&amp;quot; Container]] and the vertex specified should form a valid junction (ie. should have more than two track stretches attached.)&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;junction-lever-mesh&amp;quot; tag optionally specifies the name of a [[&amp;quot;mesh-table&amp;quot; Container]] entry to use for the junction lever. &#039;&#039;TBD: Animation? Multiple-state junction support?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;junction-mutex&amp;quot; tag optionally specifies the name of a [[&amp;quot;mutexes&amp;quot; Container]] entry to use for the junction&#039;s mutex. This allows sharing a single mutex between multiple junctions, and requires a detailed understanding of the trainz [[Permit]] system. If ommitted, the junction will use a unqiue mutex.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;junction-mutex-sharing-left&amp;quot;, &amp;quot;junction-mutex-sharing-forward&amp;quot;, and &amp;quot;junction-mutex-sharing-right&amp;quot; tags describe sharing masks for the junction&#039;s mutex. Two or more permits may be granted for a junction simultaneously if a &#039;&#039;bitwise and&#039;&#039; of their sharing masks gives a non-zero result. When a permit is requested by script for this junction&#039;s mutex, the appropriate sharing masks is selected based on the requested direction. If no direction is specified (eg. a legacy script is in use) then a sharing mask of zero is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Junction-vertices Example==&lt;br /&gt;
The following is an example of a simple [[&amp;quot;junction-vertices&amp;quot; Container]] which declares two named junctions.&lt;br /&gt;
&lt;br /&gt;
 junction-vertices&lt;br /&gt;
 {&lt;br /&gt;
   one-junction&lt;br /&gt;
   {&lt;br /&gt;
     junction-vertex &amp;quot;a.track0a&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
   another-junction&lt;br /&gt;
   {&lt;br /&gt;
     junction-vertex &amp;quot;a.track2a&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
[[Category:Config Container]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=Config.txt_file&amp;diff=1268</id>
		<title>Config.txt file</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=Config.txt_file&amp;diff=1268"/>
		<updated>2010-03-08T12:30:18Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): /* Localisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The config.txt file is the central descriptor for a Trainz content item. Every content item has a single filed named config.txt in its folder, which determines the name, kind and unique ID of the item, as well as various kind-specific details. All other files used by the content item are located via the config.txt file.&lt;br /&gt;
&lt;br /&gt;
The config.txt file is stored in the [[ACS Text Format]]. When hand-editing the file, care must be taken to use correct syntax or the meaning of parts or the entirety of the file may become permanently lost. When content is installed into Trainz, or when it is archived (in [[CDP Format]] or similar) the config.txt file is stored in a machine-optimised binary format. If the content is later extracted using [[Content Manager]], the config.txt file is converted back to text format, however any custom formatting or erroneous syntax is already lost and cannot be restored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Standard Tags==&lt;br /&gt;
A variety of tags are available to all Trainz content items, regardless of the specific asset type. These tags are inherited from the [[KIND TrainzBaseSpec]] base asset type, and are described there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Localisation==&lt;br /&gt;
As the [[ACS Text Format]] uses UTF-8 encoding, non-english text entries may occur within any string field in the config.txt file. To allow for multiple locale support and to avoid confusion, the standard string tags which require localisation allow multiple entries and use the following conventon:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;username&#039;&#039; - The content&#039;s human-readable name, in American English. The English name for the asset must be present.&lt;br /&gt;
* &#039;&#039;username-de&#039;&#039; - The content&#039;s human-readable name, in German.&lt;br /&gt;
* &#039;&#039;username-cz&#039;&#039; - The content&#039;s human-readable name, in Czech.&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
The following standard tags support this form of localization:&lt;br /&gt;
&lt;br /&gt;
* [[&amp;quot;Username&amp;quot; tag]]&lt;br /&gt;
* [[&amp;quot;Description&amp;quot; tag]]&lt;br /&gt;
* [[&amp;quot;String-table&amp;quot; container]]&lt;br /&gt;
&lt;br /&gt;
==Common Containers==&lt;br /&gt;
* [[&amp;quot;Attached-track&amp;quot; container]]&lt;br /&gt;
* [[&amp;quot;Extensions&amp;quot; container]]&lt;br /&gt;
* [[&amp;quot;Kuid-table&amp;quot; container]]&lt;br /&gt;
* [[&amp;quot;Mesh-table&amp;quot; container]]&lt;br /&gt;
* [[&amp;quot;Obsolete-table&amp;quot; container]]&lt;br /&gt;
* [[&amp;quot;String-table&amp;quot; container]]&lt;br /&gt;
* [[&amp;quot;Textures&amp;quot; container]]&lt;br /&gt;
* [[&amp;quot;Thumbnails&amp;quot; container]]&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==Related Links==&lt;br /&gt;
* [[Index of Tags &amp;amp; Containers]]&lt;br /&gt;
* [[Content Configuration]]&lt;br /&gt;
* [[Content Types]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: File formats]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22mesh-table%22_Container&amp;diff=1267</id>
		<title>&quot;mesh-table&quot; Container</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22mesh-table%22_Container&amp;diff=1267"/>
		<updated>2010-03-08T12:29:24Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &amp;quot;mesh-table&amp;quot; Container moved to &amp;quot;mesh-table&amp;quot; container&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[&amp;quot;mesh-table&amp;quot; container]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
	<entry>
		<id>https://wiki.trainzsimulator.com/index.php?title=%22mesh-table%22_container&amp;diff=1266</id>
		<title>&quot;mesh-table&quot; container</title>
		<link rel="alternate" type="text/html" href="https://wiki.trainzsimulator.com/index.php?title=%22mesh-table%22_container&amp;diff=1266"/>
		<updated>2010-03-08T12:29:24Z</updated>

		<summary type="html">&lt;p&gt;Windwalkr (legacy 2550): &amp;quot;mesh-table&amp;quot; Container moved to &amp;quot;mesh-table&amp;quot; container&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;mesh-table&amp;quot; container is a top-level [[config.txt file]] entry used by various [[Content Types]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The mesh-table is a list of mesh subcontainers with no standalone tags. Each mesh subcontainer uses the following format. Tags are parsed in a standardised format, but not all [[Content Types]] support the full range of tags. Each mesh derives its name from the subcontainer&#039;s tag name. These names are used to refer to specific meshes from within the mesh-table and also from script.&lt;br /&gt;
&lt;br /&gt;
=Supported Tags=&lt;br /&gt;
Each mesh subcontainer supports the following tags. Each tag is shown here with its default value.&lt;br /&gt;
&lt;br /&gt;
 mesh-asset &amp;lt;NULLKUID&amp;gt;&lt;br /&gt;
 mesh &amp;quot;&amp;quot;&lt;br /&gt;
 anim &amp;quot;&amp;quot;&lt;br /&gt;
 lod-level 255&lt;br /&gt;
 att &amp;quot;&amp;quot;&lt;br /&gt;
 att-parent &amp;quot;&amp;quot;&lt;br /&gt;
 opacity 1.0&lt;br /&gt;
 position 0,0,0&lt;br /&gt;
 orientation 0,0,0&lt;br /&gt;
 auto-create 0&lt;br /&gt;
 use-parent-bounds 0&lt;br /&gt;
 animation-loop-speed 0&lt;br /&gt;
 light 1&lt;br /&gt;
 critical-animation 1&lt;br /&gt;
 effects&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 night-mesh-base &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====mesh-asset====&lt;br /&gt;
&#039;&#039;TBD&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====mesh====&lt;br /&gt;
The ‘main’ mesh name. This may include a sub-path; &lt;br /&gt;
ie: mesh nightwindows/nightwindows.im, where the file nightwindows.im has been placed in the subdirectory nightwindows.&lt;br /&gt;
&lt;br /&gt;
Use .im files exported from 3dsmax or gmax (as opposed to .pm.) or reference an .lm file if you wish your asset to have ‘Level of Detail’ mesh reduction.&lt;br /&gt;
&lt;br /&gt;
Level of detail is a process of using different model meshes, depending on how far the viewer is from the model. A finer mesh is used for close up viewing in Trainz.&lt;br /&gt;
&lt;br /&gt;
====anim====&lt;br /&gt;
The animation file (.kin) exported from 3dsmax or gmax. This may include a sub-path.&lt;br /&gt;
&lt;br /&gt;
====lod-level====&lt;br /&gt;
The object LOD level at which this mesh is displayed. The default value (255) indicates that this mesh is visible at all detail levels.  See also [[KIND Mesh]] for the &#039;mesh-detail-level&#039; tag.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====att====&lt;br /&gt;
The mesh (and animation if present) is inserted at a mesh attachment point rather than the origin (without this line the mesh is placed relative to the origin of the parent model).&lt;br /&gt;
&lt;br /&gt;
====att-parent====&lt;br /&gt;
The tag tells Trainz in which mesh the attachment point is located. The insertion attachment point is located within the mesh ‘name’ , as listed in the config.txt.&lt;br /&gt;
&lt;br /&gt;
====opacity====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====position====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====orientation====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====auto-create====&lt;br /&gt;
The model is generated automatically when placed, or when you load a map which includes the model. In some instances you don’t want the mesh visible (as this may be controlled through script). If auto-create is 0 the mesh will not be visible when placed.&lt;br /&gt;
&lt;br /&gt;
====use-parent-bounds====&lt;br /&gt;
When enabled, this tag indicates that render culling should occur using the whole object&#039;s bounding box rather than this mesh&#039;s bounding box. Bounding boxes on individual meshes may not update correctly when animation moves the object&#039;s geometry any significant distance from the bind position. This flag can help mitigate such effects, at a tiny performance penalty.&lt;br /&gt;
&lt;br /&gt;
====animation-loop-speed====&lt;br /&gt;
This tag must be here if the asset is to animate when placed. If this tag is not here when placed the animation will not play by default, but may play if controlled by script. A different value (e.g. 0.5, 2.0) may be used in the tag to play the animation at a different speed from that created in 3dsmax or gmax.&lt;br /&gt;
&lt;br /&gt;
====light====&lt;br /&gt;
&#039;&#039;TBD&#039;&lt;br /&gt;
&lt;br /&gt;
====critical-animation====&lt;br /&gt;
&amp;quot;critical-animation&amp;quot; indicates that this mesh&#039;s animation generates events which are critical to the script system&#039;s behavior. If your asset is not scripted, does not use scripted animation events, or only uses the events for display purposes and will not break if the occasional event is missed, this tag should be set to &#039;&#039;false&#039;&#039;. Leaving this flag set to &#039;&#039;true&#039;&#039; is a &#039;&#039;&#039;significant&#039;&#039;&#039; performance penalty.&lt;br /&gt;
&lt;br /&gt;
====night-mesh-base====&lt;br /&gt;
This night mesh is linked to the specified mesh and is visible only at night. It is invisible if the specified mesh is invisible, (if the auto-create 0 line were used so the specified mesh can be controlled by script).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Effects Container=&lt;br /&gt;
The effects container also contains a list of effect subcontainers. The effect subcontainers support the following generic tags.&lt;br /&gt;
&lt;br /&gt;
 kind &amp;quot;&amp;quot;&lt;br /&gt;
 name &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The effect subcontainers support additional tags depending on the effect kind. The following effect kinds are supported:&lt;br /&gt;
&lt;br /&gt;
* [[Corona Effect]]&lt;br /&gt;
* [[Name Effect]]&lt;br /&gt;
* [[Attachment Effect]]&lt;br /&gt;
* [[Animation Effect]]&lt;br /&gt;
* [[Texture-Replacement Effect]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mesh-Table Example=&lt;br /&gt;
The following is an example of a simple mesh-table which implements two levels of detail.&lt;br /&gt;
&lt;br /&gt;
 mesh-table&lt;br /&gt;
 {&lt;br /&gt;
   default-lod0&lt;br /&gt;
   {&lt;br /&gt;
     mesh &amp;quot;example-lod0.im&amp;quot;&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     lod-level 0&lt;br /&gt;
   }&lt;br /&gt;
   default-lod1&lt;br /&gt;
   {&lt;br /&gt;
     mesh &amp;quot;example-lod1.im&amp;quot;&lt;br /&gt;
     auto-create 1&lt;br /&gt;
     lod-level 1&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Category:Config Container]]&lt;/div&gt;</summary>
		<author><name>Windwalkr (legacy 2550)</name></author>
	</entry>
</feed>