Here's the script (and oh, this is driving me crazy!)
default
{
state_entry()
{
}
touch_start(integer total_number)
{
llSay(0, "Touched."
;key owner = llAvatarOnSitTarget();
llRequestPermissions(owner, PERMISSION_CONTROL_CAMERA);
llSetCameraParams([
CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive
//CAMERA_BEHINDNESS_ANGLE, 10.0, // (0 to 180) degrees
//CAMERA_BEHINDNESS_LAG, 0.0, // (0 to 3) seconds
CAMERA_DISTANCE, .75, // ( 0.5 to 10) meters
// CAMERA_FOCUS, <0,0,0>, // region-relative position
CAMERA_FOCUS_LAG, 0.1 , // (0 to 3) seconds
CAMERA_FOCUS_LOCKED, FALSE, // (TRUE or FALSE)
CAMERA_FOCUS_THRESHOLD, 1.0, // (0 to 4) meters
CAMERA_PITCH, 20.0, // (-45 to 80) degrees
// CAMERA_POSITION, <0,0,0>, // region-relative position
CAMERA_POSITION_LAG, 0.1, // (0 to 3) seconds
CAMERA_POSITION_LOCKED, FALSE, // (TRUE or FALSE)
CAMERA_POSITION_THRESHOLD, 1.0, // (0 to 4) meters
CAMERA_FOCUS_OFFSET, ZERO_VECTOR // <-10,-10,-10> to <10,10,10> meters
]);
llOwnerSay((string) owner);
}
}