LSL Helper

From Radegast
Jump to: navigation, search
Part of the control panel where LSL Automation is configured
LSL Automation Helper is a module that allows client running Radegast (version 2.10 and newer) to perform some automatic operations depending on the command received. The panel for enabling LSL automation helper can be found in File -> Preferences -> Automation.

In order for Radegast to accept messages from objects you need to setup key (UUID) of the owner of the objects that are allowed to send commands. Checking Enabled will enable the functionality while clicking on 'Instructions will bring you here.

General format of the message that is sent is:

command^arg 1^arg 2^...^arg n

The exact number of arguments depends on the kind of command being sent.

Group Invitation

This command will instruct Radegast to invite someone to a group. Two things are important to note. One, the login Radegast is using has to be in the group and has to be able to send group invitations. Second, Radegast will check if someone is already in the group they are being invited to and skip the invitation if it finds that is the case.

Format of the message that needs to be sent from LSL script using llInstantMessage() is:

group_invite^invitee^group_id^role_id

  • invitee - UUID (key) of the person to invite
  • group_id - Group UUID (key)
  • role_id - Group role UUID (key) (send NULL_KEY for default role, "Everybody")

Sample script that will invite a person to a group after touching a prim that contains the script:

// UUID of the group to invite to
key groupID = "bad59d2f-0419-5f3d-95b6-3c44ab3647ee";
// UUID of the avatar running Radegast
key automator = "5583ff6c-a266-42c1-b877-c2ce3a05ad15";
// UUID of the role to invite to, NULL_KEY for "Everybody" default role
key roleID = NULL_KEY;
 
default
{
    touch_start(integer total_number)
    {
        llInstantMessage(automator, "group_invite^" + (string)llDetectedKey(0) + "^" + (string)groupID + "^" + (string)roleID);
    }
}

Instant Message

Instruct Radegast to send someone an instant message.

Format of the message that needs to be sent from LSL script using llInstantMessage() is:

send_im^avatar_id^message

  • avatar_id - UUID (key) of the person to message
  • message - Text of the message to send

Sample script that will send an IM after touching a prim that contains the script:

// UUID of the avatar running Radegast
key automator = "5583ff6c-a266-42c1-b877-c2ce3a05ad15";
 
default
{
    touch_start(integer total_number)
    {
        llInstantMessage(automator, "send_im^" + (string)llDetectedKey(0) + "^Hey, you touched my object");
    }
}

Offer Inventory

Instruct Radegast to send someone an item from its inventory.

Format of the message that needs to be sent from LSL script using llInstantMessage() is:

give_inventory^avatar_id^inventory_id

  • avatar_id - UUID (key) of the person to send inventory offer
  • inventory_id - UUID (key) of the inventory to offer. You can see on the screenshot on the bottom where to get the inventory id in the Inventory console. In this example it is showing a landmark. Using that inventory ID would offer that landmark.

Sample script that will send an inventory item after touching a prim that contains the script:

// UUID of the avatar running Radegast
key automator = "5583ff6c-a266-42c1-b877-c2ce3a05ad15";
// Inventory item UUID
key item_inv_id = "2f8c2030-4030-feb9-609b-b02ada1a1d1d";
 
default
{
    touch_start(integer total_number)
    {
        llInstantMessage(automator, "give_inventory^" + (string)llDetectedKey(0) + "^" + (string)item_inv_id);
    }
}

Inv uuid.png