Skip to content
lsl.devlsl.devLSL Dev

Experience permissions denied

Looking for the current API? Open the experience_permissions_denied reference →

Event notes

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 script has moved to a parcel where it is blocked or not allowed.
    • The agent has blocked the experience from the experience profile.
    • The agent has moved to a parcel where the experience cannot run.

Wiki description

The agent has denied experience permission or generated under other cases.

Specification

LSL Constant Message returned via llGetExperienceErrorMessage Description
XP_ERROR_NONE 0 no error No error was detected.
XP_ERROR_THROTTLED 1 exceeded throttle The call failed due to too many recent calls.
XP_ERROR_EXPERIENCES_DISABLED 2 experiences are disabled The region currently has experiences disabled.
XP_ERROR_INVALID_PARAMETERS 3 invalid parameters One of the string arguments was too big to fit in the key-value store.
XP_ERROR_NOT_PERMITTED 4 operation not permitted Experience permissions were denied by the user.
XP_ERROR_NO_EXPERIENCE 5 script not associated with an experience This script is not associated with an experience.
XP_ERROR_NOT_FOUND 6 not found The sim was unable to verify the validity of the experience. Retrying after a short wait is advised.
XP_ERROR_INVALID_EXPERIENCE 7 invalid experience The script is associated with an experience that no longer exists.
XP_ERROR_EXPERIENCE_DISABLED 8 experience is disabled The experience owner has temporarily disabled the experience.
XP_ERROR_EXPERIENCE_SUSPENDED 9 experience is suspended The experience has been suspended by Linden Lab customer support.
XP_ERROR_UNKNOWN_ERROR 10 unknown error An unknown error not covered by any of the other predetermined error states.
XP_ERROR_QUOTA_EXCEEDED 11 experience data quota exceeded An attempt to write data to the key-value store failed due to the data quota being met.
XP_ERROR_STORE_DISABLED 12 key-value store is disabled They key-value store is currently disabled on this region.
XP_ERROR_STORAGE_EXCEPTION 13 key-value store communication failed Unable to communicate with the key-value store, or attempted to create key that already exists
XP_ERROR_KEY_NOT_FOUND 14 key doesn't exist They requested key does not exist.
XP_ERROR_RETRY_UPDATE 15 retry update A checked update failed due to an out of date request.
XP_ERROR_MATURITY_EXCEEDED 16 experience content rating too high The content rating of the experience exceeds that of the region.
XP_ERROR_NOT_PERMITTED_LAND 17 not allowed to run on this land The experience is blocked or not enabled for this land.
XP_ERROR_REQUEST_PERM_TIMEOUT 18 experience permissions request timed out The request for experience permissions was ignored.

Examples

// 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(), "");
        }
    } 
}

See also: functions

See also: events

Shared wiki helpers

The original page also injects shared parameter notes, caveats or issue information through these helpers. Their conditional MediaWiki logic is not reproduced here; inspect the preserved helper source for additional material.

Template:LSL Function/avatar

Original shared helper source (conditional wiki logic is not evaluated)
{{LSL Injection Test}}<noinclude>{{Multi-lang|category=LSL}}</noinclude>{{#if:

{{#vardefine:p_{{{1|none}}}_desc|avatar {{#if:{{{group|}}}|or group}} {{HoverLink|UUID|Universally Unique Identifier}} {{#if:{{{sim|}}}{{{region|}}}|that is in the same [[region]] {{#ifeq:{{{sim|}}}{{{region|}}}|known|or is otherwise known to the region{{Footnote|handle=known}}}}}}}}

{{#vardefine:p_{{{1|none}}}_hover|avatar {{#if:{{{group|}}}|or group}} UUID {{#if:{{{sim|}}}{{{region|}}}|that is in the same region {{#ifeq:{{{sim|}}}{{{region|}}}|known|or is otherwise known to the region}}}}}}

<includeonly>
{{#if:{{{nc|}}}||{{#vardefine:hidden-text|{{#var:hidden-text}}
{{#if:{{#pos:{{#var:moded}}|r}}{{#pos:{{#var:moded}}|u}}||{{LSLC|Avatar/As A Parameter||{{#var:lang}}}}}}
}}}}
</includeonly>

}}<noinclude>
{| {{Prettytable}}
|-{{Hl2}}
! #var
! value
|-
{{VarPair|p_{{{1|none}}}_desc}}
|-
{{VarPair|p_{{{1|none}}}_hover}}
|}
</noinclude>
Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.