• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-2114
Type: New Feature New Feature
Status: Open Open
Priority: Critical Critical
Assignee: Unassigned
Reporter: darling brody
Votes: 65
Watchers: 8
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

LLReturnObjects(list [key item, key owner]) - Ability to return objects from a parcel through a LSL function call

Created: 08/Apr/08 03:31 AM   Updated: 08/Oct/09 08:12 AM
Return to search
Component/s: Scripts
Affects Version/s: None
Fix Version/s: None

Environment: n/a
Issue Links:
Duplicate
 
Relates
 


 Description  « Hide
Function
------------
LLReturnObjects(list [key item, key owner])

Operation
------------
This function takes a list of keys its paramater. The list is made up of object and / or avatar keys. If the key belongs to an object, that object is returned from the parcel the script is over. If the key belongs to an avatar, ALL of that avatar's objects are returned from the parcel the script is over.

Security
-----------
The function will only work if the script is owned by the land owner. (agent or group)

Sales Pitch
---------------
Land owners already have this ability so there is no reason why their scripts should not also have this ability. Especialy when it will save land owners a lot of time if they can automate the clean up process for their land in an intelegent way. (auto return is not intelegent)

Imagen a sandbox that has NO auto return to mess up your build. Instead of auto return, the sandbox is using a LSL that will only return the objects when the owner leaves the sandbox.

You could have whatever set of rules you want to apply in your LSL script. How about excessive physical objects being returned immediatly and the owner banned form the parcel automaticly. The possibilities for better land managment are endless.

Darling Brody.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
CrimsonWings Eun added a comment - 24/Jun/08 08:11 PM
i dont think this would be added due to abuse by parcel nazis returning anything and everything. i can see them having this set on a 0.00000001 timer returning everything thats not theirs and lagging up the asset server. good idea though but needs heavy restrictions and a long sleep per call.

darling brody added a comment - 24/Jun/08 11:38 PM
I am sure the "parcel nazis" can just turn off rez if they want the objects to be immediatly removed. There is no advantage is letting an object exist on a parcel for 0.00000001 of a second when turning off REZ is far more effective. Note that a timer of 0.00000001 wouldnt work in LSL anyway.

It would not create anymore of a load on the asset server than parcel auto return. It is simply more selective about what is returned and thus should reduce the load on the asset server as objects that dont need to be returned would not be returned.

As the function uses a list to process all objects/agents at once, it could have a long sleep after execution without any problem.

Darling Brody.


Whispering Hush added a comment - 29/Jun/08 06:50 AM
Priority changed to Nice to have as it does not fit Major criteria.

darling brody added a comment - 29/Jun/08 09:37 PM - edited
This issue is listed as a feature request therefor the priority descriptions are not a reflection of lost fucntion. rather they are a reflection of how usefull the function would be.

As this function would enable owners of regions and parcels to better control self replicating griefer objects, it is able to fix a major problem.

If Whispering Hush was a conceirge level customer who owned a few regions he would soon understand the value of such a feature to those of us who pay our way through SL.

It should be noted that Whispering Hush searched the JIRA for my name and downgraded all of the issue I listed as a form of harassment.
Here is a list of examples. One of them includes an unprovoked threat against me too.

http://jira.secondlife.com/browse/SVC-1462
http://jira.secondlife.com/browse/VWR-4185
http://jira.secondlife.com/browse/SVC-2114
http://jira.secondlife.com/browse/SVC-2336
http://jira.secondlife.com/browse/SVC-2336
http://jira.secondlife.com/browse/SVC-1533


Whispering Hush added a comment - 30/Jun/08 01:41 AM
Once again Darling this is not a bug, therefore it cannot have a priority of "Major". It is a request for a new feature, therefore it's priority needs to be "Nice to have".

By making each and every post you make to the Jira "Major", you are defeating the purpose of the prioritizing system.

What exactly do you fail to understand about your actions?


Jahar Aabye added a comment - 01/Jul/08 01:18 PM
Heh, oddly enough my reaction when reading the description of the feature was "huh, this would be nice to have." I've voted for it because there are some very useful applications for this, but as the core functions can already be done manually, and there are some script workarounds to at least eject/ban individuals who rez massive numbers of prims, for instance, I'm not sure this is a major necessity.

Let's get mono up and running first, then let's worry about adding in new function calls. Given that this would involve functions already available to the land owner manually, it probably wouldn't be too difficult to implement and for that reason I could see its implementation being bumped to the front of the pack (as opposed to, say, llName2Key), but let's keep this in perspective.


McCabe Maxsted added a comment - 01/Jul/08 03:36 PM
@Whispering: feature request priority is up to the reporter. The priority system is centered on bugs and crashes, and does not take into account feature requests; marking this as major is not a problem. If you'd like to look at helping prioritize issues, we have a long list of critical bugs that need sorting and looking at.

Whispering Hush added a comment - 01/Jul/08 09:59 PM
@McCabe

cool, I'll have a look.


Maggiedoll Alter added a comment - 21/Aug/08 02:43 PM
The island I live on had MAJOR greifing issues awhile ago, and I can't have auto parcel return on since I have an SLX terminal. This would be a really great ability to have.

@ Whispering... why would someone bother to take the time to create a jira on something if they weren't having fairly major issues with it?


Harleen Gretzky added a comment - 21/Aug/08 02:59 PM
Have your SLX terminal set to the land group so it will not be returned when auto return is enabled.

tim vantelli added a comment - 09/Mar/09 08:11 AM
Seems crazy that in script I can eject an avatar from my land and also ban them but I have no way of returning their objects. Anyone with any kind of rental scenario would find this functionality hugely useful IMHO

Ariu Arai added a comment - 10/Mar/09 07:02 PM - edited
Voted.

I am not worried about people using this function to cause asset stress. A simple work around, make the owner only able to run this function once every 5 seconds, regardless of what object the script is in. IE: Only make the sim process the llReturnObjects() command for a single agent every 5 seconds.

+Do not make the function work for the owners objects. (If the script owner is over land he or she does not own, the function will not return their own objects. This would not be an issue, as the objects could simply have scripts to delete them selves.)

This function has strong Anti-Griefing potential. In example:

  • Land Security orbs can return objects created by known weapons creators. (Great for Public Sandboxes!)
  • Sandbox Monitor systems can return objects if a build goes over a limit, such as 1000 prims for a full sim sandbox. No more worrying about prim hogs.
  • Have a no mega prim policy? You could have a system that will return the mega prim AND punish the owner!

I how ever do not see the use in have an Owner value in the function. (Do you mean llReturnObjects([object/agent key?]); )

Oh. and this is not a critical function, so I am lowering the priority. Critical is own level below show-stopper (in this case, that would mean, "Must Have", which is not the issue)


darling brody added a comment - 12/Mar/09 01:54 AM - edited
The notation is correct :- llReturnObjects(list [key item, key owner])

The function takes a LIST of owners and/or objects to be returned. The example shows both an owner and object key. If you read the function description properly you would understand.

This function MUST still work for the land-owner / script-owner to work for group land. It would also be usefull for owners to locate lost prims and return them. In fact being able to return your own objects from ANY land would be a nice way to clean up an unexpected mess caused by a badly scripted device you might have accedently used.

You have no valid reason to be altering the priority of this function. Feature requests priorities are at the descression of the poster, which is not you. As you are not a land owner you do not understand the issues those of us who own regions have. I will restore the priority. If you change it again I will fail an AR as your are not permitted to continue altering it.

As for critical. You try staying awake 24 hours a day, every day, so you cant turn off script using estate tools and then return self replicating junk. Being able to return everything based on who owns it and not based on it being in the current list of objects in the land window will make automated cleanup of griefer junk easy. If that isnt critical enough for you, then at least respect those of us who feel it is.

Darling Brody


Whispering Hush added a comment - 31/Aug/09 03:52 AM - edited
Auto return objects deals with objects rezzed on parcels where the the owner has seen fit to allow rezzing by anyone. Couple that with group privs and the problem becomes smaller as the number of people who are allowed to rez objects becomes manageable.

There is no need perceived or otherwise to implement a further level of stress to the asset servers by allowing the scripted return of objects on parcels when estate and parcel management tools already exist.

The only benefit that this poster can imagine would be a financial one to script sellers for a very short period of time before the impact of 600 000 extra requests per time period hit the asset servers, and effectively stopped all access for everyone.

Let's break that down.

This function would require a call for each object rezzed per parcelowner, per script, per owner, in real time, what we have here is a way for someone with a single parcel to bring an entire 4 sim server to it's knees by using all available bandwidth. In short, a new way to grief.

The road to where is paved with good intentions?

Great idea. Not critical.


Tetsuryu Vlodovic added a comment - 31/Aug/09 06:09 PM
And what if you crash or face a connection failure while you're building? How can the script tell that apart from deliberate logoff?

darling brody added a comment - 31/Aug/09 06:20 PM - edited
Here is a FREE basic scritp that shows how a private sandbox or shop can be automaticly cleaned up when the owner of the prims leaves the region. I have made the script as clear and simple to understand as I can for the purpose of understanding how easy it can be to use.

Using such a script instead of the auto return on a parcel will permit people to build in a sandbox for as long as they like without having to worry about auto return, as their objects are only returned once they leave.

It has anti-griefer potencial too as griefer's junk will be returned the moment the griefer leaves the sandbox too. (very usefull to stop griefers who drop self replicating junk and then teleport away to avoid the lag they create)

default
{
    state_entry()
    {
        llSensorRepeat("","",ACTIVE | PASSIVE, 50, PI, 60); // check once a minute
    }

    sensor(integer count)
    {
        list ReturnList = [];
        integer loop;
        for (loop = count -1; loop > -1; loop = loop -1) // loop through objects in the area
        {
            if (llKey2Name(llDetectedOwner(loop)) == "") // has the owner left the region?
            {
                if (llDetectedOwner(loop) != llGetOwner()) // don't return our own stuff
                {
                    ReturnList = ReturnList + llDetectedOwner(loop); // add object to list of prim litter
                }
            }
            
        }
        LLReturnObjects(ReturnList);
    }
}

darling brody added a comment - 31/Aug/09 06:27 PM
@Tetsuryu Vlodovic

And what if you crash or face a connection failure while you're building? How can the script tell that apart from deliberate logoff?

That is totaly up to the person who makes the script.

While the above script I posted would indeed return your stuff a minute after you leave, a more sophistocated script could detect how long you have been gone and give you 15 minutes before the stuff in returned. Or better yet track how long you were in the region before you left and give you a longer grace period based a percentage of time you were there, thus returning hit-and-run griefer junk while protecting real builders.

The point is that having the ability to return stuff via a script gives the land owners the ability to setup their own auto-return rules that are far more flexiable that just returning stuff ever xx minutes.

Darlign Brody

ps. In the above script the llkey2Name() function will return a blank name if the person has left the region. It is a nice low lag way to check if someone is in the region.


Marc Adored added a comment - 31/Aug/09 06:39 PM
I agree with Darling on the usefulness of this tool. I would like for it to be available for anyone who has rights to return objects on a parcel but I know that can cause griefing issues I guess? The application I see is not only for sandboxes but for land owners being attacked by a greifer when they are no there. Imagine being asleep in your bed knowing your land is safe with the new security script you created that ejects someone who spawns a ton of greifer objects and then to make things even better returns their crap right when they are ejected so it does stay around lagging the sim until auto return kicks in or you come online to return the crap if you cant have auto return on.

I'm not really sure why anyone would question such a function or even try to worry about asset server lag because it can be limited and should be much more efficient then auto return which is more global. I voted for it. it will be an awesome feature and solve a lot of greifer issues so much more that it far outways any valid reasons someone can come up with for not wanting it.

oh yeah Brody syntax error on line 14 got "=" expected ")"


darling brody added a comment - 31/Aug/09 07:03 PM - edited
LOL @ Error... The script wont work anyway, not unless this function is implemented. It is just to document how easy it would be to make a land cleaning script based ont he function.

There is no griefer use for this script. Hush dosnt understand how the asset server works, and he was trying to manufactor a grifer-tool argument because he does that in all my jira as a form of harassment. Back in 2006 I orbited him, and he hasn't gotten over it yet.

Obviously the scripted function would respect the same land permissions as the pie menu's return object function. That is for your land and group land. If you dont have permissions, your scritp cant return stuff. No exploits there at all!

I would script a device to take a list of names on a notecard who's objects are to be ignored, and then have to watch how long someone is on a parcel and give them 20% of that time before it returned their stuff. So the longer you a working on making something the more time you have to get back collect it before it gets returned to you.

Additionally scripts can define an area with a height limit which parcel return cant. So you could have a customer sandbox in the shy above your shop where stull is not returned.

They can also put a limit on the number of prims someone can rez before they get returned. So you can let people res 1o prims in yoru ship while unpacking products, but anymore than that and it gets returned.

You could limit the size of prims. So anything larget than a retail box rezzed in your shop is automaticly returned.

You could prevent people driving cars through your house by returning any physical objects. Ditto for bullets...

You can have a high rise building and let people only rez objects inside the floor they are renting, and limit how many prims they may have.

None of this is currently possible, and all or it is very usefull.

The possibilities for better land managment is engless with this function.


Economic Core added a comment - 31/Aug/09 07:22 PM
Don't care about priority, but this would , indeed, be handy.

I would prefer that LL fixes the existing memory leak issues first, though.


Day Oh added a comment - 31/Aug/09 07:37 PM
Since returning an object creates an asset, it might fall under the same reasoning for LSL not being able to create notecard assets... An object asset is loads larger than a notecard asset...

darling brody added a comment - 31/Aug/09 08:55 PM
Returned by a script or returned by the auto-parcel-return both create an asset.

The difference is that the scripted method can be setup to create less of them by not returning stuff that dosnt need to be returned.

If you want to grief the asset system just shoot a gun that uses non-temp bullets off the edge of the world. Each one will be returned seperatly and there is no need for special functions.

The asset argument is a red herring.


Strife Onizuka added a comment - 02/Sep/09 10:28 AM
I think you have misjudged the situation, the issue isn't so much about the intentional hosing of the asset server, LL can ban griefers who do that. No the problem is the users who hoses the server accidentally or thinks because they own large swaths of land that they are entitled.

darling brody added a comment - 02/Sep/09 04:08 PM
The land can already be set to 1 minute auto return.

On the other hand this function is all about turning land based auto return off, and selectivly returning specific objects, with the end result being that less objects will be returned.

Under what situation do you think someone could accidentally end up returning stuff more agressivly than once a minute and not know they have it setup wrong?

LL can also impose a SleepThrottle onto the function. If function is called more than once every 60 seconds, then function will sleep the script for 60 seconds. Thus preventing it from being more agressive than the current land auto return.

A SleepThrottle is not a sleep or a throtte. It is a sleep impose if a throttle limit is reached. This way calls to the effected function are never ignored, but their speed can be kept at an acceptable level without imposing sleeps on the script when used below that level. I have been campaining for this to become the new standard to control how often a function is used because it will not slow down scripts that only make one call to a function, and it will not ignore a call to an important function when a script accedently exceeds a throttle.

----------

If LL were to add a new option to the land auto return that returns xx minutes after the avatar leaves the region that would give a lot of the benifit this functions gives. So long as the timer is reset every time the avtar re-enters the region. That was my original idea, but then i relized a LSL function would be farmore flexible and wouldnt require constant updates tot he viewer every time we wanted more control of returning objects.


Domchi Underwood added a comment - 08/Oct/09 08:12 AM
I have two points to add.

First, I believe that you meant to list this syntax:

llReturnObjects(list [key id])

...where id would be either object or avatar key. When I first read your syntax, I assumed you wanted to have owner listed for each object that gets returned.

Second, and more importantly, I would very much want to see this function be allowed to return owner's objects. For example, I would like to be able to cleanup after myself in sandbox. Just last night I was unable to find physical object I rezzed on my platform which fell and kept spamming me until it was autoreturned 6 hours later.

And, needless to say, you have my vote. I've been missing this sort of functionality for years.