I began experimenting with externally effecting an avatar's movement via scripts. I had previously created an attachment which allowed an avatar to literally walk on air, and this was the effect that kohne envisioned. The problem was, that not everyone has that attachment.
So, I tryed llPushObject(). It is the equivelant of llApplyImpulse() in scripts, so I basicly negated an avatar's velocity, which would, in theory, stop the avatar from falling. It worked... maybe for a split second... but as soon as I stepped off that platform... WOOSH! Down to the ground I went.
So... I tryed applying a stronger push to the avatar. This worked... sort of. I got something like a penduim effect, where my avatar would be pushed up... then gravity took over, pushed down, then object, pushed up, then gravity, then object, and finally, SPLAT, I hit the ground (again).
My walk-on-air belt works by using llSetForce(). Since this function has been touted as just a simple repeated push on an avatar, I thought my experiments with llPushObject() would work, but... they didnt

So... I propose:
llPushForce(key avatar, vector force, vector torque, integer local);
Which acts like llSetForce() would on an object.
However, it can be used for griefing, and here's how that is countered:
- Only allow a script to effect one avatar's force at a time.
- The script can only effect that avatar's force if the avatar is x meters from the object.
- The script cant push an avatar with an over-astounding amount of force (so griefing like the stuff done with llPushObject() can't be done).
By implimenting this, prim-less bridges in the air, that many avatars can cross as if they were standing on a prim would be possible!
So... what's everyone think?

==Chris
