# HappyBums — Wearable Diaper System for OpenSim ## Version 4.2 --- ## What is HappyBums? HappyBums is a wearable attachment for OpenSim that simulates diaper/incontinence behaviour. It tracks a wetness state, supports automatic wetting on a timer, provides access control for caregivers and owners, and optionally integrates with a web-based remote control panel. HappyBums is designed to serve a wide range of roleplay communities — including adult daycare, age regression, caregiver/dependent, and medical roleplay. It is not inherently a sexual product; its appropriateness depends entirely on how individual users and communities choose to use it. --- ## What's in the box The HappyBums attachment contains three scripts: - **[HappyBums] Core** — menus, state management, timers, RLV - **[HappyBums] Persistence** — saves all state to prim descriptions (hypergrid-safe) - **[HappyBums] WebRelay** — optional web panel integration There is also a separate optional wearable: - **[HappyBums] HoverText** — displays floating text above the wearer showing their current diaper state. Wear on the skull attachment point. --- ## Getting started 1. Attach the HappyBums HUD to any attachment point. 2. Touch the HUD to open the main menu. 3. Use **Settings → RLV** to add owners/caregivers if desired. 4. Use **Settings → General → Website URL** to connect to the web panel if desired. --- ## Wetness states | Level | Default name | |-------|--------------| | 0 | Dry | | 1 | Damp | | 2 | Wet | | 3 | Soaking | | 4 | Leaking | State names are fully customisable via **Settings → Identity → State Names**. --- ## Main menu The main menu adapts based on who is touching: - **Check Status** — shows current state - **Change Diaper** — change (subject to change lock settings) - **Wet** — manually apply one wetness increment (owner/RLV owner) - **Lock / Unlock Changes** — control whether changes are permitted - **Lock / Unlock HUD** — RLV lock the attachment on the wearer (RLV owners) - **SAFEWORD** — immediately releases all RLV locks and resets wetness to Dry - **Settings** — access all configuration submenus --- ## Settings overview ### Announce Controls how and where state-change messages are broadcast: - **Full Announce** — triggered at Soaking/Leaking - **Leak Announce** — triggered specifically at Leaking - **Change Announce** — triggered when the diaper is changed - **Notify Wearer** — whether the wearer themselves receives IMs on state changes - **Min Maturity** — suppresses public announces below a region's maturity rating Each announce target can be set to: Private IM only, Local Chat, or Everyone. ### Access - Enable/disable touch-to-open-menu - Open or Owner-Only access mode - Whitelist and blacklist management (up to 12 UUIDs each) - Custom command channel and command prefix for text commands ### Identity - **Owner Title** — what the wearer calls their caregiver (e.g. Mummy, Daddy, Nurse) - **State Names** — customise the five wetness level labels ### General - **Auto-wet** — set an interval (in minutes) for automatic wetting; 0 = disabled - **Web Interval** — how often to send a heartbeat to the web panel - **Website URL** — the URL of your HappyBums web panel installation - **New UUID** — regenerate the HUD's unique ID (use if transferring to a new owner) - **Reset Defaults** — restore all settings to defaults ### RLV Manages RLV (Restrained Love Viewer) integration: - Add/remove RLV owners (up to 6) — these people can lock the HUD on the wearer - Set safeword and safeword channel - Set change limits and minimum wetness before a change is allowed - Notify owners when the wearer logs in or attaches - Hover Text submenu — control the optional floating text display - Reset website password for an owner --- ## Access control By default, anyone can touch the HUD and offer a change. You can restrict this: - **Owner Only mode** — only the wearer's owner and RLV owners can interact - **Whitelist** — only listed UUIDs can interact (plus owner/RLV owners) - **Blacklist** — listed UUIDs are always blocked regardless of other settings - **Change Lock** — can be set to allow only wearer+owner, or owner only --- ## RLV integration If you use an RLV-capable viewer (such as Firestorm with RLV enabled): - RLV owners can lock the attachment so the wearer cannot remove it - The SAFEWORD button always releases all locks, regardless of settings - RLV owners can set change limits (e.g. only 3 changes before a reset is needed) - RLV owners can set a minimum wetness level before changes are allowed RLV is completely optional. If you do not use an RLV viewer, HappyBums still works fully — the lock features simply have no effect. --- ## Web panel HappyBums includes an optional PHP web panel (`happybums.php`) that owners can log into from any web browser to monitor and control their wearers even when not in-world. Features: - View current diaper state, region, and last-seen time for all your wearers - Remotely wet, change, lock/unlock the diaper - Set auto-wet interval, announce settings, owner title, state names - Send an in-world IM to the wearer from the browser To use the web panel, a server running PHP with SQLite3 is required. Set the panel URL via **Settings → General → Website URL** in the HUD. --- ## HoverText wearable The optional HoverText attachment displays floating coloured text above the wearer showing their current diaper state. The text colour changes with the wetness level (green = dry, yellow = damp, orange = wet, red = soaking/leaking). Wear it on the **skull** attachment point for best positioning. You can adjust the height of the text up or down via **Settings → RLV → Hover Text** in the main HUD. --- ## Hypergrid compatibility HappyBums stores all state in prim descriptions rather than notecards or llLinksetData, making it fully hypergrid-safe. Your state is preserved when travelling between grids and is restored when you return home. --- ## Lockout recovery If the HUD becomes locked and you cannot access the menu: 1. Edit the root prim of the attachment. 2. Find the Description field — it will contain something like `w=2,cl=1,rl=1,...,t=0` 3. Change `t=0` to `t=1` 4. Save and reset the scripts. --- ## Text commands If a command channel and/or prefix is set, the HUD can be controlled by typed commands in local chat. The default channel is 0 (open chat) with no prefix. Commands follow the format: `[prefix] ` Common commands: `wet`, `change`, `status`, `lock`, `unlock` --- ## Credits HappyBums was developed for OpenSim. Scripts are LSL (Linden Scripting Language).