aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs b/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs
index d647e71..6917b14 100644
--- a/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs
+++ b/OpenSim/Region/CoreModules/Scripting/WorldComm/WorldCommModule.cs
@@ -282,6 +282,27 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
282 } 282 }
283 } 283 }
284 284
285 // wComm.DeliverMessageTo(target, channelID, m_host.Name, m_host.UUID, text);
286 public void DeliverMessageTo(UUID target, int channel, string name, UUID id, string msg)
287 {
288 foreach (ListenerInfo li in m_listenerManager.GetListeners(UUID.Zero, channel, name, id, msg))
289 {
290 // Dont process if this message is from yourself!
291 if (li.GetHostID().Equals(id))
292 continue;
293
294 SceneObjectPart sPart = m_scene.GetSceneObjectPart(li.GetHostID());
295 if (sPart == null)
296 continue;
297
298 if ( li.GetHostID().Equals(target))
299 {
300 QueueMessage(new ListenerInfo(li, name, id, msg));
301 return;
302 }
303 }
304 }
305
285 protected void QueueMessage(ListenerInfo li) 306 protected void QueueMessage(ListenerInfo li)
286 { 307 {
287 lock (m_pending.SyncRoot) 308 lock (m_pending.SyncRoot)