llAddToLandPassList(key agent, float hours)

Adds agent to the land pass list for the specified number of hours. A value of 0 for hours will add agent indefinitely.

The specified agent receives a message: “Alert: You have been issued a pass good for xx minutes.” When the time is nearly elapsed, the agent receives several messages: “Alert: Your pass to this land is about to expire.”, and, finally: “Alert: Your pass expired and you have been ejected”. The agent is then ejected.

This function is silently ignored unless the object the script is in is owned by the owner of the land. In the case of group-owned land, it does not appear to be sufficient for the owner of the object to be a member or even an officer of the group–nor for the object to be set to group ownership. Instead, the object must first be shared with that group, then have an officer of the group deed the object to the group.

Multiple calls to this function for the same agent are not cumulative. Instead, if the agent already has a timed land pass active, which has less time to run than the hours parameter, the time left to run will be topped up to hours. If the active land pass has more time to run than the hours parameter, it will not be altered and no alert will be given.

Note: while this function also works on the land owner, it will not eject them, so determining the usefulness of adding oneself to one’s own land pass list is left as an exercise for the reader.

Q: Will this also remove a user’s objects when the pass expires?

A: No.

To remove a user to the land pass list, use llRemoveFromLandPassList.

To add and remove them from the land ban list, use llAddToLandBanList and llRemoveFromLandBanList.