Good News, I have completed the basic Questing system, I have a youtube video for it, please see link below.
This is a beta quest system, I still need to make it display quests that are currently in known to the player, but not active, and completed quests.
The system allows a quest to have as many steps as its needs. again this system is working first then I will make it looks more fancy and I will replace the panel with image support to give game makers a way to make it look more custom for their game.
Youtube Link:
https://youtu.be/QB-LMpAe2i0
Specs:
Quests currently have a Name, this is used for the update messages, so "Quest Kill The King updated" (where Kill The King is the name) a Description that provides a story / more detail for the quest, and is always displayed in the quest box with the name
Internal it has a status, unknown, active, completed.
Currently the reward for my demo quest is 100 Gold, now this does tie into the RPG system, so will make a more complex system to allow a Game Maker to give health boosts, money, ect all working with the RPG System
Scripts for AI and alike all can call in features to find their quest status, and what step the player is at, update the step, ie: completed this step. so maybe talking to a AI player or killing a player updates a required step
The system will then move to the next step, so in my demo, the AI asks for food, you find food, the next step says to return to the person, as displayed and then updates to ask for water, then return to the person...
When stages are completed, it displays a updated message for the quest auto with the quest name, this is displayed for 5 seconds, bottom middle of screen, this is ontop of any text you may wish to display as part of the script.
CompleteQuest is used to move a quest to the completed status, rewards are given / controlled at the moment via the script that the AI use to display their thanks.
To display the Active quest panel a player needs to press and hold down p. but this will be moved to a more configure setting.
...As always, feed back / comments / ideas are always welcome!