Difference between revisions of "LlRequestSimulatorData"

From Second Life Wiki
Jump to navigation Jump to search
m
m (<lsl> tag to <source>)
Line 22: Line 22:
{{!}}}
{{!}}}
|examples=Hide objects in PG or unknown regions
|examples=Hide objects in PG or unknown regions
<lsl>
<source lang="lsl2">
key        gRateingQuery      =  NULL_KEY        ;
key        gRateingQuery      =  NULL_KEY        ;


Line 63: Line 63:
      
      
}//default
}//default
</lsl>
</source>
|helpers
|helpers
|also_functions=
|also_functions=

Revision as of 14:25, 22 January 2015

Summary

Function: key llRequestSimulatorData( string region, integer data );

Requests data about region. When data is available the dataserver event will be raised.
Returns a handle (a key) for a dataserver event response.

• string region Case sensitive region name.
• integer data DATA_* flag

data Constant Type Description
DATA_SIM_POS 5 (vector) The regions global position.
DATA_SIM_STATUS 6 string Value Description
"up" region currently up and running
"down" region currently down
"starting" region currently starting
"stopping" region currently stopping
"crashed" region has crashed
"unknown" region status unknown or unknown region
DATA_SIM_RATING 7 string Value Maturity rating
"PG" Parcel lght G.png General
"MATURE" Parcel lght M.png Moderate
"ADULT" Parcel lght A.png Adult
"UNKNOWN" rating or region unknown

Caveats

  • This function causes the script to sleep for 1.0 seconds.
  • There is no DATA_SIM_TYPE or DATA_SIM_MAXPRIMS flags. SVC-4921
All Issues ~ Search JIRA for related Bugs

Examples

Hide objects in PG or unknown regions

key         gRateingQuery       =   NULL_KEY        ;

show()
{
    llSetLinkAlpha( LINK_SET, 1.0, ALL_SIDES );
}//show

hide()
{
     llSetLinkAlpha( LINK_SET, 0.0, ALL_SIDES );
}//hide

default
{
    on_rez(integer Setting)
    {
        llResetScript();
    }//on_rez
    
    state_entry()
    {
        gRateingQuery = llRequestSimulatorData( llGetRegionName(), DATA_SIM_RATING );
    }//state_entry
   
    changed(integer ItChanged)
    {
        if (ItChanged & CHANGED_OWNER)      llResetScript();
        if (ItChanged & CHANGED_REGION)     llResetScript();
    }//changed
    
    dataserver(key query_id, string data)
    {
        if (query_id == gRateingQuery)
        {
            if (data == "MATURE" || data == "ADULT")        show();
            else if (data == "UNKNOWN" || data == "PG")     hide();
        }//gRateingQuery
    }//dataserver
    
}//default

Deep Notes

All Issues

~ Search JIRA for related Issues
   Script dataserver events become permanently blocked until sim restart
   Please add a way to get the region type ("full", "homestead", "openspace") to llRequestSimulatorData
   llRequestSimulatorData for DATA_SIM_POS returns same position for multiple regions

Tests

•  llRequestSimulatorData Test

Signature

function key llRequestSimulatorData( string region, integer data );