aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/XEngine
diff options
context:
space:
mode:
authorMelanie Thielker2008-09-22 02:11:40 +0000
committerMelanie Thielker2008-09-22 02:11:40 +0000
commit79ac01fb0c33fc318b6a2d5a56fbfaeca7ad1043 (patch)
treed7d7ccdd382195b9acd614bfd2a357c4fb4cced0 /OpenSim/Region/ScriptEngine/XEngine
parentAllows to use the new script engine feature. Begin your script with (diff)
downloadopensim-SC_OLD-79ac01fb0c33fc318b6a2d5a56fbfaeca7ad1043.zip
opensim-SC_OLD-79ac01fb0c33fc318b6a2d5a56fbfaeca7ad1043.tar.gz
opensim-SC_OLD-79ac01fb0c33fc318b6a2d5a56fbfaeca7ad1043.tar.bz2
opensim-SC_OLD-79ac01fb0c33fc318b6a2d5a56fbfaeca7ad1043.tar.xz
Prevent scripts from running under multiple engines at once
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs12
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index 161fd8c..934a1b9 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -341,12 +341,16 @@ namespace OpenSim.Region.ScriptEngine.XEngine
341 341
342 public void OnRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine) 342 public void OnRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine)
343 { 343 {
344 if (script.Length > 10) 344 int lineEnd = script.IndexOf('\n');
345
346 if (lineEnd != 1)
345 { 347 {
346 if (script.Substring(0, 10) == "//XEngine:") 348 string firstline = script.Substring(0, lineEnd).Trim();
349
350 int colon = firstline.IndexOf(':');
351 if (firstline.Length > 2 && firstline.Substring(0, 2) == "//" && colon != -1)
347 { 352 {
348 script = "//" + script.Substring(10); 353 engine = firstline.Substring(2, colon-2);
349 engine = "XEngine";
350 } 354 }
351 } 355 }
352 356