What Is the Inventory System?
The CSMS inventory system lets you pick up, drop, give, and throw items using natural language — no menus, no clutter. Your character sheet automatically tracks what you're carrying, and the AI always knows what's in your hands.
Prefix the action in your input with act_ and the script handles the rest.
act_ prefix is stripped before the AI ever sees your input. What the AI reads is clean prose — exactly as you wrote it, just without the prefix.
Basic Usage
Add act_ directly before the action keyword anywhere in your input. Everything before and after is preserved.
| What you type | What the AI sees |
|---|---|
I walk over and act_grab the briefcase. | I walk over and grab the briefcase. |
act_drop the knife on the floor. | drop the knife on the floor. |
Alex act_hand the folder to Marcus. | Alex hand the folder to Marcus. |
I turn and act_throw the bottle at the guard. | I turn and throw the bottle at the guard. |
Keyword List
Any of these words after act_ will trigger the inventory system:
| Action | Keywords | Effect |
|---|---|---|
| Take | take, grab, pick up, collect, retrieve, get, acquire, tuck | Adds item to your inventory |
| Drop | drop, discard, throw away, leave, abandon, let go of | Removes item from your inventory |
| Give | give, hand, pass, offer, deliver, transfer, slide, shove | Transfers item to another character |
| Throw | throw, toss, hurl, fling, chuck, lob | Removes item, optional target character |
Taking From Another Character
Use from followed by their name:
act_take documents from Sarah
act_grab the keycard from the guard
I reach over and act_take the envelope from Marcus.
Giving to Another Character
Use to followed by their name. The item must be in your inventory first:
act_give the documents to Sarah
I lean across the table and act_hand the keycard to Marcus.
act_give her the files will fail. act_give files to Sarah works.
Throwing at a Target
Use at followed by a name, or throw with no target to discard:
act_throw the bottle at Marcus
act_hurl the knife at the guard
I pull the pin and act_toss it away.
Throwing removes the item from your inventory regardless of whether it hits. The AI narrates what happens next.
Your Inventory on the Character Sheet
Your inventory lives in the Notes field of your 📋 card, inside the [Inventory] block:
[Inventory]
- leather jacket
- burner phone
- P99-Pistol
- crumpled note "Meet at pier 7, midnight"
[Ordinances]
-
You can edit this directly — open your 📋 card in the Story Cards panel and add or remove items manually. The script reads it automatically on the next action.
- . Items with embedded text use quoted format — - note "text here". The quoted text is part of the item name, not a comment.
Item Naming Tips
The script matches items by exact name (case insensitive). What you type to pick something up is what gets stored — and what you need to type to interact with it later.
| Situation | Recommendation |
|---|---|
| Multi-word items | P99-Pistol, Glock-17 — hyphens keep the name together cleanly |
| Multiple of the same item | Each appears as a separate line — - knife twice means two knives |
| Specific vs generic | act_take knife ≠ act_take sharp knife — be consistent with naming |
| Stacking notation | bottle x3 works as a name — but you must type it exactly each time |
When You Don't Have the Item
If you try to drop, give, or throw something you're not carrying, the script replaces your input with a natural failure — the AI narrates the moment gracefully:
— You type —
I walk to the desk and act_drop the keycard.
— You don't have it, so the AI sees —
I walk to the desk and reach for the keycard, but realize it isn't there.
— The AI narrates —
Your hand moves to your jacket pocket out of habit, but comes up empty.
The keycard isn't there. You stand at the desk, momentarily at a loss.
Rules & Limitations
One item at a time
Each act_ inventory command handles a single item. For multiple items, use separate inputs:
act_take Glock-17 from Marcus
act_take P99-Pistol from Marcus
One inventory act_ per input
If you include two inventory actions in one input, both will fire:
I grab Marcus by the collar and act_take his keycard. ✅
act_take the knife and act_tuck it into my belt. ⚠️ (both fire — item added twice)
Receiver must have a character sheet
You can only give to or take from characters with a 📋 sheet. Generic NPCs like "the guard" or "the clerk" aren't tracked unless a sheet exists for them.
No pronouns for receivers
act_give him the gun will fail. act_give gun to Marcus works. Always use the character's actual name.
Location phrases are stripped automatically
act_drop wallet on the desk — "on the desk" is stripped from the item name. What gets removed is "wallet", not "wallet on the desk".