Basic Quest System

● ARCHIVED · READ-ONLY
Started by Vlue 20 posts View original ↗
  1. Basic Quest System v1.1a
    By Vlue
    Introduction
    Is your RPG too boring? Do people get lost easy? Do you want to make a mock MMO? You don't have to answer yes to any of those questions, but it helps if you want to use... Basic Quest System! Which gives you quests and junk. Yay.

    Features
    - Create quests with objectives and stuff.
    - Quests can rewards gold, or exp, or items, or nothing, it's up to you!
    - Nifty accepting and completing windows!
    - A quest log!
    - A quest overlay!

    Screenshots
    BLHKRxl.png  sa0BII4.png

    How to Use
    Make a lot of quests, set up quests in events, enjoy!

    Script
    On pastebin, as usual: http://pastebin.com/tyM7s1Pj

    FAQ
    Q: I have a question.
    A: No you don't.

    Credit and Thanks
    - By Vlue
    - Free to use in any project, commercial or otherwise (despite what my accountant says (hah, like I have an accountant)), with credit given

    Author's Notes
    ... of these scripts now.
  2. You're on a roll, three scripts a week is pretty damn good.  (At least I think it's three)

    You give them away for free too which is cool.

    Won't be using this script as I'm trying to keep hud and menus to a minimum but it could be very useful in some games.
  3. Very interesting! :)
  4. Is there no demo for this? Looking over the quest format, I don't fully understand how it works.


    Could you supply a demo, please? I find it a lot easier to work things out if I have it in front of me.
  5. Can you make something like a "Quest Office" where you can choose quests that you can accept?
  6. At first i get an error by using this awesome script... if it works :p i added by the first quest this :auto_complete => true
    And if i finish the quest it says:

    Script Game_Interpreter line 1411: NoMethodError occured.

    Undefined method change_class_exp for #<Game_Actor:0xb8a3d78>

    And after that, i tried your Demo :D And i get an error too if i try to summon a healing totem:
    Script Pets and Summons v1.4d line 128: TypeError occured

    false can't be coerced into Fixnum

    :DD
  7. @senpoRiot You can do that! But it'd be one heck of an event!


    @Sophien Uh yah, that's what I get for editing a script for my use then using that version to fix things. Oops.


    Fixed it up on the pastebin.


    And I've fixed up the Pets script too already. Demo isn't update though, you'll have to get it from the pastebin ( http://pastebin.com/zuGyMX7z )
  8. This may sound like a silly question, but for a "basic" quest system, the possibilities are only really limited to your own imagination.  That said, I do have a bit of a query.  The quests I have in mind are your traditional "slay x number of monster y and bring back item z" style quests with some twists.  My thing is would it be possible to have the quest and their conditions/stages fulfill automatically, or would that be something akin to a global parallel process?
  9. Hi Vlue,

    I like your script and try to understand how it works.

    For the moment I understand how to create a quest with objectives, rewards etc. How to add the accept popup for this quest and how the quest log / overlay works.

    How to progress in the quest is ok, kill some monster with "adv_obj:)questid, :obj, number)".

    All works well but I don't understand how I can complete this quest when I speak to a specific NPC.

    Here is the steps of my quest :

    - NPC give possibility to accept the quest. If I say yes, Quest Log appear.

    - If number of monsters given by the quest are killed, when I speak to the NPC, questid and objid are checked, if it's ok, I whant this NPC to complete the quest but I don't know how to do this.

    Actually, my NPC check this condition to know if he can complete the quest :

    obj:)questid001, :obj1) >= 3

    What do I need to write in the "ok" condition" to complete the quest?

    This is probably a beginer question, but I am :)

    Thank you in advance for your or other members help.
  10. SquallStorm said:
    This may sound like a silly question, but for a "basic" quest system, the possibilities are only really limited to your own imagination.  That said, I do have a bit of a query.  The quests I have in mind are your traditional "slay x number of monster y and bring back item z" style quests with some twists.  My thing is would it be possible to have the quest and their conditions/stages fulfill automatically, or would that be something akin to a global parallel process?
    A global (or just local, map-based if it's only on one map) parallel process checking event conditions yah.

    antiseptique said:
    Hi Vlue,


    I like your script and try to understand how it works.


    For the moment I understand how to create a quest with objectives, rewards etc. How to add the accept popup for this quest and how the quest log / overlay works.


    How to progress in the quest is ok, kill some monster with "adv_obj:)questid, :obj, number)".


    All works well but I don't understand how I can complete this quest when I speak to a specific NPC.


    Here is the steps of my quest :


    - NPC give possibility to accept the quest. If I say yes, Quest Log appear.


    - If number of monsters given by the quest are killed, when I speak to the NPC, questid and objid are checked, if it's ok, I whant this NPC to complete the quest but I don't know how to do this.


    Actually, my NPC check this condition to know if he can complete the quest :


    obj:)questid001, :obj1) >= 3


    What do I need to write in the "ok" condition" to complete the quest?


    This is probably a beginer question, but I am :)


    Thank you in advance for your or other members help.
    Nothing wrong with beginner questions.. or any questions!


    To check if a quest is complete, use this:


    $game_quests[:questid].complete?


    Then if it's complete use this:


    ask_turnin:)questid)


    Even if it's not complete you can still use ask_turnin and the complete button will be greyed out, avoiding the need for checking if it's complete. (Unless you need something special to happen if it's not complete)
  11. You're a legend!! :D thanks a  bunch for sharing this!
  12. First off, this is exactly the kind of system I was hoping to find for quests. :thumbsup-right:

    However, I have a question for you Vlue.

    I'm trying to have an event where someone left 2 potions with another character. He asks the hero to go and get the potions as he forgot to get them earlier.

    I put the ask_accept command and it popped up fine.

    However, I run into problems when I want to check if the the quest was accepted or not.

    I want the event to immediately check if it's been accepted so I can turn a switch on called QuestStarted, and in the new page have the option to turn in the quest. If it hasn't been accepted, it simply exits and waits for the character to talk to the event again.

    However, whenever I accept the quest, it immediately quits the event so that it cannot check if the quest has been accepted, so I have to talk to the NPC again, receive the ask_accept command again, and then it turns the switch. The declining part works fine.

    I'll post a screen shot of my eventing for it so it can be a little clearer. I imagine I'm just setting it up wrong in the events, but some clarification would be appreciated. :D

    Example.jpg
  13. I don't understand how it works.
  14. DragonVine said:
    First off, this is exactly the kind of system I was hoping to find for quests. :thumbsup-right:


    However, I have a question for you Vlue.


    I'm trying to have an event where someone left 2 potions with another character. He asks the hero to go and get the potions as he forgot to get them earlier.


    I put the ask_accept command and it popped up fine.


    However, I run into problems when I want to check if the the quest was accepted or not.


    I want the event to immediately check if it's been accepted so I can turn a switch on called QuestStarted, and in the new page have the option to turn in the quest. If it hasn't been accepted, it simply exits and waits for the character to talk to the event again.


    However, whenever I accept the quest, it immediately quits the event so that it cannot check if the quest has been accepted, so I have to talk to the NPC again, receive the ask_accept command again, and then it turns the switch. The declining part works fine.


    I'll post a screen shot of my eventing for it so it can be a little clearer. I imagine I'm just setting it up wrong in the events, but some clarification would be appreciated. :D


    attachicon.gifExample.jpg
    Events don't stop while the accept window is up. Updated the script to have them wait (1.2a now)

    Eurgh said:
    I don't understand how it works.
    At what part are you lost? It certainly isn't an easy script to start with.
  15. Vlue said:
    Events don't stop while the accept window is up. Updated the script to have them wait (1.2a now)
    Thank you so much! That worked perfectly.
  16. This is pretty sweet. I really need to figure it out. Anyone make just a demo example of a basic quest or 2 to test but also see.
  17. I'm stuck with actually how to make quests. I'm more of a reverse engineer. If i get an open demo, i can work out how everything works from there. but just looking at the script, i sometimes don't understand what to do with. it
  18. Ah thanks :)