integer tnum;
integer have_permissions = FALSE;
integer armed = TRUE;
vector target;
vector home;
key id;
default
{
state_entry()
{
llSetStatus(STATUS_BLOCK_GRAB | STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z, TRUE);
}
attach(key attachedAgent)
{
if (attachedAgent != NULL_KEY)
{
llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
llOwnerSay("activated.");
}
else
{
if (have_permissions)
{
llReleaseControls();
have_permissions = FALSE;
}
}
}
collision(integer i){
if (llDetectedType(0) & AGENT){
llStartAnimation("mk_upper4");
llTriggerSound("78a6e436-337e-9e00-5059-6ae84a86375b", 1.0);
llSetTimerEvent(0.5);
float num = DEBUG_CHANNEL * 1000000.0;
home = llGetPos();
target = llRot2Fwd(llGetRot()) * 1.2 + llGetPos() + <0,0,0.8>;
id = llGetOwner();
llMoveToTarget(llGetPos() + <0,0,0>, 0.045);
vector immediate_distance;
integer countdown = 200;
float time;
llResetTime();
do
{
//llPushObject(id, (immediate_distance = target - llGetPos()) * llGetMass() * 45, ZERO_VECTOR, FALSE);
llApplyRotationalImpulse(<num,1000,num>,TRUE);
//llApplyImpulse(-llGetMass()*llGetVel(),FALSE);
}
while((llVecMag(immediate_distance) > 3) && --countdown);
//llSleep(0.25);
//llPushObject(id, -llGetVel() * llGetMass(), ZERO_VECTOR, FALSE);
llStopMoveToTarget();
}
}
timer()
{
//llTriggerSound("352c9e92-3e97-3ea2-b068-2f6b75278a9c", 1.0);
llSetTimerEvent(0);
}
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎