Api Reference

Creator API Reference

Approved creators add the SedSens Creator API script to a prim they created, then control it with linked messages from another script in the same linkset.

The furniture owner, menu operator, sitter, and Suit wearer do not need a Creator API license. Licensing belongs to the creator of the prim containing the Creator API script.

When it starts or resets, the script validates llGetCreator() against the approved creator UUID. A mismatch removes the Creator API script from the object immediately. A match performs one website decision check. Approved, locked, and grace-period decisions allow startup. Rejected or revoked decisions remove the script. Changing the object owner does not change the licensed creator.

A temporary website failure does not remove the script and does not start scheduled polling. The script remains inactive until it is manually reset and can perform another startup check.

Channels

Send:  7337
Reply: 7367

Reply Format

str = command
id  = OK|data
id  = ERROR_CODE|detail

Commands

PING
VERSION
COMMANDS
STATUS
LICENSE_STATUS
BODY_PARTS
SET_PROP     param: centralized Prop Type Key, example crop
GET_PROP
SET_TARGET_MODE param: SEATED or DEVICE
GET_TARGET_MODE
SET_TARGET   param: target avatar/suit UUID
GET_TARGET
CLEAR_TARGET
HIT          param: bodyPart,hitLevel,optionalAlphaHits
SET_SOUND    param: TRUE/FALSE

Target Modes

SEATED

SEATED is the default and recommended furniture mode. The menu operator may stand nearby, but the selected target must be seated on the same furniture linkset and wearing a responsive SedSens Suit. Eligibility is checked again before every hit.

llMessageLinked(LINK_THIS, 7337, "SET_TARGET_MODE", "SEATED");
llMessageLinked(LINK_THIS, 7337, "SET_TARGET", (key)selectedSitterUuid);

DEVICE

DEVICE supports products intentionally used without sitting. The controller must supply one explicit nearby avatar UUID. The Creator API does not scan for or automatically select nearby avatars.

llMessageLinked(LINK_THIS, 7337, "SET_TARGET_MODE", "DEVICE");
llMessageLinked(LINK_THIS, 7337, "SET_TARGET", (key)selectedDeviceUserUuid);

Changing target mode clears the current target. CLEAR_TARGET should also be sent when a scene or device action ends.

Recommended Setup Sequence

1. SET_TARGET_MODE
2. SET_PROP
3. SET_TARGET
4. Wait for OK from SET_TARGET
5. HIT
6. CLEAR_TARGET when finished

Target Errors

BAD_TARGET_MODE  SEATED or DEVICE was not supplied
BAD_TARGET       Target UUID was missing
DNF              Target was not found within range
NOT_SEATED       SEATED target is not sitting on this linkset
TARGET_INVALID   Target became ineligible before a hit
TIMEOUT          The selected Suit did not respond

Request Errors

BUSY          An HTTP request or Suit handshake is already active
HTTP_START    The web request could not start
HTTP_TIMEOUT  The web request failed after bounded retries
BAD_RESPONSE  The Prop configuration response was incomplete
HTTP_NNN      The server returned a non-retryable HTTP status

LICENSE_INACTIVE means the startup decision did not authorize the Creator API. Only an explicit rejected or revoked website decision removes the script.

Version Response

VERSION returns the script release followed by the linked-message protocol release.

OK|2.5.7,2.1

Example

llMessageLinked(LINK_THIS, 7337, "SET_PROP", "crop");

link_message(integer sender_num, integer num, string str, key id)
{
    if (num == 7367)
    {
        llOwnerSay(str + ": " + (string)id);
    }
}