aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Common
diff options
context:
space:
mode:
authorTeravus Ovares2008-04-25 01:00:55 +0000
committerTeravus Ovares2008-04-25 01:00:55 +0000
commit9468917b5f6ba6556bd9605e88227ea79e43d94e (patch)
tree7e175b228a221dfcf2f16a2d86a5f3f50f0b2a1e /OpenSim/Region/ScriptEngine/Common
parent* Tuned the llMove2Target PID controller to be more reasonable and not oversh... (diff)
downloadopensim-SC-9468917b5f6ba6556bd9605e88227ea79e43d94e.zip
opensim-SC-9468917b5f6ba6556bd9605e88227ea79e43d94e.tar.gz
opensim-SC-9468917b5f6ba6556bd9605e88227ea79e43d94e.tar.bz2
opensim-SC-9468917b5f6ba6556bd9605e88227ea79e43d94e.tar.xz
* Implements llTarget, llTargetRemove, at_target(), not_at_target()
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Common')
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs6
-rw-r--r--OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs11
-rw-r--r--OpenSim/Region/ScriptEngine/Common/ScriptServerInterfaces.cs4
3 files changed, 12 insertions, 9 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index 35f8ee0..79b13cf 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -1181,14 +1181,14 @@ namespace OpenSim.Region.ScriptEngine.Common
1181 public int llTarget(LSL_Types.Vector3 position, double range) 1181 public int llTarget(LSL_Types.Vector3 position, double range)
1182 { 1182 {
1183 m_host.AddScriptLPS(1); 1183 m_host.AddScriptLPS(1);
1184 NotImplemented("llTarget"); 1184 return m_host.registerTargetWaypoint(new LLVector3((float)position.x, (float)position.y, (float)position.z), (float)range);
1185 return 0; 1185
1186 } 1186 }
1187 1187
1188 public void llTargetRemove(int number) 1188 public void llTargetRemove(int number)
1189 { 1189 {
1190 m_host.AddScriptLPS(1); 1190 m_host.AddScriptLPS(1);
1191 NotImplemented("llTargetRemove"); 1191 m_host.unregisterTargetWaypoint(number);
1192 } 1192 }
1193 1193
1194 public int llRotTarget(LSL_Types.Quaternion rot, double error) 1194 public int llRotTarget(LSL_Types.Quaternion rot, double error)
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs
index d3e9948..ce9f445 100644
--- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs
+++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventManager.cs
@@ -70,6 +70,9 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
70 myScriptEngine.World.EventManager.OnRezScript += OnRezScript; 70 myScriptEngine.World.EventManager.OnRezScript += OnRezScript;
71 myScriptEngine.World.EventManager.OnRemoveScript += OnRemoveScript; 71 myScriptEngine.World.EventManager.OnRemoveScript += OnRemoveScript;
72 myScriptEngine.World.EventManager.OnScriptChangedEvent += changed; 72 myScriptEngine.World.EventManager.OnScriptChangedEvent += changed;
73 myScriptEngine.World.EventManager.OnScriptAtTargetEvent += at_target;
74 myScriptEngine.World.EventManager.OnScriptNotAtTargetEvent += not_at_target;
75
73 // TODO: HOOK ALL EVENTS UP TO SERVER! 76 // TODO: HOOK ALL EVENTS UP TO SERVER!
74 IMoneyModule money=myScriptEngine.World.RequestModuleInterface<IMoneyModule>(); 77 IMoneyModule money=myScriptEngine.World.RequestModuleInterface<IMoneyModule>();
75 if(money != null) 78 if(money != null)
@@ -222,14 +225,14 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
222 myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "email", EventQueueManager.llDetectNull); 225 myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "email", EventQueueManager.llDetectNull);
223 } 226 }
224 227
225 public void at_target(uint localID, LLUUID itemID) 228 public void at_target(uint localID, uint handle, LLVector3 targetpos, LLVector3 atpos)
226 { 229 {
227 myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "at_target", EventQueueManager.llDetectNull); 230 myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "at_target", EventQueueManager.llDetectNull, new object[] { (int)handle, new LSL_Types.Vector3(targetpos.X,targetpos.Y,targetpos.Z), new LSL_Types.Vector3(atpos.X,atpos.Y,atpos.Z) });
228 } 231 }
229 232
230 public void not_at_target(uint localID, LLUUID itemID) 233 public void not_at_target(uint localID)
231 { 234 {
232 myScriptEngine.m_EventQueueManager.AddToScriptQueue(localID, itemID, "not_at_target", EventQueueManager.llDetectNull); 235 myScriptEngine.m_EventQueueManager.AddToObjectQueue(localID, "not_at_target", EventQueueManager.llDetectNull);
233 } 236 }
234 237
235 public void at_rot_target(uint localID, LLUUID itemID) 238 public void at_rot_target(uint localID, LLUUID itemID)
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptServerInterfaces.cs b/OpenSim/Region/ScriptEngine/Common/ScriptServerInterfaces.cs
index ea17e20..1c85646 100644
--- a/OpenSim/Region/ScriptEngine/Common/ScriptServerInterfaces.cs
+++ b/OpenSim/Region/ScriptEngine/Common/ScriptServerInterfaces.cs
@@ -57,8 +57,8 @@ namespace OpenSim.Region.ScriptEngine.Common
57 void control(uint localID, LLUUID itemID); 57 void control(uint localID, LLUUID itemID);
58 void money(uint LocalID, LLUUID agentID, int amount); 58 void money(uint LocalID, LLUUID agentID, int amount);
59 void email(uint localID, LLUUID itemID); 59 void email(uint localID, LLUUID itemID);
60 void at_target(uint localID, LLUUID itemID); 60 void at_target(uint localID, uint handle, LLVector3 targetpos, LLVector3 atpos);
61 void not_at_target(uint localID, LLUUID itemID); 61 void not_at_target(uint localID);
62 void at_rot_target(uint localID, LLUUID itemID); 62 void at_rot_target(uint localID, LLUUID itemID);
63 void not_at_rot_target(uint localID, LLUUID itemID); 63 void not_at_rot_target(uint localID, LLUUID itemID);
64 void run_time_permissions(uint localID, LLUUID itemID); 64 void run_time_permissions(uint localID, LLUUID itemID);