GridLife Core System Manual =========================== Website: https://gridlifesl.com API status: https://gridlifesl.com/api/v1/status Script directory: https://gridlifesl.com/LSL/ 1. What GridLife Is ------------------- GridLife is a persistent roleplay system for Second Life. The website stores player stats, inventory, skills, farming, cooking, animals, health conditions, world-object state, and other progression so supported objects survive script resets and region restarts. The six initial player needs are: - Health - Energy - Hunger - Hydration - Bladder - Hygiene The stat framework supports additional server-defined stats without requiring old items to be rebuilt. The internal compatibility code for Bladder remains "bladder". Older content that still sends Continence is translated to Bladder, so existing items do not need to be rebuilt. 2. Main HUD Choices ------------------- Use only one main HUD controller in an object. Standard HUD Script: gridlife_hud.lsl v1.14 A smaller floating-text HUD with dynamic server stats, illness information, profile settings, alerts, and website login. Classic HUD Controller: gridlife_hud_classic.lsl v2.13 Meter: gridlife_meter_classic.lsl Preserves the original linked HUD layout and object-message compatibility. Do not run the standard and classic controller scripts together. Remove the old controller before installing a replacement. 3. Installing the Standard HUD ------------------------------ 1. Put gridlife_hud.lsl in the HUD root prim. 2. Remove any classic controller from the same object. 3. Reset the script and attach the HUD. 4. It renames itself to GridLife HUD (v1.14). 5. Touch the HUD to open its menu. Standard HUD menu: - Refresh: immediately reload stats and conditions. - Web Login: creates a one-time website login code and link. - Profile: set roleplay Gender and Age. - RP Chat Off / On: control nearby-chat illness and critical-need emotes. - Hide / Show: hides or restores floating text. - Close: closes the dialog without hiding the display. 4. Installing the Classic HUD ----------------------------- 1. Put gridlife_hud_classic.lsl in the controller/root prim. 2. Put gridlife_meter_classic.lsl in the linked meter prim. 3. Remove gridlife_hud.lsl from the same object. 4. Reset both scripts and reattach. 5. Touch the HUD and use Profile to set Gender and Age. 5. Profile and Website Login ---------------------------- Profile > Gender supports Female, Male, Hermaphrodite, Nonbinary, and Unknown. Profile > Age supports Child, Adult, and Unknown. Age Adult is required for optional reproduction roleplay. Gender and reproductive role are separate settings. Web Login generates a single-use code that expires after 10 minutes. Follow the provided link to open the player dashboard. The dashboard includes stats, health, inventory, professions, animals, farms, cooking, books, notifications, preferences, and optional reproduction status. 6. Stat Decay and Health ------------------------ Needs decrease on the server using small randomized values. The HUD displays fractional values and normally refreshes every 60 seconds. Updated consumables also send a fast refresh signal after successful use. Health rules: - Health does not decrease while all other core needs are at least 50 percent. - Health decreases when any other core need falls below 50 percent. - Health decreases faster when any other core need falls below 25 percent. - Normal consumable effects cannot directly reduce Health. 7. Illnesses, Diseases, and Medical Treatment ---------------------------------------------- The main HUD displays active sickness and required medication. The website dashboard shows conditions, severity, symptoms, expiration, and medication. Active HUDs check the server illness engine every five minutes. Illnesses can occur naturally using the percentage-per-hour configured by an administrator. An illness may also name a risk stat, threshold, and multiplier. For example, Severe Dehydration becomes much more likely while Hydration is below its configured threshold. The five-minute check prorates the hourly chance; it does not apply the full hourly chance on every heartbeat. Contagious conditions can spread between players whose active HUDs report the same region and positions within the configured transmission radius. Each condition has its own transmission chance and radius. Only recently seen HUDs participate, and a player cannot receive a duplicate active copy of the same condition. The immunity time prevents immediate reinfection after diagnosis. At most one naturally occurring or transmitted condition is added per check. Administrators manage the complete illness catalog at /admin/illnesses. The CRUD editor controls identity, category, severity, symptoms, roleplay messages, duration, medicine and dose, random chance, low-stat risk, contagion chance and radius, immunity, and active status. Deactivation preserves existing history; permanent deletion also removes related player condition history. The standard v1.14 and classic v2.13 HUDs also provide optional local roleplay messages. This is enabled by default and can be switched off from the HUD main menu. An active illness may produce one of its symptom emotes. Health, Energy, Hunger, Hydration, Bladder, or Hygiene below 25 percent may produce a matching need emote. Routine messages have a 10-minute cooldown to avoid chat spam; a newly detected illness or recovery can announce immediately. Both HUD displays place the player name, level, and XP on the first line. Stat values are shown two per row with a vertical bar between them. If additional server-defined stats are added, they continue onto new two-column rows. Standard player progression is separate from profession progression. Level 0 requires 100 XP, Level 1 requires 200 XP, Level 2 requires 300 XP, and each later level requires 100 more XP than the previous one. The HUD shows progress toward the next level; unused XP carries over when a player levels up. Farming, cooking, resource gathering, quests, and medical rewards all use the same server-side level calculation. Ordinary HUD stat synchronization grants no XP. The Doctor HUD can: - Scan a nearby GridLife player. - Display needs, illnesses, severity, and required medication. - Treat active conditions when the doctor's GridLife inventory contains all required medication doses. - Consume the medication only after treatment succeeds. Illnesses may instead be configured as Self-care only or Doctor or self-care. For self-care, configure a medication item and dose count in Admin > Illnesses, then place that medication's stable item code in gridlife_consumable.lsl. Each successful Use Product action applies one dose to the oldest matching active condition. The illness resolves when its configured dose count is reached. A medication asset is not consumed when the player has no matching active illness. Prescription medication cannot be self-administered: an attempted direct use is rejected without consuming an in-world use. A doctor must carry the required prescription asset and administer it with the Doctor HUD. The starter catalog includes OTC cold, allergy, cough, pain, hydration, digestive, congestion, and nausea remedies plus prescription antibiotics, antivirals, insulin, inhalers, cardiovascular medicine, eye/skin antibiotics, epinephrine, corticosteroids, analgesics, and antifungals. The Doctor HUD is distributed as an official GridLife product. Administrators can retrieve its private source from authenticated website tools. 8. Consumables -------------- The consumable template uses a stable catalog item code. Item effects are read from the server rather than trusted from the in-world object. Setup values near the top of gridlife_consumable.lsl: - ITEM_CODE - ITEM_NAME - TOTAL_USES - VERSION - ACCESS_MODE The object names itself in this format: GridLife Tomato & Olive Oil x 5 (v1.0) Touch menu: - Use Product: consumes one use and applies the server-defined effects. - Access: owner selects Owner, Group, or Everyone. Access settings are stored in linkset data and survive script resets and region restarts. Successful use tells an updated HUD to refresh immediately. 9. Assets, Crates, Pantry, and Storage -------------------------------------- - gridlife_asset_crate.lsl deposits configured items into website inventory. - gridlife_pantry.lsl browses and withdraws stored items and seed packs. - gridlife_storage.lsl provides persistent world storage. - The website dashboard combines assets and seeds in unified inventory views. Catalog codes must match the website item catalog exactly. 10. Furniture ------------- gridlife_furniture.lsl supports toilets, showers, couches, beds, and other configured actions. It can activate automatically when an avatar sits anywhere in the furniture linkset. Effects, animations, cooldowns, and negative effects are configured on the website. gridlife_furniture_continuous.lsl applies configured stat changes repeatedly while one or more avatars remain seated. It is suitable for beds, couches, showers, toilets, and similar timed furniture. 11. Farming ----------- gridlife_farm.lsl provides persistent soil planting, watering, fertilizing, tending, pest control, disease treatment, growth, and harvesting. gridlife_crop_field.lsl provides the fixed-crop child-prim field: - The script belongs in the root prim. - Set SEED_MENU to the website seed menu name. - The crop child prim remains hidden while empty or growing. - The crop child prim appears when ready to harvest. - GROWN_LINK defaults to link 2 and may be changed for another mesh link. - Water, fertilizer, health, quality, pests, and disease persist on the server. - Harvesting does not erase pests or disease. - Tending may consume Hygiene through the HUD/server fallback. All produce can grow in any season. Correct-season crops take half the normal growth time. Greenhouses may provide their own configured seasonal behavior. 12. Cooking and Recipes ----------------------- gridlife_cooking.lsl supports server-built recipes and multiple preparation steps. Recipes may require: - A cutting or preparation board. - A skillet, pot, oven, or other appliance. - Tools such as a kitchen knife or meat cleaver. - Prepared ingredients produced by earlier recipe steps. - Timed cooking stages and collection of the finished output. Cooking XP and recipe output are recorded on the server. Recipes can be built with labeled website forms so administrators do not need to write JSON. 13. Skill Books and Professions ------------------------------- Wear a configured GridLife skill book to study. Reading progress is stored on the server and survives detaching, resets, and region restarts. Completing a book awards configured profession XP, skill points, or levels subject to its repeat and cooldown settings. Professions include systems such as Farming, Cooking, Ranching, Mining, and Fishing. Progress, levels, and unlocks appear on the website dashboard. 14. Animals and Husbandry ------------------------- gridlife_animal.lsl supports persistent: - Species, name, and sex. - Age and maturity. - Health, happiness, water, feed, and hay. - Product collection such as milk or fertilizer. - Breeding, pregnancy, cooldowns, birth, and offspring delivery. Animals automatically search nearby registered troughs when their corresponding need is low. Troughs may hold water, animal feed, or hay. Animals must meet the configured maturity and care thresholds before breeding or producing products. The website shows each animal's sex and care status. Editing an animal does not require resetting every stat to 100. 15. Resource Nodes and Tools ---------------------------- Mining and fishing nodes are persistent public world resources. - gridlife_mining_node.lsl uses a configured mining resource code. - gridlife_fishing_spot.lsl uses a configured fishing resource code. - gridlife_tool.lsl is worn and configured with a tool code. Common tool codes: - mining_pickaxe - fishing_pole - kitchen_knife - meat_cleaver Resource definitions control output items, quantities, action time, respawn, maximum uses, XP, level requirements, and required tools. 16. Composting -------------- The composter stores its state on the server. Players add configured compostable inventory, wait for processing, and collect fertilizer when ready. Capacity, accepted materials, processing time, output, and quality bonuses are managed by the world system and website administration. 17. Marketplace and Vendors ---------------------------- - gridlife_vendor.lsl sells configured stored items or sends gifts. - gridlife_seed_vendor.lsl sells database-priced seeds without hard-coded payees. - gridlife_market_ad.lsl registers an in-world destination. - gridlife_market_board.lsl browses active listings and opens the map. 18. Delivery and Product Updates -------------------------------- The Delivery Server fulfills registered website delivery jobs using the exact inventory object name. Product names in the website release must match the delivery server's inventory. The GridLife updater supports normal and no-copy customer products: 1. Register the product at /admin/updates. 2. Configure PRODUCT_CODE, PRODUCT_VERSION, and UPDATE_KEY. 3. Put gridlife_updater.lsl in the product root and distribute it no-mod. 4. Publish a release with the replacement object's exact inventory name. 5. Keep an online GridLife Delivery Server stocked with the replacement. For a no-copy customer product, the merchant's delivery master must remain copyable and transferable while next-owner copy permission is disabled. 19. Persistence and Region Restarts ----------------------------------- Supported farming, cooking, animals, storage, composters, books, resources, inventory, skills, illnesses, and reproduction records are stored in MySQL. Script resets and region restarts should reload current state from the server. An object still needs its correct stable object UUID, owner, item/resource code, and current script. Deleting an object from the website or replacing it with a new object UUID may create or require a new record. 20. Troubleshooting ------------------- HUD says Connection failed Confirm the site and API status are online, the object is attached, and only one main HUD controller is running. Reset the current script. Touching HUD hides text or opens no menu Install the current HUD version and remove duplicate/old controller scripts. Stats do not decrease Wear an updated HUD and allow the server heartbeat to run. Stat decay is server-authoritative and may use small fractional changes. Stats do not update after using an item Update both the consumable and the main HUD. The normal heartbeat will still recover the current state if an in-world refresh signal is missed. Raw JSON appears in chat Update the affected object script. Current scripts translate API errors into readable messages. Item not found Confirm the script's item code and delivery inventory name exactly match the active website catalog/release record. Data disappears after reset Confirm the object is using a persistent server-backed script and has reached the API at least once. Check the website record before deleting or replacing the object. Reproduction HUD says Adult required Install v1.2, set Profile > Age > Adult in the main HUD, reset, and Refresh. 21. Current Product Scripts --------------------------- GridLife LSL source is private. Players receive current scripts inside official GridLife products. Administrators use the authenticated script generators and private source downloads in the admin portal. Public direct source URLs are blocked. Reproduction manual: https://gridlifesl.com/LSL/REPRODUCTION_HUD_MANUAL.txt Update instructions: https://gridlifesl.com/LSL/UPDATE_INSTRUCTIONS.txt 22. Support Information to Provide ---------------------------------- When reporting a problem, include: - Script filename and version. - The complete local-chat error message. - Object name and type. - Action selected. - Whether the script was reset or the region restarted. - Whether the related record appears on the website. Never post private updater keys, API tokens, database credentials, or webhook URLs in public support messages. DEPOSIT-ONLY WALLET ------------------- Your GridLife wallet balance appears on the player dashboard. To add funds, use an official GridLife Wallet Terminal: right-click the terminal, choose Pay, and choose or enter a Linden dollar amount. One L$ adds one wallet unit. Deposits are recorded in your wallet history and can be used for GridLife marketplace purchases. Wallet funds cannot be withdrawn or cashed out by a player. If a terminal receives an explicit server rejection it refunds the payment automatically. If the network reply is uncertain, check the website wallet history or contact support before paying again; the terminal deliberately avoids an automatic refund when the server may already have credited the account. VETERINARY CARE AND ANIMAL MORTALITY ------------------------------------ GridLife animals can develop persistent illnesses and diseases from random risk, poor care, or exposure to a contagious animal. Their water, feed, hay, health, happiness, diagnoses, quarantine state, and medical history are stored online. The Veterinary profession uses the wearable GridLife Vet HUD. A veterinarian can scan for living animals within 20 meters, select one, request owner permission, perform an examination, review recent medical records, and carry out unlocked procedures. Treating another player's animal requires the owner to approve a temporary 30-minute access request through the animal's menu. Owners may always care for their own animals. Procedures may require a Veterinary level and supplies from the veterinarian's GridLife asset storage. Examinations and successful procedures award Veterinary XP. Available procedures, requirements, effects, and rewards are managed from Admin > World operations. Poor care has real consequences. Low water, feed, hay, happiness, illnesses, and untreated disease can reduce health. At critical health the owner receives an urgent warning. An animal that reaches zero health is recorded as deceased and its current in-world object removes itself when running animal script v2.3 or newer. Death and veterinary actions remain in the medical record for support and administration. Deceased animals cannot breed, produce products, consume trough supplies, or receive treatment. One water, feed, or hay trough unit restores 10 percentage points of the matching need. Animals seek a compatible nearby trough below 90%, preventing small herds from emptying a 100-unit trough unrealistically fast. The Veterinary HUD and animal scripts are distributed as official GridLife products. Administrators can retrieve private source through authenticated tools. Veterinary HUD manual: https://gridlifesl.com/LSL/VETERINARY_HUD_MANUAL.txt