HowTo/Upgrade obsolete script functions

From TrainzOnline
< HowTo
Revision as of 12:18, 3 March 2022 by Pw3r (Talk | contribs)

Jump to: navigation, search

This page serves as a hub for how to upgrade/replace uses of various obsolete script functions.

Note that this is not a comprehensive list. Trainz has existed for more than two decades and there are dozens of obsolete script functions as a result. This guide aims to cover only the more complex upgrade cases, where the replacement functions may not be immediately obvious, or may be considerably more difficult to use.

Contents

GameObject.GetId

Previous Usage

Returns a numeric ID used to identify a GameObject within the script context.

Reason for Obsoletion

With the advent of Route streaming world objects may now be unloaded/reloaded during gameplay, and these IDs can be reused by different objects. This makes the ID itself unreliable, and uses of it are better served by more modern functions.

Replacement Function

Standard uses of the integer ID can be swapped to using the objects GameObjectID instead. Call GameObject.GetGameObject() to get the ID.

Further Reading

See GameObjectID.gs in your Trainz installations resources/script folder for more information on the GameObjectID class. See HowTo/Upgrade_GetId_to_GetGameObjectID for a practical example of how to replace some common integer ID uses with GameObjectID

GameObject.GetName

TODO

Router.GetGameObject

TODO

World.Get*List

TODO

Asset.GetConfigSoup

TODO

Asset.GetStringTable

TODO

TrainzScript.GetAssetList

TODO

TrainzScript.SearchAssets

TODO

Personal tools