Problem with UI and 100% Transparency Script settings
|
|
Iumi Cline
Cherubic Citizen
Join date: 19 Jul 2005
Posts: 33
|
08-09-2006 00:50
Is there some reason why when you use a script to set 100% transparency to an object, then select a surface of that prim using Select Texture to change it to 0% Transparency and switch back to Position mode the entire object loses its 100% transparency setting. Process: 1) Rez a prim. Any prim will do  2) Use a script to change the object's settings to 100% Transparency. 3) Select a face of the prim using Select Texture. 4) With that same surface selected in the Texture tab change that face to 0% Transparency. 5) Without deselecting the prim face, switch back to object mode. Observe the results carefully the object should change all faces back to 0% transparency for no reason. I've tried many different scripts to change the object setting and this bug repeats. Has anyone else noticed this problem? Is it UI related? Please respond. Thank you kindly  -iumi
|
|
Xixao Dannunzio
Owner, X3D Enterprises
Join date: 20 Mar 2006
Posts: 114
|
08-09-2006 01:06
You're using llSetAlpha(0, ALL_SIDES);
Instead, specify the side number in place of ALL_SIDES, and have one command for each side.
Haven't seen that bug myself, but this should take care of it.
|
|
Kayla Stonecutter
Scripting Oncalupen
Join date: 9 Sep 2005
Posts: 224
|
08-09-2006 03:10
From: Iumi Cline Process: 1) Rez a prim. Any prim will do  2) Use a script to change the object's settings to 100% Transparency. 3) Select a face of the prim using Select Texture. 4) With that same surface selected in the Texture tab change that face to 0% Transparency. 5) Without deselecting the prim face, switch back to object mode. Observe the results carefully the object should change all faces back to 0% transparency for no reason. Just tested this inworld myself and duplicated, looks like a bug in the edit window. BTW, Xixao, it doesn't matter if ALL_SIDES or individual commands are used in LSL, it doesn't make any kind of special connection between them when using ALL_SIDES. I testing using llSetAlpha with individual commands for each side and the bug still happened. Actually, doesn't matter if you use a script, or manually set the sides to partial transparency, it still does it. I just did more testing as I was typing this, and if you change /any/ setting that has a textbox entry (repeat, rotation, etc) with one side selected, then click the Position radiobox, all sides will update with that new setting. Sending a bug report, I'd suggest you do as well, Iumi. [EDIT] Workaround for now: After adjusting something with one of the textboxes, click the face again, or any other face, to deselect the textbox, then you can click the Position radio to select the entire object without updating all faces.
|
|
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
08-09-2006 10:10
I've run into this bug many times, I just wasn't ever able to reproduce it consistently. Nice work.
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
08-09-2006 12:14
From: Kayla Stonecutter BTW, Xixao, it doesn't matter if ALL_SIDES or individual commands are used in LSL, it doesn't make any kind of special connection between them when using ALL_SIDES. I testing using llSetAlpha with individual commands for each side and the bug still happened.
Actually, doesn't matter if you use a script, or manually set the sides to partial transparency, it still does it. So if you programmatically set the alpha of each side independently as you desire and don't do anything through the Edit window it still doesn't work? 
|
|
Delerium Hannibal
Registered User
Join date: 30 Apr 2004
Posts: 28
|
08-09-2006 12:29
This isn't a bug that I know of... what you are encountering are the differences between the edit menu of a prim and the script functions of an prim. With alot of aspects of a prims manipulation, there is more you can do with a script than with the build menu. Alphas were always one of them, whereas you can set something to a TRUE 0% alpha with scripts, you can't do that with the build menu. This is something I noticed a long time ago, and I never knew it changed. So when you set it to 0 in the script, then change it with the build menu, it resets it back to the limits the build menu has. Respond if I'm misunderstanding the problem.
|
|
Kayla Stonecutter
Scripting Oncalupen
Join date: 9 Sep 2005
Posts: 224
|
08-09-2006 15:22
From: Hewee Zetkin So if you programmatically set the alpha of each side independently as you desire and don't do anything through the Edit window it still doesn't work?  Setting anything in LSL works every time, I was telling Xixao that the edit window bug happens both with using a single call to ALL_SIDES and with separate calls for each side. In fact, as I said in my post, the edit window bug happens even without doing anything through LSL.
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
08-09-2006 15:53
Try something like this then. Changing alpha values is as easy as editing and saving a notecard in the prim (may have typos; hasn't been compiled). string ALPHA_NOTECARD = "ALPHAVALS";
key alphaNoteQuery = NULL_KEY; integer currNoteLine = 0;
startLoading() { currNoteLine = 0; alphaNoteQuery = llGetNotecardLine(ALPHA_NOTECARD, currNoteLine); }
default { state_entry() { startLoading(); }
changed(integer changes) { if (changes & CHANGED_INVENTORY) { startLoading(); } }
dataserver(key query, string data) { if (query != alphaNoteQuery) { return; }
if (data == EOF) { return; }
llSetAlpha((float)data, currNoteLine);
alphaNoteQuery = llGetNotecardLine(ALPHA_NOTECARD, ++currNoteLine); } } For a non-hollowed box, for example, we give it six values: 1.0 1.0 0.6 0.6 0 0
|
|
Kayla Stonecutter
Scripting Oncalupen
Join date: 9 Sep 2005
Posts: 224
|
08-09-2006 16:06
No offense, but why go through that when simply clicking on the prim again to deselect the textbox before switching back to Position mode prevents the edit window bug from happening?
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
08-09-2006 16:26
From: Kayla Stonecutter No offense, but why go through that when simply clicking on the prim again to deselect the textbox before switching back to Position mode prevents the edit window bug from happening? None taken. First because it's fun to come up with a stupid little script to do that kind of thing, and second because if the UI screws up you haven't lost any information (though it may not be a big deal to you if you do anyway). 
|
|
Rickard Roentgen
Renaissance Punk
Join date: 4 Apr 2004
Posts: 1,869
|
08-09-2006 16:44
Iumi I think I know the bug you're talking about, but it shouldn't depend on setting all sides to 100% transparency from script. Try some of these to narrow down where the problem lies: 1. select the whole thing in object mode 2. going to the texture tab and setting the transparency over the whole object to 90%. 3. deselect the whole object. 4. set the edit mode to texture and select a single side. 5. set that side's alpha to 0% 6. switch to object mode and see if it happens that way. also: repeat steps 1 and 2 3. switch to texture mode and deselect all but one side. 4. set that side's alph to 0% 5. switch to object mode and see if it happens now. whether it happens or not in those two cases might be useful information in a bug report  .
|