From 788dff7090774b5544963a41a129d1c0d29df56c Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Wed, 27 Aug 2008 17:19:56 +0000 Subject: Implements the r6005 foes for XEngine as well --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 2b99ce6..46f6d8b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -67,6 +67,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api internal bool throwErrorOnNotImplemented = true; internal AsyncCommandManager AsyncCommands = null; internal float m_ScriptDelayFactor = 1.0f; + internal float m_ScriptDistanceFactor = 1.0f; public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, uint localID, LLUUID itemID) { @@ -81,6 +82,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_ScriptDelayFactor = config.Configs["XEngine"]. GetFloat("ScriptDelayFactor", 1.0f); + m_ScriptDistanceFactor = config.Configs["XEngine"]. + GetFloat("ScriptDistanceLimitFactor", 1.0f); AsyncCommands = (AsyncCommandManager)ScriptEngine.AsyncCommands; } @@ -1493,7 +1496,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api LSL_Types.Vector3 currentPos = llGetLocalPos(); if (llVecDist(currentPos, targetPos) > 10) { - targetPos = currentPos + 10 * llVecNorm(targetPos - currentPos); + targetPos = currentPos + m_ScriptDistanceFactor * 10 * llVecNorm(targetPos - currentPos); } if (part.ParentID != 0) @@ -2125,6 +2128,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void llRezAtRoot(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param) { + float dist = (float)llVecMag(llGetPos() - pos); + + if(dist > m_ScriptDistanceFactor * 10.0f) + return; + m_host.AddScriptLPS(1); bool found = false; -- cgit v1.1