aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs121
1 files changed, 55 insertions, 66 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 980b2a5..24d3615 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -6387,75 +6387,64 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6387 public LSL_String llGetEnv(LSL_String name) 6387 public LSL_String llGetEnv(LSL_String name)
6388 { 6388 {
6389 m_host.AddScriptLPS(1); 6389 m_host.AddScriptLPS(1);
6390 if (name == "agent_limit") 6390 switch(name)
6391 { 6391 {
6392 return World.RegionInfo.RegionSettings.AgentLimit.ToString(); 6392 case "agent_limit":
6393 } 6393 return World.RegionInfo.RegionSettings.AgentLimit.ToString();
6394 else if (name == "dynamic_pathfinding") 6394
6395 { 6395 case "dynamic_pathfinding":
6396 return "0"; 6396 return "0";
6397 } 6397
6398 else if (name == "estate_id") 6398 case "estate_id":
6399 { 6399 return World.RegionInfo.EstateSettings.EstateID.ToString();
6400 return World.RegionInfo.EstateSettings.EstateID.ToString(); 6400
6401 } 6401 case "estate_name":
6402 else if (name == "estate_name") 6402 return World.RegionInfo.EstateSettings.EstateName;
6403 { 6403
6404 return World.RegionInfo.EstateSettings.EstateName; 6404 case "frame_number":
6405 } 6405 return World.Frame.ToString();
6406 else if (name == "frame_number") 6406
6407 { 6407 case "region_cpu_ratio":
6408 return World.Frame.ToString(); 6408 return "1";
6409 } 6409
6410 else if (name == "region_cpu_ratio") 6410 case "region_idle":
6411 { 6411 return "0";
6412 return "1"; 6412
6413 } 6413 case "region_product_name":
6414 else if (name == "region_idle") 6414 if (World.RegionInfo.RegionType != String.Empty)
6415 { 6415 return World.RegionInfo.RegionType;
6416 return "0"; 6416 else
6417 } 6417 return "";
6418 else if (name == "region_product_name") 6418
6419 { 6419 case "region_product_sku":
6420 if (World.RegionInfo.RegionType != String.Empty) 6420 return "OpenSim";
6421 return World.RegionInfo.RegionType; 6421
6422 else 6422 case "region_start_time":
6423 return World.UnixStartTime.ToString();
6424
6425 case "region_up_time":
6426 int time = Util.UnixTimeSinceEpoch() - World.UnixStartTime;
6427 return time.ToString();
6428
6429 case "sim_channel":
6430 return "OpenSim";
6431
6432 case "sim_version":
6433 return World.GetSimulatorVersion();
6434
6435 case "simulator_hostname":
6436 IUrlModule UrlModule = World.RequestModuleInterface<IUrlModule>();
6437 return UrlModule.ExternalHostNameForLSL;
6438
6439 case "region_max_prims":
6440 return World.RegionInfo.ObjectCapacity.ToString();
6441
6442 case "region_object_bonus":
6443 return World.RegionInfo.RegionSettings.ObjectBonus.ToString();
6444
6445 default:
6423 return ""; 6446 return "";
6424 } 6447 }
6425 else if (name == "region_product_sku")
6426 {
6427 return "OpenSim";
6428 }
6429 else if (name == "region_start_time")
6430 {
6431 return World.UnixStartTime.ToString();
6432 }
6433 else if (name == "sim_channel")
6434 {
6435 return "OpenSim";
6436 }
6437 else if (name == "sim_version")
6438 {
6439 return World.GetSimulatorVersion();
6440 }
6441 else if (name == "simulator_hostname")
6442 {
6443 IUrlModule UrlModule = World.RequestModuleInterface<IUrlModule>();
6444 return UrlModule.ExternalHostNameForLSL;
6445 }
6446 else if (name == "region_max_prims")
6447 {
6448 return World.RegionInfo.ObjectCapacity.ToString();
6449 }
6450 else if (name == "region_object_bonus")
6451 {
6452 return World.RegionInfo.RegionSettings.ObjectBonus.ToString();
6453 }
6454 else
6455 {
6456 return "";
6457 }
6458
6459 } 6448 }
6460 6449
6461 /// <summary> 6450 /// <summary>