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 28, 2015@Co0sh
ok... what is the problem? :)
events:
sperber_salzwacht: objective location 6413;73;5327;m4;5 conditions:region_salzwacht events:reward_exp24 tag:salzwacht_besuchen
conditions:
region_salzwacht: region salzwacht
Player has now the objective "salzwacht_besuchen", he stays in the region "salzwacht" and when he walk in the locationradius...
-
View User Profile
-
Send Message
Posted Mar 28, 2015@sakura_blades
It's all possible. You have to use "point" condition for that. It checks if the player has specified amount (or more) of points, so if the player needs to have 15 points, and he has 17, it will be true. You can also negate those conditions, so you can create a condition "player has to have more than 15 points, but less than 20": one condition for 15 points and one negated condition for 20 points.
@Roysport
It should work without conflicts. I'm not sure, if skill projectiles (like fireballs) will count in "mobkill" objective etc, but it should work.
-
View User Profile
-
Send Message
Posted Mar 28, 2015@Co0sh
Ok, but I can use them both at the same time (without errors)?
-
View User Profile
-
Send Message
Posted Mar 28, 2015I'm not sure I got an answer for this before.. So I'm going to leave this here again..
"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?"
-
View User Profile
-
Send Message
Posted Mar 28, 2015@sakura_blades
Players can't delete them directly, they can only trigger "delete" events. And you, as the admin, can delete objectives with command.
@IrusVirus
No, it's not possible. You must use location objective for that, sorry.
@Roysport
No, at least not yet. I could add integration in some future version.
-
View User Profile
-
Send Message
Posted Mar 28, 2015Does this plugin work with SkillAPI?
-
View User Profile
-
Send Message
Posted Mar 28, 2015@Co0sh
Is ist possible to use this as a objective?
task_reach_mountain: objective region bigmountain events:exp24,journal_reachmountain tag:reach_the_mountain
Or how i use the region condition in a "reach this place/region" event without using the location format? :) thx
-
View User Profile
-
Send Message
Posted Mar 28, 2015@Co0sh
So it's basically just the name given to the quest, that players use to cancel it then? Makes sense
Thank you
-
View User Profile
-
Send Message
Posted Mar 28, 2015@sakura_blades
Let me quote this page:
"Every objective needs additional `tag:` argument to name it for reference in objective cancel events."
This is just an internal name, it does nothing on its own. Thanks to this, you can delete this objective with command /q obj nick del wood, or the delete event, "event_name: delete wood".
-
View User Profile
-
Send Message
Posted Mar 27, 2015Okay, so I am trying to learn from this example and reading the documention provided but there is one part of this example quest you give that I don't understand worth anything!
wood_start: 'objective block LOG -16 events:tag_wood_done,entry_wood_done tag:wood'
What is that, and what does it do!? I cannot for the life of me find anywhere that it does anything at all. There is no 'wood' in a condition or event in the example and the only thing 'wood' is in the items.yml... But I don't understand that part either, since why would the player be getting a piece of wood? I'm so lost... Some direction would be great! what this tag:wood is doing exactly..
-
View User Profile
-
Send Message
Posted Mar 26, 2015@IrusVirus
There is only a condition for WorldGuard and it seems that I forgot to document it, sorry :(
Keyword is "region". You use it by specifying name of the region in which the player has to be. Example would be:
where "village" is the name of the region, and "region" is just a keyword. Note that it does not care about worlds, so your region has to have unique name.
-
View User Profile
-
Send Message
Posted Mar 26, 2015How I use WorldGuard for a event or a condition... wg? wguard? worldguard? region:<regionname>??? xD
Please write some examples :) thx
-
View User Profile
-
Send Message
Posted Mar 24, 2015@Co0sh
Well sure, but regardless of whether you want to call what Beton does 'quest' or not, these are things that sometimes just need to be asked. Because no matter what call something, it may still work the same way as some other plugin that does or does not call themselves the same type. :P
It's good to hear that we can run multiple 'tasks' for players to accomplish at the same time though. That will make things a lot less confusing.
-
View User Profile
-
Send Message
Posted Mar 23, 2015@sakura_blades
There are no "quests" in BetonQuest, right? Just a bunch of events, conditions etc. So there is no limit of quests, there is no active quest, you can do everything at once. The whole concept of anything being "active" or not doesn't exist, because everything here is active.
You can take a quest for getting wood and another quest of clearing the forest and do both of them by cutting down the same tree. That's how it should work, right?
-
View User Profile
-
Send Message
Posted Mar 23, 2015@Co0sh
Oh, I guess my question now.. Since I don't recall seeing it anywhere, and I forget to ask before..
Is it possible to be on multiple quests at a time, and perhaps progress them at the same time as well?
Some Quest plugins allow multiple quests to be taken at once, but you can only progress through the 'active' one in that manner.
Does Beton have some form of multiple quests at a time? And if so, how does that work?
-
View User Profile
-
Send Message
Posted Mar 23, 2015@sakura_blades
1. Don't worry, this makes a lot of sense. I will create a simple party system first, players will be able to use a command to team up with others. Next thing will be mcMMO integration, which would (besides adding skill conditions, exp events etc) integrate that party system with BetonQuest. You will have an option in config to choose which party system to use. Of course I could add an integration for your plugin, if you will have another one.
2. That would require binding the party to a specific quest, which is against the main concept of BetonQuest. You could be doing only one party quest at the time. Let's just stick to players deciding for themselves when to cancel a quest.
-
View User Profile
-
Send Message
Posted Mar 22, 2015@Co0sh
I guess I question how Beton would know which players were part of the player who is starting the quest's party?
I considered the conditional and event firing options, but I wasn't sure how to tell beton that Player A and B are working together, but C is not.
And then the issue of A and B are together but C and D are together, with no affiliation together at all.?
Does this make sense, and am I just being crazy? xD
I also think a safe way around the 'unique quest item' ordeal is that the party leader receives the unique item, and if the party leader quits the party it disbands and cancels the quest. Which is the way my party system was intended to be anyway.
-
View User Profile
-
Send Message
Posted Mar 22, 2015@sakura_blades
I had another idea, which potentially could make it possible to create a successful party system.
Party condition, which would accept another argument (all/one) and check the specified condition against everyone/anyone in the party. Example: party one tag tag:beton would check if at least one player in this player's a party has "beton" tag.
Party event, which would run this event for everyone in the party (running it for only one player is pointless, normal events do this). Example: party give emerald:5 gives everyone in the party 5 emerald items.
There could be also a condition for party size, so you can only start a quest if you have party with some amount of members. But this creates another problem. What if the player carrying some unique quest item leaves the party mid-quest? The others cannot complete the quest, right?
I thought about a possible solution: make a command "/cancelquest <name>". This would fire predefined events for the player, resetting his progress and maybe even teleporting him back from a cave or something. You could fire an event "quest start cave", which would define those canceling events (such as removing quest items, tags, deleting objectives), and if the player completes the quest, you could close it by firing "quest end cave" event. It would be no longer possible then to use "/cancelquest cave" command.
What do you think?
-
View User Profile
-
Send Message
Posted Mar 22, 2015@Co0sh
Oh, well I'm sadly not a coder. I'm currently hiring out for a bunch of plugins developed for my server. :\ Otherwise I'd be more than happy to write something up with you.
If creating a way to allow Beton to use an outside party system is impossible or at least as far as we know, perhaps it just isn't meant to be then. :\ This party system is meant for a wide variety of possible functions within my setup, so a party within Beton, while awesome, wouldn't quite click the way I hoped for.
Thank you for your reply on this.
-
View User Profile
-
Send Message
Posted Mar 22, 2015@sakura_blades
Well, that's a tough question. Everything is possible, it's just the matter of how complicated it will be to code.
Creating a party system within BetonQuest would be hard and time-consuming. The current system isn't written to support such things. My idea is to add to all instruction strings a "party:" argument, which would run those things for the whole party. It could have multiple values for different types, such as "party:all" for location condition would require all members of the party to be there. Similarly "party:one" would require only one member to be at the location. This would be on top of the current system, not inside it, but I think it's a good option.
Creating the same thing outside of the main plugin (for example in an add-on) is impossible, or at least I don't see any way of doing it. You could create a system, which would check a condition for every player in a party, but this condition has to be defined outside of the main plugin, because BetonQuest doesn't have any way of reading it. The same goes for events and objectives, and they would be limited in functionality. Not very efficient and easy to use, right?
You said you want to develop a party system. I could add you as a collaborator on GitHub, so we could write it together. What do you think?
^^