diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine/XEngine.cs')
-rwxr-xr-x | OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index e12f850..7822df9 100755 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -1854,15 +1854,23 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1854 | return instance; | 1854 | return instance; |
1855 | } | 1855 | } |
1856 | 1856 | ||
1857 | public void SetScriptState(UUID itemID, bool running) | 1857 | public void SetScriptState(UUID itemID, bool running, bool self) |
1858 | { | 1858 | { |
1859 | IScriptInstance instance = GetInstance(itemID); | 1859 | IScriptInstance instance = GetInstance(itemID); |
1860 | if (instance != null) | 1860 | if (instance != null) |
1861 | { | 1861 | { |
1862 | if (running) | 1862 | if (running) |
1863 | instance.Start(); | 1863 | instance.Start(); |
1864 | else | 1864 | else |
1865 | instance.Stop(100); | 1865 | { |
1866 | if(self) | ||
1867 | { | ||
1868 | instance.Running = false; | ||
1869 | throw new EventAbortException(); | ||
1870 | } | ||
1871 | else | ||
1872 | instance.Stop(100); | ||
1873 | } | ||
1866 | } | 1874 | } |
1867 | } | 1875 | } |
1868 | 1876 | ||