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);
}
}