I’ve got one more for you. I’m trying to think of the best way to populate the dialogue database item table with quests automatically. Every time I reimport from yarn, I have to repopulate my test quest by hand. Is there an API for quest/item creation from script? I couldn’t find anything about it in the docs.
Then assign one database (e.g., the Yarn-imported database) to the Dialogue Manager’s Initial Database field. Add an Extra Databases component to the Dialogue Manager, and assign the other database to it.
It integrates with other assets in the sale such as DeepVoice AI, Adventure Creator, and uSurvival, as well as many other assets and generative AI APIs.
You can use the addon to speed up prototyping and significantly reduce the time it takes to finish your game. You can also use it to run dynamic dialogue generated by AI at runtime!
I’ve got one more yarn-related question for you. I’m trying to dig into the yarn importer a bit to see if I can control the export logic a bit better. Particularly, I want to create custom yarn commands that the importer will interpret to a) restart a conversation and b) loop back to the most recent set of options. For the first one, I tried using the jump command and just naming the conversation node I was already in, but the importer output generated unreachable nodes.
Unlike some custom commands, where it’s fine to register them in LUA and have them execute at runtime, I need these to execute during import, basically making a link back to an earlier part of the conversation (or the start). I’m happy to dig and experiment, but I figured I’d ask if there are any issues I should be aware of inside the reader/writer. And of course if you can think of a straightforward way to handle something like this, that would be great!
Thanks for any thoughts you have!
EDIT: I noticed there are some LUA methods for creating a temporary conversation stack. Maybe it would make more sense to leverage those?
Hi! Can you express the loop-backs in Yarn itself (e.g., a jump)?
If not – that is, if it depends on the runtime state – it might make more sense to use the Lua conversation position stack like you mentioned. Or you could write a custom C# method to jump to where you want to, and register that method with Lua so you can call it in your Yarn text.
Thanks, yeah, I’m realizing that a registered Lua function probably makes sense for both cases. I’ll try the position stack for internal loops, but can you tell me if there’s a simple Lua function to restart a conversation entirely? I couldn’t find one easily in the docs.
By the way, the problem with yarn’s jump is that it only goes to new yarn nodes, which are whole new conversations in Dialogue System. So for any looping inside a conversation (even if it doesn’t depend on runtime), as far as I can tell jump doesn’t work.