diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index b74490cd0e..d2eecea012 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -640,10 +640,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api dm.SendGeneralAlert(msg + "\n"); } - public void osRegionNotice(string agentID, string msg) + public void osRegionNotice(LSL_Key agentID, string msg) { CheckThreatLevel(ThreatLevel.High, "osRegionNotice"); + if (!World.Permissions.CanIssueEstateCommand(m_host.OwnerID, false)) + return; + + IDialogModule dm = World.RequestModuleInterface(); + if (dm == null) + return; + if (!UUID.TryParse(agentID, out UUID avatarID)) return; @@ -653,13 +660,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (sp.IsChildAgent || sp.IsDeleted || sp.IsInTransit || sp.IsNPC) return; - IDialogModule dm = World.RequestModuleInterface(); - if (dm == null) - return; - - if (!World.Permissions.CanIssueEstateCommand(m_host.OwnerID, false)) - return; - dm.SendAlertToUser(sp.ControllingClient, msg + "\n", false); } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index 10478e8f79..9f35d7aee6 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -138,7 +138,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces int osRegionRestart(double seconds); int osRegionRestart(double seconds, string msg); void osRegionNotice(string msg); - void osRegionNotice(string agentID, string msg); + void osRegionNotice(LSL_Key agentID, string msg); bool osConsoleCommand(string Command); void osSetParcelMediaURL(string url); void osSetPrimFloatOnWater(int floatYN); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 5f7841e8bc..5c6d2331ca 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -225,7 +225,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase m_OSSL_Functions.osRegionNotice(msg); } - public void osRegionNotice(string agentID, string msg) + public void osRegionNotice(LSL_Key agentID, string msg) { m_OSSL_Functions.osRegionNotice(agentID, msg); } diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini index 71b39b0275..4726502fdc 100644 --- a/bin/config-include/osslEnable.ini +++ b/bin/config-include/osslEnable.ini @@ -182,6 +182,7 @@ Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER + Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetContentType = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osSetPrimitiveParams = false Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER @@ -206,7 +207,6 @@ Allow_osGetNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER - Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER Allow_osSetRot = false Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER