2017-10-21 01:00:31 -07:00
# Function properties table
#
2024-04-14 02:40:21 -07:00
# Copyright © 2015-2024 Sei Lisa. All rights reserved.
2017-10-21 01:00:31 -07:00
#
# 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
2017-10-25 08:46:50 -07:00
# 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.
2017-10-21 01:00:31 -07:00
# Flags are entered with a dash at the beginning of the line, then a space,
2017-10-25 08:46:50 -07:00
# then the flag. Flags apply to the function they are under. There can be none
# before the first function.
2017-10-21 01:00:31 -07:00
#
# 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
2017-10-27 09:49:58 -07:00
# functions. This flag is not implemented; 'unstable' is.
2017-10-21 01:00:31 -07:00
#
# unstable:
2017-10-27 09:49:58 -07:00
# Not stable. This flag IS implemented.
2017-10-21 01:00:31 -07:00
#
2017-10-27 09:49:58 -07:00
# 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.
2017-10-21 01:00:31 -07:00
#
# 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.
#
2018-12-22 07:44:14 -07:00
# listto:
# Identifies the function as a list-extracting function, for use with
# lazy lists. It needs an LSL type as a parameter.
#
2017-10-21 01:00:31 -07:00
# 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>
2018-12-22 02:19:21 -07:00
# Subset of LSL expressions using only (, ), ==, !=, <, <=, >, >=,
2017-10-21 01:00:31 -07:00
# &&, ||, 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.
2018-12-22 02:19:21 -07:00
integer llAbs(integer val)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
2018-12-22 02:19:21 -07:00
float llAcos(float val)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min -3.1415927
- max 3.1415927
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llAddToLandBanList(key avatar, float hours)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llAddToLandPassList(key avatar, float hours)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llAdjustSoundVolume(float volume)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
integer llAgentInExperience(key agent)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 1
2018-12-22 02:19:21 -07:00
void llAllowInventoryDrop(integer add)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llAngleBetween(rotation a, rotation b)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
- max 3.1415927
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llApplyImpulse(vector force, integer local)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llApplyRotationalImpulse(vector force, integer local)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llAsin(float val)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min -1.5707964
- max 1.5707964
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llAtan2(float y, float x)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min -3.1415927
- max 3.1415927
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llAttachToAvatar(integer attach_point)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llAttachToAvatarTemp(integer attach_point)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llAvatarOnLinkSitTarget(integer link)
2017-10-21 01:00:31 -07:00
- SEF
- return "00000000-0000-0000-0000-000000000000" if link < -2147483647 || link > 256
2018-12-22 02:19:21 -07:00
key llAvatarOnSitTarget()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
rotation llAxes2Rot(vector fwd, vector left, vector up)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
rotation llAxisAngle2Rot(vector axis, float angle)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llBase64ToInteger(string str)
2017-10-21 01:00:31 -07:00
# While it's unstable for some strings, we ignore that part.
- SEF
2018-12-22 02:19:21 -07:00
string llBase64ToString(string str)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llBreakAllLinks()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llBreakLink(integer linknum)
2017-10-21 01:00:31 -07:00
- SEF if linknum > 256
2018-12-22 02:19:21 -07:00
list llCSV2List(string src)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llCastRay(vector start, vector end, list params)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llCeil(float val)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llClearCameraParams()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llClearExperiencePermissions(key agent)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llClearLinkMedia(integer link, integer face)
2017-10-21 01:00:31 -07:00
- min 0
- max 2001
- SEF if link > 256 || link < -2147483647
- return 0 if link < -2147483647 || link > 256
2018-12-22 02:19:21 -07:00
integer llClearPrimMedia(integer face)
2017-10-21 01:00:31 -07:00
- delay 1.0
- min 0
- max 2001
2018-12-22 02:19:21 -07:00
void llCloseRemoteDataChannel(key channel)
2017-10-21 01:00:31 -07:00
- delay 1.0
2018-12-22 02:19:21 -07:00
float llCloud(vector offset)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 0
- return 0
2018-12-22 02:19:21 -07:00
void llCollisionFilter(string name, key id, integer accept)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llCollisionSound(string impact_sound, float impact_volume)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llCollisionSprite(string impact_sprite)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
float llCos(float theta)
2017-10-21 01:00:31 -07:00
- SEF
- min -1
- max 1
2018-12-22 02:19:21 -07:00
void llCreateCharacter(list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llCreateKeyValue(string k, string v)
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
void llCreateLink(key target, integer parent)
2017-10-21 01:00:31 -07:00
- delay 1.0
2018-12-22 02:19:21 -07:00
key llDataSizeKeyValue()
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
void llDeleteCharacter()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llDeleteKeyValue(string k)
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
list llDeleteSubList(list src, integer start, integer end)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llDeleteSubString(string src, integer start, integer end)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llDetachFromAvatar()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llDetectedGrab(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- SEF
# llDetectedGrab() only works for touch(), not for touch_start() etc.
- return <0,0,0> if event != "" && event != "touch" || number < 0 || number > 15
2017-10-27 09:49:58 -07:00
2018-12-22 02:19:21 -07:00
integer llDetectedGroup(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
key llDetectedKey(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
integer llDetectedLinkNumber(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
string llDetectedName(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
key llDetectedOwner(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
vector llDetectedPos(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
rotation llDetectedRot(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
vector llDetectedTouchBinormal(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- SEF
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" || number < 0 || number > 15
2018-12-22 02:19:21 -07:00
integer llDetectedTouchFace(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- SEF
- min -1
- max 8
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" || number < 0 || number > 15
2018-12-22 02:19:21 -07:00
vector llDetectedTouchNormal(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- SEF
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" || number < 0 || number > 15
2018-12-22 02:19:21 -07:00
vector llDetectedTouchPos(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- SEF
- return <0,0,0> if event != "" && event != "touch" && event != "touch_start" && event != "touch_end" || number < 0 || number > 15
2018-12-22 02:19:21 -07:00
vector llDetectedTouchST(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
vector llDetectedTouchUV(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
integer llDetectedType(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
vector llDetectedVel(integer number)
2017-10-27 09:49:58 -07:00
- detect
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
void llDialog(key avatar, string message, list buttons, integer chat_channel)
2017-10-21 01:00:31 -07:00
- delay 1.0
2018-12-22 02:19:21 -07:00
void llDie()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llDumpList2String(list src, string separator)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llEdgeOfWorld(vector pos, vector dir)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
- max 1
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llEjectFromLand(key avatar)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llEmail(string address, string subject, string message)
2017-10-21 01:00:31 -07:00
- delay 20.0
2018-12-22 02:19:21 -07:00
string llEscapeURL(string url)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
rotation llEuler2Rot(vector v)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llEvade(key target, list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llExecCharacterCmd(integer cmd, list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llFabs(float val)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
2018-12-22 02:19:21 -07:00
void llFleeFrom(vector source, float radius, list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llFloor(float val)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llForceMouselook(integer mouselook)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llFrand(float mag)
2017-10-21 01:00:31 -07:00
- unstable
- SEF
2021-06-12 10:18:23 -07:00
# It's not really SEF, in that it supposedly updates the internal state,
# but assuming it's actually SEF is safe because the seed is unknown.
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llGenerateKey()
2017-10-21 01:00:31 -07:00
- unstable
- SEF
2018-12-22 02:19:21 -07:00
vector llGetAccel()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2018-12-22 02:19:21 -07:00
integer llGetAgentInfo(key id)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
- return 0 if nulluuid(id)
2018-12-22 02:19:21 -07:00
string llGetAgentLanguage(key avatar)
2017-10-21 01:00:31 -07:00
- SEF
- return "" if nulluuid(id)
2018-12-22 02:19:21 -07:00
list llGetAgentList(integer scope, list options)
2017-10-21 01:00:31 -07:00
- SEF
- return "INVALID_SCOPE" if scope != 1 && scope != 2 && scope != 4
2018-12-22 02:19:21 -07:00
vector llGetAgentSize(key id)
2017-10-21 01:00:31 -07:00
- SEF
- return <0,0,0> if nulluuid(id)
2018-12-22 02:19:21 -07:00
float llGetAlpha(integer face)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
- max 1
2017-10-21 01:00:31 -07:00
- return 1 if face > 8
2018-12-22 02:19:21 -07:00
float llGetAndResetTime()
2017-10-21 01:00:31 -07:00
- unstable
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llGetAnimation(key id)
2017-10-21 01:00:31 -07:00
- SEF
- return "" if nulluuid(id)
2018-12-22 02:19:21 -07:00
list llGetAnimationList(key id)
2017-10-21 01:00:31 -07:00
- SEF
- return "" if nulluuid(id)
2018-12-22 02:19:21 -07:00
string llGetAnimationOverride(string anim_state)
2017-10-21 01:00:31 -07:00
# may err, therefore not SEF
2018-12-22 02:19:21 -07:00
integer llGetAttached()
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 55
2018-12-22 02:19:21 -07:00
list llGetAttachedList(key agent)
2017-10-21 01:00:31 -07:00
- SEF
- return ["NOT FOUND"] if nulluuid(agent)
2018-12-22 02:19:21 -07:00
list llGetBoundingBox(key object)
2017-10-21 01:00:31 -07:00
- SEF
- return [] if nulluuid(object)
2018-12-22 02:19:21 -07:00
vector llGetCameraPos()
2017-10-21 01:00:31 -07:00
# it errs therefore not SEF
2018-12-22 02:19:21 -07:00
rotation llGetCameraRot()
2017-10-21 01:00:31 -07:00
# it errs therefore not SEF
2018-12-22 02:19:21 -07:00
vector llGetCenterOfMass()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llGetClosestNavPoint(vector point, list options)
2017-10-21 01:00:31 -07:00
# Claimed to have a delay, but such delay is 1 frame (?)
- SEF
2018-12-22 02:19:21 -07:00
vector llGetColor(integer face)
2017-10-21 01:00:31 -07:00
- SEF
- return <1,1,1> if face > 8
2018-12-22 02:19:21 -07:00
key llGetCreator()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llGetDate()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetDayLength()
2018-12-08 11:28:37 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2018-12-08 11:28:37 -07:00
2018-12-22 02:19:21 -07:00
integer llGetDayOffset()
2018-12-08 11:28:37 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llGetDisplayName(key id)
2017-10-21 01:00:31 -07:00
- SEF
- return "" if nulluuid(id)
2018-12-22 02:19:21 -07:00
float llGetEnergy()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
- min 0
- max 1
2018-12-22 02:19:21 -07:00
string llGetEnv(string name)
2017-10-21 01:00:31 -07:00
- SEF
- return "" if name == ""
2018-12-22 02:19:21 -07:00
list llGetEnvironment(vector pos, list params)
2018-11-09 11:07:48 -07:00
# presumed:
- SEF
# TODO: not used yet, check if it has more properties.
# Possibly a candidate for lslfuncopt.py (check).
2018-12-22 02:19:21 -07:00
list llGetExperienceDetails(key experience_id)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llGetExperienceErrorMessage(integer value)
2017-10-21 01:00:31 -07:00
- 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"
2018-12-22 02:19:21 -07:00
list llGetExperienceList(key agent)
2017-10-21 01:00:31 -07:00
- SEF
- return []
2018-12-22 02:19:21 -07:00
vector llGetForce()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetFreeMemory()
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 65536
2018-12-22 02:19:21 -07:00
integer llGetFreeURLs()
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 65536
2018-12-22 02:19:21 -07:00
float llGetGMTclock()
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 86399
2018-12-22 02:19:21 -07:00
vector llGetGeometricCenter()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llGetHTTPHeader(key request_id, string header)
2017-10-21 01:00:31 -07:00
- SEF
- return "" if nulluuid(request_id)
2018-12-22 02:19:21 -07:00
key llGetInventoryCreator(string item)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
key llGetInventoryKey(string name)
2017-10-21 01:00:31 -07:00
- SEF
- return "00000000-0000-0000-0000-000000000000" if name == ""
2018-12-22 02:19:21 -07:00
string llGetInventoryName(integer type, integer number)
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
integer llGetInventoryNumber(integer type)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
- 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
2018-12-22 02:19:21 -07:00
integer llGetInventoryPermMask(string item, integer mask)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
- return 0 if mask < 0 || mask > 4 || item == ""
# we've completed up to here
2018-12-22 02:19:21 -07:00
integer llGetInventoryType(string name)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min -1
- max 57
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llGetKey()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
key llGetLandOwnerAt(vector pos)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
key llGetLinkKey(integer linknumber)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llGetLinkMedia(integer link, integer face, list params)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llGetLinkName(integer linknumber)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetLinkNumber()
2017-10-21 01:00:31 -07:00
- SEF
2019-01-06 15:49:33 -07:00
- min 0
2024-04-20 12:56:11 -07:00
- max 256
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llGetLinkNumberOfSides(integer link)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 1
- max 9
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
list llGetLinkPrimitiveParams(integer linknumber, list rules)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetListEntryType(list src, integer index)
2017-10-21 01:00:31 -07:00
- SEF
2017-10-25 09:36:48 -07:00
- min 0
- max 6
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llGetListLength(list src)
2017-10-21 01:00:31 -07:00
- SEF
2017-10-27 02:25:18 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llGetLocalPos()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2018-12-22 02:19:21 -07:00
rotation llGetLocalRot()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2018-12-22 02:19:21 -07:00
float llGetMass()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llGetMassMKS()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llGetMaxScaleFactor()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llGetMemoryLimit()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llGetMinScaleFactor()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llGetMoonDirection()
2018-12-08 11:28:37 -07:00
- SEF
2018-12-22 02:19:21 -07:00
rotation llGetMoonRotation()
2018-12-08 11:28:37 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llGetNextEmail(string address, string subject)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llGetNotecardLine(string name, integer line)
2017-10-21 01:00:31 -07:00
- unstable
- delay 0.1
2018-12-22 02:19:21 -07:00
key llGetNumberOfNotecardLines(string name)
2017-10-21 01:00:31 -07:00
- unstable
- delay 0.1
2018-12-22 02:19:21 -07:00
integer llGetNumberOfPrims()
2017-10-21 01:00:31 -07:00
- SEF
2019-01-06 15:49:33 -07:00
- min 1
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llGetNumberOfSides()
2017-10-21 01:00:31 -07:00
- SEF
2019-01-06 15:49:33 -07:00
- min 1
- max 9
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
list llGetObjectAnimationNames()
2018-06-25 18:16:05 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llGetObjectDesc()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llGetObjectDetails(key id, list params)
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2022-09-30 16:17:35 -07:00
key llGetObjectLinkKey(key id, integer link)
- SEF
2018-12-22 02:19:21 -07:00
float llGetObjectMass(key id)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llGetObjectName()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetObjectPermMask(integer mask)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llGetObjectPrimCount(key object_id)
2017-10-21 01:00:31 -07:00
- SEF
2019-01-06 15:49:33 -07:00
- min 0
- max 256
- return 0 if nulluuid(object_id)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llGetOmega()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2018-12-22 02:19:21 -07:00
key llGetOwner()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
key llGetOwnerKey(key id)
2017-10-21 01:00:31 -07:00
- SEF
- return "00000000-0000-0000-0000-000000000000" if nulluuid(id)
2018-12-22 02:19:21 -07:00
list llGetParcelDetails(vector pos, list params)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetParcelFlags(vector pos)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
# bit 31 can be set hence no limits
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llGetParcelMaxPrims(vector pos, integer sim_wide)
2017-10-21 01:00:31 -07:00
- SEF
2019-01-06 15:49:33 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llGetParcelMusicURL()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetParcelPrimCount(vector pos, integer category, integer sim_wide)
2017-10-21 01:00:31 -07:00
- SEF
2019-01-06 15:49:33 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
list llGetParcelPrimOwners(vector pos)
2017-10-21 01:00:31 -07:00
- delay 2.0
2018-12-22 02:19:21 -07:00
integer llGetPermissions()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llGetPermissionsKey()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llGetPhysicsMaterial()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
vector llGetPos()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2018-12-22 02:19:21 -07:00
list llGetPrimMediaParams(integer face, list params)
2017-10-21 01:00:31 -07:00
- delay 1.0
2018-12-22 02:19:21 -07:00
list llGetPrimitiveParams(list params)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
integer llGetRegionAgentCount()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llGetRegionCorner()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetRegionDayLength()
2018-12-08 11:28:37 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2018-12-08 11:28:37 -07:00
2018-12-22 02:19:21 -07:00
integer llGetRegionDayOffset()
2018-12-08 11:28:37 -07:00
- SEF
2018-12-22 02:19:21 -07:00
float llGetRegionFPS()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
- max 45
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llGetRegionFlags()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
# bit 31 can be set hence no limits
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llGetRegionMoonDirection()
2018-12-08 11:28:37 -07:00
- SEF
2018-12-22 02:19:21 -07:00
rotation llGetRegionMoonRotation()
2018-12-08 11:28:37 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llGetRegionName()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
vector llGetRegionSunDirection()
2018-12-08 11:28:37 -07:00
- SEF
2018-12-22 02:19:21 -07:00
rotation llGetRegionSunRotation()
2018-12-08 11:28:37 -07:00
- SEF
2018-12-22 02:19:21 -07:00
float llGetRegionTimeDilation()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
- max 1
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llGetRootPosition()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2018-12-22 02:19:21 -07:00
rotation llGetRootRotation()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2018-12-22 02:19:21 -07:00
rotation llGetRot()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2018-12-22 02:19:21 -07:00
integer llGetSPMaxMemory()
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llGetScale()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llGetScriptName()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetScriptState(string name)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
- max 1
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llGetSimStats(integer stat_type)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llGetSimulatorHostname()
2017-10-21 01:00:31 -07:00
- delay 10.0
2018-12-22 02:19:21 -07:00
integer llGetStartParameter()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llGetStaticPath(vector start, vector end, float radius, list params)
2017-10-21 01:00:31 -07:00
# believed to be side-effect free
- SEF
2018-12-22 02:19:21 -07:00
integer llGetStatus(integer status)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 1
2018-12-22 02:19:21 -07:00
string llGetSubString(string src, integer start, integer end)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
vector llGetSunDirection()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
rotation llGetSunRotation()
2018-12-08 11:28:37 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llGetTexture(integer face)
2017-10-21 01:00:31 -07:00
- SEF
- return "00000000-0000-0000-0000-000000000000" if face > 8
2018-12-22 02:19:21 -07:00
vector llGetTextureOffset(integer face)
2017-10-21 01:00:31 -07:00
- SEF
- return <0,0,0> if face > 8
2018-12-22 02:19:21 -07:00
float llGetTextureRot(integer side)
2017-10-21 01:00:31 -07:00
- SEF
- return 0 if side > 8
2018-12-22 02:19:21 -07:00
vector llGetTextureScale(integer side)
2017-10-21 01:00:31 -07:00
- SEF
- return <0,0,0> if side > 8
2018-12-22 02:19:21 -07:00
float llGetTime()
2017-10-21 01:00:31 -07:00
- SEF
# It's stable within the same frame.
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llGetTimeOfDay()
2017-10-21 01:00:31 -07:00
- unstable
- SEF
2019-02-08 10:30:33 -07:00
- min 0
- max 86399.9921875
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llGetTimestamp()
2017-10-21 01:00:31 -07:00
- unstable
- SEF
2018-12-22 02:19:21 -07:00
vector llGetTorque()
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetUnixTime()
2024-05-24 13:52:58 -07:00
- unstable
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llGetUsedMemory()
2017-10-21 01:00:31 -07:00
- unstable
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llGetUsername(key id)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
vector llGetVel()
2017-10-21 01:00:31 -07:00
# physics caveat
#- unstable
- SEF
2022-05-13 05:41:36 -07:00
list llGetVisualParams(key id, list params)
- SEF
2018-12-22 02:19:21 -07:00
float llGetWallclock()
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 86399
2018-12-22 02:19:21 -07:00
void llGiveInventory(key destination, string inventory)
2017-10-21 01:00:31 -07:00
# 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)
2018-12-22 02:19:21 -07:00
void llGiveInventoryList(key target, string folder, list inventory)
2017-10-21 01:00:31 -07:00
- delay 3.0
2018-12-22 02:19:21 -07:00
integer llGiveMoney(key destination, integer amount)
2017-10-21 01:00:31 -07:00
- min 0
- max 0
2018-12-22 02:19:21 -07:00
void llGodLikeRezObject(key inventory, vector pos)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llGround(vector offset)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
2024-04-20 12:56:11 -07:00
- max 65536
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llGroundContour(vector offset)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
vector llGroundNormal(vector offset)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llGroundRepel(float height, integer water, float tau)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llGroundSlope(vector offset)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
key llHTTPRequest(string url, list parameters, string body)
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
void llHTTPResponse(key request_id, integer status, string body)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llInsertString(string dst, integer position, string src)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llInstantMessage(key user, string message)
2017-10-21 01:00:31 -07:00
- delay 2.0
2018-12-22 02:19:21 -07:00
string llIntegerToBase64(integer number)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llJson2List(string json)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llJsonGetValue(string json, list specifiers)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llJsonSetValue(string json, list specifiers, string value)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llJsonValueType(string json, list specifiers)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llKey2Name(key id)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
key llKeyCountKeyValue()
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
key llKeysKeyValue(integer start, integer count)
2017-10-21 01:00:31 -07:00
- unstable
2020-04-22 12:16:59 -07:00
vector llLinear2sRGB(vector color)
- SEF
2018-12-22 02:19:21 -07:00
void llLinkParticleSystem(integer linknumber, list rules)
2017-10-21 01:00:31 -07:00
- SEF if linknumber > 256
2018-12-22 02:19:21 -07:00
void llLinkSitTarget(integer link, vector offset, rotation rot)
2017-10-21 01:00:31 -07:00
- SEF if link > 256
2022-11-15 15:11:38 -07:00
integer llLinksetDataAvailable()
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2022-11-15 15:11:38 -07:00
integer llLinksetDataCountKeys()
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2022-11-15 15:11:38 -07:00
integer llLinksetDataDelete(string key)
2024-04-20 12:56:11 -07:00
- min 0
- max 5
2022-11-15 15:11:38 -07:00
integer llLinksetDataDeleteProtected(string key, string password)
2024-04-20 12:56:11 -07:00
- min 0
- max 5
2022-11-15 15:11:38 -07:00
list llLinksetDataFindKeys(string pattern, integer start, integer count)
- SEF
list llLinksetDataListKeys(integer start, integer count)
- SEF
string llLinksetDataRead(string key)
- SEF
string llLinksetDataReadProtected(string key, string password)
- SEF
void llLinksetDataReset()
integer llLinksetDataWrite(string key, string value)
2024-04-20 12:56:11 -07:00
- min 0
- max 5
2022-11-15 15:11:38 -07:00
integer llLinksetDataWriteProtected(string key, string value, string password)
2024-04-20 12:56:11 -07:00
- min 0
- max 5
2022-11-15 15:11:38 -07:00
2018-12-22 02:19:21 -07:00
string llList2CSV(list src)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
float llList2Float(list src, integer index)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 07:44:14 -07:00
- listto float
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llList2Integer(list src, integer index)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 07:44:14 -07:00
- listto integer
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llList2Json(string type, list values)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
key llList2Key(list src, integer index)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 07:44:14 -07:00
- listto key
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
list llList2List(list src, integer start, integer end)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 07:44:14 -07:00
- listto list
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
list llList2ListStrided(list src, integer start, integer end, integer stride)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
rotation llList2Rot(list src, integer index)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 07:44:14 -07:00
- listto rotation
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llList2String(list src, integer index)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 07:44:14 -07:00
- listto string
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llList2Vector(list src, integer index)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 07:44:14 -07:00
- listto vector
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llListFindList(list src, list test)
2017-10-21 01:00:31 -07:00
- SEF
2017-10-25 09:36:48 -07:00
- min -1
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
list llListInsertList(list dest, list src, integer start)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llListRandomize(list src, integer stride)
2017-10-21 01:00:31 -07:00
- unstable
- SEF
2018-12-22 02:19:21 -07:00
list llListReplaceList(list dest, list src, integer start, integer end)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llListSort(list src, integer stride, integer ascending)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
float llListStatistics(integer operation, list src)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llListen(integer channel, string name, key id, string msg)
2024-04-20 12:56:11 -07:00
- unstable
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llListenControl(integer number, integer active)
2017-10-21 01:00:31 -07:00
- SEF if number == 0
2018-12-22 02:19:21 -07:00
void llListenRemove(integer number)
2017-10-21 01:00:31 -07:00
- SEF if number == 0
2018-12-22 02:19:21 -07:00
void llLoadURL(key avatar, string message, string url)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
float llLog(float val)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
float llLog10(float val)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llLookAt(vector target, float strength, float damping)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llLoopSound(string sound, float volume)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llLoopSoundMaster(string sound, float volume)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llLoopSoundSlave(string sound, float volume)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llMD5String(string src, integer nonce)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llMakeExplosion(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llMakeFire(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llMakeFountain(integer particles, float scale, float vel, float lifetime, float arc, integer bounce, string texture, vector offset, float bounce_offset)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llMakeSmoke(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
integer llManageEstateAccess(integer action, key id)
2018-04-01 10:07:53 -07:00
# not SEF (generates errors on invalid action or key)
2017-10-21 01:00:31 -07:00
- min 0
- max 1
2018-12-22 02:19:21 -07:00
void llMapDestination(string simname, vector pos, vector look_at)
2017-10-21 01:00:31 -07:00
- delay 1.0
2018-12-22 02:19:21 -07:00
void llMessageLinked(integer linknum, integer num, string str, key id)
2017-10-21 01:00:31 -07:00
- SEF if linknum > 256
2018-12-22 02:19:21 -07:00
void llMinEventDelay(float delay)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llModPow(integer a, integer b, integer c)
2017-10-21 01:00:31 -07:00
- delay 1.0
2018-12-22 02:19:21 -07:00
void llModifyLand(integer action, integer brush)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llMoveToTarget(vector target, float tau)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llName2Key(string name)
2018-05-09 10:06:25 -07:00
- SEF
- return "00000000-0000-0000-0000-000000000000" if name == ""
2018-12-22 02:19:21 -07:00
void llNavigateTo(vector point, list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llOffsetTexture(float u, float v, integer face)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
void llOpenRemoteDataChannel()
2017-10-21 01:00:31 -07:00
- delay 1.0
2018-12-22 02:19:21 -07:00
integer llOverMyLand(key id)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 1
# assumed:
- return 0 if nulluuid(id)
2018-12-22 02:19:21 -07:00
void llOwnerSay(string msg)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llParcelMediaCommandList(list command)
2017-10-21 01:00:31 -07:00
- delay 2.0
2018-12-22 02:19:21 -07:00
list llParcelMediaQuery(list query)
2017-10-21 01:00:31 -07:00
- delay 2.0
2018-12-22 02:19:21 -07:00
list llParseString2List(string src, list separators, list spacers)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
list llParseStringKeepNulls(string src, list separators, list spacers)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llParticleSystem(list rules)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llPassCollisions(integer pass)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llPassTouches(integer pass)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llPatrolPoints(list points, list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llPlaySound(string sound, float volume)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llPlaySoundSlave(string sound, float volume)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llPointAt(vector pos)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
float llPow(float base, float exponent)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
# note: can generate negative numbers, e.g. llPow(-2, 3)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llPreloadSound(string sound)
2017-10-21 01:00:31 -07:00
- delay 1.0
2018-12-22 02:19:21 -07:00
void llPursue(key target, list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llPushObject(key id, vector impulse, vector ang_impulse, integer local)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llReadKeyValue(string k)
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
void llRefreshPrimURL()
2017-10-21 01:00:31 -07:00
# emits an error -> has side effects
- delay 20.0
2018-12-22 02:19:21 -07:00
void llRegionSay(integer channel, string msg)
2017-10-21 01:00:31 -07:00
# channel 0 emits an error -> not SEF
2018-12-22 02:19:21 -07:00
void llRegionSayTo(key target, integer channel, string msg)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llReleaseCamera(key avatar)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llReleaseControls()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llReleaseURL(string url)
2017-10-21 01:00:31 -07:00
- SEF if url == ""
2018-12-22 02:19:21 -07:00
void llRemoteDataReply(key channel, key message_id, string sdata, integer idata)
2017-10-21 01:00:31 -07:00
- delay 3.0
2018-12-22 02:19:21 -07:00
void llRemoteDataSetRegion()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llRemoteLoadScript(key target, string name, integer running, integer start_param)
2017-10-21 01:00:31 -07:00
# emits an error -> has side effects
- delay 3.0
2018-12-22 02:19:21 -07:00
void llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param)
2017-10-21 01:00:31 -07:00
- delay 3.0
2018-12-22 02:19:21 -07:00
void llRemoveFromLandBanList(key avatar)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llRemoveFromLandPassList(key avatar)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llRemoveInventory(string item)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llRemoveVehicleFlags(integer flags)
2017-10-21 01:00:31 -07:00
2022-09-12 14:23:39 -07:00
integer llSetEnvironment(vector position, list params)
# not sure but we better choose the safest setting
- unstable
2024-04-20 12:56:11 -07:00
- min -9
- max 1
2022-09-12 14:23:39 -07:00
2022-08-26 03:48:30 -07:00
integer llReplaceEnvironment(vector position, string environment, integer track_no, integer day_length, integer day_offset)
# not sure but we better choose the safest setting
- unstable
2024-04-20 12:56:11 -07:00
- min -9
- max 1
2022-08-26 03:48:30 -07:00
2018-12-22 02:19:21 -07:00
key llRequestAgentData(key id, integer data)
2017-10-21 01:00:31 -07:00
- unstable
- delay 0.1
2018-12-22 02:19:21 -07:00
key llRequestDisplayName(key id)
2017-10-21 01:00:31 -07:00
- unstable
- SEF if nulluuid(id)
2018-12-22 02:19:21 -07:00
void llRequestExperiencePermissions(key agent, string name)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llRequestInventoryData(string name)
2017-10-21 01:00:31 -07:00
- unstable
- delay 1.0
2018-12-22 02:19:21 -07:00
void llRequestPermissions(key agent, integer perm)
2017-10-25 05:07:32 -07:00
# if agent does not exist, it errs, so this is not true:
#- SEF if perm == 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llRequestSecureURL()
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
key llRequestSimulatorData(string simulator, integer data)
2017-10-21 01:00:31 -07:00
- unstable
- delay 1.0
2018-12-22 02:19:21 -07:00
key llRequestURL()
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
key llRequestUsername(key id)
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
key llRequestUserKey(string name)
2018-05-09 10:06:25 -07:00
- unstable
2018-12-22 02:19:21 -07:00
void llResetAnimationOverride(string anim_state)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llResetLandBanList()
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llResetLandPassList()
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llResetOtherScript(string name)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llResetScript()
2017-10-21 01:00:31 -07:00
- stop
2018-12-22 02:19:21 -07:00
void llResetTime()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llReturnObjectsByID(list objects)
2017-10-21 01:00:31 -07:00
- min -5
- max 65536
2018-12-22 02:19:21 -07:00
integer llReturnObjectsByOwner(key owner, integer scope)
2017-10-21 01:00:31 -07:00
# assumed unstable
- unstable
- min -5
- max 65536
2018-12-22 02:19:21 -07:00
void llRezAtRoot(string inventory, vector pos, vector vel, rotation rot, integer param)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
void llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param)
2017-10-21 01:00:31 -07:00
- delay 0.1
2018-12-22 02:19:21 -07:00
float llRot2Angle(rotation rot)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
- max 3.1415927
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llRot2Axis(rotation rot)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
vector llRot2Euler(rotation q)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
vector llRot2Fwd(rotation q)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
vector llRot2Left(rotation q)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
vector llRot2Up(rotation q)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
rotation llRotBetween(vector v1, vector v2)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llRotLookAt(rotation target, float strength, float damping)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llRotTarget(rotation rot, float error)
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
void llRotTargetRemove(integer number)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llRotateTexture(float angle, integer face)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
integer llRound(float val)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llSHA1String(string src)
2017-10-21 01:00:31 -07:00
- SEF
2022-10-14 09:39:04 -07:00
string llSHA256String(string src)
- SEF
2018-12-22 02:19:21 -07:00
integer llSameGroup(key id)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 1
2018-12-22 02:19:21 -07:00
void llSay(integer channel, string msg)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llScaleByFactor(float scaling_factor)
2017-10-21 01:00:31 -07:00
- unstable
- min 0
- max 1
2018-12-22 02:19:21 -07:00
void llScaleTexture(float u, float v, integer face)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
integer llScriptDanger(vector pos)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
- max 1
2018-12-22 02:19:21 -07:00
void llScriptProfiler(integer flags)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llSendRemoteData(key channel, string dest, integer idata, string sdata)
2017-10-21 01:00:31 -07:00
- unstable
- delay 3.0
2018-12-22 02:19:21 -07:00
void llSensor(string name, key id, integer type, float range, float arc)
2017-10-21 01:00:31 -07:00
# type == 0 || range == 0 cancels a sensor in this frame.
2018-12-22 02:19:21 -07:00
void llSensorRemove()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSensorRepeat(string name, key id, integer type, float range, float arc, float rate)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetAlpha(float alpha, integer face)
2017-10-21 01:00:31 -07:00
- SEF if face > 8
2018-12-22 02:19:21 -07:00
void llSetAngularVelocity(vector angular_velocity, integer local)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetAnimationOverride(string anim_state, string anim)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetBuoyancy(float buoyancy)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetCameraAtOffset(vector offset)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetCameraEyeOffset(vector offset)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetCameraParams(list rules)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetClickAction(integer action)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetColor(vector color, integer face)
2017-10-21 01:00:31 -07:00
- SEF if face > 8
2018-12-22 02:19:21 -07:00
void llSetContentType(key request_id, integer content_type)
2017-10-21 01:00:31 -07:00
- SEF if nulluuid(request_id)
2018-12-22 02:19:21 -07:00
void llSetDamage(float damage)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetForce(vector force, integer local)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetForceAndTorque(vector force, vector torque, integer local)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetHoverHeight(float height, integer water, float tau)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetInventoryPermMask(string item, integer mask, integer value)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetKeyframedMotion(list keyframes, list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetLinkAlpha(integer linknumber, float alpha, integer face)
2017-10-21 01:00:31 -07:00
- SEF if linknumber > 256 || face > 8
2018-12-22 02:19:21 -07:00
void llSetLinkCamera(integer link, vector eye, vector at)
2017-10-21 01:00:31 -07:00
- SEF if link > 256
2018-12-22 02:19:21 -07:00
void llSetLinkColor(integer linknumber, vector color, integer face)
2017-10-21 01:00:31 -07:00
- SEF if linknumber > 256 || face > 8
2018-12-22 02:19:21 -07:00
integer llSetLinkMedia(integer link, integer face, list params)
2017-10-21 01:00:31 -07:00
- SEF if link > 256
2024-04-20 12:56:11 -07:00
- min 0
- max 2001
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetLinkPrimitiveParams(integer linknumber, list rules)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
void llSetLinkPrimitiveParamsFast(integer linknumber, list rules)
2017-10-21 01:00:31 -07:00
- SEF if linknumber > 256
2018-12-22 02:19:21 -07:00
void llSetLinkTexture(integer linknumber, string texture, integer face)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
void llSetLinkTextureAnim(integer link, integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate)
2017-10-21 01:00:31 -07:00
- SEF if linknumber > 256
2018-12-22 02:19:21 -07:00
void llSetLocalRot(rotation rot)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
integer llSetMemoryLimit(integer limit)
2017-10-21 01:00:31 -07:00
- SEF if limit <= 0
- min 0
- max 1
2018-12-22 02:19:21 -07:00
void llSetObjectDesc(string desc)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetObjectName(string name)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetObjectPermMask(integer mask, integer value)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetParcelMusicURL(string url)
2017-10-21 01:00:31 -07:00
- delay 2.0
2018-12-22 02:19:21 -07:00
void llSetPayPrice(integer price, list quick_pay_buttons)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetPhysicsMaterial(integer flags, float gravity_multiplier, float restitution, float friction, float density)
2017-10-21 01:00:31 -07:00
- SEF if flags == 0
2018-12-22 02:19:21 -07:00
void llSetPos(vector pos)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
integer llSetPrimMediaParams(integer face, list params)
2017-10-21 01:00:31 -07:00
- delay 1.0
2024-04-20 12:56:11 -07:00
- min 0
- max 2001
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetPrimURL(string url)
2017-10-21 01:00:31 -07:00
# emits an error -> has side effects
- delay 20.0
2018-12-22 02:19:21 -07:00
void llSetPrimitiveParams(list rules)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
integer llSetRegionPos(vector pos)
2017-10-21 01:00:31 -07:00
# unstable because it may fail when becoming more accurate and positioning
# over an invalid parcel
- unstable
- min 0
- max 1
2018-12-22 02:19:21 -07:00
void llSetRemoteScriptAccessPin(integer pin)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
void llSetRot(rotation rot)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
void llSetScale(vector scale)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetScriptState(string name, integer run)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetSitText(string text)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetSoundQueueing(integer queue)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetSoundRadius(float radius)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetStatus(integer status, integer value)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetText(string text, vector color, float alpha)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetTexture(string texture, integer face)
2017-10-21 01:00:31 -07:00
- delay 0.2
2018-12-22 02:19:21 -07:00
void llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetTimerEvent(float sec)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetTorque(vector torque, integer local)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetTouchText(string text)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetVehicleFlags(integer flags)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetVehicleFloatParam(integer param, float value)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetVehicleRotationParam(integer param, rotation rot)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetVehicleType(integer type)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetVehicleVectorParam(integer param, vector vec)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSetVelocity(vector velocity, integer local)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llShout(integer channel, string msg)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llSin(float theta)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min -1
- max 1
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llSitOnLink(key agent_id, integer link)
2017-10-21 01:00:31 -07:00
- min -7
- max 1
2018-12-22 02:19:21 -07:00
void llSitTarget(vector offset, rotation rot)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSleep(float sec)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSound(string sound, float volume, integer queue, integer loop)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llSoundPreload(string sound)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llSqrt(float val)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2020-04-22 12:16:59 -07:00
vector llsRGB2Linear(vector srgb)
- SEF
2018-12-22 02:19:21 -07:00
void llStartAnimation(string anim)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llStartObjectAnimation(string anim)
2018-06-25 18:16:05 -07:00
2018-12-22 02:19:21 -07:00
void llStopAnimation(string anim)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llStopObjectAnimation(string anim)
2018-06-25 18:16:05 -07:00
2018-12-22 02:19:21 -07:00
void llStopHover()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llStopLookAt()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llStopMoveToTarget()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llStopPointAt()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llStopSound()
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
integer llStringLength(string str)
2017-10-21 01:00:31 -07:00
- SEF
2017-10-27 02:25:18 -07:00
- min 0
2017-10-27 09:49:58 -07:00
- strlen
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llStringToBase64(string str)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llStringTrim(string src, integer trim_type)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llSubStringIndex(string source, string pattern)
2017-10-21 01:00:31 -07:00
- SEF
2017-10-25 09:36:48 -07:00
- min -1
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llTakeCamera(key avatar)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llTakeControls(integer controls, integer accept, integer pass_on)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llTan(float theta)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
integer llTarget(vector position, float range)
2017-10-21 01:00:31 -07:00
- unstable
2020-04-22 12:16:59 -07:00
void llTargetedEmail(integer target, string subject, string body)
- delay 20.0
2018-12-22 02:19:21 -07:00
void llTargetOmega(vector axis, float spinrate, float gain)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llTargetRemove(integer number)
2017-10-21 01:00:31 -07:00
- SEF if number == 0
2018-12-22 02:19:21 -07:00
void llTeleportAgent(key avatar, string landmark, vector position, vector look_at)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llTeleportAgentGlobalCoords(key agent, vector global_coordinates, vector region_coordinates, vector look_at)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llTeleportAgentHome(key id)
2017-10-21 01:00:31 -07:00
- delay 5.0
2018-12-22 02:19:21 -07:00
void llTextBox(key avatar, string message, integer chat_channel)
2017-10-21 01:00:31 -07:00
- delay 1.0
2018-12-22 02:19:21 -07:00
string llToLower(string src)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llToUpper(string src)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
key llTransferLindenDollars(key destination, integer amount)
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
void llTriggerSound(string sound, float volume)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llTriggerSoundLimited(string sound, float volume, vector top_north_east, vector bottom_south_west)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llUnSit(key id)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
string llUnescapeURL(string url)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llUpdateCharacter(list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
key llUpdateKeyValue(string k, string v, integer checked, string original_value)
2017-10-21 01:00:31 -07:00
- unstable
2018-12-22 02:19:21 -07:00
float llVecDist(vector v1, vector v2)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llVecMag(vector v)
2017-10-21 01:00:31 -07:00
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llVecNorm(vector v)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
void llVolumeDetect(integer detect)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
void llWanderWithin(vector center, vector radius, list options)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
float llWater(vector offset)
2017-10-21 01:00:31 -07:00
- SEF
- min 0
2018-12-22 02:19:21 -07:00
void llWhisper(integer channel, string msg)
2017-10-21 01:00:31 -07:00
2018-12-22 02:19:21 -07:00
vector llWind(vector offset)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llXorBase64(string str1, string str2)
2017-10-21 01:00:31 -07:00
- SEF
2018-12-22 02:19:21 -07:00
string llXorBase64Strings(string str1, string str2)
2017-10-21 01:00:31 -07:00
- delay 0.3
2018-12-22 02:19:21 -07:00
string llXorBase64StringsCorrect(string str1, string str2)
2017-10-21 01:00:31 -07:00
- SEF
2017-10-25 08:46:50 -07:00
2019-02-08 10:30:33 -07:00
integer llReplaceAgentEnvironment(key agent_id, float transition, string environment)
- unstable
2024-04-20 12:56:11 -07:00
- min -8
- max 1
2019-02-08 10:30:33 -07:00
2021-05-08 09:57:09 -07:00
integer llSetAgentEnvironment(key agent_id, float transition, list params)
2019-02-08 10:30:33 -07:00
- unstable
2024-04-20 12:56:11 -07:00
- min -8
- max 1
2019-02-08 10:30:33 -07:00
float llGetRegionTimeOfDay()
- SEF
- unstable
- min 0
- max 86399.9921875
2017-10-25 08:46:50 -07:00
2021-05-08 09:57:09 -07:00
string llChar(integer code)
- SEF
integer llHash(string val)
- SEF
integer llOrd(string val, integer index)
- SEF
2024-04-20 12:56:11 -07:00
- min 0
- max 1114111
2021-05-08 09:57:09 -07:00
2021-05-19 13:48:44 -07:00
integer llOpenFloater(string title, string url, list params)
- unstable
2021-06-12 10:18:23 -07:00
# (may fail if invoked a second time, e.g. if throttled)
2024-04-20 12:56:11 -07:00
- min -4
- max 0
2021-06-12 10:18:23 -07:00
string llGetInventoryAcquireTime(string item)
- SEF
2021-05-19 13:48:44 -07:00
2023-02-03 04:57:58 -07:00
void llLinkPlaySound(integer link, string sound, float volume, integer flags)
void llLinkStopSound(integer link)
void llLinkAdjustSoundVolume(integer link, float volume)
- delay 0.1
void llLinkSetSoundQueueing(integer link, integer queue)
void llLinkSetSoundRadius(integer link, float radius)
2023-07-15 02:08:41 -07:00
string llHMAC(string authkey, string message, string alg)
2023-07-15 01:53:19 -07:00
- SEF if alg == "md5" || alg == "sha1" || alg == "sha224" || alg == "sha256" || alg == "sha384" || alg == "sha512"
# otherwise error
2023-04-09 01:59:18 -07:00
2023-07-15 02:08:41 -07:00
string llSignRSA(string privkey, string message, string alg)
- SEF if alg == "md5" || alg == "sha1" || alg == "sha224" || alg == "sha256" || alg == "sha384" || alg == "sha512"
# otherwise error
2023-04-09 01:59:18 -07:00
2023-07-15 02:08:41 -07:00
integer llVerifyRSA(string pubkey, string message, string signature, string alg)
- SEF if alg == "md5" || alg == "sha1" || alg == "sha224" || alg == "sha256" || alg == "sha384" || alg == "sha512"
# otherwise error
2024-04-20 12:56:11 -07:00
- min 0
- max 1
2023-04-09 01:59:18 -07:00
string llReplaceSubString(string source, string search, string replace, integer count)
- SEF
2023-07-15 02:05:28 -07:00
list llList2ListSlice(list src, integer start, integer end, integer stride, integer slice_index)
- SEF
integer llListFindStrided(list src, list test, integer start, integer end, integer stride)
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2023-07-15 02:05:28 -07:00
list llListSortStrided(list src, integer stride, integer stride_index, integer ascending)
- SEF
2023-12-12 08:52:45 -07:00
integer llLinksetDataCountFound(string pattern)
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2023-12-12 08:52:45 -07:00
list llLinksetDataDeleteFound(string pattern, string pass)
string llGetRenderMaterial(integer face)
- SEF
void llSetRenderMaterial(string material, integer face)
void llSetLinkRenderMaterial(integer link, string material, integer face)
2024-04-15 07:15:56 -07:00
string llComputeHash(string data, string algorithm)
- SEF if alg == "md5" || alg == "md5_sha1" || alg == "sha1" || alg == "sha224" || alg == "sha256" || alg == "sha384" || alg == "sha512"
# otherwise error
float llGetCameraAspect()
# No error if PERMISSION_TRACK_CAMERA not granted, hence SEF
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2024-04-15 07:15:56 -07:00
float llGetCameraFOV()
# No error if PERMISSION_TRACK_CAMERA not granted, hence SEF
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2024-04-15 07:15:56 -07:00
string llGetInventoryDesc(string itemname)
# May produce error (if item doesn't exist), hence not SEF
integer llGetLinkSitFlags(integer link)
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2024-04-15 07:15:56 -07:00
string llGetNotecardLineSync(string name, integer line)
# May produce error (if notecard doesn't exist), hence not SEF
integer llIsFriend(key agent)
- SEF
2024-04-20 12:56:11 -07:00
- min 0
- max 1
2024-04-15 07:15:56 -07:00
integer llListFindListNext(list src, list test, integer n)
- SEF
2024-04-20 12:56:11 -07:00
- min 0
2024-04-15 07:15:56 -07:00
2024-10-27 04:06:07 -07:00
key llRezObjectWithParams(string itemname, list params)
2024-04-20 13:22:13 -07:00
- delay 0.1
2024-04-15 07:15:56 -07:00
void llSetLinkSitFlags(integer link, integer flags)
vector llWorldPosToHUD(vector pos)
- SEF
2017-10-25 08:46:50 -07:00
###################################################################
# 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.
2018-12-22 02:19:21 -07:00
event at_rot_target(integer tnum, rotation targetrot, rotation ourrot)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event at_target(integer tnum, vector targetpos, vector ourpos)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event attach(key id)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event changed(integer change)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event collision(integer num_detected)
2017-10-27 09:49:58 -07:00
- detect
2017-10-25 08:46:50 -07:00
# Prevents events in the parent from triggering, depending on llPassCollisions,
# therefore not SEF.
2018-12-22 02:19:21 -07:00
event collision_end(integer num_detected)
2017-10-27 09:49:58 -07:00
- detect
# Not SEF; see collision().
2017-10-25 08:46:50 -07:00
2018-12-22 02:19:21 -07:00
event collision_start(integer num_detected)
2017-10-27 09:49:58 -07:00
- detect
# Not SEF; see collision().
2017-10-25 08:46:50 -07:00
2018-12-22 02:19:21 -07:00
event control(key id, integer level, integer edge)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event dataserver(key queryid, string data)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event email(string time, string address, string subj, string message, integer num_left)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event experience_permissions(key agent)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event experience_permissions_denied(key agent, integer reason)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event http_request(key id, string method, string body)
2017-10-25 08:46:50 -07:00
# Since you can't see the URL, you can't notice the difference.
- SEF
2018-12-22 02:19:21 -07:00
event http_response(key request_id, integer status, list metadata, string body)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event land_collision(vector pos)
2017-10-25 08:46:50 -07:00
# Same as with collision().
2018-12-22 02:19:21 -07:00
event land_collision_end(vector pos)
2017-10-25 08:46:50 -07:00
# Same as with collision().
2018-12-22 02:19:21 -07:00
event land_collision_start(vector pos)
2017-10-25 08:46:50 -07:00
# Same as with collision().
2018-12-22 02:19:21 -07:00
event link_message(integer sender_num, integer num, string str, key id)
2017-10-25 08:46:50 -07:00
- SEF
2022-11-15 15:11:38 -07:00
event linkset_data(integer action, string key, string value)
- SEF
2018-12-22 02:19:21 -07:00
event listen(integer channel, string name, key id, string message)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event money(key id, integer amount)
2017-10-25 08:46:50 -07:00
# Adds Pay menu option, therefore not SEF.
2018-12-22 02:19:21 -07:00
event moving_end()
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event moving_start()
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event no_sensor()
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event not_at_rot_target()
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event not_at_target()
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event object_rez(key id)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event on_rez(integer start_param)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event path_update(integer type, list reserved)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event remote_data(integer event_type, key channel, key message_id, string sender, integer idata, string sdata)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event run_time_permissions(integer perm)
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event sensor(integer num_detected)
2017-10-27 09:49:58 -07:00
- detect
2017-10-25 08:46:50 -07:00
# There was a time when this was necessary for no_sensor() to trigger, but
2017-10-27 09:49:58 -07:00
# that's no longer the case and it is SEF now.
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event state_entry()
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event state_exit()
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event timer()
2017-10-25 08:46:50 -07:00
- SEF
2018-12-22 02:19:21 -07:00
event touch(integer num_detected)
2017-10-27 09:49:58 -07:00
- touch
- detect
- grab
# Not SEF for the same reasons as collision(); also it adds a hand cursor.
2017-10-25 08:46:50 -07:00
2018-12-22 02:19:21 -07:00
event touch_end(integer num_detected)
2017-10-27 09:49:58 -07:00
- touch
- detect
# Not SEF; see touch().
2017-10-25 08:46:50 -07:00
2018-12-22 02:19:21 -07:00
event touch_start(integer num_detected)
2017-10-27 09:49:58 -07:00
- touch
- detect
# Not SEF; see touch().
2017-10-25 08:46:50 -07:00
2018-12-22 02:19:21 -07:00
event transaction_result(key id, integer success, string data)
2017-10-25 08:46:50 -07:00
- SEF