diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index afe301bbeb..b9557c1840 100755 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs @@ -1396,7 +1396,8 @@ 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, int options); + //void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt, int options); + void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, int options); //lookat does nothing void SendDirPlacesReply(UUID queryID, DirPlacesReplyData[] data); void SendDirPeopleReply(UUID queryID, DirPeopleReplyData[] data); diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 87a6848b54..45615fb77a 100755 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -3683,15 +3683,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP OutPacket(reply, ThrottleOutPacketType.Land); } - public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt, int options) + public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, int options) { ScriptTeleportRequestPacket packet = (ScriptTeleportRequestPacket)PacketPool.Instance.GetPacket(PacketType.ScriptTeleportRequest); - + packet.Header.Zerocoded = true; packet.Data.ObjectName = Utils.StringToBytes(objName); packet.Data.SimName = Utils.StringToBytes(simName); packet.Data.SimPosition = pos; - packet.Data.LookAt = lookAt; - packet.Options = [ new(){Flags = (uint)options } ]; + packet.Data.LookAt = Vector3.Zero; + packet.Options = options == 3 ? [] : [ new(){Flags = (uint)options } ]; OutPacket(packet, ThrottleOutPacketType.Task); } diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 2c76bca019..23075d8be6 100755 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs @@ -1534,7 +1534,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server } - public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt, int options) + public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, int options) { } diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index f7b4668913..3a7f3dd3c9 100755 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs @@ -1181,7 +1181,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC return string.Empty; } - public void SendScriptTeleportRequest (string objName, string simName, Vector3 pos, Vector3 lookAt, int options) + public void SendScriptTeleportRequest (string objName, string simName, Vector3 pos, int options) { } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 89958f8316..5cfb70d379 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -13966,8 +13966,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } ScenePresence avatar = World.GetScenePresence(detectedParams.Key); + //lookat does nothing avatar?.ControllingClient.SendScriptTeleportRequest(m_host.Name, - simname, pos, lookAt, ScriptBaseClass.BEACON_FOCUS_MAP | ScriptBaseClass.BEACON_SHOW_MAP); + simname, pos, ScriptBaseClass.BEACON_FOCUS_MAP | ScriptBaseClass.BEACON_SHOW_MAP); ScriptSleep(m_sleepMsOnMapDestination); } @@ -14015,7 +14016,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (open_map != 0) { - options =ScriptBaseClass.BEACON_SHOW_MAP; + options = ScriptBaseClass.BEACON_SHOW_MAP; if (focus_map != 0) options |= ScriptBaseClass.BEACON_FOCUS_MAP; } @@ -14031,7 +14032,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ScenePresence avatar = World.GetScenePresence(detectedParams.Key); avatar?.ControllingClient.SendScriptTeleportRequest(m_host.Name, - simname, pos, Vector3.UnitX, options); + simname, pos, options); ScriptSleep(m_sleepMsOnMapDestination); }