|
Zaplok Riggles
Registered User
Join date: 25 Feb 2008
Posts: 119
|
03-06-2008 13:19
1. I have an object named Parent. In its inventory is an object named Child. Parent is no copy, child is copy. Both are no mod. Parent can rez a child. In the on_rez event of child I do an lldie. Now, is there ANY way for the user to somehow end up with more then 1 child? A way to keep the on_rez from happening or the lldie from happening? A way to pull the Child out of parent when Parent is in your inventory? 2. I have 2 objects (A and B). I have llAllowInventoryDrop set for A. If B is rezzed in front of me, is there a way to drag B into object A? I can do this if B is in my inventory with Ctrl+Drag but I can't seem to find a way to do this while the object is rezzed. 3. And, how persistent is data stored in a script? If I give the item to someone, bring it into my iventory, rez it, the SIM resets, etc. Is there any defineable case where a script would be reset? (Assume the object it is in is no copy, no mod).
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
03-06-2008 15:41
1.) Yes, there are ways to get multiple copies of Child. Not while Parent is in your inventory, but when Parent is rezzed, they can pull out as many copies of Child as they want into their inventory, I believe. As stupid as it is, no-modify doesn't keep someone from deleting or copying out inventory contents. Also, even if that were not true, it might be possible to trick Parent into rezzing on no-script land (you might check this in the script that does the rezzing, but I wouldn't count on it for certain) or turing off scripts quickly on the rezzed Child.
2.) I don't think there's a way to directly put a rezzed B into A's inventory unless it was rezzed by dragging it OUT of A's inventory (in which case there is a Tools menu option for saving back to object inventory). But since you are using llAllowInventoryDrop(), I'm assuming that won't be the case. So I believe the answer is no.
3.) Nothing other than llResetScript(), llResetOtherScript(), or manual intervention (e.g. opening the script and recompiling/reseting or going to Tools -> Reset Scripts in Selection) SHOULD reset a script. That includes copying the object, transfering ownership, taking and re-rezzing, and sim restarts. Note that scripts in YOUR (resident) inventory have no state associated with them; if you drop a script into prim inventory from anywhere, it starts from scratch AS IF a reset had just occurred. Now in PRACTICE I understand there may rarely be server issues that cause resets. I'm not sure what happens when they have to roll back a sim's state. Hopefully script state is backed up along with everything else, so you get a clean return to previous running state. But keep in mind that any outside interactions can't possibly be undone (e-mails, HTTP requests, etc.).
|
|
Zaplok Riggles
Registered User
Join date: 25 Feb 2008
Posts: 119
|
03-06-2008 18:56
From: Hewee Zetkin As stupid as it is, no-modify doesn't keep someone from deleting or copying out inventory contents. That is the craziest thing I have ever seen... The object being set no copy and no modify should stop anyone from pulling anything out of the object's inventory IMO.
|
|
Squirrel Wood
Nuteater. Beware!
Join date: 14 Jun 2006
Posts: 471
|
03-06-2008 23:50
The no modify permission does not extend to the objects inventory.
It is limited to the objects properties.
|
|
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
|
03-07-2008 01:43
I believe you calso delete individual prims, and unlink them, so the permissions are limited STRICTLY to the prim properties
_____________________
| | . "Cat-Like Typing Detected" | . This post may contain errors in logic, spelling, and | . grammar known to the SL populace to cause confusion | | - Please Use PHP tags when posting scripts/code, Thanks. | - Can't See PHP or URL Tags Correctly? Check Out This Link... | - 
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
03-07-2008 18:00
From: Squirrel Wood The no modify permission does not extend to the objects inventory.
It is limited to the objects properties. Hmm. Well you can't ADD stuff to it.
|