Target References

From HLKitWiki
Revision as of 19:39, 5 December 2008 by Rob (Talk | contribs)

Jump to: navigation, search

Context: HL KitKit Reference 

Overview

When managing data via scripts, the first step is to establish the correct script context. Once you've identified the desired context, you'll then need to specify the appropriate target reference to retrieve or manipulate the specific information you want. Every script context has an assortment of target references that provide access to data pertaining to that context.

NOTE! If the current script context is invalid, any target reference used within that context. If this occurs during run-time, the operation will be ignored and the target identifier will return zero. A suitable error will generally be displayed, but not always. An example of an invalid context is when a pick attempts to transition to a field that does not exist within that pick.

Target Reference Behaviors

Every target reference is assigned a behavior that dictates how it can be used within scripts. There are three different behaviors that are described in the table below.

Right-Only This target reference can only be utilized on the right side of an assignment statement or with the "perform" statement. The value returned is specified within its description.
Left-Only This target reference can only be utilized on the left side of an assignment statement. It must be assigned a value in accordance with its description.
Left-Right This target reference may be used on either the left or right side of an assignment statement, or it may be used within a "perform" statement. If used on the right side, the value returned is specified within its description. If used on the left side, it must be assigned a value in accordance with its description.

Use of Identity

There are a number of target references across different contexts that make use of identity tags. For each of these target references, a tag group is specified, but no actual tag. This is because the script itself implicitly identifies the tag id based on the initial context of the script. The source of the identity tag is dictated by the pick or thing that begins as the initial context, with the unique id of that object being used as the identity tag id. The group in which to locate that identity tag is specified with the target reference. If the resulting identity tag does not exist, a run-time error is reported.

The use of identity target references has an important limitation. The identity source is based on the initial script context, and only things and picks possess identity tags. Consequently, identity target references can only be used from within scripts whose initial context is either a thing or a pick. Use from any other script results in a compilation error.

Topics

The topics below delineate the various target references that are available within each context.