diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1UserServices.cs | 26 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 3 |
3 files changed, 31 insertions, 1 deletions
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index 7cd77db..2ca9022 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -375,6 +375,9 @@ namespace OpenSim.Region.Communications.OGS1 | |||
375 | return neighbours; | 375 | return neighbours; |
376 | } | 376 | } |
377 | 377 | ||
378 | |||
379 | |||
380 | |||
378 | /// <summary> | 381 | /// <summary> |
379 | /// Performs a XML-RPC query against the grid server returning mapblock information in the specified coordinates | 382 | /// Performs a XML-RPC query against the grid server returning mapblock information in the specified coordinates |
380 | /// </summary> | 383 | /// </summary> |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs index 36ab4bb..2cf3665 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs | |||
@@ -130,7 +130,31 @@ namespace OpenSim.Region.Communications.OGS1 | |||
130 | 130 | ||
131 | return buddylist; | 131 | return buddylist; |
132 | } | 132 | } |
133 | 133 | ||
134 | /// <summary> | ||
135 | /// Logs off a user on the user server | ||
136 | /// </summary> | ||
137 | /// <param name="UserID">UUID of the user</param> | ||
138 | /// <param name="regionData">UUID of the Region</param> | ||
139 | /// <param name="posx">final position x</param> | ||
140 | /// <param name="posy">final position y</param> | ||
141 | /// <param name="posz">final position z</param> | ||
142 | public void LogOffUser(LLUUID userid, LLUUID regionid, ulong regionhandle, float posx, float posy, float posz) | ||
143 | { | ||
144 | Hashtable param = new Hashtable(); | ||
145 | param["avatar_uuid"] = userid.UUID.ToString(); | ||
146 | param["region_uuid"] = regionid.UUID.ToString(); | ||
147 | param["region_handle"] = regionhandle.ToString(); | ||
148 | param["region_pos_x"] = posx.ToString(); | ||
149 | param["region_pos_y"] = posy.ToString(); | ||
150 | param["region_pos_z"] = posz.ToString(); | ||
151 | |||
152 | IList parameters = new ArrayList(); | ||
153 | parameters.Add(param); | ||
154 | XmlRpcRequest req = new XmlRpcRequest("logout_of_simulator", parameters); | ||
155 | XmlRpcResponse resp = req.Send(m_parent.NetworkServersInfo.UserURL, 3000); | ||
156 | |||
157 | } | ||
134 | public UserProfileData GetUserProfile(string firstName, string lastName) | 158 | public UserProfileData GetUserProfile(string firstName, string lastName) |
135 | { | 159 | { |
136 | return GetUserProfile(firstName + " " + lastName); | 160 | return GetUserProfile(firstName + " " + lastName); |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 76f6c60..2f961c1 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -1285,6 +1285,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
1285 | else | 1285 | else |
1286 | { | 1286 | { |
1287 | m_innerScene.removeUserCount(true); | 1287 | m_innerScene.removeUserCount(true); |
1288 | CommsManager.LogOffUser(agentID, RegionInfo.RegionID, RegionInfo.RegionHandle, | ||
1289 | avatar.AbsolutePosition.X, avatar.AbsolutePosition.Y, | ||
1290 | avatar.AbsolutePosition.Z); | ||
1288 | } | 1291 | } |
1289 | } | 1292 | } |
1290 | catch (NullReferenceException) | 1293 | catch (NullReferenceException) |