OsGrantScriptPermissions

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Created page with "{{osslfunc |threat_level=Severe |function_syntax=void osGrantScriptPermissions(key allowed_key, string function) |ossl_example=<source lang="lsl"> list functions = ["osNpcCrea...")
 
Line 1: Line 1:
 
{{osslfunc
 
{{osslfunc
|threat_level=Severe
+
|threat_level=Severe '''(Pending Peer Review)'''
 
|function_syntax=void osGrantScriptPermissions(key allowed_key, string function)
 
|function_syntax=void osGrantScriptPermissions(key allowed_key, string function)
 
|ossl_example=<source lang="lsl">
 
|ossl_example=<source lang="lsl">

Revision as of 12:10, 27 February 2015

void osGrantScriptPermissions(key allowed_key, string function)
Dynamically allow ossl execution to owner/creator/group by function name.
Threat Level Severe (Pending Peer Review) is unknown threat level
Permissions No permissions specified
Extra Delay No function delay specified
Example(s)
list functions = ["osNpcCreate", "osNpcGetPos", "osNpcLoadAppearance", "osNpcGetRot", "osNpcMoveTo",
                "osNpcRemove", "osNpcSaveAppearance", "osNpcSay", "osNpcSetRot","osNpcSit", "osNpcStand",
                "osNpcPlayAnimation", "osNpcStopAnimation","osNpcMoveToTarget", "osNpcStopMoveToTarget",
                "osOwnerSaveAppearance", "osAgentSaveAppearance"];
 
default
{
    state_entry()
    {
        llSetColor(<1,0,0>,ALL_SIDES);
    }
 
    touch_start(integer det)
    {
        llSay(0, "Enable");
 
        osGrantScriptPermissions(llGetOwner(), functions);  
        state enabled;
    }
}
 
state enabled
{
    state_entry()
    {
        llSetColor(<0,1,0>,ALL_SIDES);
        llSay(0, "ossl functions enabled");
    }
 
    touch_start(integer det)
    {
        osRevokeScriptPermissions(llGetOwner(), functions);
        state default;
    }
}

This example will allow the owner of this object to create and manipulate NPCs. To allow other possibilities, change the llGetOwner() to any key for another avatar or group.


Personal tools
General
About This Wiki