Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Using llRezObject in a HUD without copy perms

Pat Wulluf
Registered User
Join date: 6 Sep 2008
Posts: 3
10-10-2008 18:53
I'm trying to make a HUD that will deploy multiple objects at fixed distances from the wearer. My problem is that these items are no copy items and llRezObject won't let you rez no copy ojects from something you're wearing. So the only thing I can think of is to rez a box containing the items to be rezzed and the rez script and have the hud send wearer position to the box and have the box rez the items ... which would be OK but I want to keep it simple for the simple man that will be using it :). So does anyone have any ideas how to get around the fact that you can't rez no-copy objects from something you're wearing with llRezObject? I'd like it to be something he can wear so he doesn't have any steps other than loading the HUD with the no-copy ojbects and then pushing a button.

Thanks in advance,

Pat

PS I tried llRezAtRoot but it seems to have the same limitations even though it's not documented as well as llresObject is in the wiki ...
Kaluura Boa
Polygon Project
Join date: 27 Mar 2007
Posts: 194
10-11-2008 01:35
*IF* the no-no-copy-object-from-HUD restrictions do not apply to llGiveInventory(), here is a way to do what you want:

Just use an empty rezzer. Rez it on the position where the no-copy object must go and give it the object to rez with llGiveInventory(). So the "simple man" will still only have to move the objects to rez in the HUD.

I really didn't know that such a restriction existed... but it's true that I usually just don't buy anything without copy permission. SL isn't a really safe environment for them.
Damanios Thetan
looking in
Join date: 6 Mar 2004
Posts: 992
10-11-2008 03:44
I've never tried this. But you can't use llGiveInventory to give objects to a worn item?
If you can, simply use the technique as described above. But just give the objects to the HUD instead of going through an empty rezzer object.

So: central sever (creator owned) with copy/transfer objects, but 'next owner' copy switched off.
Use llEmail to send a message to central server from HUD to request object.
Send object to HUD using llGiveInventory
Rez received (single copy) object from HUD.

If you can't give object to HUD (as it's worn). Use same technique, but with an intermediate (copy/notrans) 'rezzer' object rezzed from HUD, as described above.

EDIT: Sorry, thought this was a permission issue, instead of a rezzing issue. You need to go through intemediary rezzer object and llGiveInventory() instead.

Remember, all no-copy objects once rezzed will have dissappeared from the HUD though. Putting them back in is a second issue ;)
_____________________
Pat Wulluf
Registered User
Join date: 6 Sep 2008
Posts: 3
10-11-2008 07:15
Maybe I didn't explain myself properly ... either that or I don't understand your answer LOL. Yes, this is a rezzing issue. The problem isn't getting the objects into the HUD, the problem is rezzing them after they are there and I'm wearing it. If I use llGiveInventory and add them to the HUD, the objects are still going to be passed into the HUD and I'll still have the same issue when I call llRezObject (I THINK this is the case ... I will try this and see if it makes a difference just in case). The HUD works perfectly when I'm not wearing it. When I do wear it I get a "Can't rez no copy objects from an attached object." error as documented in the llRezObject section of the Wiki.

Putting the item back in is not a problem. Maybe if I explain what it's for, there will be less confusion. This is for a musician who wants to step on a stage and be able to push a button and have everything placed for him instantly so he won't have to sit there and manually place all his items while everyone sits there and waits. Unfortunately, some of these things are no-copy. He can manually load the objects inside the HUD before the show and grab them really quick after the show ... he just doesn't want to be on stage in silence for 2 minutes while he prepares the stage.

I guess I was just hoping there was a call that I either didn't know about or don't know the full capabilities of one that I do know about that will help me do this ... I don't think using llRezObject is going to work.

Thanks for the reply :)

Edit:

Oh Damn Kaluura ... I didn't even see your reply in the middle there. Ya know, that may actually work if I understand you correctly :) (sorry, I've only been in second life for less than a month now and I'm trying to get a handle on lsl) ... I think your'e saying I should Rez a temp prim then send the no copy object inside it and then use llRezObject inside the prim ... GENIUS!. I can't do anything until Monday but I'll check it out then and let you know. Yes, this restriction does exist (no idea why ... must be a copy protection thing) and it's documented in the wiki.

"If the inventory object that is to be rezzed does not have copy permission, and the object containing it is attached, the object will not rez, and result in the following error / warning : "Can't rez no copy objects from an attached object.""

Yeah, copy protected stuff sucks but he's using some proprietary stuff to sell liks to downloadable songs at his gigs. I think he can get another copy from the owner if he looses it ... I'd just make similar things for him but I just don't have the expertise right now.

THX for the reply :)
Damanios Thetan
looking in
Join date: 6 Mar 2004
Posts: 992
10-11-2008 07:25
The idea is to do a 'two stage' rez.
First rez a (copy) object then have that object rez the other (no copy) objects.

As you need copy perms on the 'rezzing object', it can't directly contain the other objects. So it needs to be empty initially, then...
Use llGiveInventory in the HUD script to 'give' them to the 'rezzing object', which then rezzes every single object it receives.
_____________________
Pat Wulluf
Registered User
Join date: 6 Sep 2008
Posts: 3
10-11-2008 07:43
Ok yes ... I see what you're saying Damanios I think this will work now that I understand. This is a really good idea. I wonder why I can't think of stuff like that. I'll try it on Monday and let you guys know how it goes .. man this is fun :).

Thanks again!