QuestX
QuestX
Quests & Reputation
QuestX brings to you custom quests. You can design every aspect of a quest, anyone can design a quest using QuestX script. Quests will have customisable rewards and an effect on your characters reputation. Your character's reputation is an important feature in determining how you are treated by NPC's and other players. You will have to reach a certain reputation level in order to unlock some quests.
Quests support the same customisation as tasks except you can have multiple objectives and include a variety of NPC's in the quest.
Tasks
In addition to quests you will also be able to create your own tasks, these are similar to quests but are much shorter and are intended to provide further immersion and interaction with the world. These tasks will also have custom rewards and affect your reputation.
What you will be able to customise for each Task:
- Name of the task
- Task description
- What items need to be gathered
- How many entities need to be killed (Supports multiple entity types)
- What NPC's need to be killed
- The speech shown to a player if he has not completed a task
- The speech shown to a player upon completing a task
- The items the player receives as an award (Supports multiple items and data values)
- The exp a player will be awarded for completing a task.
- The reputation a player will receive for completing a task.
- The gold (economy currency) a player will receive for completing a task.
- The permission nodes to add/remove from a player when completing a task.
Roaming NPC's
A key feature of QuestX is that there will be roaming NPC's. No longer will you have to travel to a fixed location to find an NPC. They will be randomly walking around a pre-defined area. There will be fixed 'areas' where you have to go to start a certain quest or task but many NPC's you encounter will spawn dynamically so you never know who you might encounter.
NPC's themselves are highly customisable. You will be able to customise the following:
- Whether the NPC will load or not, easy to toggle on/off if you don't want certain NPC's spawning,
- The name of the NPC
- The colour of the NPC's name (optional - will require TagAPI)
- If the NPC will move around a fixed location or just stay in a certain spot all the time.
- If the NPC can be attacked
- If the NPC is agressive (Will attack players in a certain 'reputation' threshold, more on this later)
- Minimum and maximum number of ticks the NPC will wait between moving (A random number is chosen between these 2 values)
- The distance they will travel from their spawn point when they are walking about randomly.
- How many server ticks until the NPC will respawn if killed.
- The health of the NPC
- The damage the NPC will do when it hits a player
- How far the NPC will chase a player if attacked
- What the NPC will drop when it is killed, supports multiple items, item data and percentage chance drops with 0.01% precision.
- What armour the NPC will wear, including weapon.
- The reputation to award a player upon killing an NPC.
- The gold to award a player upon killing an NPC.
- The exp to award a player upon killing an NPC.
- The commands a player will execute upon killing an NPC.
- The commands the server wil lexecute upon killing an NPC.
Dialogue
With QuestX I am also trying to fill the gap that is interactivity with NPC's. Every NPC will have its own dialogue file which is fully customisable, it has to conform to a certain format so that it can be parsed and interpreted into a Dialogue tree. This means you can have multiple chat dialogues for an npc. Put simply every chat option you choose to say to an NPC will be met by a different response and a different selection set in turn. Speech options can be set so that only players with a certain reputation level can say certain things which will result in different responses. Each Speech option can have a trigger to start a task or quest.
@bdf1992
Good idea, I've set up the forums, I don't think they are visible to normal users until the first file has been uploaded.
@Coldazz I'm pretty sure that the rendering of names is client side, so unfortunately this is probably not configurable.
Yes this should work alongside Citizens, it hasn't been tested though so i'm not sure how it would handle duplicate names. QuestX works differently to Citizens and with the way each NPC can assign tasks I don't think it would be viable to have multiple NPC's with the same name. However I am going to be adding a lot more NPCs so there shouldn't be any shortage of them to interact with.
@Adamki11s
Hi
I don't know if this is possible but can you make it so that you can configure what range of blocks you'll need to be to see a NPCs nametag? (over head name)
And does this plugin add own NPC or do we need to use Citizens 2? Since im using Citizens it would be greate if it does work with it.
EDIT: never mind i now see it does add NPC but since im using Citizins 2 and with Citizens you can add multiple NPC with the same name so i would like it to be like that with this plugin as well.
Would you mind setting up the forum page on here for the users?
Something like this for when people need help when we start working on it. http://dev.bukkit.org/server-mods/variabletriggers/forum/
Awesome on the submission, just 3-ish hours away, hope it's reviewed quick, my project has been waiting on it :)
Your date threw me for a loop, in america it's day/month/year. Don't ask me why,
@siemaeniu500
Yes I have github, i'll probably be including a locale so other languages can be added
@Adamki11s
Yes. but some people want translate or edit source, so we need github :)
@siemaeniu500
I don't currently build with Maven so there will be no Jenkins page.
I don't currently have plans to add support for Citizens but if it is requested by a significant majority then I will certainly consider adding that functionality.
@Adamki11s
1. U Will create jenkins and github page? 2. This plugin support citizens?
@siemaeniu500
I'm hoping to be able to release a Beta version by Sunday at the latest. The dialogue options are fully customisable so yes this could be done.
As for more objectives they are definitely on the TODO list. I just want to work on basic implementation and getting everything working smoothly then I can start adding in more objectives.
1. When can u release beta / aplha ? 2. Can u add example: When player click on npc left there will show message '' You are ready for first quest <name quest>. Type Yes / No. 3. Can u add more objectives example:
- Kill mobs - Kill animals - Kill players - Break item - Damage item - Use item ( lever etc.) - Tame animal - Enchant item with... - Collect item - Catch fish - Shear sheep - Go to - Talk to - Craft something
@anisredbull
A good suggestion, but ultimately impractical I think. You would loose most of the customisation features of the NPCs and their dialogue files which cannot be 'created' in game.
I have gone to great efforts to extensively document how to create quests and it should be easy enough for most people to create a quest. Also once I complete the GUI it will be easier to manage all of your files and then compile them into a Quest.
[Suggestion]You can create quests in game.This will be great for those who dont know how to configurate a plugin or for the admins who dont have the console like my admins.
@bdf1992
@horse2950
Should be ready for a Beta release in 3-5 days tops.
It's not really Alpha any more as I have added a lot more features and tested the majority of them. The GUI should be completed in 2 weeks as getting the plugin stable is my main priority.
Pretty updates :D
THIS LOOKS EPIC!!!! Can't wait for it to come out! Good work!
@bdf1992
I'm still on plan for next week as expected. Maybe sooner depending on how things work out. As you can see on the todo list I have been updating, I have implemented most of the major features and carried out basic bug testing for them.
Quests and tasks are done, Quests will be added as zip files, unpacked and then they will need to be setup in game, ie by walking around and setting where you want the quest npc's to spawn.
Tomorrow I can start work on saving/loading of player reputation levels, then I plan to add config options for optional fireworks on task/quest completion. Then I can setup the world config options and max spawn thresholds etc. After that I need to work on NPC despawning, and then finally I can start cleaning up the code and 'hiding' the debug output and be ready for an alpha release.
Oh, and of course I need to add a few basic quests, tasks and NPCs to the plugin to get people started. I will of course add more over time and hope that the community will create their own NPCs, quests and tasks and share these to others. Which reminds me I need to setup a place where people can submit and share their quests etc, I will probably host this on my website, then I need to write the documentation for file formats etc.
So I know it sounds like a lot but I am very close to being ready for an Alpha release.
@Adamki11s
Just poking in to bother you about the alpha, wanted to check if everything is going to plan and today you will be able to release the alpha or if you need some more time.
@bdf1992
Yes the idea of this is that you can have groups of NPC's roaming around so you could have a small group or even army of NPC's and you would be able to customise various properties just like NPC's. Also I was planning to try and implement these into quests, so that you could be assigned to kill a group of bandits for example.
@adamki11s
SAO, sword art online, is a popular anime about a virtual reality game where people get stuck inside the game and if they die in the game they die in real life. We are recreating the world that the anime took place in and we need a powerful easy to use plugin for questing.
Also the request by WBPlatypus is a great suggestion and I would love that too.
The "Groups of NPC's" Todo list looks very nice. I assume this would allow people to have NPC group who could be hostile towards players depending on what group they belong to?
@WBPlatypus
That's a great suggestion, thank you!
Added to the todo list.