diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim.RegionServer/world/AvatarUpdate.cs | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/OpenSim.RegionServer/world/AvatarUpdate.cs b/OpenSim.RegionServer/world/AvatarUpdate.cs index c2f2456..6c0ace7 100644 --- a/OpenSim.RegionServer/world/AvatarUpdate.cs +++ b/OpenSim.RegionServer/world/AvatarUpdate.cs | |||
@@ -59,24 +59,31 @@ namespace OpenSim.world | |||
59 | } | 59 | } |
60 | 60 | ||
61 | } | 61 | } |
62 | this.positionLastFrame = pos2; | 62 | this.positionLastFrame = pos2; |
63 | 63 | ||
64 | if(this._physActor.Position.X < 0) { | 64 | if (!this.ControllingClient.m_sandboxMode) |
65 | ControllingClient.CrossSimBorder(new LLVector3(this._physActor.Position.X,this._physActor.Position.Y,this._physActor.Position.Z)); | 65 | { |
66 | } | 66 | if (pos2.X < 0) |
67 | 67 | { | |
68 | if(this._physActor.Position.Y < 0) { | 68 | ControllingClient.CrossSimBorder(new LLVector3(this._physActor.Position.X, this._physActor.Position.Y, this._physActor.Position.Z)); |
69 | ControllingClient.CrossSimBorder(new LLVector3(this._physActor.Position.X,this._physActor.Position.Y,this._physActor.Position.Z)); | 69 | } |
70 | } | 70 | |
71 | 71 | if (pos2.Y < 0) | |
72 | if(this._physActor.Position.X > 255) { | 72 | { |
73 | ControllingClient.CrossSimBorder(new LLVector3(this._physActor.Position.X,this._physActor.Position.Y,this._physActor.Position.Z)); | 73 | ControllingClient.CrossSimBorder(new LLVector3(this._physActor.Position.X, this._physActor.Position.Y, this._physActor.Position.Z)); |
74 | } | 74 | } |
75 | 75 | ||
76 | if(this._physActor.Position.Y > 255) { | 76 | if (pos2.X > 255) |
77 | ControllingClient.CrossSimBorder(new LLVector3(this._physActor.Position.X,this._physActor.Position.Y,this._physActor.Position.Z)); | 77 | { |
78 | } | 78 | ControllingClient.CrossSimBorder(new LLVector3(this._physActor.Position.X, this._physActor.Position.Y, this._physActor.Position.Z)); |
79 | 79 | } | |
80 | |||
81 | if (pos2.Y > 255) | ||
82 | { | ||
83 | ControllingClient.CrossSimBorder(new LLVector3(this._physActor.Position.X, this._physActor.Position.Y, this._physActor.Position.Z)); | ||
84 | } | ||
85 | } | ||
86 | |||
80 | } | 87 | } |
81 | 88 | ||
82 | public ObjectUpdatePacket CreateUpdatePacket() | 89 | public ObjectUpdatePacket CreateUpdatePacket() |
@@ -106,8 +113,8 @@ namespace OpenSim.world | |||
106 | { | 113 | { |
107 | System.Text.Encoding _enc = System.Text.Encoding.ASCII; | 114 | System.Text.Encoding _enc = System.Text.Encoding.ASCII; |
108 | //send a objectupdate packet with information about the clients avatar | 115 | //send a objectupdate packet with information about the clients avatar |
109 | 116 | ||
110 | ObjectUpdatePacket objupdate = new ObjectUpdatePacket(); | 117 | ObjectUpdatePacket objupdate = new ObjectUpdatePacket(); |
111 | objupdate.RegionData.RegionHandle = m_regionHandle; | 118 | objupdate.RegionData.RegionHandle = m_regionHandle; |
112 | objupdate.RegionData.TimeDilation = 64096; | 119 | objupdate.RegionData.TimeDilation = 64096; |
113 | objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1]; | 120 | objupdate.ObjectData = new libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock[1]; |