LSL Helper

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.

LSL Helper screenshot

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);
     } 
}
Screenshot Inventory Detail pane
Inventory ID location in Detail pane