CODE
key gunnerId = NULL_KEY;
default
{
state_entry()
{
llSetLocalRot(<0.00000, 0.70711, 0.00000, 0.70711>);
}
link_message(integer sender_num, integer num, string str, key id)
{
if (str == "gunner1")
{
gunnerId = id;
if (id == NULL_KEY)
{
llSensorRemove();
llSetLocalRot(<0.00000, 0.70711, 0.00000, 0.70711>);
}
else
{
llSensorRepeat("", gunnerId, AGENT, 10.0, TWO_PI, 0.01);
}
}
}
no_sensor()
{
gunnerId = NULL_KEY;
llSensorRemove();
llSetLocalRot(<0.00000, 0.70711, 0.00000, 0.70711>);
}
sensor(integer num_detected)
{
if (gunnerId == NULL_KEY)
{
llSensorRemove();
llSetLocalRot(<0.00000, 0.70711, 0.00000, 0.70711>);
}
else
{
llEuler2Rot(<headRot.y, 0.0, headRot.z>);
llSetRot(<0.00000, 0.70711, 0.00000, 0.70711> * ((llDetectedRot(0) / llGetRootRotation()) / llGetRootRotation()));
}
}
}