mirror of
https://github.com/opensim/opensim.git
synced 2026-07-31 22:05:36 +08:00
add some more things to llGetParcelDetails. Thanks Tampa for some initial code.
This commit is contained in:
@@ -14345,11 +14345,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
|
||||
public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param)
|
||||
{
|
||||
LandData land = World.GetLandData(pos);
|
||||
ILandObject parcel = World.LandChannel.GetLandObject(pos);
|
||||
if (parcel == null)
|
||||
{
|
||||
return new LSL_List(0);
|
||||
}
|
||||
|
||||
LandData land = parcel.LandData;
|
||||
if (land == null)
|
||||
{
|
||||
return new LSL_List(0);
|
||||
}
|
||||
|
||||
LSL_List ret = new LSL_List();
|
||||
foreach (object o in param.Data)
|
||||
{
|
||||
@@ -14373,6 +14380,30 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
case "5":
|
||||
ret.Add(new LSL_Key(land.GlobalID.ToString()));
|
||||
break;
|
||||
case "6":
|
||||
ret.Add(new LSL_Integer(land.SeeAVs ? 1 : 0));
|
||||
break;
|
||||
case "7":
|
||||
ret.Add(new LSL_Integer(parcel.GetParcelMaxPrimCount()));
|
||||
break;
|
||||
case "8":
|
||||
ret.Add(new LSL_Integer(parcel.PrimCounts.Total));
|
||||
break;
|
||||
case "9":
|
||||
ret.Add(new LSL_Vector(land.UserLocation));
|
||||
break;
|
||||
case "10":
|
||||
ret.Add(new LSL_Vector(land.UserLookAt));
|
||||
break;
|
||||
case "11":
|
||||
ret.Add(new LSL_Integer(land.LandingType));
|
||||
break;
|
||||
case "12":
|
||||
ret.Add(new LSL_Integer(land.Flags));
|
||||
break;
|
||||
case "13":
|
||||
ret.Add(new LSL_Integer(World.LSLScriptDanger(m_host, pos) ? 1 : 0));
|
||||
break;
|
||||
case "64":
|
||||
ret.Add(new LSL_Integer(land.Dwell));
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user