diff options
author | UbitUmarov | 2019-10-16 00:08:45 +0100 |
---|---|---|
committer | UbitUmarov | 2019-10-16 00:08:45 +0100 |
commit | d79d7e228a059e40a9334c9e2ec4c81075443f83 (patch) | |
tree | 14e2d3ef3e7515f1e285cdd3ef66925ccd6039b0 /OpenSim/Region/ScriptEngine/Shared/Instance | |
parent | change coments on osslEnable.ini and remove list of functions always suported; (diff) | |
download | opensim-SC-d79d7e228a059e40a9334c9e2ec4c81075443f83.zip opensim-SC-d79d7e228a059e40a9334c9e2ec4c81075443f83.tar.gz opensim-SC-d79d7e228a059e40a9334c9e2ec4c81075443f83.tar.bz2 opensim-SC-d79d7e228a059e40a9334c9e2ec4c81075443f83.tar.xz |
add OSSL option PermissionErrortoOwner (true or false). if true ossl functions permission errors will only be sent to prim owner, defaul false: send all around
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Instance')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index ec2a24e..668bb1f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | |||
@@ -928,17 +928,30 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance | |||
928 | { | 928 | { |
929 | try | 929 | try |
930 | { | 930 | { |
931 | |||
932 | if(e.InnerException != null && e.InnerException is ScriptException) | 931 | if(e.InnerException != null && e.InnerException is ScriptException) |
933 | { | 932 | { |
934 | string text = e.InnerException.Message + | 933 | bool toowner = false; |
935 | "(script: " + ScriptName + | 934 | string text = e.InnerException.Message; |
935 | if(text.StartsWith("(OWNER)")) | ||
936 | { | ||
937 | text = text.Substring(7); | ||
938 | toowner = true; | ||
939 | } | ||
940 | text += "(script: " + ScriptName + | ||
936 | " event: " + data.EventName + | 941 | " event: " + data.EventName + |
937 | " primID:" + Part.UUID.ToString() + | 942 | " primID:" + Part.UUID.ToString() + |
938 | " at " + Part.AbsolutePosition + ")"; | 943 | " at " + Part.AbsolutePosition + ")"; |
939 | if (text.Length > 1000) | 944 | if (text.Length > 1000) |
940 | text = text.Substring(0, 1000); | 945 | text = text.Substring(0, 1000); |
941 | Engine.World.SimChat(Utils.StringToBytes(text), | 946 | if (toowner) |
947 | { | ||
948 | ScenePresence sp = Engine.World.GetScenePresence(Part.OwnerID); | ||
949 | if (sp != null && !sp.IsNPC) | ||
950 | Engine.World.SimChatToAgent(Part.OwnerID, Utils.StringToBytes(text), 0x7FFFFFFF, Part.AbsolutePosition, | ||
951 | Part.Name, Part.UUID, false); | ||
952 | } | ||
953 | else | ||
954 | Engine.World.SimChat(Utils.StringToBytes(text), | ||
942 | ChatTypeEnum.DebugChannel, 2147483647, | 955 | ChatTypeEnum.DebugChannel, 2147483647, |
943 | Part.AbsolutePosition, | 956 | Part.AbsolutePosition, |
944 | Part.Name, Part.UUID, false); | 957 | Part.Name, Part.UUID, false); |