Living Meters | AI Dungeon

Living Meters

LIVING METERS - SharedScripts Edition v1.0.0 Living Meters turns tracked numbers into behaviour the AI plays out. Fuel, rations, water, condition, gold: each drifts on its own, reacts to what the story says, and reaches the AI as an instruction about how your character should feel and behave, never as a stat line. At Water 18/100 the AI is not told "Water 18". It is told the character's mouth is dry and they are rationing every sip, so it writes a thirsty character rather than reciting a number. WHAT SHIPS WITH IT Fuel 0-100 Burns cost it. Refuelling refills it. Rations 0-100 Drains every turn. Meals and caches refill it. Water 0-100 Drains every turn. Drinking refills it. Condition 0-100 Injuries cost it. The medbay restores it. Gold from 340 Spending costs it, selling pays it. Gold reads the real figure out of the story: "you pay your fine of 300 gold" costs 300, not a fixed amount guessed in advance. Digits, 1,200 with a comma, and "three hundred" written out all work. BEFORE YOU START Memory Bank must be ON: Settings > Gameplay > Memory System > Memory Bank. The configuration lives in story cards, so without it the script cannot create them. The meters still run on their defaults, unchangeable. HOW TO CONFIGURE IT You never edit the script. On your first turn it creates its own cards: "Living Meters" The dashboard. NOTES lists every setting with its default; ENTRY shows your meters and explains them. "LM: fuel", etc. One card per meter. NOTES is its definition, ENTRY explains the format. Neither card is shown to the AI. Edit NOTES, close the card, and the change takes effect next turn. Dashboard settings, all editable, all explained on the card itself: difficulty easy, normal or hard. Scales losses only. statusEvery Show the full status every N turns. 0 is off. inject context, frontMemory or none. See the note below. injectLabel The wording that introduces your status to the AI. haltOnCommand commandOutput see COMMANDS below announceBandChanges toastSeparator how you are notified scanInput scanOutput negationGuard what moves the meters debug Diagnostics into the Console Log panel. You can also retune any single meter from the dashboard: gold.start = 500 water.perTurn = -2 fuel.max = 120 water.visible = off fuel.off fuel.on Delete a line to go back to its default, and # starts a comment. A setting you spell wrong is reported by name rather than silently ignored. CHANGING A METER PROPERLY Open that meter's own card. Its NOTES field looks like this: id = water label = Water min = 0 max = 100 start = 80 perTurn = -1.1 band 25 | short | Water is short. The character's mouth is dry. band 100 | ok | trigger both 32 | drink, drank, condensate A band is what the AI is told at or below that value. A trigger is a list of words that move the meter; a trailing * lets endings count, so loot* matches looted and looting. Add "amount" and it reads the figure out of the story, the way Gold does: trigger both -8 amount | pay, paid, fine, toll Delete a card to stop tracking that meter. To add one, make a card of type "Living Meters Resources" with an "id = ..." line. COMMANDS /status show every meter /gold +50 add to one. Also -50 to subtract, =500 to set, /gold to check just that one /set k v change a setting, e.g. /set statusEvery 5 /set list your changes /restore restore starting values /restore cards write back a resource card you deleted /set preset x swap the whole meter set. DELETES every resource card and writes the new set instead /help this list Two ways to see a reply: commandOutput = on The reply is written into the story in place of the AI's response. One generation, no error. This is the default. haltOnCommand = on The reply is a pop-up and the turn stops, costing no generation, but AI Dungeon marks the stopped turn with a red "Action processing failed internally" error. Set commandOutput = off to use this route. IF THE METERS SEEM TO BE IGNORED Some models use Optimized Context, where the platform throws away what the script adds to the prompt. The meters still track, the AI just never hears about them. One line on the dashboard fixes it: inject = frontMemory That route survives Optimized Context, lagging a turn. SUPPORT Questions, bugs and requests: https://discord.com/channels/903327676884979802/1534133778807652382 LICENCE Living Meters Personal Use License v1.0. Free to use in your own play. Copyright (c) 2026 Oratorian (Jedziah / Mahesvara).

Cover art for Living Meters, a script scenario on AI Dungeon