default
{
on_rez(integer i) {
// avoid doing anythign if rezzed by hand
if (i) {
llSetAlpha(0.0, ALL_SIDES);
llSetPrimitiveParams([PRIM_TEMP_ON_REZ, TRUE]);
llSetStatus(STATUS_DIE_AT_EDGE, TRUE);
//llVolumeDetect(TRUE);
llSetTimerEvent(10);
llSensor("", "", AGENT, 20, 0.4);
} else {
llSetAlpha(1.0, ALL_SIDES);
llSetPrimitiveParams([PRIM_TEMP_ON_REZ, FALSE]);
}
}
sensor(integer num) {
integer i;
//llOwnerSay("Sensor");
for (i = 0;i < num; i++) {
if (llDetectedType(i) & AGENT) {
// llOwnerSay("Dropping Anvil over " + llDetectedName(i) + " at " + (string)(llDetectedPos(i)
+ <0, 0, 50>));
llSetStatus(STATUS_PHYSICS,FALSE);
llSetStatus(STATUS_PHANTOM, TRUE);
// now inch up to the right spot
vector targetPos = llDetectedPos(i) + <0, 0, 5>;
while(llVecDist(llGetPos(), targetPos) > 0.5)
llSetPos(targetPos);
llRezObject("Anvil", llGetPos(), ZERO_VECTOR, ZERO_ROTATION, 0);
llDie();
}
}
}
no_sensor() {
llDie();
}
timer() {
llDie();
}
}