public LSL_Vector llGetCameraPos()
{
if (!ScriptProtection.CheckThreatLevel(ThreatLevel.None, "LSL", m_host, "LSL", m_itemID)) return new LSL_Vector();
UUID invItemID = InventorySelf();
if (invItemID == UUID.Zero)
return new LSL_Vector();
lock (m_host.TaskInventory)
{
if (m_host.TaskInventory[invItemID].PermsGranter == UUID.Zero)
return new LSL_Vector();
if ((m_host.TaskInventory[invItemID].PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0)
{
ShoutError("No permissions to track the camera");
return new LSL_Vector();
}
}
IScenePresence presence = World.GetScenePresence(m_host.OwnerID);
if (presence != null)
{
LSL_Vector pos = new LSL_Vector(presence.CameraPosition.X, presence.CameraPosition.Y, presence.CameraPosition.Z);
return pos;
}
return new LSL_Vector();
}