CODE
integer trigger;
default
{
state_entry()
{
llRequestPermissions(llGetOwner(), PERMISSION_CONTROL_CAMERA);llOwnerSay("on");
trigger = TRUE;
}
on_rez(integer start)
{
llResetScript();
}
touch_start(integer total_number)
{
if(!trigger){llRequestPermissions(llGetOwner(), PERMISSION_CONTROL_CAMERA);llOwnerSay("on");trigger = TRUE;}
else if(trigger){llClearCameraParams();llOwnerSay("off");trigger = FALSE;}
}
attach(key id)
{
if (id == NULL_KEY)
{
if (llGetPermissions() & PERMISSION_CONTROL_CAMERA)llClearCameraParams();
}
else
{
llRequestPermissions(id, PERMISSION_CONTROL_CAMERA);
}
}
run_time_permissions(integer perm)
{
if (perm & PERMISSION_CONTROL_CAMERA)
{
llSetCameraParams([
CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive
CAMERA_DISTANCE, 3.0, // ( 0.5 to 10) meters
CAMERA_PITCH, 10.0, // (-45 to 80) degrees
CAMERA_BEHINDNESS_ANGLE, 0.0, // (0 to 180) degrees
CAMERA_BEHINDNESS_LAG, 0.0, // (0 to 3) seconds
CAMERA_FOCUS_OFFSET, <0.0,0.0,1.5>, // <-10,-10,-10> to <10,10,10> meters
CAMERA_FOCUS_LAG, 0.0, // (0 to 3) seconds
CAMERA_FOCUS_THRESHOLD, 0.0, // (0 to 4) meters
CAMERA_FOCUS_LOCKED, FALSE, // (TRUE or FALSE)
CAMERA_POSITION_LAG, 0.0, // (0 to 3) seconds
CAMERA_POSITION_THRESHOLD, 0.0, // (0 to 4) meters
CAMERA_POSITION_LOCKED, FALSE // (TRUE or FALSE)
]);
}
}
}
