aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs85
1 files changed, 39 insertions, 46 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 43b0da3..5f8ca91 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -9835,63 +9835,56 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
9835 public LSL_Integer llGetParcelPrimCount(LSL_Vector pos, int category, int sim_wide) 9835 public LSL_Integer llGetParcelPrimCount(LSL_Vector pos, int category, int sim_wide)
9836 { 9836 {
9837 m_host.AddScriptLPS(1); 9837 m_host.AddScriptLPS(1);
9838
9839 ILandObject lo = World.LandChannel.GetLandObject((float)pos.x, (float)pos.y);
9840
9841 //LandData land = World.GetLandData((float)pos.x, (float)pos.y);
9838 9842
9839 LandData land = World.GetLandData((float)pos.x, (float)pos.y); 9843 if (lo == null)
9844 return 0;
9845
9846 IPrimCounts pc = lo.PrimCounts;
9840 9847
9841 if (land == null) 9848 if (sim_wide != 0)
9842 { 9849 {
9843 return 0; 9850 if (category == 0)
9851 {
9852 return pc.Simulator;
9853 }
9854 else
9855 {
9856 // counts not implemented yet
9857 return 0;
9858 }
9844 } 9859 }
9845
9846 else 9860 else
9847 { 9861 {
9848 if (sim_wide != 0) 9862 if (category == 0)//Total Prims
9849 { 9863 {
9850 if (category == 0) 9864 return pc.Total;
9851 {
9852 return land.SimwidePrims;
9853 }
9854
9855 else
9856 {
9857 //public int simwideArea = 0;
9858 return 0;
9859 }
9860 } 9865 }
9861 9866 else if (category == 1)//Owner Prims
9862 else
9863 { 9867 {
9864 if (category == 0)//Total Prims 9868 return pc.Owner;
9865 { 9869 }
9866 return 0;//land. 9870 else if (category == 2)//Group Prims
9867 } 9871 {
9868 9872 return pc.Group;
9869 else if (category == 1)//Owner Prims 9873 }
9870 { 9874 else if (category == 3)//Other Prims
9871 return land.OwnerPrims; 9875 {
9872 } 9876 return pc.Others;
9873 9877 }
9874 else if (category == 2)//Group Prims 9878 else if (category == 4)//Selected
9875 { 9879 {
9876 return land.GroupPrims; 9880 return pc.Selected;
9877 } 9881 }
9878 9882 else if (category == 5)//Temp
9879 else if (category == 3)//Other Prims 9883 {
9880 { 9884 return 0; // counts not implemented yet
9881 return land.OtherPrims;
9882 }
9883
9884 else if (category == 4)//Selected
9885 {
9886 return land.SelectedPrims;
9887 }
9888
9889 else if (category == 5)//Temp
9890 {
9891 return 0;//land.
9892 }
9893 } 9885 }
9894 } 9886 }
9887
9895 return 0; 9888 return 0;
9896 } 9889 }
9897 9890