Trigger changed event with CHANGED_TELEPORT when teleporting to another region.

This commit is contained in:
Marck
2010-11-26 22:46:48 +01:00
parent 0bc5ffbe96
commit 2827deffe8
3 changed files with 18 additions and 17 deletions

View File

@@ -390,19 +390,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
}
else if (m_stateSource == StateSource.RegionStart)
{
// m_log.Debug("[Script] Posted changed(CHANGED_REGION_RESTART) to script");
//m_log.Debug("[Script] Posted changed(CHANGED_REGION_RESTART) to script");
PostEvent(new EventParams("changed",
new Object[] { new LSL_Types.LSLInteger((int)Changed.REGION_RESTART) },
new DetectParams[0]));
new Object[] { new LSL_Types.LSLInteger((int)Changed.REGION_RESTART) }, new DetectParams[0]));
}
else if (m_stateSource == StateSource.PrimCrossing)
else if (m_stateSource == StateSource.PrimCrossing || m_stateSource == StateSource.Teleporting)
{
// CHANGED_REGION
PostEvent(new EventParams("changed",
new Object[] { new LSL_Types.LSLInteger((int)Changed.REGION) },
new DetectParams[0]));
new Object[] { new LSL_Types.LSLInteger((int)Changed.REGION) }, new DetectParams[0]));
// CHANGED_TELEPORT
if (m_stateSource == StateSource.Teleporting)
PostEvent(new EventParams("changed",
new Object[] { new LSL_Types.LSLInteger((int)Changed.TELEPORT) }, new DetectParams[0]));
}
}
}
else
{
Start();