Skip to content
lsl.devlsl.devLSL Dev

llSitOnLink

functionRequires an experience
Function syntax
integer llSitOnLink(
  1. key agent_id,// UUID of the avatar being forced to sit.
  2. integer link// Link number for the prim containing the desired sit target. Values: Link
);
Returns
integer
Energy
10

The avatar specified by agent_id is forced to sit on the sit target of the prim indicated by the link parameter. If the specified link is already occupied, the simulator searches down the chain of prims in the link set looking for an available sit target.

If successful, this method returns SIT_OK.

If the function fails, it returns a negative number constant.

Link constants that indicate a single prim may be used for the link parameter. These are LINK_ROOT and LINK_THIS. Other constants such as LINK_SET, LINK_CHILDREN, LINK_ALL_OTHERS will return an INVALID_LINK error.

This method must be called from an experience enabled script running on land that has enabled the experience key. If these conditions are not met this method returns a NOT_EXPERIENCE error.

The targeted avatar must also have accepted the experience. If the user is not participating in the experience this method returns NO_EXPERIENCE_PERMISSION. If the avatar id can not be found or is not over land that has enabled the experience this method returns INVALID_AGENT.

If there are no valid sit targets remaining in the linkset this method returns NO_SIT_TARGET and no action is taken with the avatar.

If the avatar does not have access to the parcel containing the prim running this script, this call fails.

How to use
integer result = llSitOnLink(NULL_KEY, 0);
ConstantValueDescription
SIT_OK1The agent was seated successfully.
SIT_NOT_EXPERIENCE-1The script is not running as part of an experience with a valid experience key or the experience is not allowed at your location.
SIT_NO_EXPERIENCE_PERMISSION-2The agent has not granted permission.
SIT_NO_SIT_TARGET-3Unable to find an open sit target.
SIT_INVALID_AGENT-4Unable to find specified agent.
SIT_INVALID_LINK-5Unable to find specified link or the link constant would return multiple prims.
SIT_NO_ACCESS-6The avatar does not have access to the parcel that the prim running this script is located in.
SIT_INVALID_OBJECT-7This value is returned if the llSitOnLink is trying to force the user to sit on something that cannot be sat upon (such as an attachment).
  • The SIT_OK constant is only present on Lua-enabled sims. On older sims, use it’s value of 1 instead
Example 1
9 collapsed lines
integer gLinkId = LINK_THIS;
default
{
touch_start(integer total_number)
{
llRequestExperiencePermissions(llDetectedKey(0), "");
}
experience_permissions(key agent_id)
{
integer sitTest = llSitOnLink(agent_id, gLinkId);
if (sitTest != 1)
{
9 collapsed lines
llInstantMessage(agent_id, "Cannot force agent " + (string)agent_id + " to sit due to reason id: " + (string)sitTest);
}
}
experience_permissions_denied(key agent_id, integer reason)
{
llInstantMessage(agent_id, "Denied experience permissions for " + (string)agent_id + " due to reason id: " + (string)reason);
}
}

This function was introduced in conjunction with new primitive parameter constants: PRIM_ALLOW_UNSIT, PRIM_SCRIPTED_SITS_ONLY, and PRIM_SIT_TARGET.

From the issue templates included by the wiki article:

  • BUG-40739 (nf): Redesign llSitOnLink() to use the permissions system
Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.

From the Second Life Wiki

Community documentation adapted from LlSitOnLink, by Linden Research, Inc. and contributing residents.View contributors and history.

Built from these wiki pages, as imported:

Licensed under CC BY-SA 3.0. Last wiki edit: .Formatting and links have been adapted for this site; API metadata follows the LSL definitions.