Skip to content
This repository has been archived by the owner on Feb 28, 2024. It is now read-only.

[BUG-20065] Feature Request: llFreezeAgent() - A scripted means of freezing an agent with both moderation and recreational uses. #2762

Open
sl-service-account opened this issue Jun 21, 2016 · 5 comments

Comments

@sl-service-account
Copy link

Information

Please do not triage for two weeks, until July 12th or later. Give people time to comment. Thanks.

Currently we have eject, ban & freeze ability with the viewer but of those, we only have eject and ban by script.
There have been many times when I preferred my security system would freeze an agent when they are in violation of certain rules so they can be given an opportunity to read a dialog explaining the issue along with an agreement button instead of ejecting or banning them.
While an agent is in frozen status, they cannot move or chat, their objects/attachments cannot use scripted rez functions and their script's touch events are halted.
Aside from traditional moderation use, this functionality actually has great potential for recreational use in scripted form.

This feature request is for the following function:

integer llFreezeAgent(key agent, integer seconds, string message)

  • agent - agent to be frozen. Must be in the same region as the script.

  • seconds - amount of time in seconds agent is to be frozen. Operation is similar to llAddToLandBanList() where time can be extended with values that increase the end time and values that don't are ignored except that 0 now thaws the target and negatives subtract seconds from frozen end time.

  • message - message sent to agent as a toast. If null string, no message is sent.

  • Returns 0 if failed, returns 1 if successful.

    The script calling the function must be owned by the land owner or deeded to the land group the same as required with llEjectFromLand()& llAddToLandBanList() or alternatively, operate from an experience compiled script targeting someone in the same experience over land that has the experience allowed similar to the improvement request for llUnsit().

    Benefits

    Scripted freezing can be incorporated into security system designs as alternatives to eject/ban where appropriate.
    Experience based apps can freeze participants in games or RP environments that have waiting periods, timeouts or penalties.

    Other Information

    At the moment the time limit for freezes via the viewer is a set 30 seconds, but with scripted use the limit could be anything from 1 to 3600 seconds or even more so all use cases can be satisfied.
    The llGetObjectDetails() constant OBJECT_FREEZE_END_TIME will be needed to monitor if an agent is frozen or not and/or when their freeze time ends. This is preferred over an llGetAgentInfo() constant which only uses bitwise values.
    https://jira.secondlife.com/browse/SVC-2491 will also have to be addressed.

    Comments welcome. Thanks in advance for any consideration.

Original Jira Fields
Field Value
Issue BUG-20065
Summary Feature Request: llFreezeAgent() - A scripted means of freezing an agent with both moderation and recreational uses.
Type New Feature Request
Priority Unset
Status Accepted
Resolution Accepted
Reporter Lucia Nightfire (lucia.nightfire)
Created at 2016-06-21T06:07:34Z
Updated at 2016-10-10T03:54:51Z
{
  'Business Unit': ['Platform'],
  'Date of First Response': '2016-10-09T16:02:20.758-0500',
  'How would you like the feature to work?': "h1. Information\r\n\r\nPlease do not triage for two weeks, until July 5th or later. Give people time to comment. Thanks.\r\n\r\nCurrently we have eject, ban & freeze ability with the viewer but of those, we only have eject and ban by script.\r\nThere have been many times when I preferred my security system would freeze an agent when they are in violation of certain rules so they can be given an opportunity to read a dialog explaining the issue along with an agreement button instead of ejecting or banning them.\r\nWhile an agent is in frozen status, they cannot move or chat, their objects/attachments cannot use scripted rez functions and their script's touch events are halted.\r\nAside from traditional moderation use, this functionality actually has great potential for recreational use in scripted form.\r\n\r\nThis feature request is for the following function:\r\n\r\n*integer llFreezeAgent(key agent, integer seconds, string message)\r\n** agent - agent to be frozen. Must be in the same region as the script.\r\n** seconds - amount of time in seconds agent is to be frozen. Operation is similar to llAddToLandBanList() where time can be extended with values that increase the end time and values that don't are ignored except that 0 now thaws the target and negatives subtract seconds from frozen end time.\r\n**message - message sent to agent as a toast. If null string, no message is sent.\r\n**Returns 0 if failed, returns 1 if successful.\r\n\r\nThe script calling the function must be owned by the land owner or deeded to the land group the same as required with llEjectFromLand()& llAddToLandBanList() or alternatively, operate from an experience compiled script targeting someone in the same experience over land that has the experience allowed similar to the improvement request for llUnsit().\r\n\r\nh1. Benefits\r\n\r\nScripted freezing can be incorporated into security system designs as alternatives to eject/ban where appropriate.\r\nExperience based apps can freeze participants in games or RP environments that have waiting periods, timeouts or penalties.\r\n\r\nh1. Other Information\r\n\r\nAt the moment the time limit for freezes via the viewer is a set 30 seconds, but with scripted use the limit could be anything from 1 to 3600 seconds or even more so all use cases can be satisfied.\r\nThe llGetObjectDetails() constant OBJECT_FREEZE_END_TIME will be needed to monitor if an agent is frozen or not and/or when their freeze time ends. This is preferred over an llGetAgentInfo() constant which only uses bitwise values.\r\nhttps://jira.secondlife.com/browse/SVC-2491 will also have to be addressed.\r\n\r\nComments welcome. Thanks in advance for any consideration.",
  'ReOpened Count': 0.0,
  'Severity': 'Unset',
  'Target Viewer Version': 'viewer-development',
  'Why is this feature important to you? How would it benefit the community?': '?',
}
@sl-service-account
Copy link
Author

Lucia Nightfire commented at 2016-08-04T05:15:47Z

It would also be nice to have the option of frozen agents not rendering to anyone else.

@sl-service-account
Copy link
Author

Lucia Nightfire commented at 2016-09-13T01:20:05Z

It would also be nice for frozen agent's worn scripts to not run, including control perms scripts using active controls.

@sl-service-account
Copy link
Author

Lucia Nightfire commented at 2016-10-09T07:34:28Z

It would also be nice for there to be an option for frozen agents to leave the sim or not. Currently they cannot even teleport home or out of the sim while frozen.

@sl-service-account
Copy link
Author

Whirly Fizzle commented at 2016-10-09T21:02:21Z

It would also be nice for there to be an option for frozen agents to leave the sim or not. Currently they cannot even teleport home or out of the sim while frozen.

Awwww. But that would break the "feature" of being able to trap the beggar bots on your region indefiniately. :D

@sl-service-account
Copy link
Author

Lucia Nightfire commented at 2016-10-10T03:52:36Z, updated at 2016-10-10T03:54:51Z

No, this is scripted freezing we're talking about. It's an option to allow or disallow via an input from the function.

So guests and normal game participants can leave if they want. Slave and/or extreme rp'ers would have to log off. Same goes for your bots, heh.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant