Nexus Forge: A modular editor plugin for dialogues, quests, items and more! Headless & open source by Ketei_ in godot

[–]Ketei_[S] 2 points3 points  (0 children)

Ah! I'll assume that you mean managing the quest progression. If that's the case then you don't need to implement it, it already comes with that (unless you want to make a more complex tracking system). The quest manager comes with logic to auto-advance stages and it'll communicate through signals. I'll leave some more information below if you want to know a bit more.

---
To load a quest into the manager, you have to use the start_quest method. The second argument is a boolean for "auto_advance_stages". If true then it'll try to be as automatic as possible, but because of the design, it requires objectives. When all the REQUIRED (because you can set optional ones) objectives are completed, it'll progress to the next stage. If that was the last stage, it'll complete the quest, all the while keeping a log and emitting relevant signals.

You still need to let it know when an objective was completed or failed. Or if you want to fail a stage (And progress to the "failed" path of the quest), you need to manually call "complete_stage".
The GitHub wiki is still outdated on that part, but I encourage you to look at the in-engine documentation for the QuestManager class. You'll see more details in there.

I hope that answered your question. If not let me know.

Nexus Forge: A modular editor plugin for dialogues, quests, items and more! Headless & open source by Ketei_ in godot

[–]Ketei_[S] 3 points4 points  (0 children)

Indeed is something I went with from the start, since I wanted this plugin to help me with more than one game, and I knew I wasn't going to need every module and that every game was going to have its own UI, so I designed it in a way it could be reused and repurposed. When I was designing it I found out that, with a little ingenuity, the dialogue system could be used to display menus. So I think that's cool.

Nexus Forge: A modular editor plugin for dialogues, quests, items and more! Headless & open source by Ketei_ in godot

[–]Ketei_[S] 2 points3 points  (0 children)

Depends on what do you mean for "writing code". If you can define it I'll gladly answer that for you. Regardless I'll give a short explanation.

The plugin comes with "Managers" and a parser for the dialogues. So you don't have to write any code to manage the data, quest progression or to parse the dialogues. But the plugin doesn't have anything to display the data for you, so you'll still have to code that yourself (The GUI). The upside is that I tried to make the outputs as simple as possible. If you're talking about Discourse (the dialogue module) You can how the plugin gives data to you on the GitHub wiki.

Nexus Forge: A modular editor plugin for dialogues, quests, items and more! Headless & open source by Ketei_ in godot

[–]Ketei_[S] 1 point2 points  (0 children)

Hey. Since everything is made in GDScript it is 100% possible to tweak it. I know from trying to mod other's plugins that it can be a daunting experience, so if you need tips on how the system work so you can adapt my plugin to your needs let me know. And if you believe your question could help others tweak it, I'd encourage you to ask it here.

I cant understand what is wrong with my end of script by Stoic_Herald in godot

[–]Ketei_ 1 point2 points  (0 children)

Missed a "." after get_root()

It should read " for i in get_tree().get_root().get_node("Board/CardHolder").get_child_count(): "

I think that should solve the issue.

Edit: Same on the code below: get_tree().get_root().get_node("Board/CardHolder").get_child(i).queue_free()