User:Kerik Rau

From Second Life Wiki
Revision as of 15:28, 13 January 2009 by Kerik Rau (Talk | contribs)

Jump to: navigation, search

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>