aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Addons
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-08-12 21:02:50 +0100
committerJustin Clark-Casey (justincc)2013-08-12 21:02:50 +0100
commit377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac (patch)
tree9192b0555d15eda7ffdd4fc4b730d1b3e0be545a /OpenSim/Addons
parentminor: Extend warning message when adding trying to add an event for a client... (diff)
downloadopensim-SC-377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac.zip
opensim-SC-377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac.tar.gz
opensim-SC-377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac.tar.bz2
opensim-SC-377fe63c60b6632777da5f0a8a0c4c2d32a1f4ac.tar.xz
Don't try and send group updates to NPCs via event queue, since NPCs have no event queue.
I think there is an argument for sending this information to NPCs anyway since in some cases it appears a lot easier to write server-side bots by hooking into such internal events. However, would need to stop event messages building up on NPC queues if they are never retrieved.
Diffstat (limited to 'OpenSim/Addons')
-rw-r--r--OpenSim/Addons/Groups/GroupsModule.cs10
1 files changed, 7 insertions, 3 deletions
diff --git a/OpenSim/Addons/Groups/GroupsModule.cs b/OpenSim/Addons/Groups/GroupsModule.cs
index 830c671..b0493fa 100644
--- a/OpenSim/Addons/Groups/GroupsModule.cs
+++ b/OpenSim/Addons/Groups/GroupsModule.cs
@@ -1223,12 +1223,16 @@ namespace OpenSim.Groups
1223 { 1223 {
1224 if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); 1224 if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name);
1225 1225
1226 // NPCs currently don't have a CAPs structure or event queues. There is a strong argument for conveying this information
1227 // to them anyway since it makes writing server-side bots a lot easier, but for now we don't do anything.
1228 if (remoteClient.SceneAgent.PresenceType == PresenceType.Npc)
1229 return;
1230
1226 OSDArray AgentData = new OSDArray(1); 1231 OSDArray AgentData = new OSDArray(1);
1227 OSDMap AgentDataMap = new OSDMap(1); 1232 OSDMap AgentDataMap = new OSDMap(1);
1228 AgentDataMap.Add("AgentID", OSD.FromUUID(dataForAgentID)); 1233 AgentDataMap.Add("AgentID", OSD.FromUUID(dataForAgentID));
1229 AgentData.Add(AgentDataMap); 1234 AgentData.Add(AgentDataMap);
1230 1235
1231
1232 OSDArray GroupData = new OSDArray(data.Length); 1236 OSDArray GroupData = new OSDArray(data.Length);
1233 OSDArray NewGroupData = new OSDArray(data.Length); 1237 OSDArray NewGroupData = new OSDArray(data.Length);
1234 1238
@@ -1274,8 +1278,7 @@ namespace OpenSim.Groups
1274 if (queue != null) 1278 if (queue != null)
1275 { 1279 {
1276 queue.Enqueue(queue.BuildEvent("AgentGroupDataUpdate", llDataStruct), GetRequestingAgentID(remoteClient)); 1280 queue.Enqueue(queue.BuildEvent("AgentGroupDataUpdate", llDataStruct), GetRequestingAgentID(remoteClient));
1277 } 1281 }
1278
1279 } 1282 }
1280 1283
1281 private void SendScenePresenceUpdate(UUID AgentID, string Title) 1284 private void SendScenePresenceUpdate(UUID AgentID, string Title)
@@ -1337,6 +1340,7 @@ namespace OpenSim.Groups
1337 1340
1338 GroupMembershipData[] membershipArray = GetProfileListedGroupMemberships(remoteClient, dataForAgentID); 1341 GroupMembershipData[] membershipArray = GetProfileListedGroupMemberships(remoteClient, dataForAgentID);
1339 SendGroupMembershipInfoViaCaps(remoteClient, dataForAgentID, membershipArray); 1342 SendGroupMembershipInfoViaCaps(remoteClient, dataForAgentID, membershipArray);
1343
1340 //remoteClient.SendAvatarGroupsReply(dataForAgentID, membershipArray); 1344 //remoteClient.SendAvatarGroupsReply(dataForAgentID, membershipArray);
1341 if (remoteClient.AgentId == dataForAgentID) 1345 if (remoteClient.AgentId == dataForAgentID)
1342 remoteClient.RefreshGroupMembership(); 1346 remoteClient.RefreshGroupMembership();