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.

-
View User Profile
-
Send Message
Posted Mar 21, 2015Is there a way to allow party access with Beton Quests?
Even if it means developing an outside plugin to handle that. I'm planning development for a party system plugin and would like to be able to allow parties to do certain quests together.
Would this be possible in some way, and how?
-
View User Profile
-
Send Message
Posted Mar 18, 2015@Bastikeks
Yes, there are probably many other things I just forgot to mention (or forgot that I coded them, it happens), and I'm really sorry about that. I'll look into both those issues when I will have enough time. By the way, users can also edit the wiki, it's not restricted.
EDIT: Stamp is not a feature. It's used by the plugin to resume the countdown of the delay, and the user don't have to specify it (it will then take the current time for that purpose).
-
View User Profile
-
Send Message
Posted Mar 18, 2015btw. i saw some events/conditions/objectives in the documentation which were not fully explained. e.g. delay objective has also a stamp attribute which is not mentioned in the wiki but still possible when i look into the code. some others also mention not everything...
-
View User Profile
-
Send Message
Posted Mar 18, 2015@ak1185878525
Oh, I forgot to document it... The syntax is "testforblock 100;200;300;world STONE"
-
View User Profile
-
Send Message
Posted Mar 18, 2015@Co0sh
I'm sorry that I can't find the name of 'testforblock' form Documentation :(
-
View User Profile
-
Send Message
Posted Mar 17, 2015@ak1185878525
Yes, just use "testforblock"/"setblock" on some protected blocks and you have global tag.
Global tags supported by the database will be added later, as they are not top priority.
-
View User Profile
-
Send Message
Posted Mar 17, 2015Can i use global tag in v1.6?
-
View User Profile
-
Send Message
Posted Mar 16, 2015@sakura_blades
No, this feature is scheduled for 1.7 version, here's the full list.
-
View User Profile
-
Send Message
Posted Mar 16, 2015@Co0sh
Is 1.6 capable of displaying the reputation in journals now? :P
-
View User Profile
-
Send Message
Posted Mar 14, 2015@ZanDezaX
Yes, you can delete database.db file (or drop all tables if you use MySQL). It will be recreated on next startup. When 1.6 is out (tomorrow or one day after, depending on how much time I will have), database operations will be a lot easier.
-
View User Profile
-
Send Message
Posted Mar 14, 2015@Co0sh
Hey I can't quite figure out how to remove tags and journal entries from players. Should I delete the database file and let it recreate itself when I restart the server? Or something else? I tried the purge command for myself in game but that didn't seem to do anything, unless I just don't know what it does. Thanks!
-
View User Profile
-
Send Message
Posted Mar 13, 2015@Co0sh
Not sure when this editor is planned, but regardless either way I'm sure I could pick it up easily enough. Infact, the system may work in my favor in many ways. Considering I do plan to create 100's of "quests" and many of the things/"conversations" will be reused on multiple NPCs across my map (different spawn points for storyline to introduce players).
I haven't even used it yet, but with the excitement that this plugin has given me I'm going to ask that you never stop development on this plugin. :P At the very least, keep it updated? xD
I can see it being a main staple on my server, and it would prevent me having to develop my own "quest plugin" that accomplishes what this one does. At most, maybe creating more additions with the conditions and what-not as it is right now.
It would be nice to have a damage event though. :P If an NPC disliked a player enough, the player could be "attacked" for a response or low enough reputation with that NPC. xD
-
View User Profile
-
Send Message
Posted Mar 13, 2015@sakura_blades
That's why Denizen is called a "scripting language", and this is just a "quest plugin" :P Wait for the editor, then multiple files won't be a problem
^^-
View User Profile
-
Send Message
Posted Mar 13, 2015@Bastikeks
I'm not sure about that.. Denizen's is this, in one file per npc, and allows the use of all the same things with different variables just fine.
The difference in this and denizens, are the file structure, and this one has a quest log.
I think Denizens is actually capable of more than this one too in some ways. For one, it doesn't limit the PvP aspect like this one. :P And Denizens can actually do randomizations, inflict damage to players if meeting conditions, and other things not even remotely related to NPCs.
Truthfully, I opted for this one, because of the Quest log, and the reputation/points system. Two things Denizens does not have, and would be perfect for what I have planned on my server.
-
View User Profile
-
Send Message
Posted Mar 13, 2015@sakura_blades
you have to rethink how "quests" are done. what if you want to make some kind of choice inside a quest: speaking either to npc_a or npc_b. both will give access to different kind of stuff. but when talking to npc_a, npc_b doesn't want to talk to you anymore and vice versa. So the "tag" which gets set when talking to npc_a has also be available for npc_b because he has to check if you already talked to the other guy.
The same goes for nearly every other stuff like e.g. conditions: making one condition to check if its night is enough. By referring to it in conversations or events will make it easy to edit them later, because you can change them quickly and they get applied to everything where they are used before. So breaking these things down into separate files is what this plugin makes it more flexible than any other plugin out there
-
View User Profile
-
Send Message
Posted Mar 12, 2015@Co0sh
Fair enough. :P For the record, I'm not asking you to change it to make it possible. xD I'll manage just fine, just a different learning curve for me is all. I think it's great planning on your part, and I applaud you. Especially considering that this way it allows the reuse of things, without them being identical and causing an issue among two completely different quests.
-
View User Profile
-
Send Message
Posted Mar 12, 2015@sakura_blades
Instruction strings of objectives are like templates. When you fire the objective event with that template it creates new, separated from everything else objective. Then you can fire the event again, and it will create a second objective with the same starting properties. You will have two almost identical objectives, but the first one will finish few minutes earlier (because it was fired earlier). They are two separate countdowns, because they are separate entities that are only similar, but one is not another.
No, it's not possible for the user to write everything in one file. It would be possible to do that, but it would require a lot of changes in configuration saving/handling. And a lot of time to code, because the whole system is not 100% prepared for such things.
-
View User Profile
-
Send Message
Posted Mar 12, 2015@Co0sh
But wouldn't reusing something like the delay, in multiple quests make them all reset at the same, or atleast remove the same flag? Or are "objectives" not used like that? I'm a bit confused. It seems like nearly everything is seperated into it's own file for quick reference later on, except objectives. And the delay objective, does that just apply a timer to a player's file that counts down? I think I read that, but some of these things I'm a bit confused on.
So it isn't possible to just write it all in one file if we wanted to? Because personally I find that easier than trying to juggle multiple files, even with Notepad. I easily lose my place and what I have or haven't done for example, or where i might need to look for the information I recently made, to use it. With that, many word editors have a "search" function which makes locating things faster and easier. ;P So scrolling through a huge file really shouldn't be an issue.
I'm not saying the separation isn't a great idea, cause it is. I'm just wondering if we have to use it if we find creating things directly in the same file is easier for us instead.
-
View User Profile
-
Send Message
Posted Mar 12, 2015@sakura_blades
Ah, ok, sorry :)
Writing all conversations in a single file would be difficult for user. Imagine having 20 conversation, thousand of lines each. The file has 20000 lines, quick edits with nano are extremely hard to do, as you have to scroll the whole file each time. That's why conversations have been separated in 1.4 version.
There are not so many files overall. Normally you focus on one conversation, events.yml and conditions.yml. That's three files. You have to edit npcs.yml once for every conversation, config.yml for every global location and journal.yml for eventual entries. That's not so often. And thanks to this, the plugin's structure is much clearer. If you use editor with tabs (like Notepad
++, Sublime Text or Atom), then it's not really an issue.The difference is big. Conditions are not only used in conversation, they can apply to events, objectives, global locations and probably many features I will add in the future. That's why they need to be defined globally - so they can be accessed from anywhere. The best way for this is a separate file. Defining them in directly conversations would render them inaccessible for other modules. If you're naming your conditions, events and conversation options correctly (in a way that helps you quickly understand what they do), it will be easier to create more complicated structures.
Currently the process is complicated more than it should be, I know. That's why I'm planning the web editor, which will make it all clearer. Imagine a "setup wizard" for every condition, event etc, drop-down menus with available options etc. etc.
-
View User Profile
-
Send Message
Posted Mar 12, 2015@Co0sh
It appears you have it broken down per NPC, and since you refer to NPCs as "questers", for whatever reason I just went with it.
As far as writing quests in a single file, I'm not sure understand. Would it be hard to read for the user, or for the plugin?
I personally feel that I may lose myself trying to define things between several different files myself.
I also can't say I see the difference between my 'conditions' sections of the example I provided, and the one you did. The only difference being was mine was included as if it was written directly in "inkeeper.yml"
Oh, I was doing a little searching as far as the points go as well, for conditions. Specifying a 2 points in a certain category for a quest, does that mean a player with 4 can't do it? Or only players that have less than 2?
The reason I ask, is because as i said before we'd like to use the point system as a reputation system. And if saying 2 points with NPC-A is going to mean Notch with 4 points with NPC-A can't do the quest, we may have an issue with our plans. :\ We're hoping to use varying degrees of points that are added and subtracted based on quests completed for various NPCs and that involves this point system checking for players at or beyond a specified amount of them.
And what about checking for a range? As in if player has between 2 and 6 points, do X, but it players has more or less do Y. Is that possible? Checking for a range of points and then firing off an option/event?