User:Hidenori Glushenko

From Second Life Wiki
Revision as of 15:45, 29 August 2008 by Hidenori Glushenko (talk | contribs) (change license)
Jump to navigation Jump to search

About Hidenori Glushenko

  • Nationality: Japan
  • Gender: male
  • Playing since: 11/09/2006


Face Texture Setter

You can change/toggle the texture/alpha setting on a specified face only touching on its face.

  • blank texture and alpha 0%
  • blank texture and alpha 100%
  • transparent texture and alpha 0%
  • invisible texture and alpha 0%

NOTE : Server 1.24 or later / Viewer 1.21 or later

<lsl> ///////////////////////////////////////////////////////////////////// // FaceTextureSetter string VERSION = "1.0"; // 2008/08/30 ///////////////////////////////////////////////////////////////////// // Released into the public domain by Hidenori Glushenko /////////////////////////////////////////////////////////////////////

//=================================================================== // GLOBAL VARIABLES //=================================================================== list TEXTURE_SETTINGS;

//=================================================================== // LOCAL FUNCTIONS //=================================================================== init() {

   integer i;
   integer max = 9;
   TEXTURE_SETTINGS    = [];
   for ( i = 0; i < max; ++i ) {
       TEXTURE_SETTINGS += 0;
       TEXTURE_SETTINGS += llGetTexture( i );
       TEXTURE_SETTINGS += llGetAlpha( i );
   }   

}

//=================================================================== // MAIN PROCEDURE //=================================================================== default {

   state_entry() {
       init();
   }
   
   touch_start(integer total_number) {
       //  only owner
       if ( llDetectedKey( 0 ) != llGetOwner() ) {
           return; 
       }
       
       integer face    = llDetectedTouchFace( 0 );
       integer setting = llList2Integer( TEXTURE_SETTINGS, face * 3 );
       
       ++setting;
       if ( setting > 4 ) {
           setting = 0;    
       }
       
       if ( setting == 0 ) {
           //  original texture and alpha
           llOwnerSay( "face " + (string)face + ": set to original texture and alpha." );
           llSetTexture( llList2Key( TEXTURE_SETTINGS, face * 3 + 1 ), face );
           llSetAlpha( llList2Float( TEXTURE_SETTINGS, face * 3 + 2 ), face );
       } else if ( setting == 1 ) {
           //  set alpha 0% & blank texture
           llOwnerSay( "face " + (string)face + ": set to blank texture and alpha 0%." );
           llSetTexture( TEXTURE_BLANK , face );
           llSetAlpha( 1.0, face );
       } else if ( setting == 2 ) {
           //  set alpha 100% & blank texture
           llOwnerSay( "face " + (string)face + ": set to blank texture and alpha 100%." );
           llSetTexture( TEXTURE_BLANK , face );
           llSetAlpha( 0.0, face );
       } else if ( setting == 3 ) {
           //  set alpha 0% & transparent texture
           llOwnerSay( "face " + (string)face + ": set to transparent texture and alpha 0%." );
           llSetTexture( TEXTURE_TRANSPARENT , face );
           llSetAlpha( 1.0, face );
       } else if ( setting == 4 ) {
           //  set alpha 0% & invisible texture
           llOwnerSay( "face " + (string)face + ": set to invisible texture and alpha 0%." );
           llSetTexture( "e97cf410-8e61-7005-ec06-629eba4cd1fb" , face );
           llSetAlpha( 1.0, face );        
       }
       
       TEXTURE_SETTINGS = llListReplaceList( TEXTURE_SETTINGS, [ setting ], face * 3, face * 3 );
   }

} </lsl>

Other Activities

View the issues Hidenori Glushenko has filed at jira.secondlife.com