UniqueTID
int UniqueTID ([int tid[, int limit]])
Usage
Returns a new TID that is not currently used by any actors.
Parameters
- tid: Starting value from which to check. It has two modes of operation:
- If tid is non-zero, then it checks TIDs one-by-one starting at the given tid until it finds a free one.
- If tid is zero, then it returns a completely random TID.
- limit: Specifies the number of attempts to make to find a free TID. If limit is non-zero, then it will only check that many times for a free TID, so it might not find a free one. If no free TID is found, 0 is returned. If limit is zero, then the search is effectively unlimited.
Return value
0 if no free TID is found, a positive value corresponding to an unused TID otherwise.
Examples
This example is part of the code that can be used to see through the "eyes" of a missile(akin to Unreal Tournament's Redeemer) It is called in the Spawn state of the missile.
script "CameraRocket" (void) { int MissileID = UniqueTID(); // Get a random TID, it is sure that it will not use an already used one. Thing_ChangeTID(0, MissileID); // Set that TID to the fired missile SetActivatorToTarget(MissileID); // Use the target to select the player who fired this missile ChangeCamera(MissileID, 0, 0); // Set the camera for the player SetPlayerProperty(0, ON, PROP_Frozen); // Don't let the player move Thing_ChangeTID(MissileID, 0); // Remove the TID from the missile, as it is no longer needed. }
Note that the above function does not include turning of the missile based on the view angle or unfreezing the player when it explodes.
This article is issued from Zdoom. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.