Scripting
Contents |
Script References
TrainzScript Language Reference - learn the syntax and runtime environment of the TrainzScript language.
TrainzScript Library Reference - read through the API documentation of the system libraries included with Trainz.
TrainzScript Message Reference - documentation covering the messaging system in Trainz.
Getting Started in TrainzScript - tutorials covering the first steps in writing asset scripts.
iTrainz - learn how to establish communication between scripts running on different users' machines and manage persistent data keyed to the local user's account.
TrackSearch - perform runtime analysis of the track layout of a route, including junctions, signalling and trains.
TrainzScript User Interface - implementing user interfaces in TrainzScript.
New TrainzScript Features - recent additions to the scripting environment (TS2009).
Script usage within Trainz
Scripted Assets - customize the behavior of your content using script.
Session Rules - create flexible rules which act as building blocks and allow scripters and non-scripters to configure their sessions.
Script Libraries - implement reusable library code and distribute it as a standalone asset, allowing yourself or other scripters to make use of your functions without embedding a specific version of your code within each new asset.
Object Instance Scripts - customise a specific object instance within a route or session without the need to create a unique asset.
iTrainz Servlets - develop server scripts for the iTrainz environment.
Incubator - a home for new script technologies.
Scripting in Trainz A New Era SP2 and beyond
With TANE SP2 and beyond, we are introducing some major differences in the way routes are loaded and saved. Since we are moving towards information being streamed in as required, scripts will need to be updated to handle these new methods.
Here are some links that will assist scripters in discovering more about the new features. We will update the referece information over time, but meanwhile, feel free to update the wiki yourself with examples of your work.
- Asynchronous_Route_Streaming - 'Explanation of the new streaming process'
- Category_List - 'List of categories to identify how the asset is used within Trainz that can be used by scripters'
- TrainzDev forum thread
- Sniffing Messages forum thread
- Route Load and Save changes
- GameObjectID forum thread
- Deriving GameObject from object name in SP2
Feedback
Script Feature Requests - have a cool idea, but missing that one crucial API? Request it here.