mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 14:16:07 +08:00
Mantis#1659. Thank you, Melanie for a patch that:
In LSL, the state command should have an immediate effect. The OpenSim script engine seems to wait until the function ends to process the state transition.
This commit is contained in:
@@ -99,6 +99,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
public void state(string newState)
|
||||
{
|
||||
m_ScriptEngine.SetState(m_itemID, newState);
|
||||
throw new EventAbortException();
|
||||
}
|
||||
|
||||
public void llSay(int channelID, string text)
|
||||
@@ -2791,6 +2792,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
m_ScriptEngine.ApiResetScript(m_itemID);
|
||||
throw new EventAbortException();
|
||||
}
|
||||
|
||||
public void llMessageLinked(int linknum, int num, string msg, string id)
|
||||
|
||||
@@ -30,6 +30,7 @@ using System.IO;
|
||||
using System.Threading;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
using libsecondlife;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Environment;
|
||||
@@ -37,6 +38,20 @@ using OpenSim.Region.Environment.Scenes;
|
||||
|
||||
namespace OpenSim.Region.ScriptEngine.Shared
|
||||
{
|
||||
[Serializable]
|
||||
public class EventAbortException : Exception
|
||||
{
|
||||
public EventAbortException()
|
||||
{
|
||||
}
|
||||
|
||||
protected EventAbortException(
|
||||
SerializationInfo info,
|
||||
StreamingContext context)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class DetectParams
|
||||
{
|
||||
public DetectParams()
|
||||
|
||||
Reference in New Issue
Block a user