User:Kerik Rau

From Second Life Wiki
Revision as of 15:28, 13 January 2009 by Kerik Rau (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Code Snippets

Simple Stupid Slide Show

Dumb slide show: simply rez a cube, throw in the script and textures and instant slide show. Ya, boring isn't it?

<lsl> integer Face = 2; float Delay = 25.0;

list Textures; integer TextureNum;

BuildDB() {

   Textures = [];
   integer NumTextures = llGetInventoryNumber(INVENTORY_TEXTURE);
   
   while(NumTextures--)
       Textures += llGetInventoryName(INVENTORY_TEXTURE, NumTextures);
       
   llOwnerSay("Loaded Textures: " + llDumpList2String(Textures, ", "));

}

default {

   state_entry()
   {
       BuildDB();
       llSetTimerEvent(Delay);
   }
   
   changed(integer change)
   {
       if(change & CHANGED_INVENTORY)
           BuildDB();   
   }
   
   timer()
   {
       llSetTexture(llList2String(Textures, TextureNum), Face);
       
       if(++TextureNum >= llGetListLength(Textures))
           TextureNum = 0;
   }

} </lsl>

SLURL Raster Image URL Generator

I was rather interested in the raster images provided within SL and SLURL.com so I decided to figure out how to replicate it in such a way that it could be incorporated into tools and/or services outside the standard fair offered by Linden Labs.


<lsl> string MapTileURL() {

   vector TilePos = llGetRegionCorner();

   //tiles are in a grid based on the regions, so 256m = 1 tile
   TilePos /= 256.0;
   
   //offset provided in the javascript, really 1278 + 1 (probably 0 -> 1 index difference?)
   TilePos.y = 1279.0 - TilePos.y;
   
   //should look like http://secondlife.com/apps/mapapi/grid/map_image/x-y-zoom-0
   string mapURL = "http://secondlife.com/apps/mapapi/grid/map_image/";
   mapURL += (string) llFloor(TilePos.x);
   mapURL += "-";
   mapURL += (string) llFloor(TilePos.y);

   //the 3rd value is something to do with zoom
   mapURL += "-1-0";
   return mapURL;

} </lsl>