Description
Changelog
Reviews (0)
DialogueDSL(or DDSL) is a plugin for Godot 4.6+ for creating script-based dialogues with GDScript integration, providing backend that connects to custom UI via a simple interface
Source code and latest versions on Github. Issues and potential feature requests can be reported on the project's Github Issues
Features
- built-in syntax highlighting for
.ddsldialogue scripts - translation support
- no dependencies
- integration with GDScript
- simple interface for creating dialogue UI
- custom input types creation
- structured branching over jumping
Documentation
Usage
In GDScript
# async
Dialog.start(
"res://path/to/dialogue.ddsl",
Dialog.Options.new(
{}, # variables
{}, # constants
false, # singleton access from script, false = sandboxed
),
_callback, # receives Dictionary[String, Variant] of script's variables as sole argument
)
# OR
# retrieve the script's internal variables after it's finished, as Dictionary[String, Variant]
var variables = await Dialog.start(
"res://path/to/dialogue.ddsl"
# no options = default
# no callback on finish
)
Example Script
edwin = ^"res://sprites/portraits/edwin.png"
edwin: "Hello, little rover. Are you lost?" { autoconfirm = true }
<- option
- "Yes"
edwin: "Oh, well, we can't have that here. Come, follow me"
Cutscenes.trigger("edwinTavernWalk")
- "No"
edwin: "Are you sure? Well, then... Hope this helps you in your journey"
Inventory.add("potion/health2")
edwin: "If you need me, you can find me in my tavern"
Plans
- add built-in UI
- add loops
- add separate editor for
.ddslscripts - improve sandboxing
Changelog for version 1.2.1
No changelog provided for this version.