OsRevokeScriptPermissions
From OpenSimulator
(Difference between revisions)
m (Cosmetic) |
|||
Line 5: | Line 5: | ||
|function_syntax= osRevokeScriptPermissions(key revoked_key, string function) | |function_syntax= osRevokeScriptPermissions(key revoked_key, string function) | ||
|ossl_example=<source lang="lsl"> | |ossl_example=<source lang="lsl"> | ||
− | list functions = ["osNpcCreate", "osNpcGetPos", "osNpcLoadAppearance", "osNpcGetRot", "osNpcMoveTo", | + | // |
− | + | // osGrantScriptPermissions Script Example | |
− | + | // | |
− | + | ||
− | + | list functions = [ | |
+ | "osNpcCreate", "osNpcGetPos", "osNpcLoadAppearance", "osNpcGetRot", | ||
+ | "osNpcMoveTo", "osNpcRemove", "osNpcSaveAppearance", "osNpcSay", | ||
+ | "osNpcSetRot", "osNpcSit", "osNpcStand", "osNpcPlayAnimation", | ||
+ | "osNpcStopAnimation","osNpcMoveToTarget", "osNpcStopMoveToTarget", | ||
+ | "osOwnerSaveAppearance", "osAgentSaveAppearance" | ||
+ | ]; | ||
+ | |||
default | default | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
− | llSetColor(<1,0,0>,ALL_SIDES); | + | llSay(PUBLIC_CHANNEL, "Touch to see osGrantScriptPermissions usage."); |
+ | llSetColor(<1.0, 0.0, 0.0>, ALL_SIDES); | ||
} | } | ||
− | + | ||
− | touch_start(integer | + | touch_start(integer number) |
{ | { | ||
− | llSay( | + | llSay(PUBLIC_CHANNEL, "Enable"); |
− | + | ||
osGrantScriptPermissions(llGetOwner(), functions); | osGrantScriptPermissions(llGetOwner(), functions); | ||
state enabled; | state enabled; | ||
} | } | ||
} | } | ||
− | + | ||
state enabled | state enabled | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
− | llSetColor(<0,1,0>,ALL_SIDES); | + | llSetColor(<0.0, 1.0, 0.0>, ALL_SIDES); |
− | llSay( | + | llSay(PUBLIC_CHANNEL, "ossl functions enabled"); |
} | } | ||
− | + | ||
touch_start(integer det) | touch_start(integer det) | ||
{ | { |
Revision as of 13:48, 24 November 2020
osRevokeScriptPermissions(key revoked_key, string function)
| |
Dynamically allow/disallow ossl execution to owner/creator/group by function name. | |
Threat Level | Severe (Pending Peer Review) is unknown threat level |
Permissions | Use of this function is always disabled by default |
Extra Delay | 0 seconds |
Example(s) | |
// // osGrantScriptPermissions Script Example // list functions = [ "osNpcCreate", "osNpcGetPos", "osNpcLoadAppearance", "osNpcGetRot", "osNpcMoveTo", "osNpcRemove", "osNpcSaveAppearance", "osNpcSay", "osNpcSetRot", "osNpcSit", "osNpcStand", "osNpcPlayAnimation", "osNpcStopAnimation","osNpcMoveToTarget", "osNpcStopMoveToTarget", "osOwnerSaveAppearance", "osAgentSaveAppearance" ]; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osGrantScriptPermissions usage."); llSetColor(<1.0, 0.0, 0.0>, ALL_SIDES); } touch_start(integer number) { llSay(PUBLIC_CHANNEL, "Enable"); osGrantScriptPermissions(llGetOwner(), functions); state enabled; } } state enabled { state_entry() { llSetColor(<0.0, 1.0, 0.0>, ALL_SIDES); llSay(PUBLIC_CHANNEL, "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. The osRevokeScriptPermissions uses the same syntax to remove previuosly granted permissions. |