//•      llGetParcelDetails
//•      llGetParcelFlags
//•      llGetParcelMaxPrims
//•      llGetParcelPrimCount 
 
string gSimName;
key gStatusQuery;
string gStatus;
string gRating;
key SimPos;
 
default
{
    state_entry()
    {
        llListen(1, "", "", "");
    } 
 
    listen(integer channel, string name, key id, string mesg)
    {
        gSimName = mesg;
        gStatusQuery = llRequestSimulatorData(gSimName, DATA_SIM_STATUS);
        gRating = llRequestSimulatorData(gSimName, DATA_SIM_RATING);
        SimPos = llRequestSimulatorData(gSimName, DATA_SIM_POS);
    }
 
    dataserver(key queryId, string data)
    {
        if (queryId == gStatusQuery)
        {
            gStatus = data;
        }
        else if (queryId == gRating)
        {
            gRating = data;
        }
        else
        {
            vector SimPos? = (vector) data;
            llSay(0, gSimName + " (" + gRating + ") " + "(" + (string)((integer) SimPos?.x) + ", " + (string)((integer) SimPos?.y) + ") is " + gStatus);
            llSetText("Info: " + gSimName + " (" + gRating + ") " + "(" + (string)((integer) SimPos?.x) + ", " + (string)((integer) SimPos?.y) + ") is " + gStatus + " .", <1.0, 1.0, 1.0>, 1.0); 
 
//llSetText("", <1.0, 1.0, 1.0>, 1.0);
 
        }
    }
}