public DateTime llEjectFromLand(string pest)
{
if (!ScriptProtection.CheckThreatLevel(ThreatLevel.None, "LSL", m_host, "LSL", m_itemID)) return DateTime.Now;
UUID agentId = new UUID();
if (UUID.TryParse(pest, out agentId))
{
IScenePresence presence = World.GetScenePresence(agentId);
if (presence != null)
{
// agent must be over the owners land
IParcelManagementModule parcelManagement = World.RequestModuleInterface<IParcelManagementModule>();
if (parcelManagement != null)
{
if (m_host.OwnerID != parcelManagement.GetLandObject(
presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID &&
!World.Permissions.CanIssueEstateCommand(m_host.OwnerID, false))
{
return PScriptSleep(5000);
}
}
IEntityTransferModule transferModule = World.RequestModuleInterface<IEntityTransferModule>();
if (transferModule != null)
transferModule.TeleportHome(agentId, presence.ControllingClient);
else
presence.ControllingClient.SendTeleportFailed("Unable to perform teleports on this simulator.");
}
}
return PScriptSleep(5000);
}