Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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);
- }
- }
Advertisement