| CharakterStatusManager is a modular Virt-A-Mate plugin for building dynamic character status, progression systems, trust systems, and story context using text blocks and counter blocks. It was originally designed as a bridge between VaM and Voxta, allowing scene state, progression, and context information to be structured inside VaM and then passed on in a controlled way to external story or AI systems. The plugin supports two main block types. Text blocks are used for static or descriptive text, while counter blocks are used for values that can increase or decrease during gameplay or scene interaction. Each counter block can have multiple thresholds, and each threshold can have its own trigger actions. Counter blocks also support an optional maximum value. If no maximum value is entered, the counter has no upper limit. All blocks are combined into a live preview system. You can view the currently selected block as well as the full combined output of all active blocks. This makes the plugin useful for character context management, story state tracking, trust or affection systems, and other scene logic where text and values need to stay consistent. |
| The generated output can also be sent to selected targets in the scene. This makes it possible to use the plugin not only as a visible status system, but also as a context source for external plugins. In particular, it can be used to drive Voxta context through the configured Aim/target output, allowing story or AI systems to react to the current scene state, trust level, progression stage, outfit state, or other tracked values. Blocks are displayed in alphabetical order. If you want a custom order, you can sort them by adding numbers at the beginning of the block names, for example 01_Intro, 02_Trust, 03_Outfit, 04_Status. This is the recommended way to control block order. For best results, load the plugin on a neutral utility atom such as Empty, especially if you want to use it in subscenes or as a reusable scene system. This helps avoid tying the plugin directly to a Person atom when it is mainly used as a logic and context manager. The plugin also supports preset saving and loading. Before saving a preset for the first time, make sure the folder Custom/Scripts/flurol/CharakterStatusManager/Presets/ exists. Then create an empty file named MyPreset.json inside that folder. After that, use Open Preset Browser to select the file, and then use Save to Selected File or Quick Save. If the folder or file does not exist yet, VaM may fail to save the preset. This plugin can be used for many different scene systems, including trust systems, progression systems, relationship stages, scene-dependent context, or state-driven storytelling. It is especially useful when combined with Voxta or similar story/AI systems, because it was designed specifically to act as a structured link between VaM scene logic and external story context. |
1. Load the plugin on a neutral utility atom such as Empty. This is recommended especially if you want to reuse it in subscenes or use it mainly as a logic and context manager instead of attaching it directly to a Person atom.
2. Create blocks with Add Text Block or Add Counter Block. Text blocks are useful for descriptive state text, while counter blocks are useful for progression values, trust systems, affection systems, and other gameplay-like counters.
3. Select a block from the block chooser to edit it. You can change the block name, aText, bText, and cText. Counter blocks also allow you to edit Add1, Add2, and Add3 step values, define an optional Max Counter value, and create thresholds with separate trigger actions.
4. Thresholds can be added to counter blocks with Add Threshold. Each threshold has its own name, value, and Action on Trigger setup. This allows multiple progression stages or trust milestones to be managed inside a single counter block.
5. The full output of all active blocks is shown in the Full Preview field. The currently selected block also has its own live preview. This helps you keep story state and visible context organized while editing.
6. Blocks are displayed in alphabetical order. If you want a custom order, add numbers at the beginning of the block names, for example 01_Intro, 02_Trust, 03_Outfit, 04_Status. This is the recommended way to control block order.
7. The generated output can be sent to selected targets in the scene. This makes it possible to use the plugin as a bridge between VaM scene logic and Voxta context output. For example, you can build trust, status, outfit, or progression text in VaM and forward it through the configured Aim/target system to Voxta or another compatible target.
8. To use preset saving, make sure the folder Custom/Scripts/flurol/CharakterStatusManager/Presets/ exists. Before saving for the first time, create an empty file named MyPreset.json inside that folder. Then use Open Preset Browser to select that file, and use Save to Selected File or Quick Save. If the folder or file does not exist, saving may fail.
9. For the cleanest workflow, use the plugin as a structured state layer inside VaM. Story logic can stay in Voxta, while VaM-specific state, triggers, visible status text, and context output can be managed here.