Thank you! I tried this but it doesn't seem to have any effect on me. Something's missing...
default
{
state_entry()
{
llRequestPermissions(llGetOwner(), PERMISSION_TAKE_CONTROLS);
}
run_time_permissions(integer perm)
{
llSensorRepeat("", "", AGENT_BY_USERNAME, 12, PI, 1.0);
if (PERMISSION_TAKE_CONTROLS & perm)
{
llTakeControls(
CONTROL_FWD |
CONTROL_BACK |
CONTROL_LEFT |
CONTROL_RIGHT |
CONTROL_ROT_LEFT |
CONTROL_ROT_RIGHT |
CONTROL_UP |
CONTROL_DOWN |
CONTROL_LBUTTON |
CONTROL_ML_LBUTTON,
TRUE, TRUE);
}
}
control(key id, integer level, integer edge)
{
integer start = level & edge;
integer end = ~level & edge;
integer held = level & ~edge;
integer untouched = ~(level | edge);
//llOwnerSay(llList2CSV([level, edge, start, end, held, untouched]));
}
sensor(integer n)
{
vector force = llGetPos() - llList2Vector(llGetObjectDetails(llDetectedKey(0), [OBJECT_POS]), 0);
force = llVecNorm(force) * 10;
llSetForce(force, FALSE);
}
no_sensor()
{
llSetForce( < 0, 0, 0 > , FALSE);
}
}