Difference between revisions of "INVENTORY ANIMATION"

From Second Life Wiki
Jump to: navigation, search
 
(3 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
|value=20
 
|value=20
 
|desc=Used with {{LSLGC|Inventory|Inventory}} functions and specifies inventory items of ANIMATION type will be retrieved by the function.
 
|desc=Used with {{LSLGC|Inventory|Inventory}} functions and specifies inventory items of ANIMATION type will be retrieved by the function.
|examples=<lsl>//Gives inventory only to agents with the same active group
+
|examples=<source lang="lsl2">//Gives inventory only to agents with the same active group as the object the script is in is assigned to
 
default
 
default
 
{
 
{
 
     touch_start(integer total_number)
 
     touch_start(integer total_number)
 
     {
 
     {
         integer number = 0;
+
         // get the UUID of the person touching this object
         do
+
        key user = llDetectedKey(0);
         {
+
         // Check that they have the correct group active
            if (llDetectedGroup(number)) //same as llSameGroup(llDetectedKey(number)) (with llSameGroup, detected must be in the sim)
+
         // User must be in the same region for llSameGroup() to work. (Well, so they should be!)
                llGiveInventory(llDetectedKey(number), llGetInventoryName(INVENTORY_ANIMATION,0));
+
        if (llSameGroup(user) )
            else
+
            // Give user the first animation from this object's contents
                llSay(0, "Wrong active group!");
+
            llGiveInventory(user, llGetInventoryName(INVENTORY_ANIMATION, 0) );
        }while(total_number > ++number);
+
        else
 +
            // send a warning specifically to this user
 +
            llRegionSayTo(user, 0, "Wrong active group!");
 
     }
 
     }
}</lsl>
+
}</source>
 
|constants=
 
|constants=
 
{{LSL DefineRow||[[INVENTORY_NONE]]|}}
 
{{LSL DefineRow||[[INVENTORY_NONE]]|}}
Line 26: Line 28:
 
{{LSL DefineRow||[[INVENTORY GESTURE]]|}}
 
{{LSL DefineRow||[[INVENTORY GESTURE]]|}}
 
{{LSL DefineRow||[[INVENTORY LANDMARK]]|}}
 
{{LSL DefineRow||[[INVENTORY LANDMARK]]|}}
{{LSL DefineRow||[[INVENTORY NONE]]|}}
 
 
{{LSL DefineRow||[[INVENTORY NOTECARD]]|}}
 
{{LSL DefineRow||[[INVENTORY NOTECARD]]|}}
 
{{LSL DefineRow||[[INVENTORY OBJECT]]|}}
 
{{LSL DefineRow||[[INVENTORY OBJECT]]|}}
 
{{LSL DefineRow||[[INVENTORY SCRIPT]]|}}
 
{{LSL DefineRow||[[INVENTORY SCRIPT]]|}}
 +
{{LSL DefineRow||[[INVENTORY SETTING]]|}}
 
{{LSL DefineRow||[[INVENTORY SOUND]]|}}
 
{{LSL DefineRow||[[INVENTORY SOUND]]|}}
 
{{LSL DefineRow||[[INVENTORY TEXTURE]]|}}
 
{{LSL DefineRow||[[INVENTORY TEXTURE]]|}}

Latest revision as of 10:25, 1 February 2019

Description

Constant: integer INVENTORY_ANIMATION = 20;

The integer constant INVENTORY_ANIMATION has the value 20

Used with Inventory functions and specifies inventory items of ANIMATION type will be retrieved by the function.

Examples

//Gives inventory only to agents with the same active group as the object the script is in is assigned to
default
{
    touch_start(integer total_number)
    {
        // get the UUID of the person touching this object
        key user = llDetectedKey(0);
        // Check that they have the correct group active
        // User must be in the same region for llSameGroup() to work. (Well, so they should be!)
        if (llSameGroup(user) )
            // Give user the first animation from this object's contents
            llGiveInventory(user, llGetInventoryName(INVENTORY_ANIMATION, 0) );
        else
            // send a warning specifically to this user
            llRegionSayTo(user, 0, "Wrong active group!");
    }
}

Deep Notes

Search JIRA for related Issues

Signature

integer INVENTORY_ANIMATION = 20;