diff options
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 121 |
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> |