BetonQuest
BetonQuest is advanced and powerful quests plugin. It offers RPG-style conversations with NPCs and a very flexible quest system. Instead of being limited to creating "quest" objects with taking requirements and rewards upon completion, BetonQuest allows you to freely define what should happen (events), if it should happen (conditions) and what needs to be done for it to happen (objectives). Your quests don't have to look like "kill, bring, get reward": you can create multi-threaded stories, narrated with NPC conversations, with multiple endings affecting the player's gameplay in many ways.
@MinecraftMathTeacher
In config.yml check if hook -> vault is set to true. If it's not then just change it to that. Otherwise tell me which version of Vault and BetonQuest you're using.
Is there something I need to do to hook Vault and Betonquest together?
I have CraftConomy installed, and vault claims to be hooked into that. Meanwhile Betonquest claims to be hooked into Citizens and Worldguard, but not Vault.
@nashoxx
Thank you, I'll make it show a message about the error instead.
@Julicius
It's already fixed in dev versions. You can workaround it in 1.7.6 by putting all static events in the first (alphabetically) package.
Having trouble with "static" events. They don't fire at the set time. I've been trying to get a lightning strike at 23:59 hour, as described in the wiki, but nothing seems to happen when that time passes. I've been using the server clock.
[21:05:24] [Craft Scheduler Thread - 21/WARN]: Exception in thread "Craft Scheduler Thread - 21" [21:05:24] [Craft Scheduler Thread - 21/WARN]: org.apache.commons.lang.UnhandledException: Plugin BetonQuest v1.7.6 generated an exception while executing task 1465 at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at pl.betoncraft.betonquest.conversation.ConversationData.getData(ConversationData.java:191) at pl.betoncraft.betonquest.conversation.Conversation.printNPCText(Conversation.java:161) at pl.betoncraft.betonquest.conversation.Conversation.access$6(Conversation.java:154) at pl.betoncraft.betonquest.conversation.Conversation$Starter.run(Conversation.java:413) at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) ... 3 more
Got this error in a conversation. After I got this I wasn't able to start a conversation with any NPC.
Running Spigot 1.8.8 And using BetonQuest v1.7.6
I know, I missed a "d" in the "start" options for the conversation to start and it caused this error. but still, it caused that even with the addition of the missing "d" in the starting options, and then with a /bq reload, I tried right clcking again the NPCs and none of them wanted to work/talk. A restart of the server fixed this issue.
@Julicius
It's not possible yet, but in next version there will be "logout/login" objective, and you will be able to do something if the player logs out.
I may have come across a problem when making a region or room for 1 player at a time. The party condition will allow you or block you from entering a room, whether or not a player is already inside it. Let's say that first player logs out after having entered the room. The room will be empty and the party condition grants you access. Then the first player logs back in and joins the fight...
Is this a possible scenario? And better, can it be prevented?
@Julicius
Yes, of course. If you can apply the condition to mob spawning then you can apply it to everything else, like teleporting or displaying a message. That's one of the most basic aspects of BetonQuest. If you need help with understanding the party condition just look at "The Hole" quest in example-quests repo on GitHub.
I'm having difficulties with creating rooms for one player at the time, as described under "Tips and Tricks". The way I read it, the [party] condition will prevent mobs from spawning if you don't meet that conditions, (being that you have to be alone in a room). Is there a way to use [party] to prevent someone from teleporting or entering the room in the first place? Saying the room is full, come back later(?)
@MetalGearDaner @sakura_blades
It's already added in the development versions.
@MetalGearDaner
If McMMO support hasn't already been added, it's already in the works at this point.
Atleast that is what I have read, following the Comments and other things for Beton. Just be patient, it will come.
An mcMMO support could be consider as possible?
@Julicius
You can use aliases to do that. Google "Bukkit alias" for more info.
@MinecraftMathTeacher
Someone would have to write an add-on, I don't have time for that right now, sorry :(
@Degilon
Please read the documentation on GitHub. You're asking about the most basic things in BetonQuest, and they are already explained there.
How do i create a npc that can interact with the player and can hand you your quest?, and how can you make 1 npc do multiple quests not at the same time can i do it with a command?
@MinecraftMathTeacher
You cannot have commands run through RaC, but Beton can run commands. So if you setup a "starter area" that players must speak with an NPC to select their Race using the "force" command after asking what they'd like to choose.
Something like "explain race here" P:"cool" NPC:"Would you like to be X?" P:"yes" EVENT:Command "force race" EVENT: AddTag
I've done something similar with RaC but with another command plugin entirely, for different reasons.
Granted that this will eliminate RaC's Race Choice GUI completely, and you can throw in "Race Info" commands for players to see the information when they "ask for more info" in a conversation.
But without RaC having some kind of built in to speak with Beton (I guess it would need to work that way) or the other way around, they cannot work together otherwise in this manner.
Though think of it this way: Players spawn into your world, speak with an NPC on choosing their Race and what-not, rather than an instant GUI in their face (which can be scary to some).
It's sort of like an intro (birth/reborn) type of scenario ;P
With the "Addtag" events you can have your conversation options check and run based on the Tag you've given them.
So conversation option condition Tag:Dwarf would then only run for Dwarf players, etc;
Does anyone know a way to combine BetonQuest with the RacesandClasses plugin, so that the BetonQuest characters can detect whether a player is a dwarf or an elf as a condition?
Is it possible to change the letter J for /j [journal], to something different? Or perhaps expand it with 2 or 3 other letters? Right now it overwrites other plugins like /jump in worldedit.
@Julicius
Yes, you can add and delete journal entries with a command, /q journal. Example command is:
/q journal Co0sh add default.wood_started 31.12.2014_23:59
The text still needs to be defined in journal.yml file though.
There is no "remove journal entry" event because the journal should be a complete, unchangeable history of player's quests. If you have recurring quests you can simply add condition to journal events, so it checks if the entry is already in the journal.
@Co0sh
Thank you for the explanation. Along with some help from the_hole and documentation I was finally able to complete a few working quests. I however didn't find an answer yet to whether or not it is possible to write something inside the journal, without having triggered any event or quest. Like some sort of introduction. I also had no luck finding a way to delete a previously added journal entry. Is there a way to do this?
Regards, J.
@Julicius
It's not that simple. When you had something like this in events.yml:
Then you have to change that to:
And add that to objectives.yml:
Note that "killing_mobs" is the name of an objective, and "start_quest" is the name of an event. And really use the documentation, please.