|LSL Portal||Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials|
Sets the pass-touches prim attribute.
|• integer||pass||–||PASS_* flag|
Whether Touches are passed to the root prim depends not only on which PASS_* flag is selected, but may also depend on if there is a script that in the prim that handles one of the touch events. For this reason most users will want to use PASS_ALWAYS or PASS_NEVER as they do not have this variable behavior.
The default value for this attribute is PASS_ALWAYS.
|Constant||Value||touch Script||No touch Script||Description|
|PASS_IF_NOT_HANDLED||0||not passed||passed||Touches are passed if there is no script handling the event in the prim.|
|PASS_ALWAYS||1||passed||passed||Default: Touches are always passed to the root.|
|PASS_NEVER||2||not passed||not passed||Touches are never passed to the root.|
Prior to Server Version 1.40.2, boolean and the only meaningful values were 0 and 1. The best practice at that time was to use the integer constants TRUE and FALSE. The design of this function left much to be desired. The problem was that while TRUE always caused all Touches to be passed along to the the root, FALSE would only not pass Touches if there the prim had a script that handled a touch event. This meant to fully utilize this function the prim must contain a script that handled touch events! With the release of Server Version 1.40.2, the PASS_* flags were introduced and the subtype of the was changed. Specifically the introduction of PASS_NEVER solved this problem, allowing content creators to eliminate scripts that were only in the object to tweak the passing of touch events.was couched in terms of being a
All Issues~ Search JIRA for related Issues
|SVC-3306||A|| Add enumeration to llPassCollisions() to provide PASS_ALWAYS, PASS_IF_NOT_HANDLED, and PASS_NEVER as explicit options.|
(Was: Collisions passed to parent REGARDLESS llPassCollisions(FALSE) in child)
function void llPassTouches( integer pass );