aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Instance
diff options
context:
space:
mode:
authorUbitUmarov2019-10-16 00:08:45 +0100
committerUbitUmarov2019-10-16 00:08:45 +0100
commitd79d7e228a059e40a9334c9e2ec4c81075443f83 (patch)
tree14e2d3ef3e7515f1e285cdd3ef66925ccd6039b0 /OpenSim/Region/ScriptEngine/Shared/Instance
parentchange coments on osslEnable.ini and remove list of functions always suported; (diff)
downloadopensim-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.cs21
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);