Experience permissions denied

From Second Life Wiki
Revision as of 12:19, 8 July 2014 by Jeremy Linden (talk | contribs) (Created page with "Category:Experience Tools {{LSL_Event |event=experience_permissions_denied |event_desc=The agent has denied experience permission. |event_f…")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Description

Event: experience_permissions_denied( key agent_id, integer reason ){ ; }

The agent has denied experience permission.

• key agent_id Key of the agent denying permission.
• integer reason Reasonfor denial; one of the experience tools errors.

This event may be generated in many cases:

  • In response to a call to llRequestExperiencePermissions if any of the following is true:
    • The agent does not respond to the experience permission dialog. This will happen after a long delay if the agent is running a viewer which doesn't understand the request or if the agent has blocked the object.
    • The agent selects "Block Experience" in the experience permission dialog.
    • The agent has previously blocked the experience through another experience permission dialog or through the experience profile.
    • An attachment is asking for permission from an agent other than its owner.
    • The experience cannot run on the region because it is blocked or exceeds the maturity rating of the region.
  • The experience can no longer run:
    • The script has moved to a region where the experience cannot run because it is blocked or it exceeds the maturity rating of the region.
    • The agent has blocked the experience from the experience profile.

Caveats


Examples

<lsl>// Simple experience watcher string denied_region = ""; string experience_name = "";

default{

   state_entry(){
       llRequestExperiencePermissions(llGetOwner(), "");
       experience_name = llList2String(llGetExperienceDetails(NULL_KEY), 0);
   }
   experience_permissions(key agent){
       denied_region="";
       llOwnerSay("in "+ experience_name);
   }
   
   experience_permissions_denied(key agent, integer reason){
       denied_region = llGetRegionName( );
       llOwnerSay("out "+ experience_name);
       
   }
   
   changed(integer what){
       if(denied_region != "" && denied_region != llGetRegionName()){
          llRequestExperiencePermissions(llGetOwner(), "");
       }
   } 

}</lsl>

Deep Notes

Signature

event void experience_permissions_denied( key agent_id, integer reason );