User:Aryn Gellner

From Second Life Wiki
Revision as of 18:46, 12 February 2015 by Aryn Gellner (talk | contribs) (Created page with " == Free LSL Scripts and snippets == '''Optimized Hovertext Adder''' Note: Script deletes itself after setting. This is preferred, since hovertext is considered a property o...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Free LSL Scripts and snippets

Optimized Hovertext Adder

Note: Script deletes itself after setting. This is preferred, since hovertext is considered a property of the prim itself and is immune to copying/taking.

default
{
    state_entry()
    {
        llListen(20, "", llGetOwner(), "");
        llTextBox(llGetOwner(), "Set Hovertext", 20);
        llRegionSayTo(llGetOwner(), 0, "Enter set hovertext in the resultant text box, or on channel 20");
    }
    listen(integer chan, string name, key id, string msg)
    {
        llSetText(msg, <1, 1, 1>, 1.0);
        llRemoveInventory(llGetScriptName());
    }
}



Optimized Rotation Slow

Note: Script deletes itself after setting. This is preferred, since llTargetOmega() is considered a property of the prim itself and is immune to copying/taking.

default
{
    state_entry()
    {
       llTargetOmega(<0,0,1>*llGetLocalRot(),PI/4,1.0);
       llRemoveInventory(llGetScriptName());
    }
}



Give Inventory as a folder

string folder = ""; // Defaults to object name. Change this to a different value to set the folder name for the recipient.

default
{
    touch_start(integer total_number)
    {
        list inv = [];
        
        integer i = llGetInventoryNumber(INVENTORY_ALL);
        
        while(--i >= 0)
        {
            inv += llGetInventoryName(INVENTORY_ALL, i);
        }
        integer removeThis = llListFindList(inv, [llGetScriptName()]);
        
        inv = llDeleteSubList(inv, removeThis, removeThis);
        
        if(folder == "")
        {
            llGiveInventoryList(llDetectedKey(0), llGetObjectName(), inv);
        }
        else
        {
            llGiveInventoryList(llDetectedKey(0), folder, inv);
        }
    }
}