same on XEngine, those need to be together so crossing and tp cases can be easy detected

This commit is contained in:
UbitUmarov
2021-10-14 16:01:38 +01:00
parent a3479e8c99
commit 7dc9f14aef

View File

@@ -418,27 +418,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
PostEvent(new EventParams("on_rez",
new Object[] {new LSL_Types.LSLInteger(StartParam)}, new DetectParams[0]));
}
if (m_stateSource == StateSource.AttachedRez)
{
PostEvent(new EventParams("attach",
new object[] { new LSL_Types.LSLString(m_AttachedAvatar.ToString()) }, new DetectParams[0]));
}
else if (m_stateSource == StateSource.RegionStart)
switch(m_stateSource)
{
case StateSource.AttachedRez:
PostEvent(new EventParams("attach",
new object[] { new LSL_Types.LSLString(m_AttachedAvatar.ToString()) }, new DetectParams[0]));
break;
case StateSource.RegionStart:
//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]));
}
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]));
// CHANGED_TELEPORT
if (m_stateSource == StateSource.Teleporting)
PostEvent(new EventParams("changed",
new Object[] { new LSL_Types.LSLInteger((int)Changed.TELEPORT) }, new DetectParams[0]));
new Object[] {new LSL_Types.LSLInteger((int)Changed.REGION_RESTART)}, new DetectParams[0]));
break;
case StateSource.PrimCrossing:
PostEvent(new EventParams("changed",
new Object[] {new LSL_Types.LSLInteger((int)Changed.REGION)}, new DetectParams[0]));
break;
case StateSource.Teleporting:
PostEvent(new EventParams("changed",
new Object[] {new LSL_Types.LSLInteger((int)Changed.REGION | (int)Changed.TELEPORT) }, new DetectParams[0]));
break;
}
}
else