Okay, so I rigged my scripts into the ones given, and still nothing, I am pasting the scripts below, as I have them on one attachment and several buttons. I am giving the button that is used to make the attachment visible instead of all 4. The only difference between that and the other buttons is which number is said.
This is the script I used for the button.
integer handle;integer mychannel;integer Key2Number(key objKey) { return ((integer)("0x"+llGetSubString((string)objKey,-8,-1)) & 0x3FFFFFFF) ^ 0x3FFFFFFF;}key owner;default{ state_entry() { //llSay(0, "Hello, Avatar!"); } attach(key attached) { if(attached){ owner = attached; mychannel = Key2Number(owner); } } touch_start(integer total_number) { llRegionSayTo(owner,mychannel, "3"); }}
This is the script I used for the attachment.
integer handle;integer mychannel;integer Key2Number(key objKey) { return ((integer)("0x"+llGetSubString((string)objKey,-8,-1)) & 0x3FFFFFFF) ^ 0x3FFFFFFF;}key owner;default{ state_entry() { //llSay(0, "Hello, Avatar!"); } attach(key attached) { if(attached){ llListenRemove(handle);//shouldn't be necessary but can't hurt owner = attached; mychannel = Key2Number(owner); handle =llListen(mychannel,"","",""); } else{ llListenRemove(handle); } } listen(integer channel, string name, key id, string message) { if (message == "3") { llSetAlpha(1.0,ALL_SIDES); }else if (message == "0") { llSetAlpha(0.0,ALL_SIDES); }else if (message == "1") { llSetAlpha(0.0,ALL_SIDES); }else if (message == "2") { llSetAlpha(0.0,ALL_SIDES); } }}
The attachment has the MONO button checked where as the button does not. I have tried other combinations like having them both checked, having just the button checked, and having neither of them checked. It does not seem to make a difference.