Difference between revisions of "Second Life Black Gazza Collar"

From Panoculus Library
Jump to: navigation, search
(8 intermediate revisions by the same user not shown)
Line 901: Line 901:
  
 
Data sent to and received from the external database will be encoded as JSON. Anything beyond trivial values sent to functional scripts shall be encoded as JSON and passed in the String portion of the message. Simple nimerical or key values can be sent in those portions of the message. Objects can inquire a collar's state through the State script's api. 
 
Data sent to and received from the external database will be encoded as JSON. Anything beyond trivial values sent to functional scripts shall be encoded as JSON and passed in the String portion of the message. Simple nimerical or key values can be sent in those portions of the message. Objects can inquire a collar's state through the State script's api. 
 +
 +
== Link Messages ==
 +
 +
This section lists which modules send llMessageLinked events and which modules receive the corresponding link_message events. 
 +
 +
*The first two digits allow up to 99 topics for sending or receiving. 
 +
*The last two digits specify content. 
 +
*00 is typically data. For example, Menu can send 1100 with message = "OOC" to tell any interested listener that the new status is OOC. 
 +
*01 is typically a request for data. Typically, Menu can ask RLV to set a specific lock level, and Battery will listen in to discharge the battery for this transaction. 
 +
 +
{| border="1" cellspacing="1" cellpadding="1" style="width: 800px;"
 +
|-
 +
! scope="row" | Integer
 +
! scope="col" | Sender
 +
! scope="col" | Listeners
 +
! scope="col" | Message
 +
! scope="col" | Notes
 +
|-
 +
! scope="row" | <br/>
 +
| <br/>
 +
| <br/>
 +
| <br/>
 +
| <br/>
 +
|-
 +
! scope="row" | 1100
 +
| Menu
 +
| Battery, Display
 +
| "OOC", "Submissive", "Versatile", "Dominant", "Nonsexual", "Story", "DnD"<br/>
 +
| send IC/OOC
 +
|-
 +
! scope="row" | 1200
 +
| <br/>
 +
| Battery, Display
 +
| "White", "Pink", "Red", "Orange", "Green", "Blue", "Black"<br/>
 +
| send prisoner class
 +
|-
 +
! scope="row" | 1300
 +
| Menu
 +
| Battery, Display
 +
| <br/>
 +
| send Allowed zap levels.&nbsp;llList2Json(JSON_ARRAY, [allowZapLow, allowZapMed, allowZapHigh]);
 +
|-
 +
! scope="row" | 1301
 +
| Menu
 +
| Battery, RLV
 +
| "Zap Low"<br/>"Zap Medium"<br/>​​​​​​​"Zap High"<br/>
 +
| Do Zap
 +
|-
 +
! scope="row" | 1400
 +
| RLV
 +
| Battery, Display
 +
| "Safeword", "Off", "Light", "Medium", "Heavy", "Hardcore"<br/>
 +
| Send Lock Level
 +
|-
 +
! scope="row" | 1401
 +
| Menu
 +
| Battery, RLV
 +
| "Safeword", "Release",&nbsp;Off, Light, Medium, Heavy, Hardcore
 +
| Set RLV&nbsp;Lock Level
 +
|-
 +
! scope="row" | 1402
 +
| <br/>
 +
| Menu
 +
| YesRLV, NoRLV
 +
| Request RLV Update
 +
|-
 +
! scope="row" | 1403
 +
| RLV
 +
| <br/>
 +
| <br/>
 +
| send RLV status
 +
|-
 +
! scope="row" | 1500
 +
| Menu
 +
| Battery, Display
 +
| "None", "Moderate", "Dangerous", "Extreme"<br/>
 +
| send threat levels
 +
|-
 +
! scope="row" | 1700
 +
| Battery
 +
| Display
 +
| <battery level>
 +
| integer 0–100 as string<br/>
 +
|-
 +
! scope="row" | 1800
 +
| <br/>
 +
| Battery<br/>
 +
| <br/>
 +
| crime
 +
|-
 +
! scope="row" | 1901
 +
| Menu
 +
| Leash
 +
| "Leash"
 +
| Start the leash diolog sequence
 +
|-
 +
! scope="row" | 2000
 +
| Database, Menu
 +
| Display, Leash
 +
| <text>
 +
|
 +
<text> is displayed on the alphanumeric display of the collar.
 +
 +
|-
 +
! scope="row" | 2002
 +
| Display,&nbsp;Leash, Menu
 +
| Database
 +
| <br/>
 +
| Any module can request database update. Database queries the offsite database, then responds with the appropriate link messages for the items it recieves.&nbsp;
 +
|-
 +
! scope="row" | 3000
 +
| Menu
 +
| Keypad
 +
| "TMER MODE" or other
 +
| Request to give user time or numerical value input dialogs and return the time or number ("combination").
 +
|-
 +
! scope="row" | 3001
 +
| Keypad
 +
| RLV
 +
| <br/>
 +
| Time h:m:s
 +
|-
 +
! scope="row" | 3002
 +
| Keypad
 +
| RLV
 +
| <br/>
 +
| Number
 +
|}
  
 
= Idea Credits =
 
= Idea Credits =

Revision as of 23:41, 19 July 2019

Contents

Introduction

This page will describe the Collar 4 project.

  • Collar 1 was entirely custom code by Lormyr Daviau.
  • Collar 2 was rewritten by Lormyr Daviau in OpenCollar. 
  • Collar 3 was rewritten by Red Usagi in OpenCollar and had a very complicated Second_Life_Black_Gazza_Collar_3_Menu_System.
  • OpenCollar has unacceptable code-sharing restrictions and other organizational issues that we'd like to separate from. Collar 3 is complicated, large, has many features that don't work well together, is hard to learn, doesn't get all its features used, and is a bear to maintain and upgrade. 

Thus the need for Collar 4. 

"Required" in a section heading means that the feature is part of the Nininum Sane Feature Set. Without this feature, the collar is practicallyuseless and not worth giving out. It's the core feature set to which the other features can be added incrementally. If something is not needed and so marked, or if something is required and not so marked, please let Timberwoof Lupindo know. 

Goals

  • UI Simplicity
  • Feature Comprehensibility
  • Software Maintainability and Updates
  • Independence from OC drama
  • Software Efficiency
  • No light sources

Support Required

  • Github for source control and bugbase
  • wiki for major documentation
  • External Database

Read Me

Black Gazza L-CON 4th Edition READ ME

Introduction

This document describes the Black Gazza "L-CON" Collar 4th Edition. Please read and understand all the safety directives before using this machinery. Black Gazza and its staff and agents will not be held responsible for your butt-hurt because you didn't understand what this collar can do. 

The collar mesh was designed for Black Gazza by Dein Newt. 

The display font is Advanced Pixel LCD-7 
https://www.dafont.com/advanced-pixel-lcd-7.font

For history and in-depth information about the V4 collar software project, please read https://library.panocul.us/mw/index.php/Second_Life_Black_Gazza_Collar#Introduction

The V4 collar software is a ground-up rewrite by Timberwoof Lupindo. It incorporates code by Lormyr Daviau, code from earlier projects, and code written by Timberwoof Lupindo for collars V2 and V3. It does not use any Open Collar code and is thus not bound by its license. 


Simplified Menus

With tons of extraneous software not incorporated and herds of creeping featurisms ruthlessly eradicated, your avatar should feel a much lighter collar than previous versions. The menus are easy to navigate and present you with only the choices you can actually make. 

The full menu tree is here: 
https://library.panocul.us/mw/index.php/Second_Life_Black_Gazza_Collar_4_Menu_System


New Features

The initial version of Collar V4 has a Minimal Feature Set: those features which, after discussion with Black Gazza members, were deemed the minimum with which a useful collar could be released. 

Set Your Own Crime - Set Inmate's Crime

Under Settings, click Crime. You will get a dialog box that lets you enter text. Enter the new crime and click OK. The wearer will receive a confirmation dialog. They can approve or reject the change. 


Lock Levels

The collar has five lock levels. 
Off has no RLV at all. You can set your permitted zap levels. 
Light - minimal RLV locking. No teleporting, no flying, no detaching the collar. To unlock, set the collar's lock level to Off. 
Medium - Some more RLV locking. No maps, no far-touch, no far-sit. To unlock, set the collar's lock level to Off. 
Heavy - Even more RLV locking. No edit, no rez, no shout, limited camera. You cannot set your own permitted zap levels. To unlock, click Safeword, It will give you a code number and a channel. You must type the code number on the channel indicated. The collar will embarrass you publicly and unlock. 
Hardcore - The same RLV locking, but no safeword. You must ask a Guard to unlock you. The guard will click the Release button, which is only available to guards.

Character Sheets

Edit your collar. Drag your character sheet, Medical information Sheet, and whatever else into your collar's main prim, right by all the scripts. When someone clicks the Info button, they will get basic info about you and your collar and a menu of those documents. No armband needed! 

Zap Levels

Click Settings. Click Zap Levels, You will see three levels with checkboxes. The X means you permit guards to zap you at that level. Don't turn them all off. 

Remote Zap

Remote Zap from Timbewoof's Evil Pad and other toys works. 

Battery

The battery drains with time. It drains faster at higher RLV levels. Settings access costs battery time. Settings access that requires database drain more battery time. Getting zapped drains a lot of time. When your collar's battery runs low, it will turn yellow, then red. Then the icon will disappear for a while. Then it will reappear fully charged. You don't have to do anything. A guard can, if they feel like it, make you go to a charging station for a while. For now it's just an IC thing and a cool display. When you log in or reset the collar, the battery level resets to zero. 


Same Old Features, Revised

Leash

With simplified menu. You can leash yourself. Inmates can leash you, but the collar asks you permission. Guards can leash you. If someone else leashes you, you cannot unleash yourself. 

Prisoner Class

The collars are now painted your Prisoner Class color. You can change this when OOC. A guard can set your class OOC. 

Threat

You can set your Threat when OOC. A guard can set your threat, too. 


Features Omitted

This is the new collar with Minimal Features. We will add new features as requested in All-Paws meetings. The collar does not have… 
Renamer/Sobriquet
Bad Words
Gag
Animations
Multiple Characters
"Options"
Contraband
Zapleash
Bookmarks/Landmarks
Camera
Bell (Really? How can you live without that?) 
Relay
Owners


The Plan

Features will be added a few at a time as denizens demand. The collar will gain those features that most inmates and guards find useful to enhance RP and inmates' immersive experience. 


Timberwoof Lupindo
2019-07-06

Bug List

Known bugs, feature requests, and statuses. Please check this list for your bug before reporting it. Things will be handled in this order:

  • bugs
  • readme items
  • gaps
  • enhancements
  • investigations


Name Description Status Complexity Mdule
Remote Zap collar should listen to the zap channel to allow things like doors and the AI to zap inmates enhancement moderate RLV
Collar Name Collar should rename itself so when it issues a status, its owner is identified gap - fixed minor Display
Unleash When you're not leashed, "Unleash" command should not be available bug - fixed minor Leash
Leash OkayNo Dialog button list is malfored. bug - fixed trivial Leash
wrong leashAvatar When same-group avatar clicks leash, the leash confirmation dialog happens but the wearer is identified as the leasher.  bug - fixed minor Leash
explain class readme needs to explain the class setting readme minor readme
battery status There's an animation left over from the development of the mesh. Write a script that clears the animation. Remove the script. Distribite that collar. bug - fixed minor Display
vendor role Collar vendor should IM the user that has the wrong role bug minor Vendor
collar coor Inmate should be able to set collar coor when OOC bug - fixed minor Menu
who zapped Collar should report who or what initiated Zap command. enhancement-fixed minor RLV
latch sound Collar should make a clunk or latch sound when RLV locks enhancement - fixed minor RLV
explain battery readme needs to explain how the battery works readme minor Readme
collar no-mod Some people got collars that were no-mod, but others got collars they could resize and add documents to investigate moderate
leash list Limit the leash list to 12 things, if possible in order of distance. It gives an ugly error message when there are too many objects nearby.  bug - fixed minor Leash
Heavy to hardcore Allow someone locked Heavy to change to Hardcore without safewording. enhancement - fixed minor Menu
blinky lights

Threat and zap lights re reversed; straighten that out. Change Class light to sow Lock level. 

  1. highest zap
  2. lock level
  3. class
  4. threat
bug - fixed minor Display and Menu
reset charge Reset charge level to 100% on relog. Most of the time this will simulate having recharged the battery while logged off.  enhancement - fixed minor Battery
RLV notifications RLV should not announce that it's turning everything off except when the new state is off. Also review the no-op settings.  enhancement - fixed minor RLV
leash to holder Investigate Lockmeister script and channel -8888 enhancement moderate to heavy Leash
set crime Remove the Set Crime settings option, or give it to the wearer in OOC mode only  bug - menu position fixed minor Menu
set crime actually set the crime enhancement






threat doesn't work click Settings, threat, nothing happens bug - fixed minor Menu
detect RLV new collar doesn't detect RLV properly when worn bug - investigate minor RLV
forgets mood  It loses the mood selection every time I check the info. Not like OOC but just nothing selected at all.
bug minor display

Required Features

This section lists the minimal feature set for th Black gazza Collar, without which it's not worth doing.

RLV locking with options - Implemented

  • Three levels: casual, normal and hardcore
  • casual is much like an onowned OC collar, fun toy, but user has full control.
  • normal is much like current collar configuration, onand off, but at guard control
  • Hardcore iis total loss of control. the collars owner (the prison) has exclsive powers,
  • If the script can't detect RLV, then it should have a nice cup of Shut The Fuck Up. 
  • Teleport suppressed
  • optional auto-lock when going IC, unlock when going OOC (not implemented)
Option Off Light Medium Heavy Hardcore
"Off"/Safeword Off button Off button, Safeword button Off button, Safeword button Safeword button
Must Ask Guard
Settings Mood, Set Zap, Lock Mood, Set Zap, Lock Mood, Set Zap, Lock
Mood Mood
TP landmark yes NO NO NO
NO
TP location yes
NO NO NO
NO
TP lure yes
yes NO NO
NO
World map yes
yes
NO NO
NO
Mini map yes
yes
NO NO
NO
Fly yes
NO NO NO
NO
Detach yes
NO NO
NO
NO
Edit yes
yes
yes NO
NO
Rez yes
yes
yes NO
NO
Shout yes
yes
yes NO
NO
Say yes
yes
yes yes yes
Whisper yes
yes
yes yes yes
See Names yes
yes
yes yes yes
Sit TP yes
yes
NO
NO
NO
Far Touch yes
yes
NO
NO
NO
Camera Limited no no  no  YES YES
IMS yes yes yes yes yes

Zap - Implemented

  • 3 levels as now
  • available IC only to guards, OOC to wearer
  • or to inmates who manage to hack into collars at great risk of shocking themselves. - not implemented
  • Collar lets wearer (or, in Hard-Core mode, a guard) set allowable zap levels, with checkboxes for each. 
  • Later, you can only inflcit as much hurt on another inmate as your own collar is set to let you have. - not implemented
  • Devices that want to inflict shocks can access the three shock levels. - not implemented
  • Have the highest tier shock knock out the prisoner, causing a animation override, movement lock, and visual dimming, as well as a local chat restriction much like ACS robots receive when they shut down. - not implemented
  • Zap runs down the battery. 
  • All the lights and indicators turn red when zap is applied. - not impemented
  • Zap-charging circuit whines like an old photoflash before delivering the zap. 

Leash - Implemented

  • length
  • grab
  • leash to object
  • unleash if target is an avatar and logs off
  • re-leash on login

Character Sheets - Implemented

Have medical records stored in the collar rather than the armband. Having everything in one place should make things a little easier, right?

Almost No Titler

Floaty text is ugly. Colorful walls of text are hard to read and are frequently used to transmit information that no one else would be able to have, or woud be easily able to get through observation. The proposed alternative is that clicking the collar could get a guard the immediate basics, and an inmate what an inmate can know. 

character name on the titler

  • And that's it! It would display ony if the character name was different from the account name. 

prisoner number on the display - Implemented

  • Collar contacts prisoner database to get prisoner number
  • prisoner number is displayed on the collar display
  • prisoner number appears in all menu headings

character data in collar

  • click collar. Guards get Crime in the menu; inmates don't. 
  • click Character button
  • click Character button to get Bio, Status, Medical, Guard, Limits
  • Wearer is notified when the collar gives something out to someone. 

display mood with color code - Collar text frame

  • red - dominant (staff collar only)
  • orange - dominant for inmates
  • yellow - versatile
  • green - submissive
  • white - nonsexual
  • grey - OOC

[12:56] Dante (thenewflesh33 Resident): I thought it might be cool for people to have color coded messages, like violent inmates having blue text, general having orange text, medical having green text, etc

Data Security and Integrity

The data in the collar shall not be dependent on SL's built-in data persistence "feature". All data shall be stored in the collar database. The acceptance criteria shall be

  • Restart collar scripts. All settings and data shall persist or be reloaded.
  • Throw the collar away and get a new one from a vendor. All settings and data shall persist or be reloaded.
  • Collar funciton that exports all personalized settings, and a matching one that will read that and set them. 

The URL for the collar shall not be hard-coded in scripts or stored in a configuration file. It will be kept in an object that a collar wearer must click to activate the collar, set the database url, establish the connection, and assign the collar number. 

Tonya says, The SL Experience datastore actually works fairly well, but it's a pain in the ass to deal with. It does have the advantage of not dependong in the largesse of someone to run an external database server.

Required Menu Functions and Options - Implemented

Wearer

  • Collar Play Level: OOC/Casual/Normal/Hardcore
  • Maximum Zap: Low/Medium/High
  • Mood: OOC/Submissive/Versatile/Dominant/Nonsexual/Story-Driven

Guard Group Members

  • Zap - Low/Medium/High
  • Leash - grab, to object, length, unleash
  • Crime - <text>
  • Classification - Unclassified/Orange/Blue/Pink/Green/Black

Everyone

  • Give Character Sheet

Menu Structure

Collar Menu Items by Role
Menu Item Choices Channel Wearer Inmates Guards Nonmembers Notes
Play Level Casual, Normal, Hard Core
Set Display Display Display

Hard Core lets guards set certain features such as allowed shock levels. Player can't set limits on severity. One of the four lights on the side gets this color. 

Zap Low, Medium, High 1100 Set Permitted Levels
Zap

Severity levels are checkboxes. Player can select which levels are permissible. Except in hard core mode; then guards can set it. 

Mood OOC, Submissive, Versatile, Dominant, Nonsexual, Story-Driven
Set Display Display Display One of the four lights on the side gets this color. 
Leash Leash To, Grab, Unleash, Length 1200

Set
Argh. Can't easily detect groups.
Crime Set, Report
Report Report Set Report
Class Set (White, Orange, Pink, Blue, Green, Black, Red)
Report Report Set Report This color is reflected in the lighty-uppy fram around the inmate number and perhaps one of the four lights on the side. OOC the frame turns gray. 
Info (Gives character sheet)
Give Give Give

Lock Game, Real, Confine, Lock, Safeword
Set/Report Report Report
One of the four lights on the side indicates lock state. 
Hack Hack, Maintenance, Fix 1300 Hack Hack Hack

















Second Life Black Gazza Collar 4 Menu System

Desired Features

This section describes additonal features that would be nice to have.

Alternate Characters

  • Up to 6 alternate characters, each with its prisoner number and data. 
  • Need to slurp existing database into ours.
  • Need new BG database implemented first. 
  • Requires titler

RLV/Lock

Relay

Timer

  • timer in-world - wearer-settable only
  • timer real-time - wearer-settable only
  • date/time of release - wearer-settable only
  • Safeword and Hardcore release as for the existing RLV settings. 

Safeword Enhancements

  • safeword unsits and teleports to cell. (Also usable against griefers.)
  • Set assigned cell

Vision Restriction

The collar doesn't include glasses or a visor. Perhaps make vision reduction a side-effect or desired effect of medications the prison uses. A vision restriction feature seems like it's best implemented with Black Gazza goggles or even a Nucleus. But a Nucleus is hard to implement. There are plenty of gas masks, though, which would suit the purpose well. Maybe this can be implemented as a drop-in script. 

  • range-limited
  • focus-limited
  • color-limited
  • see no float-text
  • force a sort of moouselook

Movement Restrictions

  • interface to shackles
  • poses
  • RLV force-sit on objects
  • carry: Create a method for carrying unconscious or unresponsive prisoners similar to ACS's robotic handle but with a proper "over-the-shoulder"/"princess" carry animation if possible.

Speech

Gag

A "Gag" feature seems like it's best implemented with a Black Gazza gag or even a Nucleus. But a Nucleus is hard to implement. There are plenty of gas masks, though, which would suit the purpose well. Maybe this can be implemented as a drop-in script. 

  • none
  • force whisper
  • light
  • heavy
  • hiss
  • nothing
  • (emoting and IMs are always allowed)

Bad Words

Certain words uttered by the prisoner will cause continuous punishment until the prisoner speaks the release phrase. 

Renamer

The prisoner's utterances are renamed with the prisoner's number and nickname. 

BG System Interactions

Achievements

Exporing the Station should be rewarded. Achievements might include visiting levels and sections, getting locked up in Isolation, getting confined to the Mental Ward, etc. 

Restrictions Earn Rewards 

  • tally board with times and restrictions. Longest time muffled, longest time dimmed, etc. 
  • but time accrued requires interaction: walking or talking at least every 5 minutes. You can't just log in and idle to earn time. 

Interact with Doors

  • doors to top elevator room won’t open when collar is RLV locked
  • doors to colored sections won’t open for wrong-colors
  • inmate's own cell opens for inmate

Lockdown

  • When lockdown is called, warn the wearer. 
  • If lockdown is violated, enact sleepygas effects. 


Contraband 

If possible, perhaps have certain sectors of the prison that the collar recognizes when in range as locations of appropriate contraband. Perhaps have a set number of posts over a certain period of time be necessary for them to steal contraband so guards have a chance to catch them and retrieving the contraband has more weight and meaning...so that losing it also actually means something.

Medical Tracking

  • Fitbit Movement reminders (with collar zap)
  • Rewards for walking, running, and stair climbing
  • Scheduled medical exams: remind/force players to visit the medics once a month of rl play time or so. Time should only tick down when the collar is on and in rp mode and should be easily reset (by medical staff only) when they go in for a checkup. This can also aid in giving medical staff much needed tasks.
  • If medical records are kept in the collar, perhaps find a way to allow the collar to communicate with a central database, permitting guards and/or robots to ACTUALLY view a person's complete file in a simple, short and sweet manner? It would mean having to pay more attention on keeping up on paperwork but would also be an interesting rp tool and might potentially be a cyborg perk to help draw new players.

Recharge

"I gave the collar a small battery display at the back since I had a funny idea: The collar needs weekly recharging. It won't come off if it runs out, but it might knock-out zap the wearer if they neglected going to a recharge booth (soft leashing)." —DeinRa

There need to be in-game consequences for not recharing one's collar. Ideas so far:

  • Replacing or augumenting one of the vertebrae right near where the neck/collar interface is.  If the collar leaves proximity of that, the artificial or augumented vertebrae stops certain signals from going from body parts to the brain. the person likely would be paralyzed until they can get recharged.
  • Genital sensations woudl probably be blocked. 
  •  Beacons. Guards would have to do work to get them there.  It'll add social pressure to obey next time.  Yeah, ideally not only that, but it pings nearby guards or ICly alerts them
  • Deny food privileges until charged up. Though " That sounds problematic for long rp scenes or those that find them self in a padded cell of iso" 
  • Hopefully it's not like... once every few hours while requiring an hour or two of just standing still would be problematic. Ripping RP apart to satisfy a mechanical requirement might get annoying very fast. Balanced with a tiny reward much like the "fit-bit" system has might make it good
  • maybe recharge once a day?
    [12:33] Glaciusor - C0r (Glaciusor Resident): if recharge doesn't take too long and chargers are in common RP spots, might work
  •  A few minutes for a day or two (of IC time) seems fair. It's not like the collars are running CPUs or servos
  •  also think about a recharge would have to happen to be sooner if the inmate gets shocked a lot
  • battery should beep or buzz or something when charge gets low. 
  • Normal charge lasts 4 days. 
  • light zap takes off 4 hours
  • medium zap takes off 12 hours
  • heavy zap takes off 1 day. 
  • [21:17] Ferovox (Thunderwolf726 Resident): There was no discussion about this. There was no public input. It was just one guy saying "Hmm, this seems like a fun idea. Let's go with it." And it's just being thrust upon the inmate RPers with no chance to say whether they think it's a good idea or not. And I think it makes it seem a bit too much like you'd be playing a robot character, having to charge the collar once every three-four days.
  • [08:46] Lynxi (LynxiBoy Resident): (Saved Sun Jun 30 00:53:31 2019)My verdict would be: forcing the recharge option, resulting in restricting my character without my OOC consent. I do not agree to this. I am not here to RP an iPhone who needs to be recharged. I could say the same example with food or going to the potty - it's not the RP i focus on.
    EXAMPLE: "Your bladder is full, please sit on the potty for 5min."
    Suggestion - the option in collar to disable this for those who do not want to participate.

Hack

  • Collar is hackable and fixable, but with painful consequences for failure. 
  • A "hack" functionality so that clever inmates who get into the mechanics guild have the chance to tamper with a collar and potentially aid another inmate in retrieving contraband or attacking a guard.
  • Mechanics can succeed better. Interfaces with mechanics HUD. 
  • occasionally a collar might fail or a timer that counts down until the collar will need serviced, so as to give mechanics crew members more to do.

When you select Hack, some things could happen.

  • Nothing
  • You get shocked
  • The wearer gets shocked
  • You get a menu of things to hack. 

If you get the next menu, you may select to change the crime, class, threat level, or permissible zap levels. (Mood and RLV are OOC settings so it makes no sense to change them.) When you select the thing to change, some things could happen.

  • Nothing
  • You get shocked
  • The wearer gets shocked
  • You get the settings menu for that item

If you get the actual settings menu, you may select to change that setting. Some things could happen. 

  • Nothing
  • You could get zapped.
  • Collar wearer could get zapped.
  • Your attempt could succeed.
  • Your attempt could result in a worse outcome. 

Staff Collar

Some players have been RPing "staff collars", for punishment or whatever. What features should a Staff Collar have? Ideas, please!

  • Guard Number
  • Staff Number
  • Interaction with the Station AI
  • only light shocks
  • S-numbers, instead of P-. 
  • No name-use zap.

Tonya suggests: Staff collars should be, as far as possible, the same as inmate collars, aside from the ID (and do guards have numbers assigned to them? I've never seen it. Perhaps we can introduce the concept of a payroll number, and use that as the staff ID when collared). Staff collars don't connect straight to the nervous system, so a heavy stun zap won't always work; it'll just hurt like hell.

Back Button in Menus

Architecture

Not one monolithic script, but separate scripts for functional areas.

Tonya Suggests: I would really, really recommend adopting the OC6 approach of having major scripts in their own prims with linked messages directed specifically at those prims. It's a major efficiency gain.

Separate Settings and Actions

Settings would all be under one menu structure for inital setup and rarely touched after that.

Actions would be on the main menu for easy access to collar functionality. 

Modules - Required

RLV - implemented

  • locks/unlocks,
  • sets up timers and release date
  • Relay. Dead-simple only. If you need a better relay like the cool kids have, then get a better relay. I'm not going to reinvent the wheel again. 

Zap - Implemented in RLV

  • receives zap command from Menu or objects,
  • plays sound,
  • makes sparks,
  • plays animations

Menu - implemented

  • manages SL viewer menus
  • sends commands to modules
  • receives state responses
  • responsible for menu security

State

  • stores and retrieves state so collar sets up again after relogging
  • enforces inmate group (If Inmate group is ot set, the collar gets angry)

Database

  • sends queries,
  • receives results.
  • automatically registers a new wearer with the database,
  • responsible for database access security. 

Leash - Implemented

  • leashes player to objects or other players,
  • sets up particles

Display - Implemented

  • Manages appearance of collar lights, readouts, and titler
  • listens in on link messages and adjusts face textures and colors

Update - Not to be Implemented

manages scripts and retrieves updated ones from a server. 

http://wiki.secondlife.com/wiki/LlRemoteLoadScriptPin

Only the owner of an attachment can modify it while it is being worn. If target is an attachment owned by a different user, regardless of object modify rights granted, this function will silently fail.

People would have to remove, rez, update and wear their collars. That doesn't gain anything from just handing out new collars.

Modules - Desired

Character

  • handles character data:
  • switches character context,
  • retrieves from database,
  • sends to inquirer,
  • gets from updater,
  • sends to datbase

Gag

  • sets up speech redirects and filters

Vision

  • sets graphics 

Data

Data sent to and received from the external database will be encoded as JSON. Anything beyond trivial values sent to functional scripts shall be encoded as JSON and passed in the String portion of the message. Simple nimerical or key values can be sent in those portions of the message. Objects can inquire a collar's state through the State script's api. 

Link Messages

This section lists which modules send llMessageLinked events and which modules receive the corresponding link_message events. 

  • The first two digits allow up to 99 topics for sending or receiving. 
  • The last two digits specify content. 
  • 00 is typically data. For example, Menu can send 1100 with message = "OOC" to tell any interested listener that the new status is OOC. 
  • 01 is typically a request for data. Typically, Menu can ask RLV to set a specific lock level, and Battery will listen in to discharge the battery for this transaction. 
Integer Sender Listeners Message Notes





1100 Menu Battery, Display "OOC", "Submissive", "Versatile", "Dominant", "Nonsexual", "Story", "DnD"
send IC/OOC
1200
Battery, Display "White", "Pink", "Red", "Orange", "Green", "Blue", "Black"
send prisoner class
1300 Menu Battery, Display
send Allowed zap levels. llList2Json(JSON_ARRAY, [allowZapLow, allowZapMed, allowZapHigh]);
1301 Menu Battery, RLV "Zap Low"
"Zap Medium"
​​​​​​​"Zap High"
Do Zap
1400 RLV Battery, Display "Safeword", "Off", "Light", "Medium", "Heavy", "Hardcore"
Send Lock Level
1401 Menu Battery, RLV "Safeword", "Release", Off, Light, Medium, Heavy, Hardcore Set RLV Lock Level
1402
Menu YesRLV, NoRLV Request RLV Update
1403 RLV

send RLV status
1500 Menu Battery, Display "None", "Moderate", "Dangerous", "Extreme"
send threat levels
1700 Battery Display <battery level> integer 0–100 as string
1800
Battery

crime
1901 Menu Leash "Leash" Start the leash diolog sequence
2000 Database, Menu Display, Leash <text>

<text> is displayed on the alphanumeric display of the collar.

2002 Display, Leash, Menu Database
Any module can request database update. Database queries the offsite database, then responds with the appropriate link messages for the items it recieves. 
3000 Menu Keypad "TMER MODE" or other Request to give user time or numerical value input dialogs and return the time or number ("combination").
3001 Keypad RLV
Time h:m:s
3002 Keypad RLV
Number

Idea Credits

Thanks to ideas from 

  • Collins Carter Obrian
  • Glo SoftPaw
  • Darkefur Fraker
  • Lormyr Daviau
  • Seth Helsby  (Zatch244 Resident)
  • Kagenokami Resident
  • Jared 

Feature Requests

Off-Sim Use

Davina Drezelan (Alacaster Drezelan): i would also make it so it can be used outside bg also cause i do enjoy to use the collar when I am rping in star trek as it is a nice tool to keep my avie in check by the commanding officers and security.

Offsim Mode:
- OOC mode, but with additional benefits
- Permits off-sim:
  - display of prisoner number
    - Example: "Prisoner ***** of Black Gazza"
      - May be broken into multiline, like:
       "Black Gazza Prisoner"
              "P-#####"
    - Discussions about display should be had, to minimize text on the actual collar, while suitably promoting sim in offsim mode
  - LEDs in preferred color
  - optional sobriquet 
  - optional hover text
  - Optional shock enabling
    - Shock text in this mode contains link to BG
    - Shock enabling requires BG inmate group active
- Offsim mode possibly requiring BG inmate group active to work
- Collar may only be obtained by prisoner role and through processing, to avoid "grab and run"
  - Utilizes "foot in the door" technique to get people all the way into the sim and prepared for RP, more likely to stay
  
Collar name should be indicative that it's a Black Gazza collar, in menus, on hover, and and in chat to promote the sim passively
(Discussion between Kagenokami and Glaciusor)

Bad Words

Captain Marx (Dirty Marx): timber I like the badwords as a training tool for making well behaved inmates, but perhaps make it a little less annoying

Raffia Kiryuin (RaffiaKiryuin Resident): The badwords is a really good system but the penance accepted message should be an exclusion to stop the infinite punisment loops

[17:28] Kagenokami Resident: Touching on that a moment. Removing the wildcard from the bad word search in the new version might be a good idea. Why punish someone for saying "applesauce" if the bad word is only "apple" you know?

Gravity Loss

During power failure, simulate loss of gavity by setting llSetBuoyancy(0.0); — Raffia Kiryuin

Report an Inmate 

objects could allow inmates to rat on each other. Inmates could submit reports, which guards could review, and then decide whether to zap the inmate reported or the inmate who reported.