From bd16dddce5a23e67d9ead896f770a50168e46ef4 Mon Sep 17 00:00:00 2001 From: mingchen Date: Wed, 19 Dec 2007 04:28:54 +0000 Subject: *Added Ban Lines around parcels for banned avatars, but there is no actual blocking done yet. *Made the OnSignificantClientMovement distance from .02 to .45 to make it easier on the server. --- .../Region/Environment/LandManagement/LandManager.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'OpenSim/Region/Environment/LandManagement/LandManager.cs') diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index f3ab502..59bf7f8 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs @@ -590,6 +590,22 @@ namespace OpenSim.Region.Environment.LandManagement addLandObject(fullSimParcel); } + public void sendOutBannedNotices(IClientAPI avatar) + { + ParcelManager.ParcelAccessEntry entry = new ParcelManager.ParcelAccessEntry(); + entry.AgentID = avatar.AgentId; + entry.Flags = ParcelManager.AccessList.Ban; + entry.Time = new DateTime(); + + foreach (Land checkBan in landList.Values) + { + if (checkBan.isBannedFromLand(entry, avatar)) + { + checkBan.sendLandProperties(-30000, false, (int)ParcelManager.ParcelResult.Single, avatar); + } + } + } + public void sendLandUpdate(ScenePresence avatar) { Land over = getLandObject((int)Math.Min(255, Math.Max(0, Math.Round(avatar.AbsolutePosition.X))), @@ -599,6 +615,7 @@ namespace OpenSim.Region.Environment.LandManagement { over.sendLandUpdateToClient(avatar.ControllingClient); } + } public void handleSignificantClientMovement(IClientAPI remote_client) @@ -608,6 +625,7 @@ namespace OpenSim.Region.Environment.LandManagement if (clientAvatar != null) { sendLandUpdate(clientAvatar); + sendOutBannedNotices(remote_client); } } -- cgit v1.1