User:Hidenori Glushenko: Difference between revisions
m added SL Certification Participant/LSL Mentors category |
Added 'Face Texture Setter' script code |
||
| Line 6: | Line 6: | ||
== Activities == | == 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> | |||
///////////////////////////////////////////////////////////////////// | |||
// iNNX SCRIPT | |||
// xnniFaceTextureSetter | |||
// | |||
// version | |||
string VERSION = "1.0"; | |||
// 2008/08/30 | |||
///////////////////////////////////////////////////////////////////// | |||
// Copyright (c) 2008, Hidenori Glushenko | |||
// All rights reserved. | |||
// | |||
///////////////////////////////////////////////////////////////////// | |||
//=================================================================== | |||
// 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 == | |||
* We've opened 'Scripters Cafe' in Second Life. Many scripters come and talk together. | * We've opened 'Scripters Cafe' in Second Life. Many scripters come and talk together. | ||
Revision as of 15:39, 29 August 2008
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> ///////////////////////////////////////////////////////////////////// // iNNX SCRIPT // xnniFaceTextureSetter // // version string VERSION = "1.0"; // 2008/08/30 ///////////////////////////////////////////////////////////////////// // Copyright (c) 2008, Hidenori Glushenko // All rights reserved. // /////////////////////////////////////////////////////////////////////
//=================================================================== // 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
- We've opened 'Scripters Cafe' in Second Life. Many scripters come and talk together.
- iNNX is my company. Doing business in/for Virtual Worlds.
- Our blog is iNNX Blog.
- Digging! in SL is our mash-up website using Second Life in-world search.
- Member of Second Life in Japan(wikia/ja) project.