mirror of
https://github.com/vegu-ai/talemate.git
synced 2026-09-02 12:09:31 +02:00
84 lines
2.4 KiB
Markdown
84 lines
2.4 KiB
Markdown
|
|
# Input Nodes
|
||
|
|
|
||
|
|
Receive and process player input inside the scene loop.
|
||
|
|
|
||
|
|
<!-- glossary:generated - everything below this line is generated by `python -m talemate.game.engine.nodes.tools glossary --write` - do not edit -->
|
||
|
|
|
||
|
|
|
||
|
|
_2 nodes._
|
||
|
|
|
||
|
|
| Node | Registry path |
|
||
|
|
| --- | --- |
|
||
|
|
| [Process Input](#process-input) | `input/ProcessInput` |
|
||
|
|
| [Get Input](#get-input) | `input/WaitForInput` |
|
||
|
|
|
||
|
|
## Process Input
|
||
|
|
|
||
|
|
`input/ProcessInput`
|
||
|
|
|
||
|
|
Node module (base type `core/Graph`) defined in `src/talemate/game/engine/nodes/modules/scene/process-input.json`.
|
||
|
|
|
||
|
|
**Inputs**
|
||
|
|
|
||
|
|
| Input | Type | Description |
|
||
|
|
| --- | --- | --- |
|
||
|
|
| `text` | `str` | |
|
||
|
|
| `interaction_state` | `interaction_state` | |
|
||
|
|
| `character` | `character` | (optional) |
|
||
|
|
|
||
|
|
**Outputs**
|
||
|
|
|
||
|
|
| Output | Type | Description |
|
||
|
|
| --- | --- | --- |
|
||
|
|
| `text` | `str` | |
|
||
|
|
| `interaction_state` | `interaction_state` | |
|
||
|
|
| `cleaned_input` | `str` | |
|
||
|
|
|
||
|
|
## Get Input
|
||
|
|
|
||
|
|
`input/WaitForInput`
|
||
|
|
|
||
|
|
Get input from the user to interact with the scene.
|
||
|
|
|
||
|
|
This node will wait for the user to input a message, and then return the message
|
||
|
|
for processing.
|
||
|
|
|
||
|
|
Properties
|
||
|
|
|
||
|
|
- allow_commands: Allow commands to be executed, using the ! prefix
|
||
|
|
|
||
|
|
Abort Conditions:
|
||
|
|
|
||
|
|
The chain of nodes connected to the abort_condition socket will be executed
|
||
|
|
on each iteration of the input loop. If the chain resolves to a boolean value,
|
||
|
|
the input loop will be aborted.
|
||
|
|
|
||
|
|
You can use this to check for conditions that should abort the input loop.
|
||
|
|
|
||
|
|
**Inputs**
|
||
|
|
|
||
|
|
| Input | Type | Description |
|
||
|
|
| --- | --- | --- |
|
||
|
|
| `state` | `any` | The current graph state |
|
||
|
|
| `player_character` | `character` | (optional) The player character |
|
||
|
|
| `reason` | `str` | (optional) The reason for the input |
|
||
|
|
| `prefix` | `str` | (optional) The prefix for the input message (similar to a cli prompt) |
|
||
|
|
| `abort_condition` | `any` | (optional) A condition to abort the input loop |
|
||
|
|
|
||
|
|
**Outputs**
|
||
|
|
|
||
|
|
| Output | Type | Description |
|
||
|
|
| --- | --- | --- |
|
||
|
|
| `state` | `any` | The state input, passed through |
|
||
|
|
| `input` | `str` | The input message |
|
||
|
|
| `interaction_state` | `interaction_state` | The interaction state |
|
||
|
|
| `character` | `character` | The character object |
|
||
|
|
|
||
|
|
**Properties**
|
||
|
|
|
||
|
|
| Property | Type | Default | Description |
|
||
|
|
| --- | --- | --- | --- |
|
||
|
|
| `reason` | `str` | `"talk"` | The reason for the input |
|
||
|
|
| `prefix` | `str` | `""` | The prefix for the input message (similar to a cli prompt) |
|
||
|
|
| `allow_commands` | `bool` | `True` | Allow commands to be executed, using the ! prefix |
|