Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Trainz/refs/Index of Tags & Containers

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

1 X References TOC TRAINZ BASE SPECIFICATION C CONTAINERs, K KINDs 1 About this page This is meant to be a comprehensive list of tags and containers, past and present, and (eventually) where possible linked to the TrainzOnline detail page which covers the data element, or hopefully here to an expanded and extended data detail page here that covers the same topic in depth, with examples, discussion, and with suitable background and introductory materials. The 'Kinds of KINDs table' from in the X TrainzBaseSpec (TBS) is re-listed below in section 4 before the long table of tags and containers that starts in section 5 for your convenience and reference, and a later generation (editorially newer) navigation link template sidebar now occupies the right hand column in the upper part of this reference, which also links to individual containers. This document then concludes with a large cross-reference table that unlike the Trainz Wiki, will also have links to pertinent data definitions references. Unlike the Trainz Wiki, this page will list obsolete tags and occasionally link to pages explaining how to replace them and their dated related elements with appropriate references, sometimes to the TrainzOnline TC3 Content Creator's Guide TrainzOnline TC3 Content Creator's Guide as well, and the newer Trainz data model elements where the N3V Wiki often limits the scope of the N3V Wiki in their coverages. Wiki vs. Wiki For example, the N3V Wiki and the N3V programmers and staff who make the majority of alterations therein, aggressively purges references to older tags and obsoleted containers, while here the Wikibook mentions them, their role, and their replacement data structures, since readers here need primer background material and scope in order to understand how to repair or upgrade an desirable older asset to shut up warnings and errors in a current Trainz Content Manager. So Wikibook coverage of topics keeps THAT COMMON reality in mind in our explanations and expositions, and is not just a corporate reference stating data associations in dry programerese (i.e. Geek-speak). In truth, new users need to understand that the Trainz data model is an evolving set of data model plateaus, specific portions and only those portions, changing a little bit with each major Trainz Release; and which then stay stable for long periods thereafter post-change. So by and large, Trainz Releases are backwards compatible with respect to data, no matter how many warnings a versions Content Manager gives, what that means is in any new software major release, a 'Trainz version', there are a few things added or augmented which change in the way some type of object (or objects) is defined from now on. These are almost always ways of implementing something the world wide Trainz Community has requested, in some way. Data Model evolution Take speed and complexity of object generation as a example. From the y-2k release of Trainz 1.0 to the Christmas release of TRS2006 (SP0) in 2005, a six year span—Trainz object components definitions necessarily followed a fixed file placement schema; this was an open data storage system under the '\World subroot folder' of those early Trainz Installs utilizing the now obsolete tag 'asset-filename' to link the data subfolders which had requisite suffixes. That tag was actually the name of the mesh, or in the case of a pure texture asset, the texture defining the asset. While the olde schema required specific subfolders, Trainz UTC incorporated pretty much all of the most common containers, KINDs, and tags of today in TBV V1.5 along with the first wave of these, the mesh-table and bogey containers which were added by Trainz's third service pack, evolving into the staple Trainz 1.3. UTC also introduced the trainz-build tag and KUID2 versioning systems, and the core structures defined then, have been relatively stable ever since, ignoring the obsoleting of various 'nicity tags', and consolidation of KINDS. But that technique left complex data objects such as a steam locomotive with the unenviable task of making a perfect mesh with all the pertinent detail, or coming up with another scheme, with the flexability to have sub-meshes. Together the C mesh-table and effects-container satisfy that requirement. In those early Trainz, the complete library of open asset folders and subfolders was then compressed into various '.chump' base files placed into other cache subfolders of the root folder, which were the quick load files for the run-time GUI modules. This proved a time problem once a users asset library swelled to contain a lot of added content. There were only a handful of Chump files combining data kinds for ease of reference in Surveyor, but which meant large data files needed traversed each time a route and session were loaded. The Demise of Useful Filters Illustrative of how users points of view and needs differ from the programmers is how the utility of certain tags is exploited or not. In these early schemes (they evolved, obviously) the surveyor-important type, and region tags and the name-xx tags, to provide internationalization names displayed like origin and company tags in the Railyard gallery GUI. To the world builder content creators the type and region tags were useful group bundling sorting criteria defined by their asset content creator's as permanent group member filters for prioritizing the list of names one sees placing assets in Surveyor. These also sped up the access of a new tool or asset menu when toggling between F-key modes in Surveyor. Once you get a fair number of added assets into their data base, even TANE and TRS19 stagger noticably because they lack this sort of prefiltering. With such a filter selection, one could select groups of related assets, for example: UK versus USA tracks, buildings, or signals; or commercial or industrial or residential buildings; or German Commercial buildings—groups all before presenting a list of menu based selections. The menu of everything was a targeted menu. Some CC's defined special types, like 4-Poly Tree groupings, or by large club organizations such as "TrainzProRoutes" (TPR) or the German club "Blue-Sky International"; both of which had many prolific member content creators building the assets available in early Trainz releases. In fact many of those are still very popular, and can be considered core Trainz assets. But the type and region (misnamed in actual fact) pre-filters vanished with TS2009's arrival. Regardless of how organized or disjointed such filters were logically—all of such groupings (however disjointed or poorly considered) formed additional memory associations other than kuid, author, and names helping and enabling an experienced route builder to quickly reaccess the data element sought. It also gave two pre-filter criteria a user could customize for associations in the way his or her mind works. Wikibook explains such to the new Trainzer. WELCOME ABOARD! Those two pre-filters, type and region, were often quite handy when world building, and the open storage scheme (One always knew where an assets config and other files were located... if an author's name, type, or region choice was an annoyance, one could change them easily enabling an easy way to regroup the pre-filtering tags. Alas, the implementation and keywords used for defining the later two was not well standardized, and many a content creator or group of CC's used them to group narrowly focused assets.Examples: 'Rails' (sparsely populated by a few tracks, whilst others used other type defs to group others), 'railroad building' (with accessories to same like lamp poles, benches, telephone booths, and such scenery), 'Trackside' (found in one group, Objects, which would have been better used in several, from spline objects to Trackside accessories such as speed limit signs, signals, and so forth.) Evolution, Both Useful and The Stupid Evolutionarily, the arrival of CMP in 2005 'did in' the open storage scheme for non-built-in assets when for speed, it adopted hash code calculated file associations and saved all assets in one of 256 subfolders, but one could still open the asset and customize—you now had to open the asset for edit and alter the compressed data. Worse, the bone-headed programmers of N3V decided they were never useful, and that those and other legacy tags—those now and thereafter termed by them in their arrogance, as 'Obsolete'. This obviously breaks thousands of assets produced under the predecessor rules of modeling for Trainz. Having made this monumental change without consulting the user community the N3V programmer team of N3V arranged for the Surveyor Module of TS2009 to no longer have the two related click-windows which allowed quick selection of an item under a particular branch of the asset placement tools in surveyor. In point of fact, they'd eliminated one (region) in the TC releases, which aside from skin color, is the primary difference of V2.7 and V2.8 Content Managers compared to Trainz 1.0—TR06 releases. By the end of the Trainz-Classics (TCs) releases, the new programmers were accustomed to ignoring objections of the users, and continued to make unilateral decisions on usefulness of tags, they chose not to just ignore—despite ample proof that few were users and had little understanding of what Trainz users actually did and needed as tools. It's as if they had a paranoia about a few extra bytes in a config file in a day when computer memory and processor speeds was growing tremendously in power and availability almost daily! In the TCs, K engines enginespecs in particular were given a tag-trim and regrouping and spline based data objects began undergoing a similar shift in 'how-to construction needs'; this process continued into TS09 and concluded when all spline objects became definable as sub-types of K track KIND Track with various tags steering the software to generate the proper characteristics (not the former K spline KIND Spline, Kind bridge, kind Tunnel, and even double tracked Track sub-type ... their understanding of classification and relations and formal logic is clearly lacking!). In point of fact, this is another faux-advance. Whilst appearing to advance the data model, the processing necessity for each sub-type remains. Again, something they could have incorporated as a pre-processing translation stage, maintaining full backwards compatibility was instead chosen to maintain run-time processes, but annoy the users requiring manual changes and use of a different set of definitions. Worse, N3V's programmer's under the guise of 'obsolete' chose not to just pre-process such lines of data pairs as 'vaporware', but to call them out instead as errors or faults in all subsequent Trainz code releases. Stated another way, instead of the easy, simple path of just ignoring such old data forms—and a few others such as the ability to comment in-file, they created tens of hours of unnecessary demands upon the time of their users for almost any legacy asset in reading the file in (pre-processing stage), including ones previously built-in and 'made perfectly to the 'current data model' of the day. That is, and apparently will forever be a drag and glassiness fact of Trainz-life for each such non-built-in assets which still must be processed a bit differently based on the setting of its Trainz-Build tag value (TBV) anyway.The inexperienced new Trainzer should take note that downloading virtually any route or session from the DLS will create a situation of 'Missing Dependencies, formerly dozens or hundreds, but the situation has been under steady improvement since 2014! Importing one TR04 route into TC3 generated 197 unresolved, unrecognized assets. Importing a 3rd-party route not sourced from the DLS is likely to have dozens of assets from others in that Content Creators group, those that host that website—and in 2020, despite loosing some prominent ones, there are still over 800 such Trainz 3rd party sites hosting content. Since mid-TANE days, the DLS will not accept a asset wherein its component dependents (Listed in each kuid's kuid-list table/container) unless they are all on the DLS too. Change the TBV—you change the pre-processing and tag interpretation process, so change the errors or 'nominal faults' (actually: 'faux-faults') shown by Content Managers... and so the list of 'legal tags' vs. 'illegal tags' the content manager processing will tolerate. (Hmmm, sounds like something easy to automatically never bother a user about, n'est pas? A competent management and programmer team would strive to eliminate frictions caused by their product, wouldn't they? Ha!) Guess what still works? Guess who still must invest their time to fiddle with 3rd-party assets to satisfy this artificial barrier? Bottom line, the programmers took the speed out of any users ease of use of legacy assets. Evolutions for Speed and Function The initial Trainz versions used what is called a Progressive Mesh (.pm file) but Auran in the largest re-cast of their data definitions as they evolved Trainz UTC data set/data model for the new power of interactive industries and customizable Driver Sessions, they also introduced the slightly simpler 'Indexed Mesh' (.im file) and LOD during the overhaul of the Trainz UTC data models for the much more powerful TRS2004 original release. It is clear, at that point, at least internally, the X TrainzBaseSpec still governing Trainz asset creation was defined and formalized as the flexibility of TR04 took shape. Mentions of this externally are missing—at least until N3V Games decided their first sole-developed evolutionary release, TS09 TRS2009: World Builders Edition tried to rely on the fancy new TrainzOnline Wiki for documentation. That is still unfinished, and doesn't give the least heed to making older data models comprehensible — which is where the importance of the Content Creators Guide(s) to old and new users enters the story. The Wise and the Unwise Janus of Programming Before it arrived in the community, Auran, the operating company and software house would 1) First loose Greg Lane, genius head-programmer responsible for Trainz, UTC, TR04, and Trainz 2006, 2) overextend spending millions developing another (unsuccessful) computer game, 3) go into bankruptcy and reorganization laying off essentially everyone 4) Even loose the DLS data base, probably to sabotage by a disgruntled unemployeed personage, or management decision—the Trainz Community suddenly lost its forum server and the DLS for several months. 5) Undergo the indignity of having to give-over operations control to a new court-ordered partner, Tony Hilliam and the others invested in N3V Games. 2006-2008 were not happy times for Auran, which ended up reorganized as a holding company owning certain Trainz rights, but N3V Games and a new, much smaller team of employees (Five or Six compared to 32-35 of Auran!) was in charge of Trainz operations (i.e. version licensing and releasing) and further developments since 2007, which became permanent in 2008. Computers were rapidly changing at the time as well—both disc drives and internal RAM memory soared to unheard of uncounted gobs of storage, numbers unthinkable just a handful of years earlier—and values which seem sedate today with phones having similar power and flexibility! But TR04 was buggy initially, so it had FOUR service pack releases and a host of patches and hot-fixes over several years. Many considered that the best Trainz release ever, well into the teething troubles of TS12 (1 SP) (i.e. through TS09 (4 SPs), TS10 (also 4 SPs) and finally peaking in 2014 with TANE and the beckoning power promised by the 64-bit CPU-World beyond. TRS2006 came out introducing ContentManager Plus but its run-time software packages, as are the coding of TC1&2 (V2.7) and TC3 (V2.8) are the same JET 2 game engine and operate with little evident differences. Surveyor and Driver operate and display the same way. CMP and TS2006—TC3 sometime crash in Windows 10, but otherwise run fine— save the TR06 'Intro-video' is best disabled when launching. Turning off internet access seems to minimize their run-time packages causing crashing—which normally happens when exiting the program or Alt-TAB switching to another App without pausing Driver... CMP and the new local file storage scheme (Hash-Code folder names) are offsetting changes—users lost easy access to the raw data files, but gained in DLS operations. One can still open an 3rd-party asset for edit and fiddle at need. CMP did many of the things 3rd-party 'TrainzObjectz' had given the community, but not all; it did combine other independent tools for uploading, downloading, archiving, and fault checking into one package, but TrainzObjectz caught more relevant basic faults, specifically missing attachment points and textures for years—undoubtedly a large reason many Content Creators stayed with models developed first for TR04 and TR06, even into the current post-TANE era. The promised land is just a service pack or new release version away has become an over-familiar and much-undelivered refrain from N3V. None-the-less, there was the data model, and a new head strong inexperienced TS2009 gave their users the time-wasting shitload of artificial faults, including new 'fault tests' on mesh data, ones threatening to kill .PM file defined assets entirely (While hypocritically maintaining them in the built-in data base cabinet files (.ja files-'Jet Archive files). They also eliminated a couple of engine-spec sound tags (breaking legacy Loco definitions—they'd require them again in TS12 and after!), and introduced the LOD files system, requiring an asset to have multiple meshes (near, middle, far) or generate a fault. Even assets without meshes had to have a mesh container in certain circumstances! Logic, is not an N3V programmer's long-suite, but they have a lock on bone-headed programming decisions and stubbornness adverse to the communities needs! We expect to add much HowTo about converting older forms of the data model to the new Trainz minimum uploadable trainz-build needs, at the least, and a lot more examples of digital model types in general. Trainzers maintain these pages, not programmers!   The above table from the TrainzBaseSpec is a list of current KINDs, but does not include the obsolescent KIND classes antedating N3V's reorganization of the Trainz data model between the release of TC1&2 / TC3 (2007) and TS2009 (2008). Notations C Containers or subcontainers are set off by at least one whitespace character and a following open-curly-brace, and the second column of the tables following identify that one is a part, sometimes a repeating part of the other. Containers have scope in more than one K KIND context, whereas subcontainers, so far as we as editors can discern, do not, and are married uniquely to and within their particular container parent, including K KINDs as well. Recall Both Trainz data types are computer-science containers. Terms below ending with -ID are 'variables'— string identifiers (i.e. keywords) and set up by the content creator. Some are arbitrary and unimportant, but many are handles and specific to interfacing with GameScript software files in their run time interactions. (For example, if an config.txt file is defining a rule which takes identifiers and input of data parameters, such '-ID' terms represent variables that the script code has to match up with.) __NOTOC__ Navigable Click-table as Table of ContentsWords beginning with strings between... aa-ar as-at au-az ba-bo br-cg ch-cz da-dz ea-ez fa-gz ha-hz ia-iz ka-kz la-lz ma-mz na-nz oa-oz pa-pz qu-rz sa-sz ta-tz ua-vz wa-zz  aa-ar Tag or ContainerData TypeParentApplies toDescriptionaccelfloat,floatsmoke {smoke blockAcceleration. First number is Gravity effect, second is wind effect. Default is 0,0.adhesion?motor {engine?air-drag-coefficient ?motor {engine?aliaskuidR config.txt filegeneralKuid 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.aliaskuidR config.txt filepaintshed-skinthe kuid of the paintshed template the paintshed reskin is based onc queues allowed-categories {subcontainerqueues-ID {industryThe allowed product categories in this queue.queues allowed-products {subcontainerqueues queues-ID {industryThe allowed products in this queue.allows-mixingbooleanR config.txt fileproductProducts 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.altitude?R config.txt fileregionaltitude of this regionambientbooleansoundscript-ID {mesh object0 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 aboveamountfloatinputs-ID {industryAmount required as input.amountfloatoutputs-ID {industryAmount to output.anglefloat list degreesR config.txt fileturntableSpecifies the angles at which the turntable stops. Not used if the turntable is set up as animation.anglesfloat listmesh-table-ID {interiorRotational boundaries in radians relative to its attachment point.anim[path/]filename.kinR config.txt filepantographThe “anim.kin” animation file for the pantographanim[path/]filename.kineffects-ID {animation effectReference to the animation file (.kin)anim[path/]filename.kinmesh-table-ID {mesh objectThe animation file (.kin) exported from 3dsmax.animated-meshmesh-table-ID {queues-ID {industryAnimated mesh which changes as the queue becomes full.animation-loop-speedfloatmesh-table-ID {mesh objectThis 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.animdistfloatR config.txt filebogeyLeave 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”. as-at Tag or ContainerData TypeParentApplies toDescription asset-filename redstringR config.txt filegeneralObsolete from v2.5 onatthelperattached-trigger-ID {industryAttachment point (stored in the mesh file)atthelpereffects-ID {effects-ID {The effect insertion point. The attachment point must be orientated correctly in 3dsmax.atthelpermesh-table-ID {mesh objectThe 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).attached-track {containerR config.txt filescenery with trackAuto-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’.attached-track-ID {subcontainerattached-track {scenery with trackUser supplied identifierattached-trigger {containerR config.txt fileindustryA 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.attached-trigger-ID {User supplied identifierattached-trigger {industryUser supplied identifierattachmenthelpersmoke# {smoke blockThe attachment point (stored in the mesh file) to place the smoke effect.attachmenthelpersoundscript-ID {mesh objectAttachment 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)attachment-points {subcontainerqueues-ID {industryList of attachment points for this queue on which products are visualised. (Use this, OR animated-mesh)att-parentmesh-table-ID {mesh-table-ID {mesh objectThe 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. au-az Tag or ContainerData TypeParentApplies toDescriptionauthorstringR config.txt filegeneralAuthor, 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.autobrakecylinder ?volume {engine?autobrakecylinder_start ?pressure {engine?autobrakecylindervent ?flowsize {engine?auto-createbooleanmesh-table-ID {mesh objectThe 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.autonamebooleanR config.txt filegeneralWhen enabled, automatically assigns a unique name to this object as it is placed.autopilotmodebooleandriver-settings {activityAI driver setting. (off, on)auxreservoir ?volume {engine?auxreservoir_autobrakecylinder ?flowsize {engine?auxreservoir_no3?flowsize {engine?auxreservoir_start decimalpressure {engineAuxiliary reservoir pressure on loading the game. auxreservoir_trainbrakepipe ?flowsize {engine?auxreservoirvent?flowsize {engine?axle-count ?motor {engine? ba-bo Tag or ContainerData TypeParentApplies toDescriptionbackdropbooleanR config.txt filescenerySpecifies whether the object is treated as a backdrop or not. (stays visible even when far from the camera)bendybooleanR config.txt filesplinesSwitches how track is bent on corners, set as 1 allows the mesh to be deformed as the spline is bend around corners.bogeykuidbogeys-ID {bogey-0 {bogey-1 {bogey-2 {bogey-3 {...traincarSub-table identifier tag (subcontainers 0-4) holding the Kuid and orientation of bogey asset. The subcontainer is the newer method of specifying bogey kuid software interactions and togetherness. Each corresponds to an attachment point on the traincar body mesh. Subcontainers have two optional Boolean modifier tags that need not be specified unless needed. Both default to 'FALSE', defined as the 0 digit. reversed 0 - animation synch sideplay-permitted 1 - long Loco's have center bogeys which pivot and slide off center.bogeykuidR config.txt filetraincarThe bogey KUID number (default for a.bog0 and a.bog1)bogeykuidtracksound {TracksoundThe bogey to which this sound will apply.bogey-#kuidR config.txt filetraincarThe bogey KUID number for a.bog# (Used only if different to a.bog0)bogey-#-rkuidR config.txt filetraincarUsed 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.bogey-rkuidR config.txt filetraincarUsed 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.bogeys {containerR config.txt filetraincarThe bogey container stores the bogeys used for the loco\rollingstock item. For consistency, it should have been better differentiated like similar tables as 'bogey-table' vice the confusable 'bogeys' outside tag. The bogeys container only holds bogey subcontainers designated so numerically they map to the same attachment points generated by GMAX or big expensive brother 3ds Max. This in fact, is a great illustration as to how attachment point designations are transposed and mapped onto the asset coding creating software-linkages. The odd difference with bogeys is the old fashioned tags bogey-r, bogey-#-r which are totally NOT PART of the newer bogeys container scheme directly. Instead the subcontainers have an allowable tag 'reversed'--A BOOLEAN VALUED tag, meaning legal values are just {v: 0, 1) zero or 1. The tag defaults to zero, so need not be listed for most assets, so is only needed when the bogey look and bogey animation are oriented differently in the axis of the bogey attachment point in the traincar body mesh which marrys the bogeys mesh. In the great majority of cases, both front and rear (up to all four) bogeys of a traincar will normally be identical kuid references.bogeys-ID {subcontainerbogeys {traincarUser supplied identifier relative to mesh standards reversed 0 sideplay-permitted 1boiler-to-piston-flow?steam {steam-engine?boiler-volume?steam {steam-engine? br-cg Tag or ContainerData TypeParentApplies toDescriptionbrakefull decimalC pressure {engineBrake pipe pressure in grams/m³ after full service reduction (for self lapping brakes).brakeinitial decimalC pressure {engineBrake pipe pressure in grams/m³ after initial service reduction (for self lapping brakes).brakepipe decimalC pressure {engineBrake pipe pressure in grams/m³ when fully charged. brakeratio ?motor {engine?bridgetrackkuidR config.txt filesplinesKuid of the track type to be used.buffer-speedfloat metres/secondR config.txt filetracksideUsed for buffers; specifies the maximum speed up to which the buffer will stop a train.burn-ratedecimalsteam {steam-engineHow much coal in kg/s is consumed when the loco is operating at the test parametersburn-rate-idledecimalsteam {steam-engineHow much coal in kg/s is consumed when the loco is idle, purely to keep the fire burningcabinswayfloatR config.txt filetraincarCabin sway multiplier. Eg -2.camera#float listcameralist {interiorA 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.cameradefaultintegerR config.txt fileinteriorThe in-cab camera view Trainz defaults to when entering the cab.cameralist {containerR config.txt fileinteriorList of camera viewpointscar#kuidR config.txt filemapEach of these tags stores the kuid of a car to be used on the roads.car#kuidR config.txt fileregionEach of these tags stores the kuid of a car to be used on the roads.carratefloat secondsR config.txt filesplinesDefines traffic density on road (minimum seconds between each car generated). 0 = No traffic. Number must be greater than 3.casts_shadowsbooleanR config.txt filesplinesToggles whether the shadow model is displayed.category-classclass codeR config.txt filegeneralThe class code for this asset.category-eraera codeR config.txt filegeneralEra code list.category-era-#era listR config.txt filegeneralEra code.category-keywordskeyword listR config.txt filegeneralKeyword listcategory-regionregion listR config.txt filegeneralA list of REGION codes or REGION GROUP codes,category-region-#region codeR config.txt filegeneralA REGION code or REGION GROUP code. ch-cz Tag or ContainerData TypeParentApplies toDescriptionchangeability0/1/2driver-settings {activityPropensity for weather to change. (none, periodic, extreme)chunky_infofloat listR config.txt filesplinesThese values (in metres) define the shape of the mesh created for the track.chunky_meshfolderR config.txt filesplinesName 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”).classstringR config.txt filegeneralThis refers to the class of asset within the script file (the class must match that stated in the script).clutter-meshkuidR config.txt filegroundtextureGround 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.collate-meshes?R config.txt filetracksideEnables clutter-mesh support (eg. fast trees)collision-parentmesh-table-ID {mesh-table-ID {interiorFor collision-proxy meshes in an interior mesh-table, this specifies the parent object to be proxied. is 3.colorrgb valuesmoke# {smoke blockThe R,G,B color value of the effect.companystringR config.txt filetraincarThe Locomotive or car ownercompressor integerflowsize {engineFlowsize of the compressorcompressor decimalpressure {engineCompressor maximum pressure in grams/m³conesize?smoke# {smoke block?conflicts-with queues {subcontainerqueues-ID {industryThis queue and the conflicting queue(s) cannot be used simultaneously.consists {containerR config.txt fileindustryThe consists tag stores information on consists that can be generated by the industry.consists-ID {subcontainerconsists {industryUser supplied identifierconsists-vehicle-ID {subcontainerconsists-ID {industryUser supplied identifiercontact-emailstringR config.txt filegeneralAuthor, 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.contact-websitestringR config.txt filegeneralAuthor, 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.controlmethod0/1driver-settings {activityDriver control setting. (dcc, cabin)coupling-maskbooleanconsists-ID {industryCoupling mask that applies to the consist. 0 will block off all coupling activity while “1” will mean you can couple with a vehicle.critical-animationbooleanmesh-table-ID {mesh objectWhen enabled, this forces the animation to continue playing when off screen. Impacts performance when enabled.custom-attachments?queues-ID {industryNot used. da-dz Tag or ContainerData TypeParentApplies toDescriptiondecoupling-maskbooleanconsists-ID {industryCoupling mask that applies to the consist. 0 will mean you can’t decouple vehicles in the train while 1 means you can decouple vehicles.default {subcontainermesh-table {mesh objectMain mesh of the assetdefaultjunctionkuidR config.txt fileregionDefault type of junction in this region.default-meshkuideffects-ID {attachment effectThe KUID of the attached mesh.default-night {subcontainermesh-table {mesh object‘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. default-night-forward {subcontainermesh-table {mesh objectThe 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.default-night-reverse {subcontainermesh-table {mesh objectThe 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.deraillevel0/1/2driver-settings {activityDerail setting. (none, arcade, realistic)description tagstringR config.txt filegeneralEnglish language description of the asset.description-XX tagstringR config.txt filegeneralTranslated description of the asset in the language specified by localization code XX.digholefloat length, widthR config.txt filescenerySpecifies the number of grid segments (length, width) to be removed from the surveyor grid to accommodate the turntable pit.direct-drivebooleanR config.txt filebogeyWhen 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!directionvectorsmoke# {smoke blockThe vector at which the smoke travels.directionalbooleaneffects-ID {corona effectThe default for coronas is to be aligned to the attachment point to face the NEGATIVE Z direction. This is especially useful for Traincars.disable-extra-track-soundsbooleanR config.txt filetraincarDisables the “click-clack” tracksounds. (0, 1)distancemin, max metressoundscript-ID {mesh object2 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)ditch_colorrgb valueR config.txt filetraincarRGB ditch light color. Eg. 255,255,255.dividerfolderR config.txt filesplinesName of the model to use as the middle bridge section. Placed in subfolder with same name.don’t-flip-terminatorbooleanR config.txt filesplinesTerminator model isn’t mirrored on one side.driver-settings {containerR config.txt fileactivitySpecify the settings of this scenario, similar to Driver’s settings screendurationfloatprocess-ID {industryLength of time (in seconds) that the process runs for.dynamic-brake {containerdynamic-brake containerengineA sequence of numeric subcontainer data structures referring to a specific throttle notch and specifying the speed (m/s) and a braking force (kN) value which together define a braking force graph for that throttle notch ea-ez Tag or ContainerData TypeParentApplies toDescriptioneffects {subcontainermesh-table-ID {mesh-table-ID {Optional mesh-table variationseffects {subcontainermesh-table-ID {mesh objectOptional mesh-table variationseffects-ID {subcontainereffects {effects {User supplied identifierenabledbooleansmoke# {smoke blockSpecifies whether the effect is enabled.endcolorrgb valuesmoke# {smoke blockThe final color the smoke effect shifts to.endlengthfloat metresR config.txt filesplinesLength in meters of the initiator and terminator models.enginebooleanR config.txt filetraincarStates type of traincar. 0 for Rolling stock, 1 for Locomotive.enginesoundkuidR config.txt filetraincarReferences the KUID number for the traincar’s sound.enginespeckuidR config.txt filetraincarReferences the engine KUID number. This specifies the driver physics boundaries for the traincar.epreservoirpipe decimalflowsize {engineFlowsize of the electric pneumatic braking epreservoirpipe decimalvolume {engineFor electro pneumatic braking. Not currently in use, generally leave this settingepreservoirpipe_autobrakecylinder decimalflowsize {engineFlowsize of the electro pneumatic automatic brake cylinder reservoir. epreservoirpipe_start ?pressure {engineFor electro pneumatic braking. Not currently in use, generally leave this setting. equaliser decimalvolume {engineEqualising reservoir volume. equaliser_mainreservoir decimalflowsize {engineFlowsize of the equaliser main reservoirequaliser_start decimalpressure {engineEqualising Reservoir pressure on loading Trainz equaliservent decimalflowsize {engineFlowsize of the equaliser vent equaliserventemergency decimalflowsize {engineFlowsize of the emergency equaliser ventequaliserventhandleoff decimalflowsize {engineFlowsize of the equaliser to the atmosphere when in the "handle off" positionextensions {containerR config.txt fileallAsset specific data. fa-gz Tag or ContainerData TypeParentApplies toDescriptionfacescamera/motion/downsmoke# {smoke blockThe direction the smoke effect faces.face-texture[path/]filename.textureR config.txt filedrivercharacterThis is the driver icon used in TRS. Must be 64x64 pixelsfacingbooleanconsists-vehicle-ID {industryIndicates the direction of the vehicle.file[path/]filename.tfxsmoke# {smoke blockThe twinkle file to be used (optional).firebox-efficiencydecimal (0.0 -> 1.0) steam {steam-engineEfficiency of the firebox (higher is more efficient)firebox-to-boiler-heat-flowdecimalsteam {steam-engineRate of heat flow from firebox to boilerfirebox-to-boiler-heat-flow-idledecimalsteam {steam-engineRate of heat flow from firebox to boiler when idlefirebox-volumesteam {steam-enginePhysical volume of firebox in litresflowsize {containerR config.txt fileengineFlowsize settings specify the rate of flow through the pipes.fontcolorrgb valueeffects-ID {corona effectThe color of the sign text in r.g.b.fontsintegerR config.txt filetraincarIndicates how many types of numbering fonts used.fontsizefloat metreseffects-ID {corona effectThe size of the sign textfonts-pathfolderR config.txt filetraincarReplaces asset-filename usage for ‘fonts’.frame-ratefloat frames/secondR config.txt fileturntableGenerally make this 30 (frames per second)frequencyfloateffects-ID {corona effectThis variable specifies the flash frequency in Hz, e.g. 1 for once per second, 0.5 for once every 2 seconds, 2 for twice per second.fueldecimalmass {engineFuel level, not currently in usefuel-energydecimalsteam {steam-engineRelative energy in kilojoules per kilogram of coalfunction'TrackSignal'R config.txt filetracksideMust be set to 'TrackSignal'groundedfloat metresR config.txt filesplinesHeight in meters for the road to be offset from terrain. ha-hz Tag or ContainerData TypeParentApplies toDescriptionheightfloat metresR config.txt filesplinesHeight from the track level to the base. Must be a negative value in order to raise the bridge above the ground.heightintegerthumbnails-ID {allImage heightheightnegative metresR config.txt filesceneryHeight from the track level to the base. Should be negative.height-rangemin,max metresR config.txt filesceneryheight-range min, max eg: height-range –10, 100. Where min and max are values in meters.hiddenbooleanR config.txt filesplinesPrevents the spline from being rendered.highspeedexhauster decimalpressure {engineFor vacuum braking - not currently in usehighspeedexhauster_vacuumbrakepipe decimalflowsize {engineFor vacuum brakinghornsoundkuidR config.txt filetraincarReferences the KUID number for the traincar horn sound. ia-iz Tag or ContainerData TypeParentApplies toDescriptionicon0kuidR config.txt filegeneralDeprecated. Use thumbnails containericon1kuidR config.txt filegeneralDeprecated. Use thumbnails containericon2kuidR config.txt filegeneralDeprecated. Use thumbnails containericon3kuidR config.txt filegeneralDeprecated. Use thumbnails containericon-texture[path/]filename.textureR config.txt fileproductThe in-game representation of the product when specifying the load type for a compatible rollingstock item (driver) Should be a 64x64 TGA.image[path/]filenamethumbnails-ID {allImage filenameindbrakefull ?pressure {engine?independantbrakecylinder?volume {engine?independantbrakecylinder_start ?pressure {engine?info-page[path/]filename.htmlR config.txt fileprofileFilename of the HTML information page for the session.inherit-velocity?smoke# {smoke block?initial-boiler-temperature?steam {steam-engine?initial-countintegerqueues-ID {industryThe initial number of items in the queue.initiatorfolderR config.txt filesplinesName of model to use at start of bridge, placed in subfolder with same name.inputs {subcontainerprocessID {industryInput process listinputs-ID {subcontainerinputs {industryUser supplied identifierinstance-type'instance'/'resource'R config.txt fileproductInstance-type: 'resource' is used when there is no mesh, or one only mesh is referenced in the mesh table (Ie Liquids, Bulk loads etc). 'instance' is used when more than one mesh is in the mesh table Ie: Passengers, General Goods. 200 max.‘size’ per Asset.interiorkuidR config.txt filetraincarReferences the KUID number for the traincar interior cab view.interpolate?smoke# {smoke block?invisiblebooleanR config.txt filesplinesSpecifies whether the object is invisible.isroadbooleanR config.txt filesplinesIsroad/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.istrackbooleanR config.txt filesplinesIsroad/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.istunnelbooleanR config.txt filesplinesDisables smoke effects for trains on track with this tag set. Useful for tunnels, engine houses, snow sheds - anywhere you don't want smoke going through the roof of a structure.junction-lever-meshsubcontainerjunction-vertices-ID {fixed trackThe mesh (selected from the mesh table) to be used as a junction lever.junction-vertexhelperjunction-vertices-ID {fixed trackThe attachment point (located in mesh file) at which to place the lever.junction-vertices {containerR config.txt filefixed trackThe Junction-Vertices Container contains the tags needed to handle the lever portions of a fixed track.junction-vertices-ID {containerjunction-vertices {fixed trackUser supplied identifier ka-kz Tag or ContainerData TypeParentApplies toDescriptionkeyframesinteger listR config.txt fileturntableSpecifies where on the animation the turntable is to stop.kind'animation'effects-ID {effects-ID {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.kind'attachment'effects-ID {effects-ID {In TRS we now have the ability to attach a mesh into another mesh by referencing it’s KUID through a meshtable.kind'corona'effects-ID {effects-ID {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.kindinterior object kindmesh-table-ID {interiorThe 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)kindkindR config.txt filegeneralAsset kind.kind'name'effects-ID {effects-ID {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.kind'texture-replacement'effects-ID {effects-ID {This effect was created for rolling stock items to swap the visible texture of bulk loads (such as coal or woodchips).kuidkuidR config.txt filegeneralAsset kuidkuid-table {containerR config.txt fileallList of all required dependencies.kuid-table-ID {kuidkuid-table {allUser supplied identifier la-lz Tag or ContainerData TypeParentApplies toDescriptionlatitude?R config.txt fileregionlatitude of this regionleft-passenger-door {subcontainermesh-table {mesh objectPredefined submesh identifier. Left side passenger doors.lengthfloat metresR config.txt filesplinesLength of track segment in meterslevels {subcontainertracksound {TracksoundRelative 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.licencestringR config.txt filegeneralUser licence detailslifetimefloatsmoke# {smoke blockTime in seconds that smoke particles exist for. Default is 3.lightbooleanR config.txt filescenerySets 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.lightbooleanmesh-table-ID {mesh objectSets 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.light_colorrgb valueR config.txt filetraincarRGB headlight color. Eg. 255,255,255.lights {containerR config.txt filemosignalSignal lighting container. A list of coronas attached to each light point. Coronas are stored in each signal object’s directory alongside it’s textures.lights-ID {subcontainerlights {mosignalLight point identifier.limitsfloat listmesh-table-ID {interiorMathematical boundaries Trainz uses determine the objects function. These values vary as different objects use different mathematical units.longitude?R config.txt fileregionlongitude of this regionloopfloat secondssmoke# {smoke blockTime in seconds to loop the smoke sequence. Only valid if mode is set to time.loopdelayfloat secondssmoke# {smoke blockDelay (in seconds) before the effect is played again.loopedbooleaneffects-ID {animation effectLooped 1 (optional) Use only if the animation is looping (repeating). Default 0 (i.e. not looped).loopingbooleanR config.txt fileturntablespecifies that the turntable can go all the way around, rather than stopping at a certain point. ma-mz Tag or ContainerData TypeParentApplies toDescriptionmainreservoir ?pressure {engine?mainreservoir ?volume {engine?mainreservoir_ep ?flowsize {engine?mainreservoir_start ?pressure {engine?main-reservoir-volume?steam {steam-engine?map-kuidkuidR config.txt fileprofileKuid of the map attached to this session.massfloat kgR config.txt fileproductThe 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.massinteger kgR config.txt filetraincarMass in kilogramsmass {containerR config.txt fileengine?max-accel ?motor {engine?max-coupler-gapfloat metresR config.txt filetraincarmaximum gap expected between couplers of this typemax-decel ?motor {engine?max-distancefloattracksound {TracksoundMaximum distance at which the sound is played. Eg 1000max-fire-coal-mass?steam {steam-engine?max-fire-temperature?steam {steam-engine?maximum-volume?steam {steam-engine?maxratefloatsmoke# {smoke blockThe maximum rate at which particles are emitted.maxsizefloatsmoke# {smoke block?maxspeed ?motor {engine?maxspeedkphfloatsmoke# {smoke block?maxvoltage ?motor {engine?mesh[path/]filename.immesh-table-ID {mesh objectThe 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.mesh[path/]filename.lmmesh-table-ID {mesh objectThe 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.mesh[path/]filename.pmmesh-table-ID {mesh objectThe 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.meshkuidR config.txt filedrivercharacterThis refers to the kuid of the mesh asset inserted in to the locomotive mesh at a.driver0 (when in the Driver Module).mesh-table {containerR config.txt filemesh objectThis 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).mesh-table-ID {subcontainermesh-table {mesh objectUser supplied identifiermesh-table-ID {subcontainermesh-table {interiorUser supplied identifiermin-distancefloattracksound {TracksoundMinimum distance at which the sound is played. Eg 0.minimum-volume?steam {steam-engine?minratefloatsmoke# {smoke blockThe minimum rate at which particles are emitted.minsizefloatsmoke# {smoke block?modespeed/anim/timeofday/timesmoke# {smoke block speed | anim | timeofday). mode0 {subcontainermesh-table {tracksideMesh showing lever in first positionmode0 {subcontainermesh-table {mesh objectPredefined submesh identifier. Mesh showing lever in first positionmode1 {subcontainermesh-table {tracksideMesh showing lever in second positionmode1 {subcontainermesh-table {mesh objectPredefined submesh identifier. Mesh showing lever in second positionmotor {containerR config.txt fileengine?mousespeedfloatmesh-table-ID {interiorThis 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.moving-friction-coefficient ?motor {engine? na-nz Tag or ContainerData TypeParentApplies toDescriptionname<blank>effects-ID {name effectLeave blank to allow the name to be inserted by script without an initial default.name'name'effects-ID {name effectWhen name name is specified, it uses the asset’s changeable name. Changed through the Edit Properties icon (the ‘?’ icon) in Surveyor.namestringeffects-ID {name effectThe 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.night[path/]filename.tga  ↓R config.txt fileenvironmentName of image file for night sky. File should be 256 x 256 pixel 24bit tga. The file extension should be excluded inside config.txt, ie “QLD_Sky” rather than "qLD_Sky.texture.txt”.night-mesh-basemesh-table-ID {mesh-table-ID {mesh objectThe mesh to which 'default-night' is linked. If the 'night-mesh-base' is hidden then 'default-night' will not be displayed.nightmodehome/lamp/constant  ↓R config.txt filesceneryOnly add this tag if you reference a default-night mesh in the mesh-table. Values: home, lamp or constant.C flowsize no3pipe  float (Decimal)  ↓ C flowsize {  ↓ K KIND engineThe Flowsize container is used by Kinds/KIND Engine KIND EngineKIND Engine spec], N3V Wiki (Enginespec) and Kinds/KIND Steam-engine KIND Steam-engineKIND Steam-engine N3V Wiki (Steam Enginespec) assets.no3pipe  float (Decimal)  ↓volume {  ↓ K KIND engine engine  The Volume container is a top-level config.txt file entry used by K Enginespec and K Steam Enginespec assets.flowsize no3pipe_autobrakecylinder  float (Decimal)  ↓ CD flowsize_container flowsize {  ↓ K KIND engine engineThe Flowsize container is used by Kinds/KIND Engine KIND EngineKIND Engine spec], N3V Wiki (Enginespec) and Kinds/KIND Steam-engine KIND Steam-engineKIND Steam-engine N3V Wiki (Steam Enginespec) assets.no3pipe_mainreservoir  float (Decimal)  ↓ DC Flowsize_container flowsize {  ↓ K KIND engine engine  ibidno3pipe_start  float (Decimal)  ↓C pressure pressure {  ↓ K KIND engine engine  detail needed TBDL-pressureno3pipevent  float (Decimal)  ↓ CD Flowsize_container flowsize {  ↓ KD KIND engine engineThe Flowsize container is used by Kinds/KIND Engine KIND EngineKIND Engine spec], N3V Wiki (Enginespec) and Kinds/KIND Steam-engine KIND Steam-engineKIND Steam-engine N3V Wiki (Steam Enginespec) assets.no4pipe  float (Decimal)  ↓ CD Flowsize_container flowsize {  ↓ K KIND engine engine  ibidno4pipe  float (Decimal)  ↓DC volume container {  ↓ K KIND engine engine  The Volume container is a top-level config.txt file entry used by K Enginespec and K Steam Enginespec assets.no4pipe_start  float (Decimal)  ↓DC pressure container {  ↓ K KIND engine engine  tbdl normal[path/]filename.tga  ↓R config.txt fileenvironmentName of image file for normal sky. File should be 256 x 256 pixel 24bit tga. The file extension should be excluded here, i.e. “QLD_Sky” rather than "qLD_Sky.texture.txt”.nostartdelaybooleansoundscript-ID {mesh object0 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).notches float (list)mesh-table-ID {interiorThe position of notches within the angle boundaries. These are represented as decimal points between and including 0 and 1.notchheight float (list)mesh-table-ID {interiorThe size of the notches specified. oa-oz Tag or ContainerData TypeParentApplies toDescriptionobject-sizefloat metreseffects-ID {corona effectSize of the corona on the object when viewed up close Defaults to 0.15 (i.e. 0.15m)obsolete-table { containerR config.txt fileallThe obsolete-table describes the asset’s revision history.ontherightbooleanR config.txt fileregionCars drive on the right side of the road.opacity0..1mesh-table-ID {mesh objectControls the opacity of the mesh. Zero (invisible, not recommended) or one (solid).opacity0..1mesh-table-ID {interiorUsually used for the window mesh to give transparency (and the impression of reflection).organisationstringR config.txt filegeneralOrganisation 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.originstringR config.txt filetraincarThe Country Abbreviation.outputs {subcontainerprocess-ID {industryOutput process listoutputs-ID {subcontaineroutputs {industryUser supplied identifier pa-pz Tag or ContainerData TypeParentApplies toDescriptionpaintshed-skin-usedkuidR config.txt filepaintshed-skinKuid of the paintshed skin used. (if applicable)paintshed-skin-usedkuidR config.txt filepaintshed-templateKuid of the paintshed skin to be used for this template.paintshed-template-usedkuidR config.txt filepaintshed-skinKuid of the paintshed template used. (if applicable)pantographkuidR config.txt filetraincarThe pantograph kuid number inserted at a.pant0, a.pant1, etc. Use this tag only when needed.passenger-heightfloat metresR config.txt fileindustryThis value sets the height of the passenger asset in metres, to suit the platform model height. (Doesn't work)passenger-queuebooleanqueues-ID {industryDefines this as a passenger station queue.period?smoke# {smoke blockThe 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.permit-commitbooleanprivileges {allAllows the end-user to commit changes to this asset.permit-editbooleanprivileges {allAllows the end-user to open this asset for editingpermit-listingbooleanprivileges {allAllows 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.piston-angular-offsets?steam {steam-engine?piston-area?steam {steam-engine?piston-to-atmosphere-flow?steam {steam-engine?piston-volume-max?steam {steam-engine?piston-volume-min?steam {steam-engine?pressure {containerR config.txt fileengine?preview-mesh-kuidkuidmesh-table-ID {mesh objectThe mesh to be used in the surveyor preview area. This is useful when an asset has a large bounding box. Ie the "Airport” with it’s jet animation.preview-scalefloatmesh-table-ID {mesh objectScale of the preview mesh.priorityfloat, 0 = highesttracksound {TracksoundThe priority of the sound versus other sounds to be played. Lower values indicate a higher priority.privileges {containerR config.txt fileallLimited content protection applies only to built-in (JArchived) assets.processes {containerR config.txt fileindustryProcesses (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.process-ID {subcontainerprocesses {industryUser supplied identifierproduct-categorykuidR config.txt fileproductKuid of applicable category for this productproduct-id?R config.txt filepaintshed-skinFor paintshed support.product-kuidkuidqueues-ID {industryThe product type used to fill ‘initial-count’product-texture[path/]filename.textureR config.txt fileproductThe texture to be used with load ‘texture-replacement’. Ie When a hopper loads woodchips instead of it’s default load of coal.product-type?R config.txt filepaintshed-skinFor paintshed support.product-version?R config.txt filepaintshed-skinFor paintshed support. qu-rz Tag or ContainerData TypeParentApplies toDescriptionqueuequeues-ID {inputs-ID {industryqueue from which to take input.queuequeues-ID {outputs-ID {industryqueue in which to place output.queues {containerR config.txt fileindustryThe 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 its visual load state whether through a load animation or attachment.queues-ID {subcontainerqueues {industryUser supplied identifierradiusfloatattached-trigger-ID {industryRadius (in meters) of the trigger.radiusfloatmesh-table-ID {interiorThe notch position relative to the attachment point.random-color-high-hsbhsb valueR config.txt filesceneryFor clutter-mesh objects, specifies a color range for tinting purposes. HSB color space.random-color-low-hsbhsb valueR config.txt filesceneryFor clutter-mesh objects, specifies a color range for tinting purposes. HSB color space.ratefloat particles/secondsmoke# {smoke blockThe 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.region (depreciated)region codeR config.txt filegeneral (obsolescent)Trainz 1.x legacy tag; the country region to which this asset belongs. This should be one of the Auran-supplied region names, but older content has shown full names. repeat-delayrandom [min,max] secondssoundscript-ID {mesh object1 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.repeatsintegerR config.txt filesplinesThe number of times the mesh is placed between spline pointsresistance ?motor {engine?reversedbooleanbogeys-ID {traincarAffects the direction of the bogey.rgbrgb valueR config.txt filesplinesThis value should be left as default.right-passenger-door {subcontainermesh-table {mesh objectPredefined submesh identifier. Right side passenger doors.rollstepfloat degreesR config.txt filesceneryWhere 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.rotatebooleanR config.txt filesceneryWhere n is 0 or 1 (default). This lets you disable rotation on a scenery object. 0 to disable, 1 to enable (default).rotate-yz-rangemin,max degreesR config.txt filesceneryWhere 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.rotstepfloat degreesR config.txt filegeneralWhere 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.0running-numberstringconsists-vehicle-ID {industryRunning number of the vehicle. sa-sz Tag or ContainerData TypeParentApplies toDescriptionsafety-valve-high-flow?steam {steam-engine?safety-valve-high-pressure?steam {steam-engine?safety-valve-low-flow?steam {steam-engine?safety-valve-low-pressure?steam {steam-engine?scale?smoke# {smoke block?scale ?mass {engine?scale ?pressure {engine?scale ?volume {engine?script[path/]filename.gsR config.txt filegeneralThis refers to the name of the script file.search-limit?R config.txt filetracksideNot required. For internal use only.shadow {subcontainermesh-table {mesh objectPredefined submesh identifier. Shadow mesh.shadows?R config.txt filesplinesUndocumentedshift?smoke# {smoke block?shovel-coal-mass?steam {steam-engine?showhelpbooleandriver-settings {activityShow Driver Help. (off, on)show-in-consist-menubooleanconsists-ID {industryBoolean 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.signals {containerR config.txt filemosignalSets out which aspects the signal is capable of displaying, and also which light points are activated when each state is displayed.signals-ID {subcontainerlights {mosignalSignal point identifier.sizeintegerqueues-ID {industrySize of queue.smoke_fastlifefloatR config.txt filetraincarLongevity of smoke particles at normal speed.smoke_fastspeed?R config.txt filetraincar?smoke_heightfloatR config.txt filetraincarHow hard particles are pushed out of the stack.smoke_randomfloatR config.txt filetraincarLevel of particle excitation.smoke_shadefloatR config.txt filetraincarSmoke opacity. (0 - 1)smoke_slowlifefloatR config.txt filetraincarLongevity of smoke particles at low speed.smoken {containerR config.txt filesmoke block?snapgridfloat metresR config.txt filesceneryWhere 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.snapmode0/1/2R config.txt filesceneryWhere 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.sound { subcontainersoundscript-ID {mesh objectList of .wav files to play (randomly picked)soundscript {containerR config.txt filemesh objectControls the looping sound made by the object.soundscript-ID {subcontainersoundscript {mesh objectUser supplied identifierspeedfloateffects-ID {animation effectSpeed factor of the animation. Default 1, 2 for double speed, 0.5 for half speedspeedlimitfloat metres/secondR config.txt filetracksideThis value is the maximum speed allowed in meters per secondstart?smoke# {smoke blockThe 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.start-enabledbooleanprocess-ID {industrySpecifies whether the process starts enabled.startingtime0..1driver-settings {activityTime of day. Range is from 0 to 1 (0.5 - midday).steam {containerR config.txt filesteam-engine?storm[path/]filename.tgaR config.txt fileenvironmentName 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 "qLD_Sky.texture.txt”.string-table {containerR config.txt fileallThe string table stores a list of text strings to be used by the industry script.string-table-## {containerR config.txt fileallThese alternative string tables store translated stringssupports-null-driver-characterbooleanR config.txt filedrivercommandCommand can be executed without a driver present in the selected loco.surface-area ?motor {engine?surveyor-name-labelbooleanR config.txt filegeneralSpecifies whether this item has floating name label text.surveyor-onlybooleanR config.txt filegeneralAdding this means the attached mesh will only be visible in Surveyor and not Driver.surveyor-onlybooleaneffects-ID {attachment effectAdding this means the attached mesh will only be visible in Surveyor and not Driver. ta-tz Tag or ContainerData TypeParentApplies toDescriptiontenderbooleanR config.txt filetraincarSpecifies that the traincar is a tender.terminatorfolderR config.txt filesplinesName of model to use at end of bridge, placed in subfolder with same name.test-collisionsbooleanmesh-table-ID {interiorMouse cannot be used for this mesh. Collision mesh used instead. Ie animated-levers.texture[path/]filename.textureR config.txt filegeneralAn image texture file.texture[path]/filename.textureeffects-ID {texture-replacement effectTexture reference denoting the texture file to be swapped by this effect.texturekuidsmoke# {smoke blockKuid of the texture to be used for the effect.texture-kuid<blank>effects-ID {corona effectIf the texture-kuid tag is not present the corona will use the default yellow/orange texture in TRS.texture-kuidkuideffects-ID {corona effectAdd 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.textures {containerR config.txt filetexturegroupThe textures container stores a list of additional textures to be used in the texture group.three-partbooleanR config.txt filehornsoundSpecifies that the hornsound has a beginning, middle and ending sound.throttle-notches ?motor {engine?throttle-power {containerR config.txt fileengine?thumbnails {containerR config.txt fileallAny asset may specify a thumbnail or preview image.thumbnails-ID {subcontainerthumbnails {allUser supplied identifiertimeratefloatdriver-settings {activityTime progression. (1 - real-time, 2 - double speed etc.)trackkuidattached-track-ID {scenery with trackKuid of the track to be used.trackkuidtracksound {TracksoundThe track type to which this sound will applytracktrackIDattached-trigger-ID {industryThe track name which the train must be on to trigger.trackmarkbooleanR config.txt filetracksideSpecifies that the object is a trackmark.trackoffsetsfloat list, metresR config.txt filesplinesDistance 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.track-parentkuidtracksound {TracksoundThe parent (eg. bridge/industry/tunnel) of the track to which this sound will apply.trackdirectionsfloat metresR config.txt filesplines?tracksidefloat metresR config.txt filetracksideThis 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.track-soundkuidtracksound {TracksoundThe kuid of the tracksound object to be used.tracksound {containerR config.txt fileTracksoundA 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).trainbrakepipe ?flowsize {engine?trainbrakepipe ?volume {engine?trainbrakepipe_reservoir ?flowsize {engine?trainbrakepipe_start ?pressure {engine?trainbrakepipevent ?flowsize {engine?trainz-buildbuild codeR config.txt filegeneralThe Trainz build is the version number for which this asset was created.triggerbooleanR config.txt filetracksideSpecifies that the object is a trigger.triggerstringsoundscript-ID {mesh objectA 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.turntable {mesh-table-ID {mesh-table {turntablePredefined submesh identifierturntable {subcontainermesh-table {mesh objectPredefined submesh identifier. two-partbooleanR config.txt filehornsoundIndicates 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.typestringR config.txt filescenerySpecify a type for the model that will be used in the Surveyor menu drop down menu for Track or Object type. ua-vz Tag or ContainerData TypeParentApplies toDescriptionuncached_alphasbooleanR config.txt filesplinesThis 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 unit_meshfolderR config.txt filesplinesFor 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.uprightbooleanR config.txt filesplinesSpecifies whether the bridge “legs” point vertically, or perpendicular to the spline.useadjoiningtracktypebooleanattached-track-ID {scenery with trackIndicates whether the track type should change to match that of the first track joined to the object.use-gradient-trackbooleanR config.txt filesceneryThis means to use the spline gradient rather than following the ground height.use-parent-boundsbooleanmesh-table {mesh objectSpecifies that the mesh should use the bounds of the parent object for visibility culling. Use with caution.usernamestringR config.txt filegeneralThe human-readable English name of this asset.username-##stringR config.txt filegeneralThe human-readable translated name of this asset.vacuumbrakecylinder ?volume {engine?vacuumbrakecylinder_start ?pressure {engine?vacuumbrakecylinder_vacuumbrakepipe ?flowsize {engine?vacuumbrakepipe?volume {engine?vacuumbrakepipe ?flowsize {engine?vacuumbrakepipe_start ?pressure {engine?vacuumbrakepipereleasevent ?flowsize {engine?vacuumbrakepipevent ?flowsize {engine?vacuumbrakereservoir ?volume {engine?vacuumbrakereservoir_start ?pressure {engine?vacuumbrakereservoir_vacuumbrakepipe ?flowsize {engine?value-rangemin,max time of daysoundscript-ID {mesh object2 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)vehiclekuidconsists-vehicle-ID {industryThe kuid of the vehicle to be used.velocityfloatsmoke# {smoke blockThe initial speed of emitted smoke particles. Default is 1.vertices {subcontainerattached-track-ID {scenery with trackAttachment points at which to place track.visible-on-minimapbooleanR config.txt filesplinesSpecifies whether the object\track is displayed on the minimap.volume0..1soundscript-ID {mesh objectGain of the sound Default 1.0 = 100%volume {containerR config.txt fileengine? wa-zz Tag or ContainerData TypeParentApplies toDescriptionwaterkuidR config.txt filemapUndocumentedwatercolorrgb valueR config.txt fileregionRGB color value of the water for the region.water-injector-rate?steam {steam-engine?wave-shift?effects-ID {corona effectAffects the flashing intensity pattren on the corona.weather0..7driver-settings {activityWeather setting. (clear, cloudy, drizzle, rain, stormy, light snow, medium snow, heavy snow)westinghouse-volume?steam {steam-engine?widthfloat metresR config.txt filesplinesWidth of track mesh in meters.widthintegerthumbnails-ID {allImage widthworkingscale?R config.txt filemapUndocumentedworkingunits?R config.txt filemapUndocumentedworld-origincontainerR config.txt filemapUndocumented,latitude, longitude, and altitude   TBDL - should have something here about things discarded, moved and used differently version to version.     Notes, Footnotes & References Config.txt files are endemic and ever present in Trainz assets, for no asset can be defined without this type of Computer Science container. The keyword-value_of_key pairing must always be kept in mind in editing or creating Trainz content. The TrainzBaseSpec contains values and containers which are most common in asset defining config.txt files.   Notes   Footnotes   References Trainz printed or pdf file Manuals, applicable version - usually in the ..\extras or ..\extras\manuals folder Config.txt_file TrainzOnline Wiki Config.txt file page and various other pages CCG TrainzOnline Wiki: Content Creator's Guide pages (various) Various CCG and Auran websites     index Content creation http://online.ts2009.com/mediaWiki/index.php/Index_of_Tags_%26_Containers index