mirror of
https://github.com/Sei-Lisa/LSL-PyOptimizer
synced 2025-07-01 07:38:21 +00:00
1628 lines
37 KiB
Text
1628 lines
37 KiB
Text
# Function properties table
|
|
#
|
|
# Copyright © 2015-2018 Sei Lisa. All rights reserved.
|
|
#
|
|
# This file is part of LSL PyOptimizer.
|
|
#
|
|
# LSL PyOptimizer is free software: you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License as
|
|
# published by the Free Software Foundation, either version 3 of the
|
|
# License, or (at your option) any later version.
|
|
#
|
|
# LSL PyOptimizer is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with LSL PyOptimizer. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# This file provides information to the optimizer about the behaviour of
|
|
# functions and events. This knowledge can help perform a better job at
|
|
# optimizing. All functions and events present in builtins.txt must be here
|
|
# and vice versa.
|
|
|
|
# Flags are entered with a dash at the beginning of the line, then a space,
|
|
# then the flag. Flags apply to the function they are under. There can be none
|
|
# before the first function.
|
|
#
|
|
# Available flags:
|
|
#
|
|
# stable:
|
|
# Two successive calls with the same parameters are assumed to return
|
|
# the same results in most reasonable cases. When it's stable and SEF
|
|
# it's posible to simplify two identical calls into one. Example:
|
|
# llGetPermissions(). Counterexample: llFrand(). This is the default;
|
|
# unstable functions must be marked as such. Does not apply to void
|
|
# functions. This flag is not implemented; 'unstable' is.
|
|
#
|
|
# unstable:
|
|
# Not stable. This flag IS implemented.
|
|
#
|
|
# strlen:
|
|
# Marks the function as accepting one unique parameter of type string,
|
|
# and returning 0 is equivalent to the parameter being an empty string.
|
|
#
|
|
# detect:
|
|
# Marks the function/event as being a detection one.
|
|
#
|
|
# touch:
|
|
# Marks the event as being a touch event.
|
|
#
|
|
# grab:
|
|
# Marks the event as enabling grab detection.
|
|
#
|
|
# delay <value>:
|
|
# Function has a delay.
|
|
#
|
|
# SEF [if <condition>]:
|
|
# Side-effect free. The function has no side effects when executed,
|
|
# which means that when used in a situation where it does nothing,
|
|
# it can be removed without affecting execution. Example:
|
|
# llGetNumberOfPrims(). All functions with delay have a side effect
|
|
# (the delay itself).
|
|
#
|
|
# With if <condition>, the function is SEF if the parameters are
|
|
# found to meet the condition. Syntax of <condition> is explained below.
|
|
#
|
|
# min:
|
|
# Applied to functions that return integer or float. Specifies the
|
|
# minimum value it may return. If not present, assume the minimum
|
|
# possible (-inf for floats, -2147483648 for integers). Use like this:
|
|
#
|
|
# - min <min value>
|
|
#
|
|
# max:
|
|
# Like min, but for the maximum value.
|
|
#
|
|
# return <value> [if <condition>]:
|
|
# Self-explanatory. There can be several; they are evaluated in order.
|
|
# <value> can be a parameter or a LSL constant. <condition> is explaned
|
|
# below.
|
|
#
|
|
# <condition>
|
|
# Subset of LSL expressions using only (, ), ==, !=, <, <=, >, >=,
|
|
# &&, ||, constants, function parameters and one function. As an extension,
|
|
# Python-like operator chaining works, e.g. a < b < c or a == b == c.
|
|
# && has more priority than ||.
|
|
# The type of comparisons is bool and can't be used as integer.
|
|
# Lists are compared for equal. Elements in lists, vectors and
|
|
# rotations must be constants.
|
|
#
|
|
# ['<' and '>' need spaces around them when they are comparisons;
|
|
# vectors need to have no space after '<' or before '>'.] -> Let's not,
|
|
# and see what happens.
|
|
#
|
|
# Strings are automatically type cast to key when necessary, and integers
|
|
# to floats, but not vice versa. Function bool nulluuid(key k) is allowed.
|
|
#
|
|
# There's a pseudo-parameter of type string that is always available:
|
|
# event (the event where the function is called, if known; else "")
|
|
|
|
# A comment like this:
|
|
#
|
|
# physics caveat
|
|
#
|
|
# means that tests show it's apparently stable because physics are
|
|
# recomputed every frame, and the frame doesn't change that often.
|
|
|
|
integer llAbs( integer val )
|
|
- SEF
|
|
- min 0
|
|
|
|
float llAcos( float val )
|
|
- SEF
|
|
|
|
void llAddToLandBanList( key avatar, float hours )
|
|
- delay 0.1
|
|
|
|
void llAddToLandPassList( key avatar, float hours )
|
|
- delay 0.1
|
|
|
|
void llAdjustSoundVolume( float volume )
|
|
- delay 0.1
|
|
|
|
integer llAgentInExperience( key agent )
|
|
- SEF
|
|
- min 0
|
|
- max 1
|
|
|
|
void llAllowInventoryDrop( integer add )
|
|
|
|
float llAngleBetween( rotation a, rotation b )
|
|
- SEF
|
|
|
|
void llApplyImpulse( vector force, integer local )
|
|
|
|
void llApplyRotationalImpulse( vector force, integer local )
|
|
|
|
float llAsin( float val )
|
|
- SEF
|
|
|
|
float llAtan2( float y, float x )
|
|
- SEF
|
|
|
|
void llAttachToAvatar( integer attach_point )
|
|
|
|
void llAttachToAvatarTemp( integer attach_point )
|
|
|
|
key llAvatarOnLinkSitTarget( integer link )
|
|
- SEF
|
|
- return "00000000-0000-0000-0000-000000000000" if link < -2147483647 || link > 256
|
|
|
|
key llAvatarOnSitTarget( )
|
|
- SEF
|
|
|
|
rotation llAxes2Rot( vector fwd, vector left, vector up )
|
|
- SEF
|
|
|
|
rotation llAxisAngle2Rot( vector axis, float angle )
|
|
- SEF
|
|
|
|
integer llBase64ToInteger( string str )
|
|
# While it's unstable for some strings, we ignore that part.
|
|
- SEF
|
|
|
|
string llBase64ToString( string str )
|
|
- SEF
|
|
|
|
void llBreakAllLinks( )
|
|
|
|
void llBreakLink( integer linknum )
|
|
- SEF if linknum > 256
|
|
|
|
list llCSV2List( string src )
|
|
- SEF
|
|
|
|
list llCastRay( vector start, vector end, list params )
|
|
- SEF
|
|
|
|
integer llCeil( float val )
|
|
- SEF
|
|
|
|
void llClearCameraParams( )
|
|
|
|
void llClearExperiencePermissions( key agent )
|
|
|
|
integer llClearLinkMedia( integer link, integer face )
|
|
- min 0
|
|
- max 2001
|
|
- SEF if link > 256 || link < -2147483647
|
|
- return 0 if link < -2147483647 || link > 256
|
|
|
|
integer llClearPrimMedia( integer face )
|
|
- delay 1.0
|
|
- min 0
|
|
- max 2001
|
|
|
|
void llCloseRemoteDataChannel( key channel )
|
|
- delay 1.0
|
|
|
|
float llCloud( vector offset )
|
|
- SEF
|
|
- min 0
|
|
- max 0
|
|
- return 0
|
|
|
|
void llCollisionFilter( string name, key id, integer accept )
|
|
|
|
void llCollisionSound( string impact_sound, float impact_volume )
|
|
|
|
void llCollisionSprite( string impact_sprite )
|
|
- SEF
|
|
|
|
float llCos( float theta )
|
|
- SEF
|
|
- min -1
|
|
- max 1
|
|
|
|
void llCreateCharacter( list options )
|
|
|
|
key llCreateKeyValue( string k, string v )
|
|
- unstable
|
|
|
|
void llCreateLink( key target, integer parent )
|
|
- delay 1.0
|
|
|
|
key llDataSizeKeyValue( )
|
|
- unstable
|
|
|
|
void llDeleteCharacter( )
|
|
|
|
key llDeleteKeyValue( string k )
|
|
- unstable
|
|
|
|
list llDeleteSubList( list src, integer start, integer end )
|
|
- SEF
|
|
|
|
string llDeleteSubString( string src, integer start, integer end )
|
|
- SEF
|
|
|
|
void llDetachFromAvatar( )
|
|
|
|
vector llDetectedGrab( integer number )
|
|
- detect
|
|
- SEF
|
|
# llDetectedGrab() only works for touch(), not for touch_start() etc.
|
|
- return <0,0,0> if event != "" && event != "touch" || number < 0 || number > 15
|
|
|
|
integer llDetectedGroup( integer number )
|
|
- detect
|
|
- SEF
|
|
- min 0
|
|
- max 1
|
|
- return 0 if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
|
|
key llDetectedKey( integer number )
|
|
- detect
|
|
- SEF
|
|
- return "00000000-0000-0000-0000-000000000000" if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
|
|
integer llDetectedLinkNumber( integer number )
|
|
- detect
|
|
- SEF
|
|
- min 0
|
|
- max 256
|
|
- return 0 if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
|
|
string llDetectedName( integer number )
|
|
- detect
|
|
- SEF
|
|
- return "00000000-0000-0000-0000-000000000000" if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
|
|
key llDetectedOwner( integer number )
|
|
- detect
|
|
- SEF
|
|
- return "00000000-0000-0000-0000-000000000000" if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
|
|
vector llDetectedPos( integer number )
|
|
- detect
|
|
- SEF
|
|
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
|
|
rotation llDetectedRot( integer number )
|
|
- detect
|
|
- SEF
|
|
- return <0,0,0,1> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
|
|
vector llDetectedTouchBinormal( integer number )
|
|
- detect
|
|
- SEF
|
|
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" || number < 0 || number > 15
|
|
|
|
integer llDetectedTouchFace( integer number )
|
|
- detect
|
|
- SEF
|
|
- min -1
|
|
- max 8
|
|
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" || number < 0 || number > 15
|
|
|
|
vector llDetectedTouchNormal( integer number )
|
|
- detect
|
|
- SEF
|
|
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" || number < 0 || number > 15
|
|
|
|
vector llDetectedTouchPos( integer number )
|
|
- detect
|
|
- SEF
|
|
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" || number < 0 || number > 15
|
|
|
|
vector llDetectedTouchST( integer number )
|
|
- detect
|
|
- SEF
|
|
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
- return <-1,-1,0> if (event == "collision" || event == "collision_start" || event == "collision_end" || event == "sensor") && number == 0
|
|
|
|
vector llDetectedTouchUV( integer number )
|
|
- detect
|
|
- SEF
|
|
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
- return <-1,-1,0> if (event == "collision" || event == "collision_start" || event == "collision_end" || event == "sensor") && number == 0
|
|
|
|
integer llDetectedType( integer number )
|
|
- detect
|
|
- SEF
|
|
- min 0
|
|
- max 15
|
|
- return 0 if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
|
|
vector llDetectedVel( integer number )
|
|
- detect
|
|
- SEF
|
|
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" && event != "collision" && event != "collision_start" && event != "collision_end" && event != "sensor" || number < 0 || number > 15
|
|
|
|
void llDialog( key avatar, string message, list buttons, integer chat_channel )
|
|
- delay 1.0
|
|
|
|
void llDie( )
|
|
|
|
string llDumpList2String( list src, string separator )
|
|
- SEF
|
|
|
|
integer llEdgeOfWorld( vector pos, vector dir )
|
|
- SEF
|
|
|
|
void llEjectFromLand( key avatar )
|
|
|
|
void llEmail( string address, string subject, string message )
|
|
- delay 20.0
|
|
|
|
string llEscapeURL( string url )
|
|
- SEF
|
|
|
|
rotation llEuler2Rot( vector v )
|
|
- SEF
|
|
|
|
void llEvade( key target, list options )
|
|
|
|
void llExecCharacterCmd( integer cmd, list options )
|
|
|
|
float llFabs( float val )
|
|
- SEF
|
|
- min 0
|
|
|
|
void llFleeFrom( vector source, float radius, list options )
|
|
|
|
integer llFloor( float val )
|
|
- SEF
|
|
|
|
void llForceMouselook( integer mouselook )
|
|
|
|
float llFrand( float mag )
|
|
- unstable
|
|
- SEF
|
|
|
|
key llGenerateKey( )
|
|
- unstable
|
|
- SEF
|
|
|
|
vector llGetAccel( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
integer llGetAgentInfo( key id )
|
|
- SEF
|
|
- return 0 if nulluuid(id)
|
|
|
|
string llGetAgentLanguage( key avatar )
|
|
- SEF
|
|
- return "" if nulluuid(id)
|
|
|
|
list llGetAgentList( integer scope, list options )
|
|
- SEF
|
|
- return "INVALID_SCOPE" if scope != 1 && scope != 2 && scope != 4
|
|
|
|
vector llGetAgentSize( key id )
|
|
- SEF
|
|
- return <0,0,0> if nulluuid(id)
|
|
|
|
float llGetAlpha( integer face )
|
|
- SEF
|
|
- return 1 if face > 8
|
|
|
|
float llGetAndResetTime( )
|
|
- unstable
|
|
|
|
string llGetAnimation( key id )
|
|
- SEF
|
|
- return "" if nulluuid(id)
|
|
|
|
list llGetAnimationList( key id )
|
|
- SEF
|
|
- return "" if nulluuid(id)
|
|
|
|
string llGetAnimationOverride( string anim_state )
|
|
# may err, therefore not SEF
|
|
|
|
integer llGetAttached( )
|
|
- SEF
|
|
- min 0
|
|
- max 55
|
|
|
|
list llGetAttachedList( key agent )
|
|
- SEF
|
|
- return ["NOT FOUND"] if nulluuid(agent)
|
|
|
|
list llGetBoundingBox( key object )
|
|
- SEF
|
|
- return [] if nulluuid(object)
|
|
|
|
vector llGetCameraPos( )
|
|
# it errs therefore not SEF
|
|
|
|
rotation llGetCameraRot( )
|
|
# it errs therefore not SEF
|
|
|
|
vector llGetCenterOfMass( )
|
|
- SEF
|
|
|
|
list llGetClosestNavPoint( vector point, list options )
|
|
# Claimed to have a delay, but such delay is 1 frame (?)
|
|
- SEF
|
|
|
|
vector llGetColor( integer face )
|
|
- SEF
|
|
- return <1,1,1> if face > 8
|
|
|
|
key llGetCreator( )
|
|
- SEF
|
|
|
|
string llGetDate( )
|
|
- SEF
|
|
|
|
string llGetDisplayName( key id )
|
|
- SEF
|
|
- return "" if nulluuid(id)
|
|
|
|
float llGetEnergy( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
- min 0
|
|
- max 1
|
|
|
|
string llGetEnv( string name )
|
|
- SEF
|
|
- return "" if name == ""
|
|
|
|
list llGetExperienceDetails( key experience_id )
|
|
- SEF
|
|
|
|
string llGetExperienceErrorMessage( integer value )
|
|
- SEF
|
|
- return "no error" if value == 0
|
|
- return "exceeded throttle" if value == 1
|
|
- return "experiences are disabled" if value == 2
|
|
- return "invalid parameters" if value == 3
|
|
- return "operation not permitted" if value == 4
|
|
- return "script not associated with an experience" if value == 5
|
|
- return "not found" if value == 6
|
|
- return "invalid experience" if value == 7
|
|
- return "experience is disabled" if value == 8
|
|
- return "experience is suspended" if value == 9
|
|
- return "unknown error" if value == 10
|
|
- return "experience data quota exceeded" if value == 11
|
|
- return "key-value store is disabled" if value == 12
|
|
- return "key-value store communication failed" if value == 13
|
|
- return "key doesn't exist" if value == 14
|
|
- return "retry update" if value == 15
|
|
- return "experience content rating too high" if value == 16
|
|
- return "not allowed to run in current location" if value == 17
|
|
- return "experience permissions request timed out" if value == 18
|
|
- return "unknown error id"
|
|
|
|
list llGetExperienceList( key agent )
|
|
- SEF
|
|
- return []
|
|
|
|
vector llGetForce( )
|
|
- SEF
|
|
|
|
integer llGetFreeMemory( )
|
|
- SEF
|
|
- min 0
|
|
- max 65536
|
|
|
|
integer llGetFreeURLs( )
|
|
- SEF
|
|
- min 0
|
|
- max 65536
|
|
|
|
float llGetGMTclock( )
|
|
- SEF
|
|
- min 0
|
|
- max 86399
|
|
|
|
vector llGetGeometricCenter( )
|
|
- SEF
|
|
|
|
string llGetHTTPHeader( key request_id, string header )
|
|
- SEF
|
|
- return "" if nulluuid(request_id)
|
|
|
|
key llGetInventoryCreator( string item )
|
|
- SEF
|
|
|
|
key llGetInventoryKey( string name )
|
|
- SEF
|
|
- return "00000000-0000-0000-0000-000000000000" if name == ""
|
|
|
|
string llGetInventoryName( integer type, integer number )
|
|
- SEF
|
|
- return "" if type != -1 && type != 0 && type != 1 && type != 3 && type != 5 && type != 6 && type != 7 && type != 10 && type != 13 && type != 20 && type != 21 || number < 0
|
|
|
|
integer llGetInventoryNumber( integer type )
|
|
- SEF
|
|
- return 0 if type != -1 && type != 0 && type != 1 && type != 3 && type != 5 && type != 6 && type != 7 && type != 10 && type != 13 && type != 20 && type != 21
|
|
|
|
integer llGetInventoryPermMask( string item, integer mask )
|
|
- SEF
|
|
- return 0 if mask < 0 || mask > 4 || item == ""
|
|
|
|
# we've completed up to here
|
|
|
|
integer llGetInventoryType( string name )
|
|
- SEF
|
|
|
|
key llGetKey( )
|
|
- SEF
|
|
|
|
key llGetLandOwnerAt( vector pos )
|
|
- SEF
|
|
|
|
key llGetLinkKey( integer linknumber )
|
|
- SEF
|
|
|
|
list llGetLinkMedia( integer link, integer face, list params )
|
|
- SEF
|
|
|
|
string llGetLinkName( integer linknumber )
|
|
- SEF
|
|
|
|
integer llGetLinkNumber( )
|
|
- SEF
|
|
|
|
integer llGetLinkNumberOfSides( integer link )
|
|
- SEF
|
|
|
|
list llGetLinkPrimitiveParams( integer linknumber, list rules )
|
|
- SEF
|
|
|
|
integer llGetListEntryType( list src, integer index )
|
|
- SEF
|
|
- min 0
|
|
- max 6
|
|
|
|
integer llGetListLength( list src )
|
|
- SEF
|
|
- min 0
|
|
|
|
vector llGetLocalPos( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
rotation llGetLocalRot( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
float llGetMass( )
|
|
- SEF
|
|
|
|
float llGetMassMKS( )
|
|
- SEF
|
|
|
|
float llGetMaxScaleFactor( )
|
|
- SEF
|
|
|
|
integer llGetMemoryLimit( )
|
|
- SEF
|
|
|
|
float llGetMinScaleFactor( )
|
|
- SEF
|
|
|
|
void llGetNextEmail( string address, string subject )
|
|
|
|
key llGetNotecardLine( string name, integer line )
|
|
- unstable
|
|
- delay 0.1
|
|
|
|
key llGetNumberOfNotecardLines( string name )
|
|
- unstable
|
|
- delay 0.1
|
|
|
|
integer llGetNumberOfPrims( )
|
|
- SEF
|
|
|
|
integer llGetNumberOfSides( )
|
|
- SEF
|
|
|
|
string llGetObjectDesc( )
|
|
- SEF
|
|
|
|
list llGetObjectDetails( key id, list params )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
float llGetObjectMass( key id )
|
|
- SEF
|
|
|
|
string llGetObjectName( )
|
|
- SEF
|
|
|
|
integer llGetObjectPermMask( integer mask )
|
|
- SEF
|
|
|
|
integer llGetObjectPrimCount( key object_id )
|
|
- SEF
|
|
|
|
vector llGetOmega( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
key llGetOwner( )
|
|
- SEF
|
|
|
|
key llGetOwnerKey( key id )
|
|
- SEF
|
|
- return "00000000-0000-0000-0000-000000000000" if nulluuid(id)
|
|
|
|
list llGetParcelDetails( vector pos, list params )
|
|
- SEF
|
|
|
|
integer llGetParcelFlags( vector pos )
|
|
- SEF
|
|
|
|
integer llGetParcelMaxPrims( vector pos, integer sim_wide )
|
|
- SEF
|
|
|
|
string llGetParcelMusicURL( )
|
|
- SEF
|
|
|
|
integer llGetParcelPrimCount( vector pos, integer category, integer sim_wide )
|
|
- SEF
|
|
|
|
list llGetParcelPrimOwners( vector pos )
|
|
- delay 2.0
|
|
|
|
integer llGetPermissions( )
|
|
- SEF
|
|
|
|
key llGetPermissionsKey( )
|
|
- SEF
|
|
|
|
list llGetPhysicsMaterial( )
|
|
- SEF
|
|
|
|
vector llGetPos( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
list llGetPrimMediaParams( integer face, list params )
|
|
- delay 1.0
|
|
|
|
list llGetPrimitiveParams( list params )
|
|
- delay 0.2
|
|
|
|
integer llGetRegionAgentCount( )
|
|
- SEF
|
|
|
|
vector llGetRegionCorner( )
|
|
- SEF
|
|
|
|
float llGetRegionFPS( )
|
|
- SEF
|
|
|
|
integer llGetRegionFlags( )
|
|
- SEF
|
|
|
|
string llGetRegionName( )
|
|
- SEF
|
|
|
|
float llGetRegionTimeDilation( )
|
|
- SEF
|
|
|
|
vector llGetRootPosition( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
rotation llGetRootRotation( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
rotation llGetRot( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
integer llGetSPMaxMemory( )
|
|
- SEF
|
|
|
|
vector llGetScale( )
|
|
- SEF
|
|
|
|
string llGetScriptName( )
|
|
- SEF
|
|
|
|
integer llGetScriptState( string name )
|
|
- SEF
|
|
|
|
float llGetSimStats( integer stat_type )
|
|
- SEF
|
|
|
|
string llGetSimulatorHostname( )
|
|
- delay 10.0
|
|
|
|
integer llGetStartParameter( )
|
|
- SEF
|
|
|
|
list llGetStaticPath( vector start, vector end, float radius, list params )
|
|
# believed to be side-effect free
|
|
- SEF
|
|
|
|
integer llGetStatus( integer status )
|
|
- SEF
|
|
- min 0
|
|
- max 1
|
|
|
|
string llGetSubString( string src, integer start, integer end )
|
|
- SEF
|
|
|
|
vector llGetSunDirection( )
|
|
- SEF
|
|
|
|
string llGetTexture( integer face )
|
|
- SEF
|
|
- return "00000000-0000-0000-0000-000000000000" if face > 8
|
|
|
|
vector llGetTextureOffset( integer face )
|
|
- SEF
|
|
- return <0,0,0> if face > 8
|
|
|
|
float llGetTextureRot( integer side )
|
|
- SEF
|
|
- return 0 if side > 8
|
|
|
|
vector llGetTextureScale( integer side )
|
|
- SEF
|
|
- return <0,0,0> if side > 8
|
|
|
|
float llGetTime( )
|
|
- SEF
|
|
# It's stable within the same frame.
|
|
|
|
float llGetTimeOfDay( )
|
|
- unstable
|
|
- SEF
|
|
|
|
string llGetTimestamp( )
|
|
- unstable
|
|
- SEF
|
|
|
|
vector llGetTorque( )
|
|
- SEF
|
|
|
|
integer llGetUnixTime( )
|
|
- SEF
|
|
|
|
integer llGetUsedMemory( )
|
|
- unstable
|
|
- SEF
|
|
|
|
string llGetUsername( key id )
|
|
- SEF
|
|
|
|
vector llGetVel( )
|
|
# physics caveat
|
|
#- unstable
|
|
- SEF
|
|
|
|
float llGetWallclock( )
|
|
- SEF
|
|
- min 0
|
|
- max 86399
|
|
|
|
void llGiveInventory( key destination, string inventory )
|
|
# delay only applies if giving to avatars
|
|
# (delay is not important because it's not applied when SEF)
|
|
#- delay 2.0
|
|
- SEF if nulluuid(destination)
|
|
|
|
void llGiveInventoryList( key target, string folder, list inventory )
|
|
- delay 3.0
|
|
|
|
integer llGiveMoney( key destination, integer amount )
|
|
- min 0
|
|
- max 0
|
|
|
|
void llGodLikeRezObject( key inventory, vector pos )
|
|
|
|
float llGround( vector offset )
|
|
- SEF
|
|
- min 0
|
|
|
|
vector llGroundContour( vector offset )
|
|
- SEF
|
|
|
|
vector llGroundNormal( vector offset )
|
|
- SEF
|
|
|
|
void llGroundRepel( float height, integer water, float tau )
|
|
|
|
vector llGroundSlope( vector offset )
|
|
- SEF
|
|
|
|
key llHTTPRequest( string url, list parameters, string body )
|
|
- unstable
|
|
|
|
void llHTTPResponse( key request_id, integer status, string body )
|
|
|
|
string llInsertString( string dst, integer position, string src )
|
|
- SEF
|
|
|
|
void llInstantMessage( key user, string message )
|
|
- delay 2.0
|
|
|
|
string llIntegerToBase64( integer number )
|
|
- SEF
|
|
|
|
list llJson2List( string json )
|
|
- SEF
|
|
|
|
string llJsonGetValue( string json, list specifiers )
|
|
- SEF
|
|
|
|
string llJsonSetValue( string json, list specifiers, string value )
|
|
- SEF
|
|
|
|
string llJsonValueType( string json, list specifiers )
|
|
- SEF
|
|
|
|
string llKey2Name( key id )
|
|
- SEF
|
|
|
|
key llKeyCountKeyValue( )
|
|
- unstable
|
|
|
|
key llKeysKeyValue( integer start, integer count )
|
|
- unstable
|
|
|
|
void llLinkParticleSystem( integer linknumber, list rules )
|
|
- SEF if linknumber > 256
|
|
|
|
void llLinkSitTarget( integer link, vector offset, rotation rot )
|
|
- SEF if link > 256
|
|
|
|
string llList2CSV( list src )
|
|
- SEF
|
|
|
|
float llList2Float( list src, integer index )
|
|
- SEF
|
|
|
|
integer llList2Integer( list src, integer index )
|
|
- SEF
|
|
|
|
string llList2Json( string type, list values )
|
|
- SEF
|
|
|
|
key llList2Key( list src, integer index )
|
|
- SEF
|
|
|
|
list llList2List( list src, integer start, integer end )
|
|
- SEF
|
|
|
|
list llList2ListStrided( list src, integer start, integer end, integer stride )
|
|
- SEF
|
|
|
|
rotation llList2Rot( list src, integer index )
|
|
- SEF
|
|
|
|
string llList2String( list src, integer index )
|
|
- SEF
|
|
|
|
vector llList2Vector( list src, integer index )
|
|
- SEF
|
|
|
|
integer llListFindList( list src, list test )
|
|
- SEF
|
|
- min -1
|
|
|
|
list llListInsertList( list dest, list src, integer start )
|
|
- SEF
|
|
|
|
list llListRandomize( list src, integer stride )
|
|
- unstable
|
|
- SEF
|
|
|
|
list llListReplaceList( list dest, list src, integer start, integer end )
|
|
- SEF
|
|
|
|
list llListSort( list src, integer stride, integer ascending )
|
|
- SEF
|
|
|
|
float llListStatistics( integer operation, list src )
|
|
- SEF
|
|
|
|
integer llListen( integer channel, string name, key id, string msg )
|
|
|
|
void llListenControl( integer number, integer active )
|
|
- SEF if number == 0
|
|
|
|
void llListenRemove( integer number )
|
|
- SEF if number == 0
|
|
|
|
void llLoadURL( key avatar, string message, string url )
|
|
- delay 0.1
|
|
|
|
float llLog( float val )
|
|
- SEF
|
|
|
|
float llLog10( float val )
|
|
- SEF
|
|
|
|
void llLookAt( vector target, float strength, float damping )
|
|
|
|
void llLoopSound( string sound, float volume )
|
|
|
|
void llLoopSoundMaster( string sound, float volume )
|
|
|
|
void llLoopSoundSlave( string sound, float volume )
|
|
|
|
string llMD5String( string src, integer nonce )
|
|
- SEF
|
|
|
|
void llMakeExplosion( integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset )
|
|
- delay 0.1
|
|
|
|
void llMakeFire( integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset )
|
|
- delay 0.1
|
|
|
|
void llMakeFountain( integer particles, float scale, float vel, float lifetime, float arc, integer bounce, string texture, vector offset, float bounce_offset )
|
|
- delay 0.1
|
|
|
|
void llMakeSmoke( integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset )
|
|
- delay 0.1
|
|
|
|
integer llManageEstateAccess( integer action, key id )
|
|
# TODO: Find what happens on invalid action codes, to see if they are SEF.
|
|
- min 0
|
|
- max 1
|
|
|
|
void llMapDestination( string simname, vector pos, vector look_at )
|
|
- delay 1.0
|
|
|
|
void llMessageLinked( integer linknum, integer num, string str, key id )
|
|
- SEF if linknum > 256
|
|
|
|
void llMinEventDelay( float delay )
|
|
|
|
integer llModPow( integer a, integer b, integer c )
|
|
- delay 1.0
|
|
|
|
void llModifyLand( integer action, integer brush )
|
|
|
|
void llMoveToTarget( vector target, float tau )
|
|
|
|
void llNavigateTo( vector point, list options )
|
|
|
|
void llOffsetTexture( float u, float v, integer face )
|
|
- delay 0.2
|
|
|
|
void llOpenRemoteDataChannel( )
|
|
- delay 1.0
|
|
|
|
integer llOverMyLand( key id )
|
|
- SEF
|
|
- min 0
|
|
- max 1
|
|
# assumed:
|
|
- return 0 if nulluuid(id)
|
|
|
|
void llOwnerSay( string msg )
|
|
|
|
void llParcelMediaCommandList( list command )
|
|
- delay 2.0
|
|
|
|
list llParcelMediaQuery( list query )
|
|
- delay 2.0
|
|
|
|
list llParseString2List( string src, list separators, list spacers )
|
|
- SEF
|
|
|
|
list llParseStringKeepNulls( string src, list separators, list spacers )
|
|
- SEF
|
|
|
|
void llParticleSystem( list rules )
|
|
|
|
void llPassCollisions( integer pass )
|
|
|
|
void llPassTouches( integer pass )
|
|
|
|
void llPatrolPoints( list points, list options )
|
|
|
|
void llPlaySound( string sound, float volume )
|
|
|
|
void llPlaySoundSlave( string sound, float volume )
|
|
|
|
void llPointAt( vector pos )
|
|
- SEF
|
|
|
|
float llPow( float base, float exponent )
|
|
- SEF
|
|
|
|
void llPreloadSound( string sound )
|
|
- delay 1.0
|
|
|
|
void llPursue( key target, list options )
|
|
|
|
void llPushObject( key id, vector impulse, vector ang_impulse, integer local )
|
|
|
|
key llReadKeyValue( string k )
|
|
- unstable
|
|
|
|
void llRefreshPrimURL( )
|
|
# emits an error -> has side effects
|
|
- delay 20.0
|
|
|
|
void llRegionSay( integer channel, string msg )
|
|
# channel 0 emits an error -> not SEF
|
|
|
|
void llRegionSayTo( key target, integer channel, string msg )
|
|
|
|
void llReleaseCamera( key avatar )
|
|
- SEF
|
|
|
|
void llReleaseControls( )
|
|
|
|
void llReleaseURL( string url )
|
|
- SEF if url == ""
|
|
|
|
void llRemoteDataReply( key channel, key message_id, string sdata, integer idata )
|
|
- delay 3.0
|
|
|
|
void llRemoteDataSetRegion( )
|
|
|
|
void llRemoteLoadScript( key target, string name, integer running, integer start_param )
|
|
# emits an error -> has side effects
|
|
- delay 3.0
|
|
|
|
void llRemoteLoadScriptPin( key target, string name, integer pin, integer running, integer start_param )
|
|
- delay 3.0
|
|
|
|
void llRemoveFromLandBanList( key avatar )
|
|
- delay 0.1
|
|
|
|
void llRemoveFromLandPassList( key avatar )
|
|
- delay 0.1
|
|
|
|
void llRemoveInventory( string item )
|
|
|
|
void llRemoveVehicleFlags( integer flags )
|
|
|
|
key llRequestAgentData( key id, integer data )
|
|
- unstable
|
|
- delay 0.1
|
|
|
|
key llRequestDisplayName( key id )
|
|
- unstable
|
|
- SEF if nulluuid(id)
|
|
|
|
void llRequestExperiencePermissions( key agent, string name )
|
|
|
|
key llRequestInventoryData( string name )
|
|
- unstable
|
|
- delay 1.0
|
|
|
|
void llRequestPermissions( key agent, integer perm )
|
|
# if agent does not exist, it errs, so this is not true:
|
|
#- SEF if perm == 0
|
|
|
|
key llRequestSecureURL( )
|
|
- unstable
|
|
|
|
key llRequestSimulatorData( string simulator, integer data )
|
|
- unstable
|
|
- delay 1.0
|
|
|
|
key llRequestURL( )
|
|
- unstable
|
|
|
|
key llRequestUsername( key id )
|
|
- unstable
|
|
|
|
void llResetAnimationOverride( string anim_state )
|
|
|
|
void llResetLandBanList( )
|
|
- delay 0.1
|
|
|
|
void llResetLandPassList( )
|
|
- delay 0.1
|
|
|
|
void llResetOtherScript( string name )
|
|
|
|
void llResetScript( )
|
|
- stop
|
|
|
|
void llResetTime( )
|
|
|
|
integer llReturnObjectsByID( list objects )
|
|
- min -5
|
|
- max 65536
|
|
|
|
integer llReturnObjectsByOwner( key owner, integer scope )
|
|
# assumed unstable
|
|
- unstable
|
|
- min -5
|
|
- max 65536
|
|
|
|
void llRezAtRoot( string inventory, vector pos, vector vel, rotation rot, integer param )
|
|
- delay 0.1
|
|
|
|
void llRezObject( string inventory, vector pos, vector vel, rotation rot, integer param )
|
|
- delay 0.1
|
|
|
|
float llRot2Angle( rotation rot )
|
|
- SEF
|
|
|
|
vector llRot2Axis( rotation rot )
|
|
- SEF
|
|
|
|
vector llRot2Euler( rotation q )
|
|
- SEF
|
|
|
|
vector llRot2Fwd( rotation q )
|
|
- SEF
|
|
|
|
vector llRot2Left( rotation q )
|
|
- SEF
|
|
|
|
vector llRot2Up( rotation q )
|
|
- SEF
|
|
|
|
rotation llRotBetween( vector v1, vector v2 )
|
|
- SEF
|
|
|
|
void llRotLookAt( rotation target, float strength, float damping )
|
|
|
|
integer llRotTarget( rotation rot, float error )
|
|
- unstable
|
|
|
|
void llRotTargetRemove( integer number )
|
|
|
|
void llRotateTexture( float angle, integer face )
|
|
- delay 0.2
|
|
|
|
integer llRound( float val )
|
|
- SEF
|
|
|
|
string llSHA1String( string src )
|
|
- SEF
|
|
|
|
integer llSameGroup( key id )
|
|
- SEF
|
|
- min 0
|
|
- max 1
|
|
|
|
void llSay( integer channel, string msg )
|
|
|
|
integer llScaleByFactor( float scaling_factor )
|
|
- unstable
|
|
- min 0
|
|
- max 1
|
|
|
|
void llScaleTexture( float u, float v, integer face )
|
|
- delay 0.2
|
|
|
|
integer llScriptDanger( vector pos )
|
|
- SEF
|
|
- min 0
|
|
- max 1
|
|
|
|
void llScriptProfiler( integer flags )
|
|
|
|
key llSendRemoteData( key channel, string dest, integer idata, string sdata )
|
|
- unstable
|
|
- delay 3.0
|
|
|
|
void llSensor( string name, key id, integer type, float range, float arc )
|
|
# type == 0 || range == 0 cancels a sensor in this frame.
|
|
|
|
void llSensorRemove( )
|
|
|
|
void llSensorRepeat( string name, key id, integer type, float range, float arc, float rate )
|
|
|
|
void llSetAlpha( float alpha, integer face )
|
|
- SEF if face > 8
|
|
|
|
void llSetAngularVelocity( vector angular_velocity, integer local )
|
|
|
|
void llSetAnimationOverride( string anim_state, string anim )
|
|
|
|
void llSetBuoyancy( float buoyancy )
|
|
|
|
void llSetCameraAtOffset( vector offset )
|
|
|
|
void llSetCameraEyeOffset( vector offset )
|
|
|
|
void llSetCameraParams( list rules )
|
|
|
|
void llSetClickAction( integer action )
|
|
|
|
void llSetColor( vector color, integer face )
|
|
- SEF if face > 8
|
|
|
|
void llSetContentType( key request_id, integer content_type )
|
|
- SEF if nulluuid(request_id)
|
|
|
|
void llSetDamage( float damage )
|
|
|
|
void llSetForce( vector force, integer local )
|
|
|
|
void llSetForceAndTorque( vector force, vector torque, integer local )
|
|
|
|
void llSetHoverHeight( float height, integer water, float tau )
|
|
|
|
void llSetInventoryPermMask( string item, integer mask, integer value )
|
|
|
|
void llSetKeyframedMotion( list keyframes, list options )
|
|
|
|
void llSetLinkAlpha( integer linknumber, float alpha, integer face )
|
|
- SEF if linknumber > 256 || face > 8
|
|
|
|
void llSetLinkCamera( integer link, vector eye, vector at )
|
|
- SEF if link > 256
|
|
|
|
void llSetLinkColor( integer linknumber, vector color, integer face )
|
|
- SEF if linknumber > 256 || face > 8
|
|
|
|
integer llSetLinkMedia( integer link, integer face, list params )
|
|
- SEF if link > 256
|
|
|
|
void llSetLinkPrimitiveParams( integer linknumber, list rules )
|
|
- delay 0.2
|
|
|
|
void llSetLinkPrimitiveParamsFast( integer linknumber, list rules )
|
|
- SEF if linknumber > 256
|
|
|
|
void llSetLinkTexture( integer linknumber, string texture, integer face )
|
|
- delay 0.2
|
|
|
|
void llSetLinkTextureAnim( integer link, integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate )
|
|
- SEF if linknumber > 256
|
|
|
|
void llSetLocalRot( rotation rot )
|
|
- delay 0.2
|
|
|
|
integer llSetMemoryLimit( integer limit )
|
|
- SEF if limit <= 0
|
|
- min 0
|
|
- max 1
|
|
|
|
void llSetObjectDesc( string desc )
|
|
|
|
void llSetObjectName( string name )
|
|
|
|
void llSetObjectPermMask( integer mask, integer value )
|
|
|
|
void llSetParcelMusicURL( string url )
|
|
- delay 2.0
|
|
|
|
void llSetPayPrice( integer price, list quick_pay_buttons )
|
|
|
|
void llSetPhysicsMaterial( integer flags, float gravity_multiplier, float restitution, float friction, float density )
|
|
- SEF if flags == 0
|
|
|
|
void llSetPos( vector pos )
|
|
- delay 0.2
|
|
|
|
integer llSetPrimMediaParams( integer face, list params )
|
|
- delay 1.0
|
|
|
|
void llSetPrimURL( string url )
|
|
# emits an error -> has side effects
|
|
- delay 20.0
|
|
|
|
void llSetPrimitiveParams( list rules )
|
|
- delay 0.2
|
|
|
|
integer llSetRegionPos( vector pos )
|
|
# unstable because it may fail when becoming more accurate and positioning
|
|
# over an invalid parcel
|
|
- unstable
|
|
- min 0
|
|
- max 1
|
|
|
|
void llSetRemoteScriptAccessPin( integer pin )
|
|
- delay 0.2
|
|
|
|
void llSetRot( rotation rot )
|
|
- delay 0.2
|
|
|
|
void llSetScale( vector scale )
|
|
|
|
void llSetScriptState( string name, integer run )
|
|
|
|
void llSetSitText( string text )
|
|
|
|
void llSetSoundQueueing( integer queue )
|
|
|
|
void llSetSoundRadius( float radius )
|
|
|
|
void llSetStatus( integer status, integer value )
|
|
|
|
void llSetText( string text, vector color, float alpha )
|
|
|
|
void llSetTexture( string texture, integer face )
|
|
- delay 0.2
|
|
|
|
void llSetTextureAnim( integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate )
|
|
|
|
void llSetTimerEvent( float sec )
|
|
|
|
void llSetTorque( vector torque, integer local )
|
|
|
|
void llSetTouchText( string text )
|
|
|
|
void llSetVehicleFlags( integer flags )
|
|
|
|
void llSetVehicleFloatParam( integer param, float value )
|
|
|
|
void llSetVehicleRotationParam( integer param, rotation rot )
|
|
|
|
void llSetVehicleType( integer type )
|
|
|
|
void llSetVehicleVectorParam( integer param, vector vec )
|
|
|
|
void llSetVelocity( vector velocity, integer local )
|
|
|
|
void llShout( integer channel, string msg )
|
|
|
|
float llSin( float theta )
|
|
- SEF
|
|
|
|
integer llSitOnLink( key agent_id, integer link )
|
|
- min -7
|
|
- max 1
|
|
|
|
void llSitTarget( vector offset, rotation rot )
|
|
|
|
void llSleep( float sec )
|
|
|
|
void llSound( string sound, float volume, integer queue, integer loop )
|
|
|
|
void llSoundPreload( string sound )
|
|
|
|
float llSqrt( float val )
|
|
- SEF
|
|
|
|
void llStartAnimation( string anim )
|
|
|
|
void llStopAnimation( string anim )
|
|
|
|
void llStopHover( )
|
|
|
|
void llStopLookAt( )
|
|
|
|
void llStopMoveToTarget( )
|
|
|
|
void llStopPointAt( )
|
|
|
|
void llStopSound( )
|
|
|
|
integer llStringLength( string str )
|
|
- SEF
|
|
- min 0
|
|
- strlen
|
|
|
|
string llStringToBase64( string str )
|
|
- SEF
|
|
|
|
string llStringTrim( string src, integer trim_type )
|
|
- SEF
|
|
|
|
integer llSubStringIndex( string source, string pattern )
|
|
- SEF
|
|
- min -1
|
|
|
|
void llTakeCamera( key avatar )
|
|
- SEF
|
|
|
|
void llTakeControls( integer controls, integer accept, integer pass_on )
|
|
|
|
float llTan( float theta )
|
|
- SEF
|
|
|
|
integer llTarget( vector position, float range )
|
|
- unstable
|
|
|
|
void llTargetOmega( vector axis, float spinrate, float gain )
|
|
|
|
void llTargetRemove( integer number )
|
|
- SEF if number == 0
|
|
|
|
void llTeleportAgent( key avatar, string landmark, vector position, vector look_at )
|
|
|
|
void llTeleportAgentGlobalCoords( key agent, vector global_coordinates, vector region_coordinates, vector look_at )
|
|
|
|
void llTeleportAgentHome( key id )
|
|
- delay 5.0
|
|
|
|
void llTextBox( key avatar, string message, integer chat_channel )
|
|
- delay 1.0
|
|
|
|
string llToLower( string src )
|
|
- SEF
|
|
|
|
string llToUpper( string src )
|
|
- SEF
|
|
|
|
key llTransferLindenDollars( key destination, integer amount )
|
|
- unstable
|
|
|
|
void llTriggerSound( string sound, float volume )
|
|
|
|
void llTriggerSoundLimited( string sound, float volume, vector top_north_east, vector bottom_south_west )
|
|
|
|
void llUnSit( key id )
|
|
|
|
string llUnescapeURL( string url )
|
|
- SEF
|
|
|
|
void llUpdateCharacter( list options )
|
|
|
|
key llUpdateKeyValue( string k, string v, integer checked, string original_value )
|
|
- unstable
|
|
|
|
float llVecDist( vector v1, vector v2 )
|
|
- SEF
|
|
|
|
float llVecMag( vector v )
|
|
- SEF
|
|
|
|
vector llVecNorm( vector v )
|
|
- SEF
|
|
|
|
void llVolumeDetect( integer detect )
|
|
|
|
void llWanderWithin( vector center, vector radius, list options )
|
|
|
|
float llWater( vector offset )
|
|
- SEF
|
|
- min 0
|
|
|
|
void llWhisper( integer channel, string msg )
|
|
|
|
vector llWind( vector offset )
|
|
- SEF
|
|
|
|
string llXorBase64( string str1, string str2 )
|
|
- SEF
|
|
|
|
string llXorBase64Strings( string str1, string str2 )
|
|
- delay 0.3
|
|
|
|
string llXorBase64StringsCorrect( string str1, string str2 )
|
|
- SEF
|
|
|
|
|
|
###################################################################
|
|
|
|
# Events are SEF if a script with an empty event can't be
|
|
# distinguished from a script without that event except for the
|
|
# extra CPU and memory consumption.
|
|
|
|
event at_rot_target( integer tnum, rotation targetrot, rotation ourrot )
|
|
- SEF
|
|
|
|
event at_target( integer tnum, vector targetpos, vector ourpos )
|
|
- SEF
|
|
|
|
event attach( key id )
|
|
- SEF
|
|
|
|
event changed( integer change )
|
|
- SEF
|
|
|
|
event collision( integer num_detected )
|
|
- detect
|
|
# Prevents events in the parent from triggering, depending on llPassCollisions,
|
|
# therefore not SEF.
|
|
|
|
event collision_end( integer num_detected )
|
|
- detect
|
|
# Not SEF; see collision().
|
|
|
|
event collision_start( integer num_detected )
|
|
- detect
|
|
# Not SEF; see collision().
|
|
|
|
event control( key id, integer level, integer edge )
|
|
- SEF
|
|
|
|
event dataserver( key queryid, string data )
|
|
- SEF
|
|
|
|
event email( string time, string address, string subj, string message, integer num_left )
|
|
- SEF
|
|
|
|
event experience_permissions( key agent )
|
|
- SEF
|
|
|
|
event experience_permissions_denied( key agent, integer reason )
|
|
- SEF
|
|
|
|
event http_request( key id, string method, string body )
|
|
# Since you can't see the URL, you can't notice the difference.
|
|
- SEF
|
|
|
|
event http_response( key request_id, integer status, list metadata, string body )
|
|
- SEF
|
|
|
|
event land_collision( vector pos )
|
|
# Same as with collision().
|
|
|
|
event land_collision_end( vector pos )
|
|
# Same as with collision().
|
|
|
|
event land_collision_start( vector pos )
|
|
# Same as with collision().
|
|
|
|
event link_message( integer sender_num, integer num, string str, key id )
|
|
- SEF
|
|
|
|
event listen( integer channel, string name, key id, string message )
|
|
- SEF
|
|
|
|
event money( key id, integer amount )
|
|
# Adds Pay menu option, therefore not SEF.
|
|
|
|
event moving_end( )
|
|
- SEF
|
|
|
|
event moving_start( )
|
|
- SEF
|
|
|
|
event no_sensor( )
|
|
- SEF
|
|
|
|
event not_at_rot_target( )
|
|
- SEF
|
|
|
|
event not_at_target( )
|
|
- SEF
|
|
|
|
event object_rez( key id )
|
|
- SEF
|
|
|
|
event on_rez( integer start_param )
|
|
- SEF
|
|
|
|
event path_update( integer type, list reserved )
|
|
- SEF
|
|
|
|
event remote_data( integer event_type, key channel, key message_id, string sender, integer idata, string sdata )
|
|
- SEF
|
|
|
|
event run_time_permissions( integer perm )
|
|
- SEF
|
|
|
|
event sensor( integer num_detected )
|
|
- detect
|
|
# There was a time when this was necessary for no_sensor() to trigger, but
|
|
# that's no longer the case and it is SEF now.
|
|
- SEF
|
|
|
|
event state_entry( )
|
|
- SEF
|
|
|
|
event state_exit( )
|
|
- SEF
|
|
|
|
event timer( )
|
|
- SEF
|
|
|
|
event touch( integer num_detected )
|
|
- touch
|
|
- detect
|
|
- grab
|
|
# Not SEF for the same reasons as collision(); also it adds a hand cursor.
|
|
|
|
event touch_end( integer num_detected )
|
|
- touch
|
|
- detect
|
|
# Not SEF; see touch().
|
|
|
|
event touch_start( integer num_detected )
|
|
- touch
|
|
- detect
|
|
# Not SEF; see touch().
|
|
|
|
event transaction_result( key id, integer success, string data )
|
|
- SEF
|