LlRequestSimulatorData Test

From Second Life Wiki
Revision as of 20:43, 20 June 2009 by Strife Onizuka (talk | contribs) (whitespacing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

[LLRequestSimulatorDataTest]

[VERSION] 0.3

[LENGTH] 00:10

[TESTERS] 1

[OVERVIEW] This test has been designed to exercise the llRequestSimulatorData LSL function.

[SETUP] This test requires 1 Tester and rezzable land

[*]

[0010] Create a new script containing the following:

[SCRIPT] llRequestSimulatorDataScript

[0020] Create a box on the ground, Named SimDataTest

[0030] Place the Script in the Box

[0040] Type /1 and then a sim name, Example: "/1 Ahern" minus the quotations, This will have you say on channel 1 "Ahern" so that the object with this script hears it and responds.

[0050] Verify the script responds with correct information. Example: "SimDataTest: Ahern (PG) (255232, 256512) is up" and "SimDataTest: Gibson (MATURE) (254976, 256000) is up"

[0060] Remember to clear up after your tests.

[END]


[llRequestSimulatorDataScript]

<lsl>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); 
       }
   }

}</lsl>