some changes to llMapDestination

This commit is contained in:
UbitUmarov
2025-08-12 22:26:46 +01:00
parent 42994195b0
commit 7ac111627f
6 changed files with 13 additions and 15 deletions

View File

@@ -1396,7 +1396,7 @@ namespace OpenSim.Framework
void SendRegionHandle(UUID regoinID, ulong handle);
void SendParcelInfo(RegionInfo info, LandData land, UUID parcelID, uint x, uint y);
void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt);
void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt, int options);
void SendDirPlacesReply(UUID queryID, DirPlacesReplyData[] data);
void SendDirPeopleReply(UUID queryID, DirPeopleReplyData[] data);

View File

@@ -3683,7 +3683,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
OutPacket(reply, ThrottleOutPacketType.Land);
}
public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt)
public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt, int options)
{
ScriptTeleportRequestPacket packet = (ScriptTeleportRequestPacket)PacketPool.Instance.GetPacket(PacketType.ScriptTeleportRequest);
@@ -3691,6 +3691,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
packet.Data.SimName = Utils.StringToBytes(simName);
packet.Data.SimPosition = pos;
packet.Data.LookAt = lookAt;
packet.Options = [ new(){Flags = (uint)options } ];
OutPacket(packet, ThrottleOutPacketType.Task);
}

View File

@@ -1534,7 +1534,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
}
public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt)
public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt, int options)
{
}

View File

@@ -1181,7 +1181,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
return string.Empty;
}
public void SendScriptTeleportRequest (string objName, string simName, Vector3 pos, Vector3 lookAt)
public void SendScriptTeleportRequest (string objName, string simName, Vector3 pos, Vector3 lookAt, int options)
{
}

View File

@@ -13955,24 +13955,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public void llMapDestination(string simname, LSL_Vector pos, LSL_Vector lookAt)
{
DetectParams detectedParams = m_ScriptEngine.GetDetectParams(m_item.ItemID, 0);
if (detectedParams == null)
if (detectedParams is null)
{
if (m_host.ParentGroup.IsAttachment == true)
if (m_host.ParentGroup.IsAttachment)
{
detectedParams = new DetectParams
{
Key = m_host.OwnerID
};
}
else
{
return;
detectedParams = new DetectParams { Key = m_host.OwnerID };
}
else
return;
}
ScenePresence avatar = World.GetScenePresence(detectedParams.Key);
avatar?.ControllingClient.SendScriptTeleportRequest(m_host.Name,
simname, pos, lookAt);
simname, pos, lookAt, ScriptBaseClass.BEACON_FOCUS_MAP | ScriptBaseClass.BEACON_SHOW_MAP);
ScriptSleep(m_sleepMsOnMapDestination);
}

View File

@@ -1117,5 +1117,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
public const int SIM_STAT_SCRIPT_RUN_PCT = 25;
public const int SIM_STAT_AI_MS = 26;
public const int BEACON_SHOW_MAP = 0x1;
public const int BEACON_FOCUS_MAP = 0x2;
}
}