default
{
state_entry()
{
llSay(0, "Hello, Avatar!"
;llSetText( " camera testing " , < 1.0 , 0.0 , 0.0 > , 0.5 ) ;
llSay( 0 , " BOX: pos " + (string)llGetPos( ) + " rot " + (string)llGetRot( ) ) ;
llSitTarget( < 0.0 , 0.0 , 0.6 > , ZERO_ROTATION ) ;
llSetSitText( "sit2test" ) ;
}
touch_start(integer total_number)
{
llSay(0, "Touched."
;key touchingAvatar = llDetectedKey( 0 ) ;
// vector pos = llGetPos( ) - < 5.0 , 0.0 , 1.0 > ;
// vector foc = llGetPos( ) + < 0.0 , 0.0 , 9.0 > ;
llRequestPermissions( touchingAvatar ,
PERMISSION_CONTROL_CAMERA | PERMISSION_TRACK_CAMERA ) ;
llSay( 0 , "CAMERA AFTER PERM: pos " + (string)llGetCameraPos( ) ) ;
llSay( 0 , "CAMERA AFTER PERM: rot:" + (string)llGetCameraRot( ) ) ;
}
run_time_permissions( integer permissions )
{
llSay( 0 , "in rtp" ) ;
if ( permissions & PERMISSION_CONTROL_CAMERA )
{
llClearCameraParams( ) ;
vector pos = llGetPos( ) - < 0.0 , 6.0 , -1.0 > ;
vector foc = llGetPos( ) ;
vector focusOffset = < 0.0 , -9.0 , 0.0 > ;
// llSetCameraAtOffset( < 0.0 , 0.0 , 45.0 > ) ;
llSetCameraParams( [ CAMERA_ACTIVE , TRUE ,
CAMERA_POSITION , pos ,
CAMERA_FOCUS_OFFSET , focusOffset ,
CAMERA_DISTANCE , 10.0 ,
CAMERA_PITCH , -45.0
] ) ;
vector cameraOffset = llGetCameraPos( ) - llGetPos( ) ;
llSay( 0 , " RTP cameraOffset from box = " + (string)cameraOffset ) ;
llSay( 0 , " RTP region: pos" + (string)llGetCameraPos( ) ) ;
llSay( 0 , " RTP region: rot" + (string)llGetCameraRot( ) ) ;
// llSleep( 2.0 ) ;
// llClearCameraParams( ) ;
}
}
}
