Trainz Railroad Simulator 2006 Content Creation Guide Nederlands Versie 1.3 16 november 2006 Jan Valkenburg MyTrainz.com
Dit document wordt regelmatig geüpdate en is alleen te verkrijgen vanaf www.MyTrainz.com en www.trainz.nl. De inhoud mag niet worden aangepast. En het document mag niet op welke andere site dan ook worden aangeboden of op andere manieren worden gepubliceerd zonder nadrukkelijke toestemming van Jan Valkenburg (angelus12). Het vertalen van dit document is niet toegestaan. Informatie moet altijd aan Jan Valkenburg (angelus12) gemeld worden. Hij zet het indien de informatie klopt en goedgekeurd is in het document. De mogelijkheid bestaat dat er fouten in dit document staan. Is dat het geval geef deze dan daar, zodat ze aangepast kunnen gaan worden.
2
Trainz Railroad Simulator 2006 Content Creation Guide Nederlands
Document geschiedenis: Versie 1.0 1.1 1.2 1.3
Datum 3 februari 2006 28 februari 2006 29 juli 2006 15 november 2006
3
Inhoudsopgave INLEIDING..................................................................................................................... 7 HOE DIT DOCUMENT TE GEBRUIKEN? ............................................................... 8 VERANDERINGEN DOCUMENT .............................................................................. 9 VERSIE 1.1 .................................................................................................................... 9 VERSIE 1.2 .................................................................................................................. 10 VERSIE 1.3 .................................................................................................................. 11 DE BASIS ...................................................................................................................... 12 OVERZICHT TRAINZ VERSIES ...................................................................................... 13 Trainz .................................................................................................................... 13 Ultimate Trainz Collection .................................................................................... 13 Trainz Railroad Simulator 2004............................................................................ 14 Trainz Railroad Simulator 2006............................................................................ 15 MAPSTRUCTUUR TRS2006 ...................................................................................... 17 TRAINZOPTIONS ....................................................................................................... 18 CONTENT MANAGER PLUS.................................................................................... 19 ICONEN BINNEN CMP ................................................................................................. 20 TYPE OBJECT .............................................................................................................. 20 LOCATIE OBJECT ......................................................................................................... 21 ARCHIVEREN............................................................................................................... 21 IS HET OBJECT ORIGINEEL ........................................................................................... 22 UPDATE BESCHIKBAAR ............................................................................................... 22 OPEN VOOR BEWERKING ............................................................................................. 22 IS HET EEN CLONE, RESKIN, PAINTSHED SKIN .............................................................. 23 FOUTMELDING ............................................................................................................ 23 OVERIGE ICONEN ........................................................................................................ 23 BASIS RICHTLIJNEN BOUWEN OBJECTEN....................................................... 24 TEXTURE ..................................................................................................................... 25 CONFIG.TXT ............................................................................................................... 27 VERANDERINGEN TEN OPZICHTE VAN TRS2004 ......................................................... 28 BUGS ........................................................................................................................... 29 BESCHRIJVING TAGS ................................................................................................... 30 category-era .......................................................................................................... 31 category-class........................................................................................................ 32 category-keyword .................................................................................................. 39 category-region ..................................................................................................... 40 description ............................................................................................................. 44 icon ........................................................................................................................ 45 kind ........................................................................................................................ 47 kuid ........................................................................................................................ 48
4
license.................................................................................................................... 50 secret ..................................................................................................................... 50 trainz-build ............................................................................................................ 51 trainz-build ............................................................................................................ 51 username ............................................................................................................... 52 CONTAINERS ............................................................................................................... 53 Attached-track ....................................................................................................... 54 Privileges............................................................................................................... 56 Thumbnails ............................................................................................................ 57 Track-sound........................................................................................................... 58 EFFECTS ...................................................................................................................... 59 corona.................................................................................................................... 60 name ...................................................................................................................... 62 KIND.......................................................................................................................... 63 KIND: groundtexture............................................................................................. 64 KIND: hornsound .................................................................................................. 65 KIND: mospeedboard............................................................................................ 66 KIND: region......................................................................................................... 67 KIND: scenery ....................................................................................................... 69 KIND: profile ........................................................................................................ 70 KIND: texture ........................................................................................................ 72 KIND: track........................................................................................................... 73 KIND: tracksound ................................................................................................. 81 KIND: traincar ...................................................................................................... 82 LEVEL OF DETAIL (LOD)............................................................................................ 83 Hoe werkt Level Of Detail? ................................................................................... 84 TWINKLES STOOM EN ROOK EFFECTEN ........................................................................ 86 Stack ...................................................................................................................... 86 Lowpressurevalve .................................................................................................. 87 Anim ...................................................................................................................... 87 Stoomeffecten omschrijving................................................................................... 88 Custom Textures & config.txt voorbeelden............................................................ 91 Stoomeffecten config.txt......................................................................................... 92 Licentie .................................................................................................................. 93 SCRIPT.......................................................................................................................... 94 SETFXCORONATEXTURE............................................................................................ 95 SETROLLBASEDONTRACK ......................................................................................... 95 SLEEP .......................................................................................................................... 95 OVERZICHT AFMETINGEN.................................................................................... 96 SNELTOETSEN ........................................................................................................... 96 RULES EN SCRIPTS................................................................................................... 97 DIESEL FUEL LOCO ..................................................................................................... 98 Tanken op het dieselstation van GM ..................................................................... 99 INTERACTIEF PASSAGIER STATION ............................................................................ 101 Toevoegen van rails............................................................................................. 101 Passagiers toevoegen .......................................................................................... 102
5
LOCO LIGHTING CONTROL RULE .............................................................................. 110 Rules vs scripts .................................................................................................... 110 Mogelijkheden ..................................................................................................... 111 Beperkingen......................................................................................................... 112 bekende bugs ....................................................................................................... 113 mesh-table ........................................................................................................... 114 Kuid-table & String-table.................................................................................... 115 Wagons & Tenders .............................................................................................. 117 Download ............................................................................................................ 119 DOCUMENTATIE ..................................................................................................... 120 SOFTWARE................................................................................................................ 123 GMAX/3D STUDIO MAX SOFTWARE .......................................................................... 124 OPHALEN SERIAL GMAX ........................................................................................... 125 THIRD PARTY SOFTWARE ................................................................................... 127 GMAX TRUCS ........................................................................................................... 129 BACK-UP REGISTERSLEUTEL GMAX .......................................................................... 130 GEBRUIK VAN ALPHA-TEXTURES .............................................................................. 131 OBJECT KLEUREN ZONDER TEXTURES IN GMAX ........................................................ 133 TEXTURES OBJECT OMZETTEN NAAR .TEXTURE-FILES ............................................... 134 BRONNEN................................................................................................................... 135 NAWOORD................................................................................................................. 136
6
Inleiding Welkom in de Content Creation Guide voor Trainz Railroad Simulator 2006. Deze handleiding is geschreven voor mensen wie objecten maken voor het spel Trainz Railroad Simulator 2006. Er valt in deze handleiding informatie terug te vinden over hoe je config-files schrijft voor Trainz Railroad Simulator 2006. Hiernaast is er informatie te vinden over Content Manager Plus en wat tips en trucks. Dit document is geschreven door Jan Valkenburg (angelus12). Oorspronkelijk is dit document ontstaan voor privé gebruik om informatie te documenteren. En na verloop van tijd is er steeds meer in komen te staan waardoor het een steeds waardiger document geworden is als vervanger voor de Content Creators Guide van Auran. De huidige Content Creation Guide voor 2004 bevat tal van gebreken en omdat de taal Engels is, is het document ook minder toegankelijk voor de Nederlandse gebruikers. De tweede rede voor het opzetten van dit document is dat Auran geen Content Creators Guide heeft uitgegeven voor Trainz Railroad Simulator 2006, met als rede dat het niet nodig zou wezen. Echter ben ik het hier als bouwen geheel niet mee eens. Met de komst van Trainz Railroad Simulator 2006 zijn er een heleboel nieuwe functies verschenen en is er een heleboel veranderd met het opzetten van de config.txt. Echter is het nog wel zo dat objecten gemaakt volgens de regels van Ultimate Trainz Collection en Trainz Railway Simulator 2004 voor het grootste deel zonder problemen in Trainz Railroad Simulator 2006 werken.
7
Hoe dit document te gebruiken? Het doel van de Content Creation Guide is om als naslagwerk te dienen, waarin kan worden terug gevonden hoe een bepaald type object is opgebouwd. Hiernaast is ook extra informatie te vinden, zoals waar bepaalde software te vinden is of hoe je bepaalde trukjes kunt uithalen. Het document is als volgt opgebouwd. Voorin het document staat informatie over de basis. Welke signalen geeft Content Manager Plus af, bijvoorbeeld wanneer een object fout is of niet compleet. Wat zijn de richtlijnen ten behoeve van het bouwen van objecten voor Trainz Railroad Simulator 2006. Verderop in het document valt te lezen welke algemene tags er beschikbaar zijn om te gebruiken in de config.txt en hoe Trainz Railroad Simulator 2006 hier mee omgaat. Hierop volgende de speciale containers, zoals effects of attached-track. En tot slot de kind, waarin beschreven staat hoe een bepaald type object gebouwd moet worden. Binnen de hoofdstukken die gericht zijn aan de config.txt word er gebruik gemaakt van een aantal kleuren om de informatie te verduidelijken. Dit zijn de volgende kleuren: blauw Er volgt een nadere omschrijving over deze tag, welke de werking hiervan omschrijft. rood
De tekst in het rood kan naar eigen wens worden aangepast.
Achter in het document is extra informatie te vinden, over bijvoorbeeld scripten, hoe je software moet installeren etc. Maar ook zijn er een aantal beschikbare rules naar voren gehaald, met een omschrijving hoe deze werken en hoe je hiervan gebruik kunt maken. Het document is nog in ontwikkeling en hierdoor kan het voorkomen dat er informatie mist of onvolledig is. Wanneer dit het geval is, kun je contact opnemen met Jan Valkenburg (angelus12).
8
Veranderingen document Versie 1.1 -
Nieuwe voorkant voor dit document. De foto is afkomstig van Bastiaan, (url: http://www.bastiaanstreinensite.nl).
-
Hoofdstukken beter aangekleed met een afbeelding en een andere eenduidige opmaak.
-
Lege hoofdstukken uit het document verwijdert.
-
Hoofdstuk basis toegevoegd en hier Trainz versies onder geplaatst.
blz. 12
-
Kopje textures iets verder uitgewerkt.
blz. 25
-
Kopje Trainz-build aangepast
blz. 51
-
Kind: Track uitgeschreven.
blz. 72
-
“Ophalen serial code” gmax verduidelijkt aan de hand van screenshots.
blz. 124
-
Gebruik alpha textures toegevoegd
blz. 131
-
Kopje bronnen en Veranderingen document ingevoegd
blz. 135
9
blz. 1
Versie 1.2 -
Trainz-build pagina bijgewerkt na komt SP1.
blz. 51
-
Hoofdstuk Containers toegevoegd bij config.txt
blz. 53
-
Track-sound toegevoegd aan kind track
blz. 76
-
LOD op kind track.
blz. 79
-
LOD opgenomen.
blz. 84
-
Kind tracksound opgenomen
blz. 81
10
Versie 1.3 -
Inleiding bijgewerkt
blz. 7
-
Hoe dit document gebruiken? Ingevoegd
blz. 8
-
Texture bijgewerkt met een omschrijving van het maken van blaat.texture.txt-files
blz. 25
-
Attached-track opgenomen
blz. 54
-
Effect name voorzien van tekst
blz. 62
-
kind: hornsound toegevoegd
blz. 65
-
kind: mospeedboard toegevoegd
blz. 66
-
kind: texture toegevoegd
blz. 72
-
Tekst bendy uitgebreid
blz. 77
-
Twinkles stoom en rook effecten
blz. 86
-
Diesel Fuel Loco Script toegevoegd
blz. 98
-
Tanken op het dieselstation van GM
blz. 99
-
Interactief passagiers station
blz. 101
11
Trainz Railroad Simulator 2006 De basis
12
Overzicht Trainz versies In loop van de jaren zijn er diverse versies van het spel uitgekomen. Op de volgende pagina’s kun je bekijken welke versies er uitgekomen zijn. Van de allereerste versie tot aan de versie van vandaag de dag; Trainz Railroad Simulator 2006. In het overzicht kun je het versie nummer de build en de naam vinden van het product. De lijst is niet compleet maar het geeft wel een aardige indruk van in welke vormen het spel uitgebracht is.
Trainz Versie build 0.9 ? 1.0 ? 1.3 277
naam Trainz beta versie Trainz Trainz SP3
Ultimate Trainz Collection Versie build 1.5 404
naam Ultimate Trainz Collection
13
Jaar 2002
Trainz Railroad Simulator 2004 Versie build 2.0 UK 686 2.1 UK 2036 2.2 UK 2146 2.3 UK 2285 2.4 UK 2370
naam Trainz Railway Simulator 2004 Trainz Railway Simulator 2004 SP1 Trainz Railway Simulator 2004 SP2 Trainz Railway Simulator 2004 SP3 Trainz Railway Simulator 2004 SP4
Versie build 2.2 ES 2161 2.3 ES 2290 2.4 ES 2389
naam Trainz Railroad Simulator 2004 SP2 Trainz Railroad Simulator 2004 SP3 Trainz Railroad Simulator 2004 SP4
Versie build 2.2 FR 2176 2.3 FR 2289 2.4 FR 2390
naam Trainz Railroad Simulator 2004 SP2 Trainz Railroad Simulator 2004 SP3 Trainz Railroad Simulator 2004 SP4
Versie build 2.0 DE 756 2.1 DE 2163 2.2 DE 2200 2.3 DE 2288 2.4 DE 2388
naam Trainz Railroad Simulator 2004 Trainz Railroad Simulator 2004 SP1 Trainz Railroad Simulator 2004 SP2 Trainz Railroad Simulator 2004 SP3 Trainz Railroad Simulator 2004 SP4
Versie build 2.0 CZ 889 2.4 CZ 2367
naam Trainz Railroad Simulator 2004 Trainz Railroad Simulator 2004 SP4
14
Versie build 2.0 US 668 2.0 US 690 2.1 US 2035 2.1 US 2040 2.2 US 2145 2.2 US 2283 2.3 US 2350 2.3 US 2357 2.4 US 2365
naam Trainz Railroad Simulator 2004 Trainz Railroad Simulator 2004 Trainz Railroad Simulator 2004 SP1 Trainz Railroad Simulator 2004 SP1 Trainz Railroad Simulator 2004 SP2 Trainz Railroad Simulator 2004 SP2 Trainz Railroad Simulator 2004 SP3 Trainz Railroad Simulator 2004 SP3 Trainz Railroad Simulator 2004 SP4
Trainz Railroad Simulator 2006 Versie build 2.5 US 2761 2.6 US 3092
naam Trainz Railroad Simulator 2006 Trainz Railroad Simulator 2006 SP1
Versie build 2.5 UK 2773 2.6 UK 3099
naam Trainz Railway Simulator 2006 Trainz Railway Simulator 2006 SP1
Versie build 2.5 NL 2967
naam Trainz Railroad Simulator 2006
Versie build 2.5 DE 2970
naam Pro Train Perfect
\
15
Versie build 2.5 FR 2883 2.6 ? FR ?
naam Trainz Railroad Simulator 2006 Trainz Railroad Simulator 2007
16
Mapstructuur TRS2006 \TRS2006 assets.tdx
Database van CMP. Hierin worden alle kuids die in CMP aanwezig zijn opgeslagen. Bestand kan zonder problemen verwijderd worden. Na verwijdering wordt het bestand opnieuw opgebouwd.
JetLog.txt
Onbestaand waarin je fouten kunt terug vinden.
trains.ja
Hierin staan alle treinen die meegeleverd worden bij het spel.
trainz2006.exe
Bootbestand voor Trainz.
trainzoptions.txt
Hierin staan alle instellingen die gebruikt worden voorin Trainz: scherm resolutie, grafische instellingen en meer.
17
Trainzoptions -DepthBits = XXX
Selecteert het aantal die voor de z-buffer worden gebruikt (dieptebuffer.) De beschikbare keuzen zijn over het algemeen 16, 24, of 32. Sommige videodrivers interpreteren "32" verkeerd als "16", hiervoor kan "24" betere resultaten.
-StencilBits=XXX
Selecteer het nummer of bits dat gebruikt wordt voor het stencil buffer. Meestal 0 of 8.
-showcachebar
Deze optie zet het weergeven van de cachebar aan. Dit is de rode balk die links onderin het scherm weergegeven word bij het laden van objecten. In tegenstelling tot eerdere versies van Trainz is de cachebar uitgeschakeld in TRS2006
-showkuids
Geef het KUID-nummer weer op het scherm in Surveyor van het geselecteerde object.
18
Trainz Railroad Simulator 2006 Content Manager Plus
19
Iconen binnen CMP Binnen Content Manager Plus worden tal van iconen gebruikt om een tal van dingen aan te geven. Bijvoorbeeld wat voor type object het is, of het object aangepast is. Waar het object zich bevind etc. in de kopjes hieronder kun je lezen waar welk icoontje voor staat.
Van links naar rechts tref je de volgende soorten iconen aan: -
Type object Locatie object Archiveren Is het object origineel Update beschikbaar Open voor bewerking Is het een clone, reskin, paint shed skin Foutmelding
Type Object Hieraan kun je aflezen wat voor soort object het is. Gebouwen
Goederen
Scenery
Drivers
Weg
Dieren
Topologie
HTML
Flora
Mesh
Spoor
Overige
Treinen
People
20
Route Rule
Textures (non-environment) Trackside-objecten
Scenario
Voortuigen (auto’s)
Script
Paintshed template
Sound
Spline
Textures (environment)
Locatie object Een object kan op meerdere plekken te vinden zijn. Op je computer of op internet. Wanneer een object zich bevind op internet zul je deze eerst moeten downloaden alvorens hij te gebruiken is binnen het spel. Object bevindt zich op het Download Station Het object zit standaard in het spel (build-in)
Dit is een toegevoegd object aan het spel
Archiveren Aan deze iconen kun je herkennen of er van het object een kopie gemaakt is voor back-up. Niet gearchiveerd Object is gearchiveerd
21
Is het object origineel Hier kun je zien aangepast is. Het object is origineel Het object is aangepast
Update beschikbaar Hier kun je zien of er een nieuwe versie van het object beschikbaar is op het download station. Er is geen nieuwe versie van het object beschikbaar Een nieuwere versie valt te downloaden.
Open voor bewerking Wanneer je een object gedownload hebt of een object zelf aanpast veranderd dit icoontje. Hieraan kun je zien of een object open staat om aangepast te worden. Object is niet geopend voor bewerking Object is geopend en kan aangepast worden. De laatste versie van het object is niet in Trainz beschikbaar tot dat deze opgeslagen is.
22
Is het een clone, reskin, paintshed skin Hieraan kun je zien wat voor eigenschappen het object heeft. Standaard object
Paint Shed skin
Gekloond Reskin
Foutmelding Het komt regelmatig voor dat er fouten in objecten zitten. Regelmatig werkt het object gewoon zonder problemen in Trainz, maar voldoet het niet aan de opgelegde regels waar CMP op let. Object is zonder fouten
In een van de gekoppelde kuids zitten fouten. Een van de gekoppelde objecten is payware
Er zitten fouten in het object Het object is niet compleet. Er missen losse kuids die door dit object gebruikt worden.
Overige iconen Kuid is gedeïnstalleerd
Object is vervangen
Onbekend
23
Trainz Railroad Simulator 2006 Basis richtlijnen bouwen objecten
24
Texture Een texture is een plaatje dat je gebruikt in je object. Het maakt niet uit met welk tekenprogramma je de afbeeldingen maakt, zolang het programma maar 1 van de onderstaande formaten kan opslaan en bewerken. De bestandtypen die gebruikt kunnen worden in Trainz zijn: - BMP (8-bits en 24-bits) - TGA (24-bits, 32-bits, uncompressed) - JPEG (JPG) - TEXTURE Het beste is om te kiezen voor TGA, deze files worden het snelste uitgelezen door Trainz en zijn makkelijker voor je videokaart om te worden gerendeerd. BMP is ook een goede optie om te gebruiken omdat dit formaat het beste toegankelijk is om te gebruiken. JPEG word afgeraden om te gebruiken. Dit formaat mag dan wel het kleintje zijn, maar het is gecomprimeerd en er is sprake van kwaliteit verlies van de afbeelding. Doordat de afbeeldingen gecomprimeerd zijn kost het meer rekenkracht van de computer om deze afbeeldingen weer te geven op het scherm. Naast het gebruik van een van de bovenstaande bestandsformaten moet je ook rekening houden met de hoogte en breedte van de afbeelding. De grootte van de texture moet zich aan deze waarden houden: 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 pixels. Het maakt verder niet uit of het 16x512 of 512x16 pixels is. Gebruik absoluut niet meer texture dan echt nodig is. Wanneer je één kleur gebruikt volstaat een texture van 4x4 pixels. Wat je extra heb is een verspilling qua geheugen en het maakt het object onnodig zwaar.
25
Bij gebruik van textures heb je naast de afbeelding zelf ook een .texture.txt file nodig hierin staan de eigenschappen voor de afbeelding. Deze bestanden worden door Trainz Asset Creation Studio zelf aangemaakt wanneer je het object exporteert. Wanneer je een losse texture gebruikt, zonder tussenkomst van Trainz Asset Creation Studio of een soort gelijk programma, moet je deze bestanden zelf gaan aanmaken. Als voorbeeld nemen we een afbeelding genaamd a.bmp. Hiervoor moeten we een texture.txt-bestand maken naar onderstaand voorbeeld. a.texture.txt Primary=a.bmp Tile=st Een veel voorkomende fout is dat textures blijven staan wanneer ze niet gebruikt worden binnen het object. De afbeeldingen welke niet gebruikt worden binnen het object moeten verwijderd worden. Trainz zelf doet er niets mee, maar het maakt je object onnodig groot qua schijfruimte. Een tweede fout is dat .texture.txt bestanden blijven staan welke geen functie hebben. Wanneer deze files aanwezig zijn geeft Trainz Railroad Simulator 2006 aan dat het object fout is. Het spel zoekt dan naar een afbeelding welke niet bestaat. En dat geeft de onderstaande foutmelding.
26
Trainz Railroad Simulator 2006 Config.txt
27
Veranderingen ten opzichte van TRS2004 •
Tag region word niet meer gebruikt, deze is vervangen door category-region om een land te kiezen moet je via het filter een land opgeven. category-class word gebruikt om de objecten verder te sorteren.
•
Tag thumbnails toegevoegd om een plaatje bij het object in CMP weer te geven.
•
Tag category-keyword toegevoegd om te kunnen filteren in het spel op bepaalde woorden, waarmee objecten makkelijker terug gevonden kunnen worden.
•
Kind: region van Trainz Railroad Simulator 2004 is niet compatible met Trainz Railroad Simulator 2006
•
Bogey-container is toegevoegd. Dit is een nieuwe manier om bogeys te gebruiken binnen het spel.
•
Track-sound is toegevoegd. Hiermee is het mogelijk om bepaalde stukken spoor van hun eigen geluid te voorzien.
28
Bugs •
Obsolete-table werkt niet meer in TRS2006
29
Trainz Railroad Simulator 2006 Beschrijving tags
30
category-era Met deze tag word aangegeven van welke periode het object is. code:
category-era "1970s;1980s;1990s" De volgende waardes kunnen hier worden opgegeven door ; gescheiden. 1800s 1810s 1820s 1830s 1840s 1850s
1860s 1870s 1880s 1890s 1900s 1910s
1920s 1930s 1940s 1950s 1960s 1970s
31
1980s 1990s 2000s 2010s
category-class Binnen TRS2006 worden deze tags gebruikt om objecten in te sorteren, naast het zoekfilter. Deze zijn standaard alvast gesteld door het spel. In de onderstaande lijsten zie je de code, volledige naam, icoon in CMP en waar het object in TRS2006 word ingedeeld.
code:
category-class "TB" A AA AC
MOTIVE POWER Electric Multicurrent AC Electric
AD
DC Electric
AS
AE
AT
AG
Experimental or Special Gas turbine
AH
Diesel Hydraulic
B BB
BUILDINGS & STRUCTURES Buildable
Landschap
BC
Commercial
Gebouwen
BH
Home & Residential
Gebouwen
AL AM
32
Diesel & Diesel Electric Mammel Steam loco & Tender Steam Tank
BI
Industrial
Gebouwen
BIN Industry asset with product processing functionality BPF Passenger Station with passenger processing functionality BR Railway
Landschap
BS
Special (i.e. military)
Gebouwen
BT
Traffic & Streetscape
Weg
BU
Utility (incl. Civil Buildings)
Gebouwen
C CB
CABEESE Brake Van
D DA DE
CC
DEFENCE Military motive power Military experimental & special vehicles
DP DX
Landschap Gebouwen
Caboose
Military equipment – lab & personel Military equipment – freight
E ES
ENVIRONMENT Sky
EW
Water
F FC
FOLIAGE Cacti
Fauna
FS
Shrub
Fauna
FF
Flowers
Fauna
FF
Trees
Fauna
FO
Orchards & crops
Fauna
33
G GA
GROUND Arid
GL
Lush
H HM
MESH Mesh
I IB IC
PRODUCT Bulk load category continer category
IL
Liquid category
J JC
TEXTURE Corona
JI
Icon
JO
Other Texture
L LS
LIGHT RAIL & MONORAIL articulated train LM sets Trolleys, trams & streetcars
LT
GS
Seasonal
IP
Passenger category
JP
Particle Effect Texture
M MA
MAINTENANCE OF WAY Camp vehicles
MD
MB
Ballast cars
ME
MC
cranes/lifting
MF
34
monorail vehicles
diagnostic vehicles instruction vehicles fire vehicles
MI MT
inspection vehicles Track vehicles
MP
snow ploughs
O OA
ORGANISM Animal kingdom Human
OH
P PA
MX
freight equipment
MW Weed spray
OHD
Locomotive Driver
PB
PASSENGER & MAIL CARS suburban/short PP haul Baggage cars PR
PC
Coach/chairs cars
PS
PD
Dome cars
PU
PH
Bar/cafeteria cars
PV
PL
Lounge cars
PX
PM
Mail cars
PO
Observation cars
R RA
RAILCARS & MULTIPLE UNIT SETS AC Electric RH Diesel Hydraulic
RC
DC Electric
RP
Patrol
RD
Diesel & Diesel Electric
RS
Steam
35
Power cars Buffet/dining/resta urant cars Sleeping cars Special cars (e.g. Gaming Cars) Private cars Composite passenger cars
S SF
SPLINES Fences
Spline
SS
SR Roads
Weg
SV Vegetation
SP
Spline
Platforms
T TRACK TB Bridge TF
Fixed track TR Rails
V VA
VEHICLES Air
VL
Land
W WA
WAYSIDE Signalling
WS
Trackside signage
Brug
Structure
TT Tunnel
Vast spoor Spoor
X XA
FREIGHT CARS Auto transporter XAA open sides
VS
Sea
WX
Accessories
XBG
General service
XBI
Insulated
XAB
auto box car
XF
Flat
XB
Box car / covered van Dangerous goods
XFA
Articulated
XG
Gondola/open wagon
XBD
36
Spline Flora
Tunnel
XGB
XLA
Single deck
XLC
XGE
Bottom dumping Combination bottom End dumping
XLH
multiple deck and convertible Horse box
XGR
Rotary dumping
XR
Refrigerated
XGS
Side dumping
XRI
ICe chilled
XGT
Covered
XRM
XH
Hopper
XS
Mechanically chilled Special
XHB
XSN
Novelty
XSU
Unclassified
XHE
Botting dumping Combination bottom End dumping
XT
Tanker
XHR
Rotary dumping
XTA
Domeless
XHS
Side dumping
XTS
Single dome
XHT
Covered
XTM
Multiple dome
XI
Foundry
XV
XIB
XVG
XIT
bottle/torpedo cars Tipper/slag cars
ventilated car / louvred van General service
XVP
Produce service
XL
Livestock
XGC
XHC
37
Y YD YH
MAPS & SCENARIOS Driver Command HTML-Asset
YM
Map
YR
Rule
YS
Scenario
YP
Profile/Session
Z ZB
TRAIN PARTS Bogey
ZS
Enginesound
ZE
Enginespec
ZY
PaintShed Skin
ZH
Hornsound
ZX
PaintShed Template
ZI
Interior
ZP
Pantographs
38
category-keyword Geef sleutel woorden mee aan een object, waar mee het object terug te vinden is in Trainz Railroad Simulator 2006. code:
category-keyword
"road; roadside; pole; weg; straat; paal"
39
category-region Deze tag word in Trainz Railroad Simulator 2006 gebruikt om te bepalen in welk land het object is ingedeeld. Bij het opgeven van meerdere regio's moeten deze met ; worden gescheiden. Binnen trainz is de desbetreffende regio niet direct zichtbaar hiervoor dient eerst een filter aangemaakt te worden.
code:
category-region "NI;NL" AA AE AF AG AI AL AN AO AQ AR AS AT AU AW AZ
Andorra United Arab Emirated Afghanistan Anitqua and Barbuda Anguilla Albania Netheland Antilles Angola Antarctica Argentina American Samoa Austria Australia Aruba Azerbaidjan
BA BB BD BE BF
Bosnia-Herzegovina Barbados Bangladesh Belgium Burkina Faso
40
BG BH BI BJ BM BN BO BR BS BT BV BW BY BZ
Bulgaria Bahrain Burundi Benin Bermuda Brunei Darussalam Bolvivia Brazil Bahamas Buthan Bouvet Island Botswana Belarus Belize
CA CC CF CG CH CI
Canada Ocos (keeling) Isl. Central African Rep. Congo Switzerland Ivory Coast
CK CL CM CN CO CR CS CU CV CY CZ
Cook Island Chile Cameroon China Colombia Costa Rica Czechoslovakia Cuba Christmas Island Cyprus Czech Republic
DE DJ DK DM DO DZ
Germany Djibouti Denmark Dominica Dominica Republic Algeria
EC EE EG EH ES ET
Ecuador Estonia Egypt Western Sahara Spain Ethiopia
FI FJ FK FM FO FR
Finland Fiji Falkland Isl.(Malvinas) Micronesia Faroe Islands France
GA GB GD GE GF GH GI GL
Gabon Great Britain Grenada Georgia Guyana (Fr.) Ghana Gibraltar Greenland
41
GM GN GP GQ GR GT GU GW GY
Gambia Guinia Guadeloupe (Fr.) Equatorial Guinea Greece Guatemala Guam (US) Guinea Bissau Guyana
HK HM HN HR HT HU
Hong Kong Heard & McDonald Isl. Honduras Croatia Haiti Hungary
ID IE IL IN IO IQ IR IS IT
Indonesia Ireland Israel India British Indian O. Terr. Iraq Iran Iceland Italy
JM JO JP
Jamaica Jordan Japan
KE KG KH KI KM KN KP KR KW KY
Kenya Kirgistan Ex-USSR Cambodia Kiribati Comoros St.Kitts Nevis Anguilla Korea (north) Korea (south) Kuwait Cayman Islands
KZ
Kazachstan
LA LB LC LI LK LR LS LT LU LV LY
Laos Lebanon Saint Lucia Liechtenstein Sri Lanka Liberia Lesotho Lithuania Luxembourg Latvia Libya
MA MC MD MG MH ML MM MN MO MR -MS MT MU MV MW MX MY MZ
Morocco Monaco Moldavia Ex-USSR Madagascar Marschall Islands Mali Myanmar Mongolia Martinique (Fr.) Mauritania Montserrat Maltaa Mauritius Maldives Malawi Mexico Malaysia Mozambique
NA NC NE NF NG NI NL NO
Namibia New Caledonia (fr.) Niger Norfolk Island Nigeria Nicaraqua Netherlands Norway
42
NP NR NT NU NZ
Nepal Nauru Neutral Zone Niue New Zeeland
OM
Oman
PA PE PF PG PH PK PL PM PN PT PR PW PY
Panama Peru Polynesia (fr) Papua New Guinea Philippines Pakistan Poland St. Pierre & Miquelon Pitcairn Portugal Puerto Rico (US) Palau Paraquay
QA
Qatar
RE RO RU RW
Reunion (fr.) Romania Russian Federation exUSSR Rwanda
SA SB SC SD SE SG SH SI SJ SK SL
Saudi Arabia Solomon Islands Seychelles Sudan Sweden Singapore St. Helena Slovenia Svalbard & Jan Mayen Is Slovak Republic Sierra Leone
SM SN SO SR ST SU SV SY SZ
San Marino Senegal Somalia Suriname St.Tome and Principe Soviet Union El Salvador Syria Swaziland
TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ
Turks & Caicos Islands Chad French Southern Terr. Togo Thailand Tadjikistan ex-USSR Tokelau East Timor Turkmenistan ex-USSR Tunisia Tonga Turkey Trinidad & Tobago Tuvalu Taiwan Tanzania
43
UA UG UK UM US UY UZ
Ukraine Uganda United Kingdom US Minor outflying isl. United States Uruguay Uzbekistan ex-USSR
VA VC VE VG VI VN VU
Vatican City State St.Vincent & Grenadines Venezuela Virgin Islands (britisch) Virgin Islands (US) Vietnam Vanuatu
WF WS
Wallis & Futuna Islands Samoa
YE YU
Yemen Yugoslavia
ZA ZM ZR ZW
South Africa Zambia Zaire Zimbabwe
description Met deze tag kun je een omschrijving meegeven van het object. In Content Manager Plus valt deze omschrijving te bekijken. Content Manager Plus maakt alleen gebruik van de discription-tag. Het is echter niet mogelijk om een Nederlandse omschrijving zichtbaar te hebben binnen CMP. Bij sommige type objecten word deze tag ook voor binnen het spel zelf gebruikt. Je kunt de omschrijving in meerdere talen meegeven. Zie het lijstje hieronder: description-cn description-cz description-de description-es description-fr description-it description-nl description-pl description-ru
Chinees Czech Republic Duits Spaans Frans Italiaans Nederlands Pools Russisch
code:
description
"blaat"
44
icon Hiermee word een kleine afbeelding gekoppeld aan een object. Het plaatje wordt in Surveyor weergegeven bij het desbetreffende object. Hiermee kun je aangeven of een object interactief is. icon0-icon3 is te gebruiken hiervoor. Deze icon-tag werkt alleen bij kind: scenery, traincar code:
icon0
icon1 In de lijst hieronder zijn de iconen te vinden die standaard in Trainz Railroad Simulator 2006 aanwezig zijn. Standaard KUIDS: icon KUID-Nummer kuid:-3:10164
omschrijving Interactief object dan passagiers en goederen kan verwerken. kuid2:86311:80000:1 ZVW Icon kuid2:86311:80001:1 CP Virtual icon kuid:82100:1
Icon Logo Railes Virtuales
kuid:41462:60000
Icon The Swedish Train Workshops
kuid2:86311:10100:2 Icon IBerTrainZ kuid:2512:7
industry_icon
kuid2:30671:69011:1 Lars2 kuid:2512:5
bluestar_icon
kuid2:86311:80008:1 ARITZ icon kuid2:30671:69012:1 protolars
45
En hier nog een paar extra icons. Welke los te gebruiken zijn, maar niet standaard in het spel zitten. Overige icons: kuid2:79824:60100:1 Object te vinden op MyTrainz kuid:79824:1001
Object is geschikt voor TRS2006
46
kind Met kind wordt aangegeven wat voor soort object het is. Elke kind heeft zijn eigen eigenschappen en functies. code:
kind "track"
Overzicht kind: Activity background bogey bridge buildable drivercharacter engine enginesound environment fixedtrack
groundtexture hornsound industry interior map mesh mocrossing mojunction mospeedboard mosignal
47
pantograph product product-category profile scenery texture track traincar turntable water2
kuid Het KUID-nummer wordt gebruikt om elk object uniek te maken binnen trainz. Er zijn twee KUID systemen vrijgegeven door Auran in loop der jaren KUID en KUID2 elk op zijn eigen manier opgebouwd. KUID is bedacht in de begintijd van Trainz, maar zodra een object bijgewerkt word, moest er een nieuw KUID-nummer gekozen worden en het oude object vervangen worden door de obsolete-tag. De opbouw van KUID is als volgt Met Trainz Railroad Simulator 2004 is er en nieuw KUID systeem geïntroduceerd door Auran genaamd KUID2. In egenstelling tot KUID bied deze de mogelijkheid om op een eenvoudige manier een object te updaten. Dit is mogelijk geworden door het toevoegen van een versienummer aan het KUID. De opbouw is als volgt bij KUID2: De versienummering dient bij 1 te beginnen, wanneer je versienummer 0 opgeeft word het object gezien als een KUID object en niet KUID2. De versienummering loopt van 1-127. code:
kuid
48
Kuid-ranges Om objecten eenvoudig in te delen zijn er zo gehete kuid-ranges bedacht. Hiermee worden bepaald type objecten uit elkaar gehouden. Echter met Trainz 2006 hoeft hier geen rekening meer meegehouden worden. Maar het kan altijd nog handig zijn om objecten netjes uit elkaar te houden. 33000-33999 Tunnels
1-9999 Lomotives 10000-14999 Passenger cars 15000-19999 Freight cars
35000-35999 People 36000-36999 Animals
20000-20999 Routes 37000-37999 Splines 38000-38999 Rails
21000-21999 Textures 22000-22999 Foliage
39000-39999 Buildings civil 40000-40999 Buildings military
23000-23999 Signpost 24000-24999 Signalling
41000-41999 reserved 25000-25999 Buildings residential 26000-26999 Buildings commercial 27000-27999 Buildings industrial 28000-28999 Buildings railroad
50000-50999 51000-52999 52000-53999 53000-54999 55000-56999 57000-57999
Bogies/Trucks Enginespec Enginesound Hornsound Interior Pantographs
58000-58999 Public Fun places
29000-29999 Transportation land 30000-30999 Transportation sea 31000-31999 Transportation air
60000-99999 Anything else 100000+
32000-32999 Bridges
49
Niet gebruiken
license Met deze tag kun je een licentie meegegeven met het object. De tekst die hiervoor opgegeven is valt vervolgens in Content Manager Plus terug te lezen.
Code:
license "No copy, cloning, reskins or publishing on floppy, cd, dvd or any other media are allowed, without permission of the creator. You may not change this object without permission. Selling this object as part of a payware route is not allowed. The only place where you can download this object is mytrainz.tk and trainz.nl. No other site is allowed to place this object at their site. Angelus12 is and stays owner of this object."
secret Met de volgende tag kun je treinen/objecten verbergen in surveyor. Ze zijn dan alleen nog maar zichtbaar in routes, waar het object word gebruikt. Code: secret 1
50
trainz-build Het versie nummer waarvoor het object gemaakt is. Een object met trainz-build nummer 2.0 werkt in versie 2.2, maar andersom werkt het object niet. Voor Trainz Railroad Simulator 2006 moet de trainz-build 2.5 zijn. In het overzicht hieronder kun je zien welke build voor welke Trainz versie geld. Objecten welke volgens de regels in deze handleiding gemaakt zijn moeten trainz-build 2.5 met zich meedragen. Build Versie spel 1.3 1.4
Trainz SP3 Trainz SP4
1.5
Ultimate Trainz Collection
2.0 2.1 2.2 2.3 2.4
Trainz Railroad Simulator 2004 Trainz Railroad Simulator 2004 SP1 Trainz Railroad Simulator 2004 SP2 Trainz Railroad Simulator 2004 SP3 Trainz Railroad Simulator 2004 SP4
2.5 2.6
Trainz Railroad Simulator 2006 Trainz Railroad Simulator 2006 SP1
code:
trainz-build 2.5
51
username Met de username tag kan de naam van een object worden meegegeven. Naast de standaard tag zijn er ook nog een aantal varianten erop. Welke voor andere talen van Trainz gebruikt kan worden. Bijvoorbeeld voor de Duitse of Poolse versie. Binnen Content Manager Plus wordt alleen de username-tag gebruikt om de naam weer te geven van het object. Namen die via een username-nl meegegeven zijn, worden niet weergegeven. username-cn username-cz username-de username-es username-fr username-it username-nl username-pl username-ru
Chinees Czech Republic Duits Spaans Frans Italiaans Nederlands (werkt niet voor scenery en splines) Pools Russisch
Code:
username
"alps_snowrocky"
commentaar:
username-nl werkt niet voor scenery en splines. Maar werkt wel voor region, profile.
52
Trainz Railroad Simulator 2006 Containers
53
Attached-track Deze container heeft als functie om rails te koppelen aan een object. Deze container moet gebruikt worden, wanneer er bijvoorbeeld een station gemaakt word, bij het maken van een spooroverweg of bij Fixed Track. Op het plaatje hier rechts is een voorbeeld van Fixed Track te zien. In het voorbeeld hieronder gaat we een Fixed Track maken. Voor een enkel stuk spoor moet er in de Gmax mesh, er van uitgaande dat het één recht stuk spoor is, de volgende attachment-points worden aangebracht. Waar het spoor moet beginnen plaatsen we een attachment-point met de naam a.track0a. Waar het spoor moet ophouden plaatsen we de attachment-point a.track0b. Het is mogelijk om meer attachment-points te plaatsen voor het stuk spoor, bijvoorbeeld wanneer er een knik in moet zitten. Het is dan zonder problemen mogelijk om de attachment-points door te nummer. c, d, e, etc. Nadat de mesh is geëxporteerd, moeten we de config.txt verder gaan inrichten. De container voor attachment-track kan er als volgt uitzien. In ons voorbeeld zijn we uitgegaan van een enkel recht stuk spoor. Code:
attached-track { track_one { track useadjoiningtracktype 0 vertices { 0 a.track0a 1 a.track0b } } }
track_one
is de naam van een groep spoor. Het maakt niet uit welke naam hij heeft.
track
Hier staat het kuidnummer van het stuk rails dat moet worden weergegeven.
54
useadjoiningtracktype
Hiermee wordt aangegeven of het spoor wel of niet automatisch veranderd moet worden, wanneer je er een ander stuk spoor tegen zit. Wanneer de waarde op 0 staat, mag het spoor niet worden gewijzigd. Is deze waarde 1, wordt het spoor wel veranderd.
vertices
Hier wordt het pad opgegeven wat gevolgd moet worden. Het pad wordt aangeduud met behulp van de attachment-points. Het spoor loopt van a.track0a naar a.track0b.
Wanneer er meerdere sporen gebruikt moeten worden, moet de naam van de attachment-points worden aangepast. Het eerste spoor heeft de naam a.track0a. Het tweede stuk spoor krijgt vervolgende de naam a.track1a mee. Hoe meer sporen, hoe hoger het nummer wordt.
55
Privileges Met deze regels in de config.txt zou het mogelijk moeten zijn om de rechten binnen CMP aan te passen. Deze privileges werken alleen voor build-in objecten, welke met het spel zijn meegeleverd. Voor eigen objecten is deze container helaas niet bruikbaar. code: Privileges { permit-edit 0 permit-commit 0 permit-listing 1 }
56
Thumbnails Preview afbeelding van object om te gebruiken in Content Manager Plus. De afbeelding mag JPG, BMP, TGA of TEXTURE wezen met een formaat van 240x180 pixels. Deze container is ook verplicht wanneer je objecten upload naar het Download Station van Auran. Code: thumbnails { preview { image "preview.jpg" width 240 height 180 } }
image
Bestandsnaam van de afbeelding.
57
Track-sound Sinds Trainz Railroad Simulator 2006 is het mogelijk om rails, bruggen, tunnels en draaistellen van de trein te voorzien van een eigen geluid. Hiervoor moet een speciale container gebruikt worden in de config.txt, van een object. Bijvoorbeeld een config.txt van kind track. track-sound { default { track-sound priority 100 } }
track-sound
Is het kuidnummer voor het kind tracksound object, waarvan het geluid word gebruikt.
Naast het toevoegen van een container moet er ook nog een los object aanwezig zijn, genaamd de kind tracksound. Meer informatie over dit type object is te vinden op pagina .
58
Trainz Railroad Simulator 2006 Effects
59
corona Een corona is een lichtpunt binnen een object. Dit zogehete lichtpunt word door middel van een losse texture weer gegeven. Op de afbeelding hier rechts is een voorbeeld te zien van een corona. Deze corona is geplaatst op een trein, maar ze zijn ook te gebruiken voor seinen of straatverlichting. Om van een corona gebruik te maken moeten er een aantal dingen worden gedaan. Er is een kleine afbeelding nodig, die op licht. Deze afbeelding kan er uit zien als zoals op het voorbeeld hier links van de tekst te zien is. Deze afbeelding zit in een los object verwerkt. Zie voor meer informatie over het maken van corona’s in het hoofdstuk kind: texture op pagina 72. In de mesh moet een attachment-point worden geplaatst. De naam van deze attachment-point maakt niet uit, maar voor het gemaak nemen we de naam a.corona0 als voorbeeld. En tot slot moeten we in de config.txt opgegeven dat er een corona in de mesh zit. Hiervoor moeten we de volgende regels toevoegen die in het onderstaande stuk code staan. code: mesh-table { default { mesh tram600a_BODY/1.im auto-create 1 effects { corona0 { kind corona att a.corona0 texture-kuid object-size 0.075 } } } }
60
att
De point in Gmax waar aan de corona gekoppeld is. Deze point mag elke naam hebben zolang het maar begint met a.
direction
Standaard is de corona altijd omlaag gericht ten opzicht van hoe de attachment-point in de mesh geplaatst is. Moet de corona echter vanuit elke richting zichtbaar zijn, zet de waarde van direction dan op 1.
frequency
De waarde achter frequency geeft aan hoevaak de corona per seconden moet knipperen. Wanneer de waarde 2 is knippert de corona twee keer per seconden. Is deze waarde 0.5 dan knippert hij elke twee seconden.
Object-size
De radius van de corona. De standaard grootte van een corona is 0.15 meter.
texture-kuid
Het KUID-nummer van de gekoppelde corona texture. In Trainz zitten standaard al een aantal textures:
Groen Wit Rood
Wanneer je de texture-kuid lijn weglaat zal de corona geel/oranje zijn.
61
name Met het effect name kan er een tekst gekoppeld worden aan de mesh, welke verschijnt in Trainz. Om dit voor elkaar te krijgen moet er in Gmax een attachmentpoint worden geplaatst met de naam a.name0. Vervolgens wordt er in de config.txt de kleur, de grootte het lettertype en niet te vergeten de tekst meegegeven. In de config.txt moet de onderstaande code zijn opgenomen. Code:
mesh-table { default { mesh blaat.im auto-create 1 effects { name0 { kind name font swiss12 att a.name0 fontsize 0.15 fontcolor 30,30,30 name tekst } } } }
att
De point in Gmax waar aan de tekst gekoppeld is. Deze point mag elke naam hebben zolang het maar begint met a.
font
Lettertype van de weer te geven tekst. Zover bekend zijn er 6 verschillende swiss12 swiss font21 font12 font8 verdana
fontcolor fontsize name
netjes beetje schuin schaduw kleiner
Kleur van de tekst Grootte van de tekst De tekst die moet worden weergegeven
62
Trainz Railroad Simulator 2006 KIND
63
KIND: groundtexture Een texture die gebruikt wordt om de bodem te bedekken in het spel. De minimale grootte van een grondtexture in Trainz is 10x10 meter. Texture grootte: kuid-range:
128x128 pixels 21000-21999
config.txt:
kind kuid username trainz-build rgb texture clutter-mesh
"groundtexture" "alps_snowrocky" 2.5 112, 115, 59 "alps_snowrocky.texture"
rgb
kleur die gebruikt word in de minimap.
texture
bestandnaam van de afbeelding
clutter-mesh Een object dat willekeurig word weergegeven op de grondtexture. Deze regel kan weggelaten worden wanneer er geen gebruik gemaakt word van een extra mesh. Deze mesh dient zo licht mogelijk gebouw te zijn, zowel qua polygons als texture. Mapstructuur:
64
KIND: hornsound KUID-range: 54000-54999 Met deze kind worden toeters en of hoorns gemaakt voor binnen Trainz Railroad Simulator 2006. De hornsound bestaat uit een aantal wav-bestanden welke in de lijst hieronder terug te vinden zijn. Deze geluidsbestanden moeten allen verzameld zijn in de zelfde map, waar zich het config.txt bestand staat, zoals op de afbeelding onder aan deze pagina te zien is. De opbouw van de config.txt is als volgt: Code:
kind hornsound kuid category-class “ZH” two-part 1 two-part 1
Geeft aan dat het geluid tussen Railyard en Driver anders is. Het geluid in Driver loopt in een loop, terwijl het geluid binnen railyard dat niet doet. Wanneer deze tag niet aanwezig is zal het geluid niet in een loop lopen.
Geluidsbestanden: horn.wav
Geluid voor in Railyard (zonder loop).
horn_loop.wav
Het geluid in een loop, wat herhaald word. Dit geluid is hoorbaar in driver.
horn_start.wav
Het geluid dat voor de loop uitgaat. Hoorbaar in Driver.
idle 1.wav
Geluid voor bijvoorbeeld de bel. Binnen Trainz Railroad Simulato 2006 te horen met de B-toets.
65
KIND: mospeedboard KUID-range: 23000-23999 Kind mospeedboard is bedoeld om snelheidsborden mee te maken. Maar het is ook mogelijk om een los object aan het spoor te koppelen, bijvoorbeeld een waarschuwingsbord of bovenleidingspaal. De config.txt kan er als volgt uit zien: Code:
kuid kind mospeedboard trainz-build 2.5 trackside -2.5 speedlimit 5.56 username mospeedboard category-class WX category-region NL category-era 2000s
trackside
Dit is de afstand dat het object moet staan in meters, berekend vanaf het middel van het spoor.
speedlimit
Dit is de maximale snelheid die vanaf dit punt is toegestaan. De eenheid is in meters per seconden. 10 mph = 4.47 m/s. 10 kph = 2.78 m/s
66
KIND: region KUID-range: 60000-99999 Hiermee kun je een bepaald land, regio in Trainz plaatsen. Het is mogelijk om deze te voorzien van je eigen voor gekozen auto's die je opgeeft via car(X). Ook kun je opgeven aan welke kant van de weg de auto's moeten rijden. In Trainz is region terug te vinden bij 'Create a new route' zie de afbeelding hier rechts.
config.txt
kuid trainz-build category-class kind watercolor defaultjunction ontheright longitude latitude altitude category-region category-era car0 … car15 username description username-nl description-nl
2.5 "AA" "region" 154,104,53 100633 1 153,2,1 27,28,-1 0 "NL" "2000s" Netherland "Country …" Nederland "Land …"
67
description
Omschrijven van de regio
ontheright
voor wanneer auto’s rechts moeten rijden
car(0-15)
Er kunnen 16 auto’s worden meegegeven aan een region.
watercolor
Kleur van het water in RGB waardes.
defaultjunction
Kuid van de standaard wissel die binnen een region automatisch geplaatst word bij het aanbrengen van wissels
longitude
In de navigatie is het gebruikelijk de longitude (lengte) ten westen van de Greenwich meridiaan positief te nemen en ten oosten ervan negatief.
latitude
Voor de latitude (breedte) geldt altijd: noord is positief en zuid is negatief.
altitude
De hoogte boven de horizon. Het zenith is +90°, de horizon 0° en het voetpunt (nadir) is -90°. De opgegeven waarde hiervoor moet in meters worden opgegeven.
Commentaar:
De waardes voor longitude, latitude en altitude voor een bepaalde stad of gebied kun je via de volgende site vinden: http://www.fallingrain.com/world/NL/index.html
68
KIND: scenery code:
kuid kind "scenery" light 1 category-class "BH" username "Roadside pole" category-region "NL" category-era "1970s;1980s;1990s" trainz-build 2.5 mesh-table { default { mesh "paaltje.im" auto-create 1 } }
69
KIND: profile config.txt kind "profile" kuid asset-filename category-class category-region-0 category-era-0 trainz-build info-page
"kuid 86661 9450381" "YP" "TO" "2000" 2.4 "Camp_Job_2.htm"
thumbnails { 0{ image "The_Camp_Job.tga" width "512" height "512" } } username "Camp 2 Job" description "The 'Camp 2 Job'. In this medium difficulty session, your task is to load the logging skeletons at Camp 2 and bring the loads to Rockport. At Rockport, you will unload the logs at the Dry Sort Yard. Time = 30 minutes" map-kuid author "Rich Blake" contact-email "[email protected]" contact-website "www.steammachine.com/slugsmasher" license "1" kuid-table { 0 1 } username-fr
"La mission du Camp 2"
70
description-fr "La 'Mission du Camp 2'. Dans cette session de difficulté moyenne, votre tâche consiste à charger les wagons squelettes au camp No2 puis à les transporter à Rockport. Là-bas vous devrez décharger les rondins dans la gare de triage à sec. Durée = 30 minutes" username-nl "Opgave Camp 2" description-nl "De sessie ‘Opgave Camp 2’. In een gemiddeld lastige sessie is uw taak de boomstammen in Camp 2 op te laden en vervolgens naar Rockport te brengen. In Rockport laadt u de boomstammen af in het Dry Sort spoorwegemplacement. Duur: 30 minuten" duur: "30 minuten'" username-cz "Do tábora 2" description-cz "V této středně obtížné hře máš za úkol naložit dřevěné klády v táboře 2 a převézt je do Rockportu. V Rockportu kulatinu složíš v depu Dry Sort. Herní doba = 30 minut" Deze tag word gebruikt voor het weergeven van een afbeelding in Driver. thumbnails { 0{ image "The_Camp_Job.tga" width "512" height "512" } }
71
KIND: texture KUID-range: 21000-21999 Deze kind wordt gebruikt om losse textures geschikt te maken voor gebruik in Trainz Railroad Simulator 2006. Deze texture kan dan bijvoorbeeld gebruikt worden als corona of als icon bij de weergave van het object binnen Trainz Railroad Simulator 2006. Te gebruiken voor seinen, front en sluitlichten of straatverlichting. Om een texture beschikbaar hiervoor te maken moeten we het volgende doen. In de map, die we de naam texture hebben gegeven, plaatsen we de losse texture met de naam texture.tga. Vervolgens maken wij in kladblok een nieuw bestand met die we de naam texture.texture.txt geven. In dit bestand moeten de volgende twee regels komen te staan: Code:
Primary=texture.tga Tile=st Het is heel belangrijk dat de naam van de map en de naam van de texture gelijk is aan elkaar, is dit niet het geval dan is de kans heel groot dat de texture niet gevonden kan worden door Trainz. Tot slot moeten we de config.txt nog gaan schrijven voor het object. De config.txt is als volgt opgebouwd. Code:
kind texture kuid
72
KIND: track KUID-range: 37000-37999 (Splines, wegen, bovenleiding, etc) 38000-38999 (rails)
Voor het maken van wegen, hekken of rails wordt kind track gebruikt. Echter word track ook wel spline genoemd een spline is een uitrekbaar object van je van punt naar punt legt. Bij het maken van een zogehete spline moet je met een paar dingen rekening houden in tegen stelling tot een vast object (scenery) moet je een spline onder het midden bouwen in de topview. Zoals op het onderstaande screenshot te zien is. Alles wat boven het midden zit word niet weergegeven in Trainz Railroad Simulator 2006. In tegenstelling tot wat iedereen beweerd is het mogelijk om LOD toe te passen op een spline.
Aangezien kind track voor meerdere soorten objecten gebruikt kan worden bijvoorbeeld rails, wegen of hekken, zit er nog enig verschil tussen de config-files welke gebruikt worden om de objecten werkend te krijgen in Trainz Railroad Simulator 2006.
73
Rails Laten we beginnen met het maken van rails. Kind track word alleen gebruikt voor enkel sporig rails. Wil je dubbelspoor maken Voor gebruik van rails zijn er een aantal richtlijnen wat betreft maten. De rijhoogte van een trein is 30 cm boven de grond. Dit is geheel niet aanpasbaar en is de standaard hoogte welk door Auran is meegegeven in het spel. Voor de rest mag je zelf bepalen welke maten je wilt gebruiken. Je kunt rails op twee manieren maken via een mesh (im-file) in Trainz Asset Creation Studio of aan de hand van een zogehete chunky mesh. De manier welke ik tot dus ver heb uitgelegt is de manier via Trainz Asset Creation Studio. Bij gebruik van een chunky mesh heb je geen Trainz Asset Creation Studio nodig om rails in te maken. De waardes van de rails kun je dan zelf opgeven in de config.txt-file. De eerst config.txt die ik straks laat zien word gebruikt voor een stuk rails met IM file.
De spoormaten welke door Auran geadviseerd wordt:
A B C D E F G
0 200 120 20 85 30 70
cm cm cm cm cm cm cm
74
Config.txt voor rails met IM-file:
kuid kind "track" length 5 width 3.6 bendy 1 istrack 1 rgb 200,100,0 asset-filename rails category-class "TR" username "Track" category-region "NL" category-era "2000s" trainz-build 2.5 visible-on-minimap 1 length
Lengte van de mesh in meters
width
Breedte van de mesh in meters
bendy
Hiermee wordt bepaald hoe het object door een bocht moet gaan. Zoals op de afbeelding hier rechts te zien is, zijn er twee opties. Wanneer de waarde op 1 staat blijven de twee delen aan elkaar vast zitten. Wanneer de waarde op 0 staat, blijven de twee delen los van elkaar. Voornamelijk bij wegen is het raadzaam om bendy op 1 te hebben staan.
istrack
Hiermee geef je aan dat het object rails is
rgb
Word gebruik in de mapview van Trainz, om aan te geven hoe het spoor loopt. Met rgb bepaal je de kleur van deze lijn volgens de rood, groen, blauw waardes.
75
Track-sound Het is mogelijk om de rails te voorzien van zijn eigen geluid, hiervoor moet een zo gehete track-sound container worden toegevoegd aan de config.txt. Zie voor meer informatie hierover pagina op pagina 58.
Chunky Rails In tegenstelling tot de gewone rails heeft de chunky rails geen mesh nodig, deze mesh kan doormiddel van afstanden via de chunky_info tag worden opgebouwd. Het voordeel hiervan is dat rails gemaakt op deze manier een stuk sneller geladen word en zorgt voor een betere framerate binnen het spel. Config.txt voor rails met chunky mesh:
kuid kind "track" chunky_mesh mstand_tex chunky_info 0, 2, 1.2, 0.2, 0.85, 0.3, 0.7 length 5 width 3.6 bendy 1 istrack 1 rgb 200,100,0 asset-filename rails category-class "TR" username "Track" category-region "NL" category-era "2000s" trainz-build 2.5 visible-on-minimap 1 chunky_mesh De naam van de texture welke gebruikt word voor het stuk spoor. chunky_info De maten in meters waarmee het stuk spoor word gevormd Hiervoor zijn de maten over te nemen in de afbeelding eerder in dit hoofdstuk.
76
Wegen Voor het maken van wegen voor Trainz Railroad Simulator 2006 gelden er aparte richtlijnen met betrekking tot de config.txt-file. Een veel gestelde vraag is of het mogelijk is om eenrichtingswegen te maken. Het antwoord op deze vraag is echter nee. Als bouwen van een weg is het onmogelijk om te bepalen hoe de auto’s over de weg moeten rijden. Dit alles is al door Auran bepaald. Voor het bouwen van de wegen zijn er geen vaste richtlijnen. Echter is het wel verstandig wanneer je Nederlandse wegen maakt dat deze aansluitbaar zijn op de al bestaande wegen. Voor de Nederlandse wegenset gemaakt door GM zijn de volgende maten van toepassing. Welke in het screenshot hieronder te vinden zijn.
De afmetingen van de weg zijn: 8 meter breed in het midden ligt de weg op 30 cm hoog en aan de buiten kant op 20 cm hoog. De afmetingen van de stoep zijn: 1,9 meter breed en 30 cm hoog. De afmetingen van wegen zijn echter geheel afhankelijk op het soort weg waarop je de door jouw te bouwen weg op wilt aansluiten. Maar mijn advies is bouw de nieuwe wegen zo dat ze aansluiten op de bestaande wegenset van GM. Zodat we één standaard creëren voor wegen zonder dat je elke keer weer moet zoeken van pas deze weg nu wel of niet op de andere weg qua hoogte.
77
Config.txt voor wegen:
kuid kind "track" length 6 width 12 bendy 1 isroad 1 grounded 0 carrate 6 asset-filename road category-class "SR" username "Road" category-region "NL" category-era "2000s" trainz-build 2.5 visible-on-minimap 1 grounded
Hoogte voor het verkeer
carrate
aantal seconden dat er tussen het genereren van auto’s zit 0 = geen verkeer
De config.txt hierboven is ook te gebruiken voor objecten zoals hekken of muren. Enige wat je dan moet opgegeven is carrate 0 en isroad 0.
78
LOD Sinds Trainz Railway Simulator 2004 is het al mogelijk om LOD te gebruiken op splines, echter niemand die dat wist. Dit komt mede door dat Auran het nooit op papier heeft gezet. Er is nog een heleboel niet gedocumenteerd. In dit kopje ga ik op een van die ongedocumenteerde functies in.
Om te beginnen hebben we twee meshes nodig eentje van bijvoorbeeld 16 polygons en een tweede van 500 polygons. Zoals je ziet hebben we een lichte en een zware mesh. De volgende stap is om de beide meshes op de juiste plek weg te zetten. Het beste is om de submap de zelfde naam de geven als de map, waarin het hoofdobject staat. In de hoofdmap komt de zware mesh te staan van 500 polygons. In de submap komt de lichte mesh te staan van 16 polies. Let er op dat de naam van de map en de naam van de IM file gelijk aan elkaar zijn. Mapnaam is bijvoorbeeld 1t_ns_um, dan moet de mesh 1t_ns_um.im heten. Verder moet er in de config.txt een regel worden toegevoegd. Dit is dan ook meteen het geheim van LOD op splines. Code: unit_mesh "1t_NS_UM" Tussen de haakjes vul je de naam in van de submap en de IM file in de submap.
79
Overige tags config.txt Naast de eerder lijst van tags die in de config.txt meegegeven kunnen worden zijn er nog een aantal tags die mogelijk zijn binnen kind: track. In de lijst hieronder zijn de beschikbare tags verzameld met de nodige informatie. upright
Met upright word aangegeven of een spline wel of niet mag kantelen. Op de afbeelding hebben ze palen gebruikt, om te laten zien wat het effect is wat optreed bij gebruik van deze tag. Wanneer de waarde van upright 1 is, blijven alle palen rechtovereind staan tegen de schuine helling. Is de waarde van upright 0 dan staan de palen even schuin als de helling zelf. Deze tag kan vooral gebruikt worden bij palen of alles waarven je wilt dat het rechtovereind blijft staan in plaats van kantelt.
80
KIND: tracksound Met kind tracksound word een object aangemaakt welke door de track-sound container gebruikt word. Kuid kind tracksound min-distance 10 max-distance 1000 levels { 0 0.1 1 10 }
min-distance Hiermee word de minimale afstand opgegeven vanaf waar het geluid hoorbaar is max-distance Hiermee word de maximale afstand opgegeven tot waar het geluid hoorbaar is levels
Via levels word bepaald welk geluid er gebruikt word bij welke afstand. 0, 1, 2 geeft aan welk geluidsbestand er gebruikt word. Wat daar achter staat geeft aan wat de snelheid van de trein minimaal moet zijn om dit geluid af te spelen. De snelheid is opgegeven in meters per seconden. Een waarde lager dan 0.1 word niet gebruikt.
Bij meerdere geluidsbestanden moet de volgende benaming worden gebruikt: “idle 1.wav”, “idle 2.wav”, etc.
81
KIND: traincar Kuidrange:
1-9999 Locomotieven 10000-14999 Passagiers wagons 15000-19999 Goederen wagons
bogey: bogeys { 0 { Reversed bogey } }
0
reversed
omgekeerd
bogey
verwijzing naar de bogey
82
Level of Detail (LOD) Met LOD is het mogelijk om een object van verschillend detail niveaus te voorzien. Wanneer je een object extra detail wilt meegeven, maar toch een redelijk framerate in het spel wilt hebben is LOD een goede optie. Wanneer je LOD toepast moet je met een aantal dingen rekening houden, maak nooit meer dan drie meshes. Ook voor de texturen geld gebruik voor elke mesh de zelfde texturen, doe je dit niet dan kost het meer tijd voordat het object op het scherm staat en wordt de framerate minder. Zorg er ook voor dat de meest gedetailleerde mesh niet te zwaar is, ook dit is niet goed voor de framerate. Voor een object moet je nooit meer gebruiken dan echt nodig is.
83
Hoe werkt Level Of Detail? Met LOD kun je bepalen wanneer er tussen meshes wordt gewisseld. Of bepaalde details verwijderen uit een mesh. Wanneer we naar een gedetailleerd object kijken, zien we dat vanaf een bepaalde afstand de details niet meer zichtbaar zijn. Op dit punt kunnen we zeggen van dat we naar een object wisselen dat minder details heeft. Doordat de afstand toe neemt is het verschil tussen veel detail en weinig detail niet zichtbaar. Wanneer je dichtbij komt worden deze details wel weer zichtbaar. Via een tekstbestand genaamd blaat.lm.txt kunnen we aangeven op welk punt er van object moet worden gewisseld. Een dergelijk bestand kan er als volgt uitzien: Code: version 1.0 offset = 0.01; calcPoint = center; multiplier = 1.0; animationCutOff = 0.00; renderCutOff = 0.00; attachmentCuttOff = 0.06; mesh(“0.07”) { name=”lowest_mesh.im”; } mesh(“0.30”) { name=”low_mesh.im”; } mesh(“0.52”) { name=”mid_mesh.im”; } mesh(“1.0”) { name=”high_mesh.im”;’ } Wanneer je zo’n bestand hebt geschreven voor je eigen object, moet je ook opletten dat je in de config.txt niet verwijst naar een IM-file, maar naar het blaat.lm.txt bestand.
84
Laten we het voorbeeld stuk code in stukken hakken. En per regel uitleg geven over de functie ervan. version 1.0 offset = 0.01; De offset voorkomt dat de mesh niet verspringt tussen twee verschillende niveaus van detail. calcPoint = center; De positie waar vandaan word berekend waar het niveau van de mesh moet worden veranderd. multiplier = 1; De niveau of detail vermenigvuldiger, laat deze op 1 staan. animationCutOff = 0.00; Het niveau waarop de animatie van een object wordt gestopt. Wanneer deze waarde op 0 staat blijft de animatie altijd lopen. renderCutOff = 0.00; Het niveau waar het object niet meer op het scherm getekend word. attachmentCutOff = 0.06; Wanneer er in de mesh :Cull is attachment point worden deze niet meer op het opgegeven niveau zit. In de attachment Point er qua naam als volgt
toegevoegd aan een getekend wanneer hij Gmax-file ziet zo’n uit: a.bogey0:Cull.
mesh(“0.07”) { name=”lowest_mesh.im”; } Hiermee worden de meshes gekoppeld aan elkaar. Wanneer het object minder dan 7% van het scherm beslaat, word de meegegeven IM-file gebruikt.
85
Twinkles stoom en rook effecten Rob Hill heeft Twinkles systeem wat nader uitgewerkt hier een toepasbaarheid voor naar voren gehaald. Dit heeft hij weggeschreven in zijn eigen Engelstalige handleiding. Met toestemming van Rob Hill heb ik het document mogen vertalen en opgenomen in de Content Creation Guide 2006 NL Het twinkles particle effect systeem is een methode om particle effecten te produceren voor Trainz Railroad Simulator 2004 en 2006. Deze effecten, gemaakt met het programma Twinkle System, geeft object bouwers de mogelijkheid om extra realisme aan te brengen bij hun creaties. Het doel van deze handleiding is om object bouwers te laten zien hoe ze deze effecten toe kunnen passen voor een eigen objecten. De effecten die bij deze tutorial zijn gebruikt zijn van de laatste versie van de Merchant Navy locomotief. Een download link naar deze effecten is verderop in deze tutorial terug te vinden. De effecten worden bestuurd door ‘mode’, op het moment zijn er vier gedocumenteerde ‘mode’ en 3 ongedocumenteerde ‘mode’ De vier die gedocumenteerd zijn, zijn de volgende: • • • •
time speed anim timeofday
Een omschrijving hiervan is terug te vinden in de Content Creators Guide voor Trainz Railroad Simulator 2004 op pagina 123.
Stack De eerste ongedocumenteerde mode is stack. Mode ‘stack’ komt samen met twee andere tags, deze tags zijn: inherit-velocity en scale. Beide tags moeten een waarde hebben tussen de 0 en 1.
86
mode “stack” inherit-velocity 0.0 scale 0.98
De inherit-velocity tag geeft vreemde effecten wanneer de waarde hiervan boven 0 is. Het hoofdprobleem was dat het twinkles effect één kant uitvliegt wanneer de trein door een bocht gaat. Dit kan handig zijn voor bepaalde toepassingen, maar over het algemeen geeft het negatieve resultaten bij het gebruik met stoomtreinen. De scale tag heeft effect over de snelheid van het twinkle effect. Door een lagere waarde in te vullen kun je een betere precisie krijgen met het aan en uitschakelen van het effect, wat betreft het regulator gebruik. De benodigde code hiervoor is hiernaast te zien.
smoke0 { attachment “a.smoke0” mode “stack” file “chimneymoving.tfx” color 0,0,0,0 enabled 1 inherit-velocity 0.0 scale 0.98 }
Lowpressurevalve De tweede ongedocumenteerde mode is de mode genaamd ‘lowpressurevalve’. Deze mode word gebruikt om rook effecten aan en uit te schakelen die zijn opgenomen in de config.txt, in relatie met de max boiler pressure die gebruikt word in de engine spec die door de locomotief gebruikt word. Wanneer de smoke4 { maximale boiler druk is bereikt, word attachment “a.smoke4” mode “lowpressurevalve” het effect geactiveerd tot dat de boiler file “safetyvalve.tfx” druk onder de opgegeven maximale color 0,0,0,0 druk waarde zit. De benodigde code enable 1 } hiervoor is hiernaast te zien.
Anim De laatst ongedocumenteerde mode is niet echt een mode, maar een gebruikte benaming tijdens het bouwen van het model. Bij het plaatsen van een attachment-point voor het fluit-stoom-effect moest de attachment-point worden benoemd naar { a.whistle, waardoor bij het drukken van smoke7 attachment “a.whistle” de hoorn-toets het effect wordt mode “anim” file “whistle” geactiveerd. De benodigde code color 0,0,0,0 hiervoor is hiernaast te vinden. enable 1 }
87
Stoomeffecten omschrijving De bestanden die bij deze handleiding horen zijn via onderstaande link te downloaden: http://www.lestorouteworks.co.uk/Files/Guides/Twinkles%20Steam%20E ffects.zip In deze download zitten acht direct bruikbare effecten voor stoomlocomotieven. De effecten die in de download zitten zijn hieronder uitgeschreven. chimneymoving.tfx Dit effect is een stoom/rook effect wat uit de uitlaat komt van de schoorsteen van de stoomlocomotief wanneer het aan het rijden is. Dit effect is gemaakt om samen te werken met de mode “stack” in de smoke container binnen het config.txt bestand.
88
chimneystopped.tfx Dit effect wordt gebruikt om het effect van de blazers die actief zijn wanneer de locomotief in stationair staat te simuleren. Het wordt ook gebruikt om rook te simuleren die uit de schoorsteen komt wanneer de locomotief in beweging is. In samenwerking met het chimneymoving.tfx effect kan dit een realistische stoomuitlaat creëren.
whistle.tfx Het whistle.tfx kan alleen gebruikt worden met een attachment-point genaamd a.whistle. Wanneer de hoorn toets ingedrukt word zal het stoom effect worden gesimuleerd en komt er stoom uit de uitlaat van de hoorn.
safetyvalves.tfx Het safety valves effect wordt in samenwerking met de mode ‘lowpressurevalve’ gebruikt. Het is effect is ontworpen om hoge druk stoom te simuleren, wanneer de maximale boiler druk is bereikt.
89
LargeGlands.tfx Dit particle effect wordt gebruikt voor het nabootsen van stoom dat lekt vanuit de kieren, wanneer de locomotief op lage snelheid rijd. Het effect stopt wanneer de snelheid van de locomotief toeneemt.
SmallGlands.tfx SmallGlands.tfx is het zelfde als LargeGlands.tfx op uitzondering dat het effect een kleiner gebied omstreed met kleinere deeltjes. SteamLeak.tfx Dit effect is ontworpen om continu te gebruiken bij stoomlocomotieven om lekkend stoom te simuleren vanuit een bepaald deel van de locomotief. Het effect heeft een korte levensduur, waardoor het niet uitgestrekt wordt bij hogere snelheid.
cyldraincocks.tfx Het cyldraincocks.txt effect simuleert het openen van de cilinder voor het afvoerkanaal wanneer de locomotief rijd, vanuit een koude start of wanneer de locomotief van rijrichting veranderd. Het effect is alleen zichtbaar bij een heel lage snelheid, omdat de cilinders niet veel tijd nodig hebben om op te warmen en voor elk water of stoom dat aan de verkeerde kant van de zuiger naar buitenkomt. Het effect is nog verbonden aan afvoerkanaal van de cilinder schakelaar in de stoom locomotief cabine.
90
Custom Textures & config.txt voorbeelden Alle twinkles die in deze handleiding zijn beschreven gebruiken custom textures welke aanwezig zijn op het Auran Download Station. Wanneer deze custom textures niet aanwezig zijn binnen Trainz kan het zijn dat de locomotief niet zichtbaar is of functies mist. In de lijst hieronder zijn de custom textures en het bijbehorende effect vermeld om de locomotief zonder problemen te laten functioneren. Custom Texture name Smoke-Steam_efect Smoke_effect Steam_effect
Kuid kuid2:101839:40001:2 kuid2:101839:40003:1 kuid2:101839:40002:1
Twinkle effect chimneymoving.tfx Chimneystopped.tfx Whistle.tfx Safetyvalves.tfx LargeGlands.tfx SmallGlands.tfx SteamLeak.tfx Cyldraincocks.tfx
Het is enorm aanbevolen wanneer deze effecten gebruik maken van een custom texture om ze op te nemen in de kuid-table van de config.txt van de locomotief. Hiernaast is een kuid-table { voorbeeld te zien die laat zien op 1 2 welke manier de custom textures 3 zijn opgenomen in de kuid-table. } Vanaf de volgende pagina is een voorbeeld te zijn van alle eerder omschreven effecten. Er word getoond welke regels code er moeten worden toegevoegd aan de effect container in de config.txt. Elk effect kan één keer gebruikt worden in een Trainz Railroad Simulator 2006 goedgekeurde container.
91
Stoomeffecten config.txt Chimneystopped.tfx
Whistle.tfx
smoke0 { attachment “a.smoke0” mode ”speed” file “chimneystopped.tfx” color 0,0,0,0 enable 1 maxspeedkph 65 }
smoke4 { attachment “a.whistle” mode “anim” file “whistle.tfx” color 0,0,0,0 enable 1 }
Chimneymoving.tfx
LargeGlands.tfx
smoke1 { attachment “a.smoke1” mode “stack” file “chimneymoving.tfx” color 0,0,0,0 enable 1 inherit-velocity 0.0 scale 0.98 }
smoke5 { attachment “a.gland1” mode “speed” file “LargeGlands.tfx” color 0,0,0,0 enable 1 maxspeedkph 15 }
SmallGlands.tfx
Cyldraincocks.tfx smoke2 { attachment “a.smoke1” mode “speed” file “cyldraincocks.tfx” color 0,0,0,0 enable 1 maxspeedkph 7 }
smoke6 { attachment “a.gland5” mode “speed” file “SmallGlands2.tfx” color 0,0,0,0 enable 1 maxspeedkph 15 }
Safetyvalves.tfx
SteamLeak.tfx smoke7 { attachment “a.gland13” mode “speed” file “SteamLeak.tfx” color 0,0,0,0 enable 1 maxspeedkph 65 }
smoke3 { attachment “a.smoke3” mode “lowpressurevalve” file “safetyvalves.tfx” color 0,0,0,0 enable 1 }
92
Licentie Deze effecten mogen alleen gebruikt worden in Trainz freeware. De effecten blijven eigendom van Rob Hill (LieLestoSbrat). Gebruik van deze effecten voor een payware object of niet aanwezig op het Downloadstation is niet toegestaan, tenzij hier toestemming voor is verkregen van de auteur. Bij gebruik van één of meerdere van deze effecten accepteer je dat de volgende tekst onderaan de config.txt in de description tag is opgenomen: “This Locomotive uses one or more twinkles effects and custom textures created by Rob Hill (LieLestoSbrat) of Lesto Route Works and UK Branch Lines.”
93
Trainz Railroad Simulator 2006 Script
94
SetFXCoronaTexture SetFXCoronaTexture("naam van effect", "naam van kuid");
Naam van effect:
Hier vul je de naam in van het effect zoals deze in de mesh-table benoemd is.
effects { corona0 { } }
Naam van kuid:
Hier is de naam opgegeven van het KUID-nummer zoals deze in de kuid-table vermeld staat.
kuid-table { wit }
SetRollBasedOnTrack SetRollBasedOnTrack(1.0);
Hellingswaarde:
Geef hier op hoe snel hij moet gaan hellen.
Sleep Sleep(1.0);
Tijd in seconden:
Geef hier op hoe lang het script moet wachten.
95
Overzicht Afmetingen Maat baksteen: 220x110x61
Sneltoetsen [ALT]+U fly [ALT]+Y walk [CTRL]+[F2] naar driver (bestuurder) gaan
96
Trainz Railroad Simulator 2006 Rules en scripts
97
Diesel Fuel Loco Bob Pearson heeft een script geschreven, waarmee treinen op diesel rijden. Het is mogelijk om ergens diesel te tanken en rondjes te rijden met de locomotief of trein tot dat de tank leeg is. Is deze leeg dan zal de trein tot stilstand worden gebracht. Het script is direct te gebruiken in elke ongescripte trein of locomotief zonder hiervoor in het diepe te moeten gaan springen. Om te beginnen moet er vanaf de volgende website een bestand worden gedownload: http://pages.prodigy.net/rpearson/_wsn/page4.html Nadat het zip-bestand gedownload is, moet je het uitgepakte bestand, uit de zip-file, DieselFuelLoco.gs in de root zetten van je eigen trein of locomotief. Nu moet de config.txt nog worden uitgebreid met het volgende stuk code: Code:
script "DieselFuelLoco" class "DieselFuelLoco" queues { load-diesel { size 1900 initial-count 1260 product-kuid allowed-products { 0 1 } }
}
98
Tanken op het dieselstation van GM Zoals sommige misschien nog niet weten is het mogelijk om met elke trein te tanken op het tankstation dat door GM is gemaakt. Wanneer je het onderstaande verhaal op de juiste manier hebt uitgevoerd zul je zien dat de tankslang zal bewegen en je trein voltankt met verse Diesel. Om dit voor elkaar te krijgen moet er in de Gmax mesh twee attachmentpoints geplaatst worden. Deze hebben de naam a.diesel0 en a.diesel1. Plaatst deze attachment-point op de plek waar de tankdop zich bevind. Zorg er wel voor dat de attachment-point zich op x=0 bevind. De hoogte en lengte positie van de attachment-point maakt niet uit. In de config.txt voegen we de volgende regels toe. In de effect container moeten de volgende twee stukken code worden ingevoegd naar onderstaand voorbeeld. Hiermee worden de attachmentpoints bekend gemaakt. effects { pipe-attachment-left { kind attachment att a.diesel0 } pipe-attachment-right { kind attachment att a.diesel1 }
99
Bij queues moet binnen de container van load-diesel worden opgegeven dat we ook de diesel van GM willen gebruiken. Neem de onderstaande code over in de config.txt. queues { load-diesel { size 1900 initial-count 1260 product-kuid allowed-products { 0 1 } }
100
Interactief passagier station Wanneer je een perron of station gemaakt hebt wil je deze maar al te graag voorzien van passagiers en dat de trein op het station kan laden en lossen. Nadat het object gemaakt is moeten er aan zowel de mesh als de config.txt een aantal dingen worden toegevoegd. Hieronder zal ik ingaan op deze onderdelen. Op het screenshot hiernaast is een voorbeeld te zien van een van mijn eerder gemaakte tramhaltes. Voor elk station/perron of halte geld het zelfde verhaal. Dit voorbeeld hieronder is gefocust op perrons met twee sporen. Wanneer er meer of minder sporen aanwezig zijn, moet is de basis gelijk van het verhaal gelijk. Maar dan moet er een ander script worden gebruikt.
Toevoegen van rails Gmax Het eerste wat we gaan doen is rails toevoegen aan de mesh. Hiervoor maken we gebruik van 5 attachmentpoints per spoorbaan. Deze attachment-points worden verdeeld over de mesh geplaatst. Op het punt waar het spoor moet beginnen plaatsen we a.track0a gevolgd door a.track0b, a.track0c, a.track0d en waar het spoor eindigt plaatsen we a.track0e. De hoeveelheid benodigde attachment-points hangt af van de vorm van het perron. Maar voor het gemak is het aanbevolen om tenminste vijf attachment-points te gebruiken. Voor elk extra spoor dat aanwezig is doen we het zelfde alleen geven we de attachment-points een iets andere naam mee, namelijk: a.track1a, a.track1b, a.track1c etc.
101
Config.txt Om het spoor zichtbaar te krijgen in Trainz Railroad Simulator 2006 moeten in de config.txt een aantal regels code toevoegen. Per stuk spoor is een aparte container aanwezig in de config.txt. De attachment-points die in de mesh zijn opgenomen moeten in deze container aanwezig zijn.
attached-track { track_one { track vertices { 0 a.track0a 1 a.track0b 2 a.track0c 3 a.track0d 4 a.track0e } }
Op pagina 54 is meer informatie te vinden over het gebruik van attached-track. Wanneer je het object zou exporteren naar Trainz Railroad Simulator 2006 en deze regels aan de config.txt toegevoegd hebt, zul je zien dat het spoor zichtbaar is in het spel.
track_two { track vertices { 0 a.track1a 1 a.track1b 2 a.track1c 3 a.track1d 4 a.track1e } } }
Passagiers toevoegen Gmax Nu gaan we pas aan het echte werk beginnen. Het toevoegen van passagiers aan het perron en het perron de mogelijkheid van laden en lossen geven. We gaan terug naar Gmax en voegen hier per perronzijde een 15-tal attachmentpoints in voor de wachtende passagiers. Het aantal attachmentpoints is geheel naar eigen inzicht te bepalen, want voor het ene perron zijn meer passagiers nodig dan voor het andere perron. Deze attachment-points geven we de volgende benaming mee: a.passon01:Cull, a.passon01:Cull, a.passon03:Cull, etc. Voor elke passagier gaat het nummer met één omhoog. Ook moeten er in de mesh attachment-points worden geplaatst voor uitstappende passagiers. Hiervoor moet er in de mesh de volgende attachment-points worden
102
aangebracht: a.passoff01:Cull, a.passoff02:Cull, a.passoff03:Cull, etc. In deze mesh voegen we vijf van deze points in per perron zijde, maar net zoals bij a.passon-points kun je het aantal attachment-points geheel naar eigen inzicht bepalen. De tekst :Cull word gebruikt voor Level Of Detail (LOD), aangezien passagiers nogal veel vergen van Trainz Railroad Simulator 2006 is het aanbevolen om Level Of Detail (LOD) toe te passen. Zie pagina 83 voor meer informatie over het gebruik van Level Of Detail (LOD). Config.txt We gaan terug naar de config.txt. Aan dit document moet nu een hele lap code worden toegevoegd om het perron interactief te maken. Zoals al eerder aangegeven was maken we gebruik van 15 instappende passagiers per perronzijde en 5 uitstappende passagiers.
kuid kind industry trainz-build 2.5 username "Tramhalte Westraven" icon-texture icon.tga light 1 script "SmallStation" class "SmallStation" mesh-table { default { mesh 21.im auto-create 1 } }
Maar voor dat we hier op doorgaan gaan we beginnen bij het begin van de config.txt en { lopen we de gehele config.txt kuid-table passenger door. Een interactief station track moet als kind industry bekend } worden gemaakt. Er moet een script worden toegevoegd die het perron aanstuurt waardoor treinen kunnen laden en lossen. Dit script is op maat gemaakt afhankelijk voor het soort station. Het script wat we in dit voorbeeld gebruiken is alleen geschikt voor een tweesporig station. In de kuid-table voegen we toe dat we passagiers willen hebben met dat kuidnummer. Standaard word voor passagiers het kuidnummer gebruikt.
103
Hieronder wordt aangegeven hoe de rails moet lopen. Zoals te zien is word elk stuk spoor in een aparte container kenbaar gemaakt aan Trainz Railroad Simulator 2006. Let op dat de namen van de container niet veranderd mogen worden, deze zijn namelijk vast gelegd in het script.
attached-track { track_one { track vertices { 0 a.track0a 1 a.track0b 2 a.track0c 3 a.track0d 4 a.track0e } } track_two { track vertices { 0 a.track1a 1 a.track1b 2 a.track1c 3 a.track1d 4 a.track1e } }
Maar voor meer informatie kun je het beste het hoofdstuk over attached-track doornemen op pagina 54. } attached-trigger { trigger_track_one_a { att a.track0b radius 10 track track_one } trigger_track_one_b { att a.track0c radius 70 track track_one } trigger_track_one_c { att a.track0d radius 10 track track_one } trigger_track_two_a { att a.track1b radius 10 track track_two }
Nadat de route van het spoor is opgegeven moeten we zo gehete triggers definiëren. Deze triggers worden door het script gebruikt, om te bepalen, wanneer een bepaalde actie moet worden uitgevoerd. Bijvoorbeeld het openen en sluiten van de deuren en het laden en lossen van de passagiers. Wij gebruiken de attachment-points van het spoor om de triggers te definiëren. Zoals hiernaast is te zien worden er per spoor drie triggers gedefinieerd. Elke trigger krijgt zijn eigen naam, deze namen mogen niet afwijken van zoals ze in het script bekend zijn. Bij elke trigger is ook een radius opgegeven.
104
trigger_track_two_b { att a.track1c radius 70 track track_two } trigger_track_two_c { att a.track1d radius 10 track track_two } }
Deze radius geeft aan binnen hoeveel meter van de attachment-point een trein gezien moet worden. Zorg er voor dat de triggers elkaar overlappen, zodat er geen gaten ontstaan, waardoor een trein op een bepaald punt van het perron niet stopt. Maar het is net zo belangrijk om te zorgen dat de trein niet buiten het perron stopt. Dus zorg er voor dat de radius binnen het perrongedeelte valt waar de trein moet stoppen.
Voor het laden en lossen van queues { passengers_on_0 { passagiers moet Trainz passenger-queue 1 size 15 Railroad Simulator 2006 initial-count 0 weten, welke attachmentproduct-kuid points er in de mesh aanwezig attachment-points { 0 a.passon01 zijn. Per perron zijde moet 1 a.passon02 worden opgegeven hoeveel 2 a.passon03 wachtende en uitstappende 3 a.passon04 4 a.passon05 passagiers er aanwezig zijn in 5 a.passon06 de Gmax mesh. Er zijn een 6 a.passon07 7 a.passon08 aantal waardes naar eigen 8 a.passon09 wens ingevuld kunnen 9 a.passon10 worden. In ieder geval het 10 a.passon11 11 a.passon12 aantal a.passon-points en 12 a.passon13 a.passoff-points, maar ook per 13 a.passon14 groep het aantal passagiers 14 a.passon15 } opgegeven bij size. Het is mogelijk om elke waarde hier op te geven. Maar hoe er wel rekening mee dat wanneer er meer passagiers opgegeven zijn dan dat er attachmentpoints aanwezig zijn in de mesh dat er maximaal net zoweel wachtende passagiers aanwezig zijn dan de opgegeven waarde bij size. Aanbevolen is om size de zelfde waarde te geven als het aantal aanwezige attachmentpoints. Met de regel initial-count word aangegeven hoeveel passagiers er standaard zichtbaar zijn op het perron.
105
passengers_on_1 { passenger-queue 1 size 15 initial-count 0 product-kuid attachment-points { 0 a.passon16 1 a.passon17 2 a.passon18 3 a.passon19 4 a.passon20 5 a.passon21 6 a.passon22 7 a.passon23 8 a.passon24 9 a.passon25 10 a.passon26 11 a.passon27 12 a.passon28 13 a.passon29 14 a.passon30 } }
passengers_off_0 { passenger-queue 1 size 5 initial-count 0 product-kuid attachment-points { 0 a.passoff06 1 a.passoff07 2 a.passoff08 3 a.passoff09 4 a.passoff10 } } passengers_off_1 { passenger-queue 1 size 5 initial-count 0 product-kuid attachment-points { 0 a.passoff01 1 a.passoff02 2 a.passoff03 3 a.passoff04 4 a.passoff05 } } }
Met het volgende stuk code word het laad en los proces doorlopen. Neem deze code zonder wijzigingen over. processes {
passenger_delete_0 { start-enabled 1 duration 3 inputs { 0 { amount 1 queue "passengers_off_0" } } }
passenger_spawn_0 { start-enabled 1 duration 20 outputs { 0 { amount 1 queue "passengers_on_0" } } } passenger_spawn_1 { start-enabled 1 duration 20 outputs { 0 { amount 1 queue "passengers_on_1" } } }
passenger_delete_1 { start-enabled 1 duration 3 inputs { 0 { amount 1 queue "passengers_off_1" } } } }
106
In het laatste deel van de config.txt komen de benamingen te staan. Per perronzijde is een naam op te geven bijvoorbeeld, Steiger 1. Ook is het mogelijk om voor meerdere taalversies van het spel Trainz Railroad Simulator 2006 een naam mee te geven. En tot slot onderaan config.txt zitten we categorie details neer.
de de
string-table { smallstation_plat1 "Steiger 1" smallstation_plat2 "Steiger 2" } username-fr "Gare_petite" string-table-fr { smallstation_plat1 "Plateforme 1" smallstation_plat2 "Plateforme 2" } username-it "Small_Station" string-table-it { smallstation_plat1 "Platform 1" smallstation_plat2 "Platform 2" } username-de "Kleiner_Bahnhof" string-table-de { smallstation_plat1 "Bahnsteig 1" smallstation_plat2 "Bahnsteig 2" } username-es "Estación_Pequeña" string-table-es { smallstation_plat1 "Platform 1" smallstation_plat2 "Platform 2" } category-region-0 NL category-class BH category-era "1980s;1990s;2000s"
107
We moeten nog één bestand toevoegen en dat het script dat we gebruiken voor dit station. Je kan het script hieronder kopiëren en opslaan als smallStation.gs. Na dat het script in de zelfde map is opgeslagen als de config.txt moet het interactieve station met passagiers werken. smallstation.gs include "GenericPassengerStation.gs" class SmallStation isclass GenericPassengerStation { bool TriggerSupportsMassStoppedLoad(Vehicle vehicle, string triggerName) { bool vehicleToTrain = !vehicle.GetDirectionRelativeToTrain(); if (triggerName == "trigger_track_one_a" or triggerName == "trigger_track_one_c") { int direction = vehicle.GetRelationToTrack(me, "track_one"); if (!vehicleToTrain) direction = -direction; if (direction == Vehicle.DIRECTION_BACKWARD and triggerName == "trigger_track_one_c") return true; if (direction == Vehicle.DIRECTION_FORWARD and triggerName == "trigger_track_one_a") return true; } if (triggerName == "trigger_track_two_a" or triggerName == "trigger_track_two_c") { int direction = vehicle.GetRelationToTrack(me, "track_two"); if (!vehicleToTrain) direction = -direction; if (direction == Vehicle.DIRECTION_BACKWARD and triggerName == "trigger_track_two_c") return true; if (direction == Vehicle.DIRECTION_FORWARD and triggerName == "trigger_track_two_a") return true; } if (triggerName == "trigger_track_one_a" or triggerName == "trigger_track_one_b" or triggerName == "trigger_track_one_c" or triggerName == "trigger_track_two_a" or triggerName == "trigger_track_two_b" or triggerName == "trigger_track_two_c") { if (vehicle.GetMyTrain().IsStopped()) return true; } return false; } void GetTrackAndSide(Vehicle vehicle, string triggerName, TrackLoadInfo retInfo) { if (triggerName == "trigger_track_one_a" or triggerName == "trigger_track_one_b" or triggerName == "trigger_track_one_c") {
108
retInfo.trackName = "track_one"; retInfo.trainLeftSide = (vehicle.GetRelationToTrack(me, retInfo.trackName) != Vehicle.DIRECTION_BACKWARD) == vehicle.GetDirectionRelativeToTrain(); retInfo.platformIndex = 0; } else if (triggerName == "trigger_track_two_a" or triggerName == "trigger_track_two_b" or triggerName == "trigger_track_two_c") { retInfo.trackName = "track_two"; retInfo.trainLeftSide = (vehicle.GetRelationToTrack(me, retInfo.trackName) == Vehicle.DIRECTION_BACKWARD) == vehicle.GetDirectionRelativeToTrain(); retInfo.platformIndex = 1; } } public void Init(void) { inherited(); InitPassengerStation(2); StationMain(); } public void AppendDriverDestinations(string[] destNames, string[] destTracks) { StringTable stringTable = GetAsset().GetStringTable(); destNames[destNames.size()] = stringTable.GetString("smallStation_plat1"); destTracks[destTracks.size()] = "track_one"; destNames[destNames.size()] = stringTable.GetString("smallStation_plat2"); destTracks[destTracks.size()] = "track_two"; } };
109
Loco Lighting Control Rule
Rules vs scripts Wanneer je deze rule toevoegt aan een sessie wordt elke LLCRcompatibel locomotief aangestuurd. Wanneer een locomotief koppelt met een LLCR-compatibel rijtuig worden de lichten aangestuurd door de rule. Waarom gebruik maken van deze rule in plaats van een script? Een script is een stuk code welk permanent is ingebouwd in een object en het bevat meestal speciaal geschreven code. Er zijn scripts welke samenwerken met de standaard functionaliteiten van Trainz Railroad Simulator, terwijl anderen aanpassing van het object vereisen op een of andere manier. Een voorbeeld hiervan zijn de corona’s voor de lichten. Zodra de gebruiker het object in een route plaatst het script begint te lopen. Elk uniek object in een route heeft zijn eigen script op de achtergrond lopen. Wat meer rekenkracht kost dan wanneer je gebruik maakt van een rule. Een rule werkt net iets anders, het is een stuk code welk niet verbonden is met een object. De gebruiker plaatst de rule in een sessie en de code stuurt elk object aan, welke gebouwd zijn voor de rule. Net zoals met een script, afhankelijk van hoe het geschreven is, werkt het samen met de standaard functies. Zoals het script geschreven is geeft het maximale flexibiliteit en mogelijkheden aan een bouwer, zolang hij maar weet hoe het te gebruiken. Er zijn enkele nadelen: Een programmeur kan beslissen om zijn/haar code met andere te delen wie het kan toepassen in hun eigen object of uitbreiden met nieuwe mogelijkheden. Gezien dat scripts ingebouwd zijn in een object. Elke kleine aanpassen of correctie vereist dat het gehele object opnieuw verspreid dient te worden
110
zodat iedereen de laatste versie heeft, wat veel bandbreedte kost wanneer het object via internet verspreid word. Vooral als het om enkele kleine veranderingen in het script is het geen doen. Afgezien van het feit dat elk object zijn eigen unieke script op de achtergrond draait binnen een layout. Dit is allemaal niet het geval wanneer je een rule gebruikt. De gebruiker zal als nog wel moeten zorgen dat ze de laatste versie hebben, maar het scheelt een hele hoop tijd en werk. Ook qua rekenkracht scheelt het een hoop, want doordat het script centraal draait. Loopt er maar 1 proces en niet voor elk object een eigen proces.
Mogelijkheden 1. Wissel licht van front/sluitlichten afhankelijk van de rijrichting van de locomotief. 2. Reageer op koppel of ontkoppelt veranderingen en verander hierop de lichtstatus. 3. Laat de corona koplampen branden wanneer het nacht is of bij bepaalde weerscondities . 4. Zet sluitlichten aan en uit bij wagons/rijtuigen 5. Koppel een custom knipperlicht blok toe aan het eind van een trein wanneer het een tender is. 6. Het sluitlichtenblok is altijd aanwezig (wanneer aan een locomotief gekoppeld), maar de lichten gaan aan en uit. 7. Wanneer de driver stopt tijdens het rijden van een Schedule of via driver command zet de rule de frontlichten uit, maar de corona/marker en sluitlichten blijven aan wat resulteert in een gedimd licht. Wanneer de driver optrekt gaan de frontlichten weer aan. 8. Opmerking: bovenstaande mogelijkheden zijn alleen geschikt voor AI drivers.
111
9. Corona’s kunnen aangepast worden per voertuig door het KUIDnummer van de corona aan te passen in de config.txt 10. De bouwer kan een object maken als kind: mesh en een lichtnummer opzetten, maximaal twee, met kleur, frequentie of knipperen. 11. Tijd en weercondities zijn aan te passen binnen het instelvenster van de Rule. 12. Het is mogelijk om de sluitlichten zo in te stellen dat ze bij daglicht aangezet moeten worden wanneer het regent. 13. Engels, Spaans en Nederlands worden op dit moment ondersteund. 14. Instellingenvenster kan worden weer gegeven in platte tekst of grafisch. Verander hiervoor in de config.txt de HTML parameters van de Rule in de string-table en laat vervolgens de cache van Trainz herbouwen.
Beperkingen 1. Sluitlichten veranderen niet van status wanneer de rijrichting veranderd, dit gedrag is al build-in. 2. Door de manier hoe de frontlichten (a.lightx) zijn geïmplanteerd in Trainz Railroad Simulator hebben we hier geen volledige controle over. We hebben besloten om dit te beperken, wat resulteert in een onvolledig beheer over de verlichting. 3. Frontlichten reageren niet goed op verandering van rijrichting in DCC mode (tenzij de trein er een a.cabback point aanwezig is dan kun je door op [ALT] + C te drukken van cabine wisselen en hiermee de verlichting van richten aanpassen.)
112
bekende bugs 1. Af en toe, wanneer je met een sessie van Surveyor direct naar driver toe gaat het is het knipperlicht op elke wagon zichtbaar. Wij denken dat deze bug gerelateerd is aan Train Railroad Simulator zelf en niet aan de rule. 2. Wanneer je koppelt wanneer de throttle op 0 staat de lichten veranderen niet tot dat je stilstaat of de throttle aanpast.
Reference Table 1. Je hoeft niet allen corona’s in je model te plaatsen, plaats alleen de corona’s welke je wilt gebruiken in je model. 2. Corona’s 6,7,14,15 zijn gereserveerd voor speciale configuraties. Op dit moment werken ze als sluitlichten welke alleen ’s nachts werken 3. Rijtuigen maken gebruik van corona 4,5,12,13 als sluit lichten. Op dit moment gaan ze overdag aan en wanneer het regent (afhankelijk van wat je hebt ingesteld. Wagons kunnen gebruik maken van een gekoppelde mesh. 4. Corona’s 2,3,10,11 zijn geen markeer lichten, maar frontlichten. De points in de mesh moeten de a.lights points overlappen in de trein, maar niet geschikt voor rijtuigen.
113
mesh-table Voeg het aantal van corona’s toe in het effects blok van de mesh-table en geef een texture-kuid mee voor elke corona en pas de grote hiervan naar wens aan. De rule laad de corona’s uit via de kuid-table van de locomotief. De texture-kuid in het effects blok is nodig voor een statisch zichtbaar effect in Railyard en Surveyor. Het plaatsen van de juiste texture-kuids op dit moment bevordert de presentatie van je object. Voor verdere verbetering van het object kun je een onzichtbare corona gebruiken om deze lichtpunten te verbergen zodat ze standaard niet te zien zijn. Wanneer je geen texture-kuid meegeeft bij een corona zal de kleur van de corona geel zijn. config: mesh-table { default { mesh your_loco_body/your_loco_body.im auto-create 1 effects { corona0 { kind corona att a.corona0 texture-kuid object-size 0.075 } } } shadow { mesh your_loco_shadow/your_loco_shadow.im } }
114
Kuid-table & String-table De volgende stap is het invoegen van de volgende regels in de kuid-table van de config.txt. Deze rule zal de corona’s zoeken welke hier gebruikt zijn; corona_null word tijdens het rijden niet gebruikt. Zoals al eerder geschreven stuurt de rule de corona’s dynamisch aan. Je mag het KUIDnummer van de corona’s aanpassen, maar de benamingen moeten gelijk blijven. Deze worden gebruikt, door de rule, om te bepalen welke corona waar voor dient. Het is aanbevolen om een icon toe te voegen om binnen Trainz Railroad Simulator aan te geven dat het voertuig geschikt is voor deze rule. Code:
kuid-table { icon_llcr corona_light corona_head corona_tail corona_tail2 corona_null } Voeg vervolgens de volgende regels toe aan de string-table van de locomotief. Het is belangrijk om het zelfde versie nummer op te geven van de rule welke je gebruikt. Een hoger nummer wil niet werken met een laag nummer, terwijl andersom vaak beter is omdat er in de tussentijd foutjes uit de rule gehaald zijn. De LLCR_Type parameter bevat de volgende waardes: "LOCO" Te gebruiken voor elektra, diesel en stoom treinen en stoomtreinen met tender. "LOCO+TENDER" Stoomtreinen met een losse tender. .
115
"COACH" Hoewel rijtuigen niet elke corona gebruikt moet je deze op de zelfde manier invullen in de kuid-table als bij een locomotief. Code:
string-table { LLCR_VER_MAJOR "1" LLCR_VER_MINOR "0" LLCR_TYPE "LOCO" } Tot slot de LLCR icon. Deze icon verteld de gebruiker dat dit voertuig geschikt gemaakt is voor de LLCR rule. Zijn KUID is toegevoegd aan de kuid-table een paar stappen terug. Om deze icon binnen Train Railroad Simulator zichtbaar te maken moet je de onderstaande regel toevoegen aan de config.txt. Code: icon3
We hebben besloten deze icon als laatste te plaatsen, zodat het geen conflict geeft tussen een icon die al mogelijk eerder toegevoegd is aan de config.txt Zoals op de afbeelding te zien is word het icoon zichtbaar. Tot zo ver de config.txt. In de mesh moeten een aantal points toegevoegd worden genaamd a.coronaX. Op de plaats van de X moet een nummer komen te staan welke overeen komt met de refence table en met je config.txt effect blok. Bestudeer de Gmax voorbeelden om te zien hoe je ze moet gebruiken.
116
Wagons & Tenders Kar en tender configuratie is iets anders, je hebt geen corona’s, maar lantaarn. FREDs of welk eindstuk je ook kiest. Om te beginnen moet je een aantal stukken maken. (voorkant en achterkant). Deze zullen geconfigureerd moeten worden als kind: mesh. Maak het stuk als object rondom een vast punt in de kar en exporteer deze vervolgens als een ander bestand, centreer de handel naar 0,0,0 in Gmax. De config.txt mesh-table zal er ongeveer uitzien als het onderstaande voorbeeld: Code:
mesh-table { default { mesh tail_lantern.im auto-create 1 effects { corona0 { kind corona att a.corona0 texture-kuid object-size 0.085 frequency 2 } corona1 { kind corona att a.corona1 texture-kuid object-size 0.085 frequency 2 } } } }
117
Je bent verplicht om de benamingen voor de corona en point corona0 en corona1 te noemen, maar je bent vrij om zelf te bepalen welke corona-KUID je wilt gebruiken, de grootte hiervan en de frequency voor een knipperlicht. De volgende mesh-table is een een rijtuig body, in dit voorbeeld gebruiken we a.limfront/a.limback als attachment point, maar je bent vrij om je eigen point te gebruiken hiervoor. Onze suggestie is om de Gmax voorbeelden hiervoor door te nemen. Opnieuw ben je verplicht om je aan de benamingen te houden. (tail_device_front/tail_device_back). Code:
mesh-table { default { mesh your_wagon_body/your_wagon_body.im auto-create 1 effects { tail_device_front { kind attachment default-mesh att a.limfront } tail_device_back { kind attachment default-mesh att a.limback } } } shadow { mesh your_wagon_shadow/your_wagon_shadow.im } }
118
De kuid-table van een rijtuig is iets anders dan de vorige voorbeelden, omdat we hier geen corona gebruikt hebben. Code:
kuid-table { icon_llcr tail_device_front tail_device_back } Hetzelfde voor locomotieven voor versie nummers, maar LLCR_TYPE moet hier "TENDER" of "WAGON" zijn. Code:
string-table { LLCR_VER_MAJOR "1" LLCR_VER_MINOR "0" LLCR_TYPE "WAGON" } And tot slot de regels voor het LLCR icon. Code: icon3
Download Voorbeeldbestanden: http://web.ibertrainz.com/descargas/LLCR_BETA1/llcr_demo_sources_1.1.rar
Demo pack 1.1: http://web.ibertrainz.com/descargas/LLCR_BETA1/llcr_demo_pack_1.1.cdp
119
Trainz Railroad Simulator 2006 Documentatie
120
Content Creation Tips and Trucks Een document samen gesteld door Auran met informatie over het maken van objecten. Hierin staat extra informatie maar vooral tips staan die niet past in de Content Creation Guide zit. http://files.auran.com/TRS2004/downloads/contentcreation/Content_Creation_Tips_and _Tricks.zip
General assets Sample TRS in-game files including config files. http://www.auran.com/trainz/creation/Trainz_custom.zip
Sample 3D Studio Max and gmax files including textures. http://www.auran.com/trainz/creation/source_files.zip
Rollingstock TRS asset PRR 40’Boxcar in-game files, source files and asset description. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Box_Car.zip
TRS asset GATX-Oilco Tank Car in-game files, source files and asset description. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Tank_Car.zip
TRS asset Coal Hopper in-game files, source files and asset description. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Coal_Hopper.zip
TRS asset Container Flat in-game files, source files and asset description. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Container_Flat.z ip
Interiors DD40x cabin interior in-game files, source files. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_dd40_interior.zip
PB15 Steam interior in-game files, source files. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_PB15_interior.zi p
121
Steam sound http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Steam_Sound.zi p
Twinkles Particle Effects Editor http://www.auran.com/TRS2004/downloads/contentcreation/Twinkles.zip
Other New TRS Max 4 & 5 Plugin for Bumpmapping support and Bumpmapping description. http://www.auran.com/TRS2004/downloads/contentcreation/TRS_Max4_Plugin_Bump. zip
Level Of Detail Description (LOD) http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Level_of_Detail. zip
Load Texture Replacement http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Load_Texture_R eplacement.zip
Animation Event description. http://www.auran.com/TRS2004/downloads/contentcreation/TRS2004_Animation_Even ts.zip
Passenger Asset Tutorial. http://files.auran.com/TRS2004/downloads/contentcreation/SP2Passenger_Asset_Tutorial.zip
Variable Rules Tutorial. http://files.auran.com/TRS2004/downloads/contentcreation/SP2_VariableRulesTutorial. zip
API Programmer’s Reference Manual - covers most of the script classes and methods http://www.auran.com/TRS2004/trssp4dl/dpage.php
122
Trainz Railroad Simulator 2006 Software
123
Gmax/3D Studio Max software Om een nieuwe object te kunnen bouwen heb je de volgende software nodig: - Gmax http://www.turbosquid.com/gmax - Trainz Asset Creation Studio http://www.trainz.nl/downloads/faq/faq_content_creators.htm Gmax is het 3D-programma waarmee je de objecten kunt maken. Om een object van Gmax naar Trainz te kunnen krijgen heb je de plugin nodig. Mocht je in het bezit zijn van 3D Studio Max 4.2 en 3.1 zijn ook 2 plug-ins te downloaden. - 3D Studio MAX 3.1 Plugins for Trainz/UTC http://www.auran.com/trainz/creation/Auran_Trainz_MAX3.1_Plugins. exe - 3D Studio MAX 4.2 Plugins for Trainz/UTC http://www.auran.com/trainz/creation/Auran_Trainz_MAX4.2_Plugins. exe
124
Ophalen Serial Gmax Het ophalen van een serialcode voor Gmax is iets ingewikkeld, omdat het verstopt is op de website. Hieronder heb ik stap voor stap beschreven wat je moet doen om de serialcode op te halen. 1. Open http://www.turbosquid.com/ in je Internet Browser.
2. Klik op "members" 3. Maak hier een account
125
4 Na bevestiging van email kun je je aanmelden op de site via de zelfde pagina
5 Klik op "support"
6 Klik op "Gmax Registration Code:" 7 En zie hier de serialcode
De serialcode is maar een bepaalde tijd geldig. Wanneer de serialcode niet meer werkt, bijvoorbeeld wanneer je Gmax opnieuw wilt installeren op de computer, zul je opnieuw een serialcode moeten ophalen via de site. Je kunt dan beginnen bij stap 4 het inloggen op de site.
126
Third Party Software Naast de basis zijn er ook nog tal van losse programma's die de helpende hand kunnen bieden. Zo zijn er de volgende tools:
TRAINZ OBJECT EXPLORER (TOE) De ultieme tool om je eigen objecten te bekijken zonder Trainz elke keer opnieuw te moeten starten. http://trainz.luvr.net/projects/tolaris/476/toe0992.zip
Auran Jet Trainz file viewer Net zoals TOE, is dit ook een viewer waarmee je Trainz objecten buiten Trainz kunt bekijken. Dit programma is gebouwd op de kernel van Trainz, waardoor het resultaat na genoeg gelijk is als dat in Trainz. In tegenstelling tot TOE, kun je in dit programma animaties afspelen en de stand van de zon veranderen. http://members.aol.com/jkathlj/JetPrograms/trview.zip
Trainz Downloader Pro Een alternatief voor de Trainz Download Helper, is Trainz Downloader Pro. Met dit programma kun je zonder problemen downloaden van het Auran Download Station. Geen 99% CPU gebruik meer en meer CPU over voor andere programma's. http://www.casperit.com/ib/index.html
127
Trainz Map Met deze tool kun je een kaartje van je layout maken, printen en bekijken buiten Trainz http://www.vistamaresoft.com/trainz/
128
Trainz Railroad Simulator 2006 Gmax trucs
129
Back-up registersleutel Gmax Om Gmax straks te kunnen gebruiken zonder serialcode moet je in het Windows register een sleutel downloaden en deze opslaan in een bestand. Hieronder een omschrijving hiervan. * * * * *
Start "regedit" Zoek de sleutel "HKEY_CURRENT_USER\Software\Autodesk\Gmax" Selecteer deze Bestand -> exporteren... En sla hem op als "gmax.reg"
Wanneer je Gmax opnieuw moet installeren. Kun je eerste op de normale manier Gmax installeren. En vervolgens wanneer je een serailcode moet invullen het bestand "gmax.reg" starten. Nu kun je Gmax gebruiken zonder daarvoor een serialcode te hoeven ophalen van internet.
130
Gebruik van alpha-textures Hieronder laat ik zien hoe je ramen maakt voor Trainz Railroad Simulator 2006. Om deze texture op een goede manier te doorlopen heb je basiskennis nodig over het bouwen van objecten voor Trainz Railroad Simulator. Er zijn meerdere manieren om ramen te maken. Ik laat hier alleen de manier zien van het maken van een gat in Gmax doormiddel van een alpha texture. Met de deze methode kunnen we hekken, zijwanden van treinen of gewoon ramen mee uitsnijden. Velen zouden het voorbeeld hiernaast maken door gebruik te maken van boolean. Wij doen dit nu op een totaal andere manier. Om te beginnen hebben we een TGA bestand nodig van 16x16 pixels groot. Deze kleuren we geheel rood. Dit bestand slaan we op als rood.tga
De tweede afbeelding maken we 16x16 pixels groot en slaan we op straks op als BMP. De afbeelding kleuren we wit in, met in het midden een zwart vierkant. Het witte vlak moet de kleurcode 255,255,255 hebben (in sommige gevallen wilt dit niet werken, maak dan gebruik van 254,254,254). Het zwarte vlak 0,0,0. Dit bestand slaan we op als alpha.bmp De volgende stap is Gmax opstarten, een plane maken van 5x5 meter. Hierop plaatsen wij zo dadelijk de twee afbeeldingen die we in de vorige stappen gemaakt hebben.
131
Open de materiaal editor. En maak een nieuw materiaal aan. We gaan nu de afbeeldingen hier opgegeven in deze lijst. Diffuse Color: rood.tga Opacity: alpha.bmp Plaats dit materiaal op de plane. En nu hebben we het volgende resultaat, wanneer je alles goed gedaan hebt.
132
Object kleuren zonder textures in Gmax Om te beginnen moet de JetExporter.cfg-file er naar het onderstaande voorbeeld uitzien. Bestand is te vinden in '..\gmax\gamepacks\Trainz\Plugins' JetExporter.cfg enableWarnings = 1 [gamepacks\Trainz\plugins\IndexedMeshExport.dll] { buildNeighborArray = 0 forceTxtOverwrite = 0 defaultMaterialColor = 0 disableautobillboard = 1 } [gamepacks\Trainz\plugins\ProgressiveMeshExport.dll] { buildNeighborArray = 0 forceTxtOverwrite = 0 defaultMaterialColor = 0 disableautobillboard = 1 } [gamepacks\Trainz\plugins\AnimationExport.dll] { } Na aanpassen van de JetExporter.cfg-file is het mogelijk om de kleurblokjes te gebruiken onder 'blinn basic parameters'. Textures met 1 bepaalde kleur zijn door gebruik hiervan niet meer nodig. Standaard staat deze kleur op 150,150,150 (grijs). Zodra er een texture gebruikt word met een aangepaste JetExporter.cfg-file worden de textures standaard donkerder. Om dit te voorkomen dienen de Ambient en Diffuse op 255,255,255 gezet te worden bij alle gebruikte materialen van het object. Met 'Self Illmunination' is het mogelijk om het object 's nachts te laten oplichten. Bij treinen werkt deze methode niet.
133
Textures object omzetten naar .texture-files Kopieer eerst de map van het object naar de bin directory waar textureconvert.exe staat. En klop vervolgens de onderstaande command-line in dos uit. TextureConvert.exe -r *.texture.txt Vervolgens alle afbeeldingen + .texture.txt files verwijderen. En klaar.
134
Bronnen Hieronder vind je een lijst met bronnen welke gebruikt zijn om dit document op te bouwen. -
Auran Trainz Railroad Simulator 2004: Content Creation Guide 2004
-
Foto voorkant Content Creation Guide: http://www.bastiaanstreinensite.nl
-
Omschrijving Loco Lighting Control Rule: http://web.ibertrainz.com/descargas/LLCR_BETA1/llcr_ref.html
-
Afbeeldingen Trainz covers wereldwijd: http://www.railsimpro.com/charlie/trainzchron/
-
Trainz Wiki met informatie over bouwen van objecten http://cordessoftware.com/TRS_Wiki/openwiking/owbase/ow.asp ?a=fullsearch&txt=TitleIndex&fromtitle=true
-
Script DieselFuelLoco http://pages.prodigy.net/rpearson/_wsn/page4.html
-
Handleiding Twinkles Effect http://www.lestorouteworks.co.uk
135
Nawoord Hoop dat dit document zijn doel volstaat heeft. Het compleet maken van informatie over, het maken van objecten, voor Trainz Railroad Simulator 2006. Waarbij alles voorbij gekomen is van Content Manager Plus, Gmax tot aan Trainz Railroad Simulator 2006 zelf. Mochten er alsnog vragen zijn kun je deze altijd stellen op het forum of in de chatbox. Dit document is geschreven door Jan Valkenburg (angelus12)
136