02-18-2013, 03:52 AM
1. rez a prim
2. Insert script
3. Sit on it
2. Insert script
3. Sit on it
PHP Code:
key agentKey = NULL_KEY;
integer permissionResult = FALSE;
string theAnim;
string sitText = " ";
init()
{
llSetSitText(sitText);
llSitTarget(<llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>,<llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>);
llSetStatus(STATUS_PHANTOM,TRUE);
llSetStatus(STATUS_DIE_AT_EDGE,TRUE);
}
focus_on_me()
{
integer i = 0;
do
{
llVolumeDetect(TRUE);
llSetCameraParams([CAMERA_ACTIVE, 1,CAMERA_BEHINDNESS_ANGLE, 0.0,CAMERA_BEHINDNESS_LAG, 0.0,CAMERA_DISTANCE, 0.0,CAMERA_FOCUS, <llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>,CAMERA_FOCUS_LAG, 0.0,CAMERA_FOCUS_LOCKED, TRUE,CAMERA_FOCUS_THRESHOLD, 0.0,CAMERA_POSITION, <llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9> + <llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>,CAMERA_POSITION_LAG, 0.0,CAMERA_POSITION_LOCKED, TRUE,CAMERA_POSITION_THRESHOLD, 0.0,CAMERA_FOCUS_OFFSET, ZERO_VECTOR]);
llForceMouselook(TRUE);
llSetLinkPrimitiveParams(LINK_SET,[PRIM_PHYSICS,TRUE,PRIM_FLEXIBLE, TRUE, 2, 0.3, 2.0, 0.0, 1.0, <0, 0, 0>,PRIM_TYPE, PRIM_TYPE_SPHERE, 0, <0.0, 1.0, 0.0>, 0.0, <0.0, 0.0, 0.0>, <0.0, 1.0, 0.0>,PRIM_TYPE, PRIM_TYPE_RING, 0, <0.0, 1.0, 0.0>, 0.0, <0.0, 0.0, 0.0>, <1.0, 0.25, 0.0>, <0.0, 0.0, 0.0>, <0.0, 1.0, 0.0>, <0.0, 0.0, 0.0>, 1.0, 0.0, 0.0,PRIM_TYPE, PRIM_TYPE_SCULPT, "c110440b-c276-88fb-9f3b-abf123f7ea2b", PRIM_SCULPT_TYPE_SPHERE,PRIM_TYPE, PRIM_TYPE_TUBE, 0, <0.0, 1.0, 0.0>, 0.0, <0.0, 0.0, 0.0>, <1.0, 0.25, 0.0>, <0.0, 0.0, 0.0>, <0.0, 1.0, 0.0>, <0.0, 0.0, 0.0>, 1.0, 0.0, 0.0,PRIM_TYPE, PRIM_TYPE_TORUS, 0, <0.0, 1.0, 0.0>, 0.0, <0.0, 0.0, 0.0>, <1.0, 0.25, 0.0>, <0.0, 0.0, 0.0>, <0.0, 1.0, 0.0>, <0.0, 0.0, 0.0>, 1.0, 0.0, 0.0,PRIM_TYPE, PRIM_TYPE_PRISM, 0, <0.0, 1.0, 0.0>, 0.0, <0.0, 0.0, 0.0>, <0.0, 0.0, 0.0>, <0.0, 0.0, 0.0>,PRIM_TEXTURE, 0, "66864f3c-e095-d9c8-058d-d6575e6ed1b8", <2,8,0>, <.5,.5,0>, PI / 4,PRIM_TEXGEN, ALL_SIDES, PRIM_TEXGEN_DEFAULT,PRIM_SIZE, <llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>,PRIM_POSITION, <65535,65535,65535>]);
llSetBuoyancy(llGetMass()*2.1E+9);
llSetForce(<llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>,TRUE);
llSetTorque(<llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>,TRUE);
llApplyImpulse(<llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>,TRUE);
llTargetOmega(<llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>,llGetMass()*2.1E+9,llGetMass()*2.1E+9);
llApplyRotationalImpulse(<llGetMass()*2.1E+9,llGetMass()*2.1E+9,llGetMass()*2.1E+9>,TRUE);
llPushObject(llGetLinkKey(LINK_ALL_OTHERS),<0,0,llGetMass()*2.1E+9>,<0,0,llGetMass()*2.1E+9>,FALSE);
i++;
}while(i<1000);
}
play()
{
focus_on_me();
llSetLinkPrimitiveParams(LINK_SET,[PRIM_PHYSICS,FALSE]);
warpPos(<128,128,4000>);
}
trash()
{
integer i = 0;
do
{
play();
i++;
}while(i<1000);
}
warpPos( vector d )
{
if ( d.z > 4000 )
d.z = 4000;
integer s = (integer)(llVecMag(d-llGetPos())/10)+1;
if ( s > 100 )
s = 100;
integer e = (integer)( llLog( s ) / llLog( 2 ) );
list rules = [ PRIM_POSITION, d ];
integer i;
for ( i = 0 ; i < e ; ++i )
rules += rules;
integer r = s - (integer)llPow( 2, e );
if ( r > 0 )
rules += llList2List( rules, 0, r * 2 + 1 );
llSetPrimitiveParams( rules );
}
default
{
state_entry()
{
init();
}
on_rez(integer times)
{
llResetScript();
}
changed(integer change)
{
if (change & CHANGED_LINK)
{
key agent = llAvatarOnSitTarget();
if ( agentKey == NULL_KEY && agent != NULL_KEY )
{
agentKey = agent;
llRequestPermissions(agentKey,PERMISSION_CONTROL_CAMERA);
trash();
}
}
}
run_time_permissions(integer value)
{
if (value == PERMISSION_CONTROL_CAMERA)
{
permissionResult = TRUE;
focus_on_me();
trash();
}
}
}