LSLKeyTest
UbitUmarov 2015-12-15 18:32:02 +00:00
parent 9327bb2546
commit b7155f5651
3 changed files with 10 additions and 12 deletions

View File

@ -37,9 +37,10 @@ namespace OpenSim.Region.CoreModules.World.Land
{ {
#region Constants #region Constants
public const float BAN_LINE_SAFETY_HEIGHT = 100;
//Land types set with flags in ParcelOverlay. //Land types set with flags in ParcelOverlay.
//Only one of these can be used. //Only one of these can be used.
public const float BAN_LINE_SAFETY_HIEGHT = 100;
//RequestResults (I think these are right, they seem to work): //RequestResults (I think these are right, they seem to work):
public const int LAND_RESULT_MULTIPLE = 1; // The request they made contained more than a single peice of land public const int LAND_RESULT_MULTIPLE = 1; // The request they made contained more than a single peice of land

View File

@ -355,13 +355,10 @@ namespace OpenSim.Region.CoreModules.World.Land
if (!position.HasValue) if (!position.HasValue)
return; return;
// land should have no word on avatar physics avatar.AbsolutePosition = position.Value;
// bool isFlying = avatar.PhysicsActor.Flying; avatar.lastKnownAllowedPosition = position.Value;
// avatar.RemoveFromPhysicalScene(); avatar.Velocity = Vector3.Zero;
avatar.AbsolutePosition = (Vector3)position;
// avatar.AddToPhysicalScene(isFlying);
} }
public void SendYouAreRestrictedNotice(ScenePresence avatar) public void SendYouAreRestrictedNotice(ScenePresence avatar)
@ -462,7 +459,7 @@ namespace OpenSim.Region.CoreModules.World.Land
ILandObject parcel = GetLandObject(clientAvatar.AbsolutePosition.X, clientAvatar.AbsolutePosition.Y); ILandObject parcel = GetLandObject(clientAvatar.AbsolutePosition.X, clientAvatar.AbsolutePosition.Y);
if (parcel != null) if (parcel != null)
{ {
if (clientAvatar.AbsolutePosition.Z < LandChannel.BAN_LINE_SAFETY_HIEGHT && if (clientAvatar.AbsolutePosition.Z < LandChannel.BAN_LINE_SAFETY_HEIGHT &&
clientAvatar.sentMessageAboutRestrictedParcelFlyingDown) clientAvatar.sentMessageAboutRestrictedParcelFlyingDown)
{ {
EventManagerOnAvatarEnteringNewParcel(clientAvatar, parcel.LandData.LocalID, EventManagerOnAvatarEnteringNewParcel(clientAvatar, parcel.LandData.LocalID,
@ -473,7 +470,7 @@ namespace OpenSim.Region.CoreModules.World.Land
clientAvatar.sentMessageAboutRestrictedParcelFlyingDown = false; clientAvatar.sentMessageAboutRestrictedParcelFlyingDown = false;
} }
} }
else if (clientAvatar.AbsolutePosition.Z < LandChannel.BAN_LINE_SAFETY_HIEGHT && else if (clientAvatar.AbsolutePosition.Z < LandChannel.BAN_LINE_SAFETY_HEIGHT &&
parcel.IsBannedFromLand(clientAvatar.UUID)) parcel.IsBannedFromLand(clientAvatar.UUID))
{ {
//once we've sent the message once, keep going toward the target until we are done //once we've sent the message once, keep going toward the target until we are done
@ -511,7 +508,7 @@ namespace OpenSim.Region.CoreModules.World.Land
ILandObject over = GetLandObject(pos.X, pos.Y); ILandObject over = GetLandObject(pos.X, pos.Y);
if (over != null) if (over != null)
{ {
if (!over.IsRestrictedFromLand(avatar.UUID) && (!over.IsBannedFromLand(avatar.UUID) || pos.Z >= LandChannel.BAN_LINE_SAFETY_HIEGHT)) if (!over.IsRestrictedFromLand(avatar.UUID) && (!over.IsBannedFromLand(avatar.UUID) || pos.Z >= LandChannel.BAN_LINE_SAFETY_HEIGHT))
avatar.lastKnownAllowedPosition = pos; avatar.lastKnownAllowedPosition = pos;
} }
} }
@ -2251,7 +2248,7 @@ namespace OpenSim.Region.CoreModules.World.Land
public void EnforceBans(ILandObject land, ScenePresence avatar) public void EnforceBans(ILandObject land, ScenePresence avatar)
{ {
if (avatar.AbsolutePosition.Z > LandChannel.BAN_LINE_SAFETY_HIEGHT) if (avatar.AbsolutePosition.Z > LandChannel.BAN_LINE_SAFETY_HEIGHT)
return; return;
if (land.IsEitherBannedOrRestricted(avatar.UUID)) if (land.IsEitherBannedOrRestricted(avatar.UUID))

View File

@ -610,7 +610,7 @@ namespace OpenSim.Region.CoreModules.World.Land
public bool CanBeOnThisLand(UUID avatar, float posHeight) public bool CanBeOnThisLand(UUID avatar, float posHeight)
{ {
if (posHeight < LandChannel.BAN_LINE_SAFETY_HIEGHT && IsBannedFromLand(avatar)) if (posHeight < LandChannel.BAN_LINE_SAFETY_HEIGHT && IsBannedFromLand(avatar))
{ {
return false; return false;
} }