These forums are CLOSED. Please visit the new forums HERE
Object That Gives Itself? |
|
|
Siann Beck
Beauty & Braiiiiinsss!
Join date: 14 Jul 2007
Posts: 140
|
09-20-2007 05:22
Is there a way to have an object give a copy of itself? I know people can just use Take Copy, but I'd like to do it with a touch_start() event so they can get it with a single click. If I make a copy and put that in the object inventory, that only works for one generation -- the object they carry away doesn't have it. Is there any way to have an object give copies of itself over an indefinite number of generations?
|
|
Django Yifu
Beat Island Gaffer
Join date: 7 May 2007
Posts: 189
|
09-20-2007 05:40
What your asking is possible. You need an inventory giver script. It's fairly easy to create and I'm sure there are examples in the forums.
If you want people to take updated versions as you make changes to the object then you need either to update the giver each time or think about some sort of update server. This makes things much more complicated and usually involves external web connections. There are a few of this sort of item lurking in the forums. Try searching for "autoupdater" or "update server". You could also try this script as a starting point for the inventory giver CODE
_____________________
Tread softly upon the Earth for you walk on my face.
|
|
Siann Beck
Beauty & Braiiiiinsss!
Join date: 14 Jul 2007
Posts: 140
|
09-20-2007 05:52
Thanks for the reply. However, I know how to give an inventory item. What I want is for the object to give a copy of itself, and I want that copy to be able to give a copy of itself, and so on. I can put a copy of the object into its own inventory, but then that copy won't have the copy. I could nest it however deep I thought it might go, but that's a pain, and it still might run out of generations.
What I'm working on is a missing children poster which links to the ICMEC site: http://www.icmec.org/ I want to make it freely available, and I want people to be able to take a copy for themselves, so hopefully they'll spread throughout SL. I'm thinking there isn't a way to do it, except with the Take Copy item, which is fine; I just wanted to see if I could make it easier. |
|
Squirrel Wood
Nuteater. Beware!
Join date: 14 Jun 2006
Posts: 471
|
09-20-2007 05:53
Alternatively you can set the objects buy option in the edit window.
That way you don't need a script for it. |
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
09-20-2007 05:56
That would be self-replication - you could use the same principles. So, for instance, you could have an object A which gave a copy of itself, then said "now rez the object on the ground", then when the new owner rezzes the object B, version A gives a copy of itself to B. So now B also contains a copy of itself which it can give out. The owner can just take B and use it, then, since it's now identical to A.
If you see what I mean. (I wouldn't actually bother doing that, I'd just set everything to "buy for L$0", but theoretically speaking one could do that.) _____________________
http://ordinalmalaprop.com/forum/ - visit Ordinal's Scripting Colloquium for scripting discussion with actual working BBCode!
http://ordinalmalaprop.com/engine/ - An Engine Fit For My Proceeding, my Aethernet Journal http://www.flickr.com/groups/slgriefbuild/ - Second Life Griefbuild Digest, pictures of horrible ad griefing and land spam, and the naming of names |
|
Siann Beck
Beauty & Braiiiiinsss!
Join date: 14 Jul 2007
Posts: 140
|
09-20-2007 06:01
Yeah, I thought about that, too, but I don't want people to think, "Oh, it's asking for money," without looking to see that it's free. I think I'll just put a note on it, "Feel free to take a copy of this poster."
|
|
Siann Beck
Beauty & Braiiiiinsss!
Join date: 14 Jul 2007
Posts: 140
|
09-20-2007 06:07
Thanks, Ordinal. I think you're right -- it's too much hassle.
However, now I'm running into permission problems. Doesn't "Allow anyone to copy" mean that anyone can come along, right-click > More > Take Copy? That isn't working; it won't let someone else take a copy. I also ticked all the next owner permissions, and if I set a selling price of L$0, a person can get a copy that way, but they get it as no-copy, no-modify! |
|
Talarus Luan
Ancient Archaean Dragon
Join date: 18 Mar 2006
Posts: 4,831
|
09-20-2007 10:04
However, now I'm running into permission problems. Doesn't "Allow anyone to copy" mean that anyone can come along, right-click > More > Take Copy? That isn't working; it won't let someone else take a copy. Yes; You've Done Something Wrong. ![]() I also ticked all the next owner permissions, and if I set a selling price of L$0, a person can get a copy that way, but they get it as no-copy, no-modify! Again, You've Done Something Wrong. If you ticked all the next owner permission boxes, then the next owner will have those permissions. That goes for all of the object's contents as well, since the act of taking something into inventory sets its permissions to the most restrictive set inclusive of all its contents. By chance, is the object itself (or any of its contents) no-transfer to you? If so, none of this will work, for obvious reasons. |
|
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
|
09-20-2007 10:16
Think I've read something about permissions not taking hold until the object was (re)rezzed to the world? Once you have it set up the way you think it should be, have you tried doing a Take to get it back into your inventory then rezzing it back to the world again?
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224 - If you see "if you were logged in.." on the left, click it and log in - Click the "Vote for it" link on the left |
|
Tiarnalalon Sismondi
Registered User
Join date: 1 Jun 2006
Posts: 402
|
09-20-2007 10:23
Well, for ease of acquisition, I think you're probably going to have to get a bit more complicated than just the object edit tools.
You could make the item where someone could click it and then get a copy and have that work indefinitely throughout all copies where anyone can click it. However, you would need to setup a server to distribute it, and just have the box send an e-mail when clicked to the server to send a copy to the llDetectedKey of the touch event. Easiest way to do the server would be to have the 'original' poster be the server with a copy of the 'vendor' inside...the server could then just have a simple llGiveInventory script in it to give out the vendor when it was clicked as well as the scripting to control sending out copies throughout the grid. |
|
Siann Beck
Beauty & Braiiiiinsss!
Join date: 14 Jul 2007
Posts: 140
|
09-20-2007 14:19
Talarus: Yes, I have perms on the object; I created it.
Meade: I checked, and permissions apply immediately Tiarnalalon: Thanks, but at this point I think I'll just go with Take Copy ![]() I started from scratch, re-building the object, checking it at each step to see if someone else could take a copy. I made all the pieces, gave them their textures, added scripts to the two prims that have them and got ready to put them together. As I was about to load up the Prim Docker scripts, I recalled that PD will occasionally fail to delete its scripts, so I wondered if perhaps one had gotten left in. Earlier I had checked the permissions on all the child prims, but hadn't looked at the contents, except the prims that are supposed to have scripts. And, wouldn't you know -- it wasn't a PD script, apparently I acidentally dragged the PD *landmark* into one of the prims. Can we all say ***DOH!!!*** |
|
Lear Cale
wordy bugger
Join date: 22 Aug 2007
Posts: 3,569
|
09-21-2007 07:50
Those above who said you can have an object give itself, with the copy having the same peroperty, for all generations (without using a server as mentioned by Tiarnalalon) are mistaken. Allowing this would make griefing too easy, and no doubt there are other reasons.
I enable "take copy" and also "buy for $0". A surprising number of folks don't seem to think of hitting the "more ..." wedge in the pie menu. BTW, not your problem this time, but be aware that when you change these things they're often not evident to folks nearby right away -- it takes some time for their clients to get the update. Minutes or more, sometimes. |