* Patch from Alondria - Added LLFunctions llGetMass(), llGetLandOwnerAt(), llGetVel(), llGround()
parent
984f2da17d
commit
b2903c4a8a
|
@ -1964,7 +1964,23 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
{
|
||||
m_eventManager.TriggerOnPluginConsole(args);
|
||||
}
|
||||
|
||||
public double GetLandHeight(int x, int y)
|
||||
{
|
||||
return Terrain.GetHeight(x, y);
|
||||
}
|
||||
public LLUUID GetLandOwner(float x, float y)
|
||||
{
|
||||
Land land = LandManager.getLandObject(x, y);
|
||||
if (land == null)
|
||||
{
|
||||
return LLUUID.Zero;
|
||||
}
|
||||
else
|
||||
{
|
||||
return land.landData.ownerID;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Script Engine
|
||||
|
|
|
@ -1225,6 +1225,22 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
|
||||
#endregion
|
||||
|
||||
#region Physics
|
||||
|
||||
public float GetMass()
|
||||
{
|
||||
if (PhysActor != null)
|
||||
{
|
||||
return PhysActor.Mass;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Texture
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -410,8 +410,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public double llGround(LSL_Types.Vector3 offset)
|
||||
{
|
||||
NotImplemented("llGround");
|
||||
return 0;
|
||||
int x = (int)(m_host.AbsolutePosition.X + offset.x);
|
||||
int y = (int)(m_host.AbsolutePosition.Y + offset.y);
|
||||
return World.GetLandHeight(x, y);
|
||||
}
|
||||
|
||||
public double llCloud(LSL_Types.Vector3 offset)
|
||||
|
@ -824,8 +825,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public LSL_Types.Vector3 llGetVel()
|
||||
{
|
||||
NotImplemented("llGetVel");
|
||||
return new LSL_Types.Vector3();
|
||||
return new LSL_Types.Vector3(m_host.Velocity.X, m_host.Velocity.Y, m_host.Velocity.Z);
|
||||
}
|
||||
|
||||
public LSL_Types.Vector3 llGetAccel()
|
||||
|
@ -993,8 +993,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public double llGetMass()
|
||||
{
|
||||
NotImplemented("llGetMass");
|
||||
return 0;
|
||||
return m_host.GetMass();
|
||||
}
|
||||
|
||||
public void llCollisionFilter(string name, string id, int accept)
|
||||
|
@ -1922,8 +1921,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|||
|
||||
public string llGetLandOwnerAt(LSL_Types.Vector3 pos)
|
||||
{
|
||||
NotImplemented("llGetLandOwnerAt");
|
||||
return "";
|
||||
return World.GetLandOwner((float)pos.x, (float)pos.y).ToString();
|
||||
}
|
||||
|
||||
public string llGetNotecardLine(string name, int line)
|
||||
|
|
Loading…
Reference in New Issue