Scripts & Tutorials This forum is for scripts and code, as well as all kinds of tutorials, software, tools and so forth. Remember to give credit!
The thread revival limit does not apply here.

Draconius GO
Reply
 
Thread Tools
  #1    
Old May 25th, 2017 (10:26 PM). Edited June 13th, 2017 by mej71.
mej71's Avatar
mej71 mej71 is offline
  • Moderator
 
Join Date: Mar 2014
Location: Omnipresence
Gender: Male
Posts: 1,219

A fairly comprehensive, yet easy to use system + UI for managing quests in your fangame

Features
  • Support for up to 10 stages per quest
  • Complex rewards
  • Very detailed compiler errors, tells you exactly what you've messed up
  • Doesn't save quest data for player (similar to how other objects are handled in Essentials, non-specific data is stored in a separate data file so that quest info is updated for old saves)
  • Plug and play
  • Won't break old save files by adding this script
  • Easy to edit and create new quests


How to Use
  1. Download .rar file
  2. Add quests.txt to your PBS folder
  3. Add the 'Quest UI' folder to Graphics/Pictures (be sure to include the folder itself, not just the contents)
  4. Add the text from questScript.txt into a new section above the Main but below the Compiler section
  5. And that's all there is to the installation

There's a few methods you will need to know to use the quest system (you will activate/complete/fail quests within your events, only you know in which context to do so)
Code:
activateQuest(id)
completeQuest(id)
failQuest(id)
advanceQuestToStage(questID, stageNum)
In all of these, 'id' and 'questID' refer to the ID of the desired quest, which is defined in quests.txt, the file you added to your PBS folder. The name of the quest can also be used in as the 'id' for these methods, since quest names are unique. The 'stageNum' refers to the desired stage number of that quest. Be sure the id you input exists, as there is currently no check against it

To open the quest menu, use the script
Code:
pbViewQuests

Editing the Quest PBS file
There's only 8 types of lines in the PBS that you need to know
  • Name - This is the name of the quest that will be displayed. Names must be unique (two quests cannot share a name)
  • Stage1 - This is the description of the current task of the quests. Each quest can have up to 10 stages (so Stage2, Stage9, etc are also valid). Stages must be listed in order, no skipping numbers.
  • Reward - This is the reward given to the player upon completion. When completion is triggered, it will read the string assigned and evaluate it as code. So if you make your reward "Kernel.pbMessage('Hello')", upon completion it will display a message saying "Hello". This reward is fairly simple, but keep in mind any type of code can be run here, so you can give items, set variables, or pretty much anything else you can code. Note that this code is not tested, so test all your rewards to ensure you didn't make errors. (Pro tip: semi-colons can be used to separate multiple instructions in a single line of code)
  • RewardDescription - A description of the reward, so they player may determine whether or not to pursue
  • QuestDescription - A description of the quest
  • StageLocation1 - Same as with Stage1, there are up to 10 locations supported. This tells the player where to go for the next task. Can either be the desired map name or map id. These are checked upon compile time to ensure the map exists. "nil" can be used if you don't want to specify a map
  • CompleteMessage - The "Result" description displayed in the UI for a completed quest.
  • FailedMessage - The "Result" description displayed in the UI for a failed quest.

What the default UI looks like



FAQ
  • Can you use '\b', images, or other text formatting?: No, these are currently not supported
  • More questions will appear as they are asked
Reply With Quote

Relevant Advertising!

  #2    
Old May 26th, 2017 (12:33 AM).
Marin's Avatar
Marin Marin is offline
Not Bored
  • Moderator
 
Join Date: Nov 2016
Location: The Netherlands
Gender: Male
Nature: Bashful
Posts: 599
Looks very interesting! I especially like the "next stage" feature.
__________________
Reply With Quote
  #3    
Old June 13th, 2017 (5:10 AM).
Pikapoo9000's Avatar
Pikapoo9000 Pikapoo9000 is offline
dank memes make dank dreams.
     
    Join Date: May 2017
    Location: idfk.
    Gender: Male
    Nature: Jolly
    Posts: 1
    How do you open the Quest menu where you can see all the quests?
    __________________
    allwaiys travellieng...
    Reply With Quote
      #4    
    Old June 13th, 2017 (11:41 PM).
    mej71's Avatar
    mej71 mej71 is offline
    • Moderator
     
    Join Date: Mar 2014
    Location: Omnipresence
    Gender: Male
    Posts: 1,219
    Quote:
    Originally Posted by Pikapoo9000 View Post
    How do you open the Quest menu where you can see all the quests?
    I meant to add that and completely forgot
    Code:
    pbViewQuests
    Just this quick line. It checks if you have any quests for you before opening
    Reply With Quote
      #5    
    Old June 14th, 2017 (7:19 AM).
    JustKenneth's Avatar
    JustKenneth JustKenneth is offline
    Developer Pokemon The Kingdom of Meralas
       
      Join Date: Oct 2009
      Location: Belgium
      Gender: Male
      Nature: Calm
      Posts: 8
      this looks a lot like Mobius' Quest Journal (maker).
      I tried to implement something like this in Essentials some time ago.
      I added this to the start menu:
      http://provenk.deviantart.com/art/Pausemenu-620214364
      http://provenk.deviantart.com/art/Quest-log-620214370

      it was quite buggy and not as complete as yours though.

      nice work!
      __________________
      "And as the sails arrived, the forest vanished and the city fell. Meralas is king now."
      - Xhicco - Pokemon: The Kingdom of Meralas
      Reply With Quote
        #6    
      Old June 14th, 2017 (1:06 PM).
      mej71's Avatar
      mej71 mej71 is offline
      • Moderator
       
      Join Date: Mar 2014
      Location: Omnipresence
      Gender: Male
      Posts: 1,219
      Quote:
      Originally Posted by JustKenneth View Post
      this looks a lot like Mobius' Quest Journal (maker).
      I tried to implement something like this in Essentials some time ago.
      I added this to the start menu:
      http://provenk.deviantart.com/art/Pausemenu-620214364
      http://provenk.deviantart.com/art/Quest-log-620214370

      it was quite buggy and not as complete as yours though.

      nice work!
      I originally did a small edit of that script for Essentials, it's in this section somewhere. This script was from scratch, but I kept a similar format of the text files, and tried to make it more complete and easy to use.
      Reply With Quote
        #7    
      Old June 24th, 2017 (3:01 PM).
      hanamir hanamir is offline
         
        Join Date: Feb 2017
        Posts: 14
        Thanks for this! I really wanted to use this but I keep getting this error after installing it. I really wanted to check it out and I followed all the directions but this error keeps popping up. I hope you are still willing to help on this thread.

        Script 'mej71 Quest System' line 402: RuntimeError
        occured.

        Invalid map id for quest , at stage 0

        Thats all it gave me, I can screenshot if necessary, however. Hope you can help. Thanks.
        Attached Thumbnails
        Screen Shot 2017-06-24 at 7.02.08 PM.png‎  
        Reply With Quote
          #8    
        Old July 6th, 2017 (2:01 PM).
        The_Don The_Don is offline
           
          Join Date: Jul 2017
          Posts: 13
          Click image for larger version

Name:	questprob.png
Views:	217
Size:	322.6 KB
ID:	82398

          How come it tells me that?
          Reply With Quote
            #9    
          Old July 7th, 2017 (12:50 AM).
          Marin's Avatar
          Marin Marin is offline
          Not Bored
          • Moderator
           
          Join Date: Nov 2016
          Location: The Netherlands
          Gender: Male
          Nature: Bashful
          Posts: 599
          Quote:
          Originally Posted by The_Don View Post
          Attachment 82398

          How come it tells me that?
          Do you have any quests?
          __________________
          Reply With Quote
            #10    
          Old July 7th, 2017 (3:29 AM).
          The_Don The_Don is offline
             
            Join Date: Jul 2017
            Posts: 13
            Quote:
            Originally Posted by M3rein View Post
            Do you have any quests?
            Weren't there some quest in yet? I tought i read that in the description?
            Reply With Quote
              #11    
            Old July 7th, 2017 (11:55 AM).
            mej71's Avatar
            mej71 mej71 is offline
            • Moderator
             
            Join Date: Mar 2014
            Location: Omnipresence
            Gender: Male
            Posts: 1,219
            Quote:
            Originally Posted by The_Don View Post
            Weren't there some quest in yet? I tought i read that in the description?
            The journal only shows discovered quests. Even if they're defined, you need to activate at least one to open the journal
            Reply With Quote
              #12    
            Old July 8th, 2017 (2:37 AM).
            dgeneratio dgeneratio is offline
            Dgeneratio
               
              Join Date: Sep 2012
              Age: 29
              Gender: Male
              Nature: Relaxed
              Posts: 4
              Hi Mej, where do these lines of code go? Sorry i'm new to Scripting so don't want to do an error.

              There's a few methods you will need to know to use the quest system (you will activate/complete/fail quests within your events, only you know in which context to do so)
              Code:
              activateQuest(id)
              completeQuest(id)
              failQuest(id)
              advanceQuestToStage(questID, stageNum)

              In all of these, 'id' and 'questID' refer to the ID of the desired quest, which is defined in quests.txt, the file you added to your PBS folder. The name of the quest can also be used in as the 'id' for these methods, since quest names are unique. The 'stageNum' refers to the desired stage number of that quest. Be sure the id you input exists, as there is currently no check against it

              To open the quest menu, use the script
              Code:
              pbViewQuests

              Cheers
              __________________
              Reply With Quote
                #13    
              Old November 8th, 2017 (12:41 AM).
              HarmonyConcept HarmonyConcept is online now
                 
                Join Date: Sep 2015
                Gender: Female
                Posts: 192
                Thank you for this! It works just fine. Some small remarks:

                1. I believe there is a small mistake in the script at line 523 that will prevent you from running the game (just remove a parenthesis):

                def getMaxStagesForQuest(questID))

                2. I had a "Invalid map id for quest" error message on first launch and fixed it by clearing the quests.txt file;

                3. There are two different "quest_bg" files in the graphics package, you may want to replace the first one (in Quest UI folder) by the second one (which is in Quest UI\Quest UI)
                Reply With Quote
                  #14    
                Old 4 Weeks Ago (6:00 PM). Edited 4 Weeks Ago by SolarLegacy.
                SolarLegacy SolarLegacy is offline
                   
                  Join Date: Sep 2015
                  Gender: Male
                  Posts: 7
                  ---------------------------
                  Pokemon Essentials
                  ---------------------------
                  Exception: RuntimeError

                  Message: Script error within event 3, map 33 (M's House):

                  Exception: TypeError

                  Message: Section041:559:in `[]'no implicit conversion from nil to integer

                  ***Full script:

                  pbViewQuests


                  Interpreter:243:in `pbExecuteScript'

                  Intl_Messages:559:in `get'

                  Intl_Messages:670:in `get'

                  Intl_Messages:707:in `pbGetMessage'

                  Quests:792:in `pbDrawQuestInfo'

                  Quests:751:in `each'

                  Quests:751:in `pbDrawQuestInfo'

                  Quests:735:in `pbDrawQuestsList'

                  Quests:681:in `pbDrawSections'

                  Quests:625:in `pbStartScene'



                  Interpreter:276:in `pbExecuteScript'

                  Interpreter:1606:in `command_355'

                  Interpreter:494:in `execute_command'

                  Interpreter:193:in `update'

                  Interpreter:106:in `loop'

                  Interpreter:198:in `update'

                  Scene_Map:103:in `follow_update'

                  Scene_Map:101:in `loop'

                  Scene_Map:114:in `follow_update'

                  PokemonFollowing:1551:in `update'



                  This exception was logged in

                  C:\Users\Michael\Saved Games/Pokemon Essentials/errorlog.txt.

                  Press Ctrl+C to copy this message to the clipboard.
                  ---------------------------
                  OK
                  ---------------------------

                  I am getting this error when ever I try and open the quest menu after accepting a quest.
                  Reply With Quote
                    #15    
                  Old 1 Week Ago (2:43 AM).
                  Diego Mertens Diego Mertens is online now
                     
                    Join Date: Aug 2017
                    Posts: 5
                    And, the quest is just go to a map and nothing else? How can I put a quest where we have to go to a map, and pick an Hidden Object in a certain time and if you can't pick the object you just fail the mission?
                    Reply With Quote
                    Reply

                    Quick Reply

                    Join the conversation!

                    Create an account to post a reply in this thread, participate in other discussions, and more!

                    Create a PokéCommunity Account

                    Sponsored Links
                    Thread Tools

                    Posting Rules
                    You may not post new threads
                    You may not post replies
                    You may not post attachments
                    You may not edit your posts

                    BB code is On
                    Smilies are On
                    [IMG] code is On
                    HTML code is Off

                    Forum Jump


                    All times are GMT -8. The time now is 3:22 PM.