From d42483af3dd050faed262ee777950e456cd9806c Mon Sep 17 00:00:00 2001 From: MW Date: Thu, 21 Jun 2007 14:34:45 +0000 Subject: [PATCH] Very Preliminary teleporting between regions added. --- OpenSim/OpenSim.Region/Scenes/Scene.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/OpenSim/OpenSim.Region/Scenes/Scene.cs b/OpenSim/OpenSim.Region/Scenes/Scene.cs index 63a6e37a9f..91f07c3588 100644 --- a/OpenSim/OpenSim.Region/Scenes/Scene.cs +++ b/OpenSim/OpenSim.Region/Scenes/Scene.cs @@ -807,7 +807,20 @@ namespace OpenSim.Region.Scenes } else { - remoteClient.SendTeleportCancel(); + RegionInfo reg = this.RequestNeighbouringRegionInfo(regionHandle); + if (reg != null) + { + remoteClient.SendTeleportLocationStart(); + AgentCircuitData agent = remoteClient.RequestClientInfo(); + agent.BaseFolder = LLUUID.Zero; + agent.InventoryFolder = LLUUID.Zero; + agent.startpos = new LLVector3(128, 128, 70); + agent.child = true; + this.commsManager.InterRegion.InformNeighbourOfChildAgent(regionHandle, agent); + this.commsManager.InterRegion.ExpectAvatarCrossing(regionHandle, remoteClient.AgentId, position); + remoteClient.SendRegionTeleport(regionHandle, 13, reg.IPListenAddr, (ushort)reg.IPListenPort, 4, (1 << 4)); + } + //remoteClient.SendTeleportCancel(); } }