Below is the full method used for setting the values on the prim ... the rest of the script is all about communications and management. The basic idea of the function is that you can chose to set a different texture/color when the window is set to full opaque (100% Alpha). In this test case the prim is set with the blank texture, white, and 75% transparency.
//Global Variables
//Data Lists
list gWindowLinkNum;
list gInFace;
list gInColor;
list gInText;
list gIn100Color;
list gIn100Text;
list gOutFace;
list gOutColor;
list gOutText;
list gOut100Color;
list gOut100Text;
integer call_windows()
{
integer i = 0;
integer x = 0;
integer quit = 0;
integer listLen = llGetListLength(gListPosit);
list indexList;
integer indexLen;
integer index;
integer linkNum;
integer faceWork;
string sText;
string message;
//Now call the windows
while (quit == 0 && i < listLen)
{
if (llList2String(gWindowOptions, i) == gWinSelected || gWinSelected == "All"

{
//Need to Split out the List Positions Ids
indexList = llParseString2List(llList2String(gListPosit, i),["@"],[""]);
indexLen = llGetListLength(indexList);
for (x = 0; x < indexLen; x++)
{
index = llList2Integer(indexList, x);
linkNum = llList2Integer(gWindowLinkNum, index);
//Check for a negative Link ID .. this means that it is an unlinked window
if (linkNum < 0)
{
//Send ... WinControlID, SideMod, Tint .. The window has stored its texture/color values
message = CTRL_ID + "@" + gSideModifier + "@" + (string)gMsgTint;
llRegionSay(linkNum, message);
}
else
{
//Check for each side
if (gSideModifier != "Inside"

{
faceWork = llList2Integer(gOutFace, index);
//Now depending on the Tint % we set one color or other
if (gMsgTint == 1)
{
//Only do this if we really have a texture ... a none will be here if not
sText = llList2String(gOut100Text, index);
if (sText != "non"

{
llSetLinkColor(linkNum, llList2Vector(gOut100Color, index), faceWork);
llSetLinkTexture(linkNum, llList2String(gOut100Text, index), faceWork);
}
}
else
{
llSetLinkColor(linkNum, llList2Vector(gOutColor, index), faceWork);
llSetLinkTexture(linkNum, llList2String(gOutText, index), faceWork);
}
llSetLinkAlpha(linkNum, gMsgTint, faceWork);
}
if (gSideModifier != "Outside"

{
faceWork = llList2Integer(gInFace, index);
//Now depending on the Tint % we set one color or other
if (gMsgTint == 1)
{
//Only do this if we really have a texture ... a none will be here if not
sText = llList2String(gOut100Text, index);
if (sText != "non"

{
llSetLinkColor(linkNum, llList2Vector(gOut100Color, index), faceWork);
llSetLinkTexture(linkNum, llList2String(gOut100Text, index), faceWork);
}
}
else
{
llSetLinkColor(linkNum, llList2Vector(gInColor, index), faceWork);
llSetLinkTexture(linkNum, llList2String(gInText, index), faceWork);
}
llSetLinkAlpha(linkNum, gMsgTint, faceWork);
}
}
}
if (gWinSelected != "All"

{
quit = 1;
}
}
i++;
}
return 0;
}//End call_windows