|
Zora Spoonhammer
Registered User
Join date: 29 Jan 2006
Posts: 23
|
02-14-2006 04:02
Hi,
I've been experimenting in the sandboxes learning how to build moving objects, and had one get away from me. Unfortunately, it was a cube going about a billion miles an hour, and I have *no idea* where it went.
Is there any way to retrieve an object that you've accidently lost control of? I found the llSetStatus command with STATUS_SANDBOX, but it seems to imply that it can't be used on anything that will move more than 10m from its original position. That seems to make it a bit useless for testing cars. Is there any sort of "recall" command that can be used instead?
Also, is there any sort of recall command that can be used after the fact? (like *after* you've stupidly sent a cube with a thrust script orbiting the globe?) I'm not hugely worried about getting the rouge cube back, I just don't want to be rude to the other players, and I understand that it is good manners to clean up your prims. Will the cube die eventually on its own?
Thanks,
-Z
|
|
Cottonteil Muromachi
Abominable
Join date: 2 Mar 2005
Posts: 1,071
|
02-14-2006 06:04
Probably fate of cube.
1. It goes 'offworld' and is returned to your Lost and Found folder. 2. It gets stuck on someones land, and the owner might either delete it or return it to you. 3. It gets stuck on protected land, in which case, it gets auto returned. 4. A noob picks the cube up and wears it on the head.
There is no way to find the thing once it goes wild in the sky. However, you can dump a simple script in that makes it 'die' after a period of time. If you're working in the sandbox, theres not much worry, because it gets cleared daily anyway.
|
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
02-14-2006 06:32
From: Cottonteil Muromachi 4. A noob picks the cube up and wears it on the head. And then they'd take off....
|
|
Ceera Murakami
Texture Artist / Builder
Join date: 9 Sep 2005
Posts: 7,750
|
02-14-2006 08:04
Had this happen recently to me, as well. If you look on the mini-map, you can see an aqua-colored speck where each item that you own is located. For a default cube, it's likely only one pixel, but it should be there. Take your other items back into inventory, and if there is still an aqua pixel there, it's in the sky above you. If your object is over the sandbox, it will get cleared when the sandbox gets cleared.
Yesterday I threw an object straight up, because I typo'ed an edit for the Z-coordinate. At least I knew which vector it probably took off on. Since it was right above my home, on my own group's land, I knew it would just float up there forever, until I found it and brought it back. So flew up to search for it, found the location, barely within flying range. Then I rode a prim upwards from the point where I launched it, and took it back into inventory. Tedious, but it's sometimes the only way.
There is no 'recall my objects' command, unfortunately. It'a s feature that has been requested by many builders, for just this reason.
|
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
02-14-2006 08:47
Thinking about it, you could drop something like this script (untested, will test later) into objects that you were worried might get away from you... // Return home on email script // by Ordinal Malaprop // 2006-02-14
string gReturnCode; string gOwnerEmail = "owner@somewhere.com"; vector gStartPos;
default { on_rez(integer p) { llResetScript(); }
state_entry() { // Global co-ordinate for home location gStartPos = llGetRegionCorner() + llGetPos(); // Generate random return code // This stops just anyone returning the object // if they get its key // Email this to the owner gReturnCode = "*" + (string)llRound(llFrand(2000000000)) + "*"; // Now set to poll email every minute llSetTimerEvent(60.0); llEmail(gOwnerEmail, "Return code " + gReturnCode, "Reply to this email to make me return."); }
timer() { llGetNextEmail("", ""); }
email(string time, string address, string subj, string message, integer num_left) { // If the message subject contains the code... if (llSubStringIndex(subj, gReturnCode) != -1) { llInstantMessage(llGetOwner(), "Going home now..."); // Use non-physical movement to go home while ((llGetRegionCorner() + llGetPos()) != gStartPos) { if (llGetStatus(STATUS_PHYSICS)) { llSetStatus(STATUS_PHYSICS, FALSE); } llSetPos(gStartPos - llGetRegionCorner()); } llInstantMessage(llGetOwner(), "I'm home!"); } if (num_left > 0) llGetNextEmail("", ""); } } It sends you an email, and you just have to reply to that for it come home. Or you could replace the while loop there with an llDie if you didn't care about it.
|
|
Barbarra Blair
Short Person
Join date: 18 Apr 2004
Posts: 588
|
02-14-2006 09:14
More important, take a copy before you make the script active.
_____________________
--Obvious Lady
|
|
Zora Spoonhammer
Registered User
Join date: 29 Jan 2006
Posts: 23
|
02-14-2006 10:10
Thanks for all the advice. My cube seems to have turned up in my lost and found.
I agree, a remote recall feature would sure be useful!
Thanks again,
-Z
|