Non-abusive llPushObject Levels
|
Papa Joffre
Registered User
Join date: 13 Nov 2005
Posts: 8
|
12-19-2005 16:57
In the LSL Wiki a usggestion is provided that when "unsitting" someone, you can keep them from standing on the chair (which looks kind of silly) by applying a gentle "llPushObject" to their avatar.
On the other hand, pushing someone with llPushObject can be reported as abuse. Is there some official cutoff impulse level below which you don't have to be worried about being reported for abuse? I'd like to use the suggestion above for unsitting people in chairs that I'm scripting, but I don't want to be reported as an abuser.
|
Greg Hauptmann
Registered User
Join date: 30 Oct 2005
Posts: 283
|
12-19-2005 17:00
you may find this thread I started interesting /54/c7/75394/1.html
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
12-19-2005 17:04
Just make sure your push doesn't send somebody flying out of the sim. 100000 as an impulse boosts one a few metres. (Or at least, that's my experience from blowing target dummies up.) If you just want to dislodge someone, I'm guessing that 100-1000 is fine.
|
Papa Joffre
Registered User
Join date: 13 Nov 2005
Posts: 8
|
12-20-2005 14:01
Thanks for the responses, both of which were of interest. I'll try out the suggested impulse levels on some friends. Unfortunately, per the older thread it sounds like it's at least possible that I could get reported for abuse for using llPushObject on an avatar no matter how gentle the push was. Sounds like something that ought to be changed - especially if the Second Life Wiki is suggesting it as a technique for helping people get unseated.
|
Greg Hauptmann
Registered User
Join date: 30 Oct 2005
Posts: 283
|
12-20-2005 15:53
I just had some visit me inworld yesterday and play with the items I've been making. I increated the push magnitude to 2000 temporarily and he got knocked back quite a way  but he said he didn't get prompted to report an abuse.
|
Zapoteth Zaius
Is back
Join date: 14 Feb 2004
Posts: 5,634
|
12-20-2005 16:00
Well.. It can be tough.. Technically I believe using any degree of llPushObject without an avatars concent is agaist the rules..
I think as long as it has a purpose (unsitting), and its not exessive, you'll be fine...
You could take the same amount of push as from Andrew Lindens Vehicle Script..
_____________________
I have the right to remain silent. Anything I say will be misquoted and used against me.--------------- Zapoteth Designs, Temotu (100,50)--------------- 
|
Rickard Roentgen
Renaissance Punk
Join date: 4 Apr 2004
Posts: 1,869
|
12-20-2005 16:28
There is no threshold. If the person's client is set to show abuse warnings, then any push will trigger it. The linked thread above is pretty accurate. Basically, to be "safe" you should forget that llPushObject even exists. There are no circumstances where it's both safe and the best option.
There are cases where it's safe (your own objects, or yourself) but it's not the best option. In those cases apply impulse from inside the object or inside an attachment is much more reliable predictable.
There are cases where it's the simplest (ie best) but not a safe option. These are the cases where you're manipulating an object you don't own or another avatar. You might argue that it's okay to manipulate others objects since they get no warning for that. however, the most likely physical object of someone elses you would be working with would be a vehicle, in which case they're probably sitting in it. If it's just some random physical knicknack that belongs to someone else, the mostly likely result of llPushObject being used on it is that it will get lost or returned.
So, ya, forget push object exists to be safe, or use it and realize that if someone doesn't like you they can and will report it which in all likelyhood will lead to you being suspended.
|
Oasis Perun
Registered User
Join date: 2 Oct 2005
Posts: 128
|
Alternative to push??
12-20-2005 16:51
what about moving the chair back when the avatar stands up?.. or for multiple sit postions use an invisible sitball just in front of the chair or couch?..most of the poseball scripts i have seen include an option set an offset from the sit prim so if you set the ball infront of the object you are sitting on and use offsets to position your Avatars then when you stand up wont you stand at the point the ball it at?
|
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
12-20-2005 17:04
I tried extensively to solve this problem for a game I wrote, and found no nice consistent solution. Unsitting does not work unless they click the chair before they get up... and even still, this only works if the chair is not a child prim. Applying a push to the person as they unsit can be highly disastrous. I tested this extensively, and found that the same push value would sometimes not succeed in pushing me away from the chair enough to avoid being trapped, while sometimes it would _orbit_ me. Generally, it would alternate between not working at all and giving a rather rude-feeling 15-meter shove. The inconsistency led me to feel it wasn't trustable.
My solution, in the end, was to phantom the entire object for 10 seconds after the person gets up. If they take the hint, they can maneuver away before the object unphantoms. If not..... they get stuck. It's not perfect.
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
12-20-2005 17:12
From: Rickard Roentgen So, ya, forget push object exists to be safe, or use it and realize that if someone doesn't like you they can and will report it which in all likelyhood will lead to you being suspended. So I should take down the half-kilometer-tall gravity elevator that's a permanent fixture on my build? Like hell I will.
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
12-20-2005 17:16
From: Lex Neva I tested this extensively, and found that the same push value would sometimes not succeed in pushing me away from the chair enough to avoid being trapped, while sometimes it would _orbit_ me. You know that the effect of a push falls off at the cube of the distance, and it's affected by the attachments the avatar's wearing? Did you try doing it in sensor and using d = llVecDist(llGetPos(), llDetectedPos(0)); llPushObject(llDetectedKey(0), llDetectedMass(0) * force * d * d * d, ZERO_VECTOR, FALSE);?
|
Eloise Pasteur
Curious Individual
Join date: 14 Jul 2004
Posts: 1,952
|
12-21-2005 00:23
Saying you should never use pushes is a bit like saying you should never use listens in my opinion.
There are things that it's basically the neatest way to cope with and if it was a truly solely a griefing tool it would be removed pretty sharpish - the same way there was a discussion that llTeleportAgentHome() should be removed when ripple fire security scripts were so common and causing crashes.
But, in just the same way that overzealous security systems can get you ARed and a slapped wrist or worse, silly use of push will get you into trouble.
Something like a gravity ride by it's nature will shove you around. This might get you an AR if there's someone out to grief you personally I guess, but since there's a human element in the judging of abuse reports you'd also hope they'd look at it and smack the person stupid enough to AR you as a griefer since it's obviously not malicious use.
IF it's something that is deemed malicious then, as previously stated, in theory any level of push gets you into trouble. Rather perversely I suspect this makes things that are big and obvious and tell you what they're doing rather safer than chairs with push - if I go on a ride in SL I expect to have 'daft' things happen including in some at least being pushed around a bit. I don't really expect a chair to push me out hard...
|
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
|
12-21-2005 02:57
I agree that I wouldn't really expect a chair to push me significantly; it doesn't seem like the ideal way to make sure somebody isn't standing on it afterwards. I'm not sure what is, really.
I'm certainly not going to simply not use llPushObject either though - if somebody is going to report you for being pushed maybe a metre for a logical reason, it strikes me that they'd report you for anything. That music is offensive! I fell off the roof because it was too steep! I got into a secret passage by accident and couldn't find my way out! Not using llPushObject isn't going to save you from oversensitive or malicious reporting (and if somebody is that sensitive they probably wouldn't last long in SL anyway).
|
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
12-21-2005 09:23
From: Argent Stonecutter You know that the effect of a push falls off at the cube of the distance, and it's affected by the attachments the avatar's wearing? Did you try doing it in sensor and using d = llVecDist(llGetPos(), llDetectedPos(0)); llPushObject(llDetectedKey(0), llDetectedMass(0) * force * d * d * d, ZERO_VECTOR, FALSE);? I did this, yes. Still sometimes orbited me, sometimes didn't do the job at all. It was a fairly slow sim, and I wouldn't be surprised if it sometimes just took too long calculating the push, and the avatar had moved. Whatever the cause, its inconsistency made it too unreliable... I didn't want to be shoving my customers around.
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
12-21-2005 11:18
From: Lex Neva I did this, yes. Still sometimes orbited me, sometimes didn't do the job at all. It was a fairly slow sim, and I wouldn't be surprised if it sometimes just took too long calculating the push, and the avatar had moved. Whatever the cause, its inconsistency made it too unreliable... I didn't want to be shoving my customers around. Well, I've built a gravity elevator that lifts an avatar 500 meters up at a steady 5-8 meters a second. It's not perfect, but it works pretty well in a variety of sims, at different altitudes. How it works is through feedback. It starts out by picking a desired location and velocity that it wants the av to have. Then it picks a low push, and tries it, and adjusts the push based on the results until the av's moving upwards at a steady rate. Each segment of the elevator makes this calculation independently, so every 10 meters it goes through the loop again, and the adjustment is fast enough you simply don't notice it. You can do the same. Push, check, push, check, it doesn't take more than a few seconds to stabilize on a push that works for the current sim and time. Oh, and don't forget energy. If you build a pusher into an object that's too small you're going to have real problems getting it to behave consistently because you'll be sitting there calibrating it... and the fact that you're having it push over and over again is going to deplete its energy levels, and lead to calibrating it WAY too high.
|
Rickard Roentgen
Renaissance Punk
Join date: 4 Apr 2004
Posts: 1,869
|
12-21-2005 13:01
From: Argent Stonecutter So I should take down the half-kilometer-tall gravity elevator that's a permanent fixture on my build?
Like hell I will. I said to be safe  . If you're willing to risk it, go for it. Personally I risk it all the time. oh ya, and if you want to have someone stand up and not land on the chair, an animation that plays when they sit that moves the pelvis back (and only effects the pelvis) combined with a sit offset in front of the chair will do it. It will brake if somone plays a high priority animation on themselves when they sit that also effects the pelvis, Not sure how many people do that.
|
Rickard Roentgen
Renaissance Punk
Join date: 4 Apr 2004
Posts: 1,869
|
12-21-2005 13:09
using push and using listen are not at all similar.
Listen can have a detrimental effect on the sim, but probably won't hurt an avatar. Over using it will not get official attention unless you manage to lag the sim significantly.
Using push can have a detrimental effect on an avatar (or just be annoying), but it probably won't hurt the sim. Over using it will get official attention if a single person complains, even if it's not a hard push.
I didn't just say you shouldn't use push. I said you shouldn't use push IF you want a no risk solution.
|
Mike Westerburg
Who, What, Where?
Join date: 2 May 2004
Posts: 317
|
12-21-2005 13:36
From: Papa Joffre In the LSL Wiki a usggestion is provided that when "unsitting" someone, you can keep them from standing on the chair (which looks kind of silly) by applying a gentle "llPushObject" to their avatar.
On the other hand, pushing someone with llPushObject can be reported as abuse. Is there some official cutoff impulse level below which you don't have to be worried about being reported for abuse? I'd like to use the suggestion above for unsitting people in chairs that I'm scripting, but I don't want to be reported as an abuser. Hmm... So if I get what you are wanting to do correctly then I honestly do not see a reportable problem with a slight love push from a chair I was sitting in. Some objects push you anyway depending on where the sit target is as opposed to the outer shell goodness of the object. I can't count how many times I have been knocked around while tying to exit a vehicle as the physics bounding boxes pushed me around. On the same token, I find it frustrating that a vehicle or other sittable object has no effective way to get the avatar free of any obsticals without resorting to a push or going phantom for a pre-defined length of time. Nothing like getting stuck inside the canopy of an airplane after you unsit and the only way to get out is to delete the vehicle or edit it and move it/make it phantom manually. I have gotten stuck inside of furniture too ,like oversized sofas where the sit targets/poseballs do whacky things and you unsit and are embedded in the sofa with no way to get out without sitting somewhere else. If it knocks me a few meters away it is ok, if it knocks me 10 meters away then it is annoying but not even worth reporting. Sit at your own risk I guess.
_____________________
"Life throws you a lemon, you make lemonade and then plant the seeds"
|
Rickard Roentgen
Renaissance Punk
Join date: 4 Apr 2004
Posts: 1,869
|
12-21-2005 13:55
oh, another thing. if when someone unsits, you have a prim in the object move (doesn't have to be related to where they were sitting at all), it will frequently push them gently all the way out of the object.
|
Papa Joffre
Registered User
Join date: 13 Nov 2005
Posts: 8
|
12-22-2005 13:18
From: Rickard Roentgen oh, another thing. if when someone unsits, you have a prim in the object move (doesn't have to be related to where they were sitting at all), it will frequently push them gently all the way out of the object. Interesting possibility. I'll try it out.
|