|12-23-2010, 12:30 PM||#1 (permalink)|
A script that really loves its mother
Ok, weird bug or something has cropped up in my latest project, and I'm at a loss.
I wrote an object rezzer - what I call a scene rezzer - to replace one in the club I manage. We use it for swappable dance floors. Let me set the "scene" for the script... The code is broken up in three pieces: controller, rezzer, and a "prop" script for scene objects. Menu access is open only to those in the group. Was working well until last week, when I redid some of the logic for testing who is accessing it. But I'm certain the problem we're having is not due to the change. Let me explain it, and you'll see why I think that.
What happens is, someone in group clicks the controller and the menu pops up with the list (buttons) of scenes to choose from. They click a scene, but then no scene appears. A process *does* occur: the rezzer is a platform which temporarily slides in as a scene rezzes, then moves out of the way and goes transparent/phantom. So I know the script is working. Sort of.
But that is not the REAL problem. The rezzer works fine for me. So I log in with an alt in the same group, and it works for that account, as well. Weird, but not the first time I've seen transient problems like this, so I mark it down to a server burp. But no, it returns the next day! Again it works for me and my alt. Then a crazy idea hits me: what happens when my main account is not in the sim? I teleport it home, and the rezzer keeps working for my alt - but only about a minute! From then on it dies and I see what everyone else has. I teleport Free Xue back, and it works for the alt. I teleport away, and a minute later...
This was not a coincidence. I tried 6 times, and each time the rezzer stopped working a short while after my main account (the creator/owner of the rezzer objects and scripts) teleported away from the area. It began working again the moment I teleported her back. I wasn't running the rezzer with my main account through all this, mind you. I was only using my alt.
There is no code in the scripts that preforms any avatar detection except the part that handles menu access. There's an administration part that watches for the owner's click, only for deciding to display a specific button on the menu. There is absolutely no radar-type scanning going on.
So, what the hell could be causing this?
"We're not going to give up on destroying the health care system for the American people."
~U.S. Congressman Paul Ryan
"The Republican Party doesn't want black people to vote if they’re going to vote 9-to-1 for Democrats."
~Ken Emanuelson (Dallas Tea Party)
"I'm not a firm believer in democracy."
~U.S. Senator Rand Paul
Last edited by Free Xue; 12-23-2010 at 12:37 PM.
|12-23-2010, 01:19 PM||#2 (permalink)|
Join Date: Oct 2009
Location: Somewhere in Africa
It sounds as if it may be related to not having "offline rez-rights". See: LlRezObject - Second Life Wiki
If the rezzer object is not set to the same group that owns the land try setting it to that group (it shouldn't need to be deeded) to see if that fixes it.
This should only really be a problem if the object owner is offline, however recent sim changes may have screwed it up so that it also happens if the owner is out of the sim.
Vendors, Tipjars, teleporters, clocks, gadgets, etc.
|12-23-2010, 05:16 PM||#4 (permalink)|
Looks like that was it. Sort of a dumb security feature on llRezObject(). But hey, you work with the tools they give you.
Thanks again, ab.
|12-26-2010, 05:48 AM||#5 (permalink)|
Purring, of course
Join Date: Feb 2010
Location: Off World
SL Join Date: 2007-03-04
This is an old bug. If rezzing is disabled for everybody but the capability is given back thanks to a group role, rezzers fail if the owner isn't in the sim. Just don't hold your breath until a fix arrives. See:
https://jira.secondlife.com/browse/SVC-3065 (duplicate of SVC-3145)
https://jira.secondlife.com/browse/SVC-3145 (Closed, Expected behavior)
In other words: Won't fix (because the Lindens can't figure out by which end to grab this bug.)
I was bitten once and the only realistic solution I found was to deed the rezzer. Since you're the scripter, that shouldn't be too much of a problem. (Just think of taking copies before to deed.)
Zen philosophy of scripting: Less is better.
|12-26-2010, 08:20 AM||#6 (permalink)|
|1 User Said Yay!:|