Aurora.ScriptEngine.AuroraDotNetEngine.APIs.LSL_Api.llEjectFromLand C# (CSharp) Method

llEjectFromLand() public method

public llEjectFromLand ( string pest ) : System.DateTime
pest string
return System.DateTime
        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);
        }
LSL_Api