aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs44
1 files changed, 44 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs b/OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs
index d950af9..aef0f81 100644
--- a/OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs
+++ b/OpenSim/Region/Environment/Modules/BetaGridLikeMoneyModule.cs
@@ -144,6 +144,7 @@ namespace OpenSim.Region.Environment.Modules
144 // Centralized grid structure using OpenSimWi Redux revision 9+ 144 // Centralized grid structure using OpenSimWi Redux revision 9+
145 // https://opensimwiredux.svn.sourceforge.net/svnroot/opensimwiredux 145 // https://opensimwiredux.svn.sourceforge.net/svnroot/opensimwiredux
146 scene.AddXmlRPCHandler("dynamic_balance_update_request", GridMoneyUpdate); 146 scene.AddXmlRPCHandler("dynamic_balance_update_request", GridMoneyUpdate);
147 scene.AddXmlRPCHandler("user_alert", UserAlert);
147 } 148 }
148 else 149 else
149 { 150 {
@@ -1164,6 +1165,49 @@ namespace OpenSim.Region.Environment.Modules
1164 r.Value = rparms; 1165 r.Value = rparms;
1165 return r; 1166 return r;
1166 } 1167 }
1168 /// <summary>
1169 /// XMLRPC handler to send alert message and sound to client
1170 /// </summary>
1171 public XmlRpcResponse UserAlert(XmlRpcRequest request)
1172 {
1173 XmlRpcResponse ret = new XmlRpcResponse();
1174 Hashtable retparam = new Hashtable();
1175 Hashtable requestData = (Hashtable)request.Params[0];
1176
1177 LLUUID agentId = LLUUID.Zero;
1178 LLUUID soundId = LLUUID.Zero;
1179
1180 Helpers.TryParse((string)requestData["agentId"], out agentId);
1181 Helpers.TryParse((string)requestData["soundId"], out soundId);
1182 string text=(string)requestData["text"];
1183 string secret=(string)requestData["secret"];
1184
1185 Scene userScene = GetRandomScene();
1186 if(userScene.RegionInfo.regionSecret.ToString() == secret)
1187 {
1188 IClientAPI client = LocateClientObject(agentId);
1189
1190 if (client != null)
1191 {
1192 if(soundId != LLUUID.Zero)
1193 client.SendPlayAttachedSound(soundId, LLUUID.Zero, LLUUID.Zero, 1.0f, 0);
1194 client.SendBlueBoxMessage(LLUUID.Zero, LLUUID.Zero, "", text);
1195 retparam.Add("success", true);
1196 }
1197 else
1198 {
1199 retparam.Add("success", false);
1200 }
1201 }
1202 else
1203 {
1204 retparam.Add("success", false);
1205 }
1206 ret.Value = retparam;
1207
1208 return ret;
1209 }
1210
1167 1211
1168# region Standalone box enablers only 1212# region Standalone box enablers only
1169 1213