Difference between revisions of "Window Control"
Jump to navigation
Jump to search
Emmas Seetan (talk | contribs) (New page: == What it does == Window Control is basically just to change the opacity of windows and such, helpful for buildings. == Window == Put this in the windows; // script that changes opaci...) |
m (fix) |
||
Line 6: | Line 6: | ||
Put this in the windows; | Put this in the windows; | ||
<lsl> | |||
// script that changes opacity of object based on external messages | // script that changes opacity of object based on external messages | ||
Line 12: | Line 12: | ||
integer gLastListen; // id of last listen command | integer gLastListen; // id of last listen command | ||
default | |||
{ | { | ||
state_entry() | state_entry() | ||
Line 37: | Line 37: | ||
Put this in a switch; | Put this in a switch; | ||
<lsl> | |||
// script for a switch that controls window opacity | // script for a switch that controls window opacity | ||
integer gOpacityLevel = 0; // current opacity level of windows | integer gOpacityLevel = 0; // current opacity level of windows | ||
integer gChannel = 5; // channel that controls which windows respond to this switch | integer gChannel = 5; // channel that controls which windows respond to this switch | ||
default | |||
{ | { | ||
state_entry() | state_entry() |
Revision as of 00:18, 26 December 2008
What it does
Window Control is basically just to change the opacity of windows and such, helpful for buildings.
Window
Put this in the windows; <lsl> // script that changes opacity of object based on external messages
integer gChannel = 5; // communication channel on which we listen for opacity change commands integer gLastListen; // id of last listen command
default
{ state_entry() { gLastListen = llListen(gChannel, "", "", "0"); } listen(integer channel, string name, key id, string msg) { llListenRemove(gLastListen); integer nextOpacityLvl = (integer)msg; nextOpacityLvl += 1; if (nextOpacityLvl > 3) nextOpacityLvl = 0; gLastListen = llListen(gChannel, "", "", (string)nextOpacityLvl); float opacityLvl = (float)msg; opacityLvl = 1.1 - ((opacityLvl / 3) * 0.9); llSetAlpha(opacityLvl, ALL_SIDES); } }</lsl>
Window Switch
Put this in a switch; <lsl>
// script for a switch that controls window opacity integer gOpacityLevel = 0; // current opacity level of windows integer gChannel = 5; // channel that controls which windows respond to this switch
default
{ state_entry() { } touch_start(integer num_touchers) { gOpacityLevel += 1; if (gOpacityLevel > 3) { gOpacityLevel = 0; } string opacityCmd = ""; opacityCmd = opacityCmd + (string)gOpacityLevel; llSay(gChannel, opacityCmd); } }</lsl>
How to work it
When you've put all the window opacity scripts in and done the switch, just click the switch to cycle through transparent and opaque.