O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Ajuda com o Script

Iniciado por Moycanow, 28/02/2014 às 21:23

28/02/2014 às 21:23 Última edição: 01/03/2014 às 01:02 por Moycanow
Eu achei um Script de sistema de Quest navegando na internet e coloquei ele no meu jogo, Mas não consigo Adicionar nenhuma quest e o Script ta em Ingles o que dificultou mais ainda pra mim eu não manjo muito de Ingles e muito menos de Script se alguem poder me ajudar e me fazer um Tutoria sobre como adicionar Quests nesse escript eu agradeceria :wow: OBS: Essa porra é gigante kkk :ded:

Spoiler
#==============================================================================
#    Quest Journal [VXA]
#    Version: 1.0.3
#    Author: modern algebra (rmrk.net)
#    Date: 24 September 2012
#    Support: http://rmrk.net/index.php/topic,45127.0.html
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This script provides a graphical interface for showing quest progress. It
#   is objective-based, meaning that you choose when to reveal objectives and
#   you can set it so that they show up as complete or failed. That said, this
#   script does not build quests for you; it is only a supplementary scene for
#   showing them. As such, you need to event all of the quests yourself and
#   update quest progress via script call. Therefore, pay close attention to
#   the instructions here and in the Editable Regions at lines 232 and 612.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Paste this script into its own slot or slots, above Main and below
#   Materials. If you are using the menu access feature, you should put any
#   other menu scripts above this one.
#
#    All of the configuration is done in the QuestData module. While it is not
#   necessary, it is recommended that you separate the configuration module
#   from the rest of the script by cutting and pasting it into its own slot in
#   the Script Editor (as you will see if you have the demo). The reason for
#   this is that, if and when this script gets updated, you can preserve the
#   configuration section and only replace the other parts of the script. If
#   you wish to do that, you must cut everything from the first line down to
#   the final end of the module. The first lines of the body script should be
#   the equals bar right above # ** Game_Quest. Again, it's up to you whether
#   you do it.
#
#    You can go to EDITABLE REGION A at line 232 to configure the default
#   settings for the script. All of these will work fine without modification,
#   of course, but even if do not want to configure now, you should familiarize
#   yourself with all the settings so that you can make the best use of your
#   script. I have included tons of settings so that you can make the Quest
#   Journal unique for your game, even down to the order in which each section
#   of the info window is drawn. A brief description of each setting is
#   included either to the right or directly above each constant.
#
#    EDITABLE REGION B is the real heart of the script however - this is where
#   you fill in all of the details for the quests. Read the instructions at
#   line 612 very carefully!
#
#    You can activate and access a quest with this code in the Script event
#   command:
#
#        quest(quest_id)
#          quest_id : the integer ID of the quest you want to access
#
#   From that, you can access or alter any relevant data stored in the quest,
#   like name, description, objectives, etc... Example:
#         quest(1).name = "Rest in Pieces"
#
#    More relevantly, when it comes to controlling the progress of quests the
#   following codes can be used in a Script event command. The arguments are
#   the same for each command so I only explain them once. All of them are
#   pretty self-explanatory and using any of them will activate the quest
#   (unless you are using the MANUAL REVEAL setting at line 267).
#   
#        reveal_objective(quest_id, objective_id_1, ..., objective_id_n)
#            quest_id : the integer ID of the quest you want to access.
#            objective_id_1, ..., objective_id_n : a list of the IDs of the
#              objectives you want to operate on. It can be as few as one or as
#              many as all of them.
#          Will show the listed objectives in the Quest's information
#
#        conceal_objective(quest_id, objective_id_1, ..., objective_id_n)
#          Will hide the listed objectives in the Quest's information
#
#        complete_objective(quest_id, objective_id_1, ..., objective_id_n)
#          Changes the colour of the listed objectives to the completed colour.
#          The quest is completed once all prime objectives are.
#
#        uncomplete_objective (quest_id, objective_id_1, ..., objective_id_n)
#          Changes the status of the listed complete objectives back to active
#
#        fail_objective(quest_id, objective_id_1, ..., objective_id_n)
#          Changes the colour of the listed objectives to the failed colour.
#          The quest is failed once one prime objective is.
#
#        unfail_objective(quest_id, objective_id_1, ..., objective_id_n)
#          Changes the status of the listed failed objectives back to active
#
#        change_reward_status(quest_id, value)
#            value : either true or false. If excluded, defaults to true.
#          Totally optional, but this is just a personal switch which you can
#          turn on when the reward is given. You can then make it a condition
#          so you don't reward the players more than once. (see line 180)
#
#  EXAMPLES:
#    reveal_objective(1, 0)
#      This would reveal the first objective of the quest with ID 1
#    complete_objective(6, 2, 3)
#      This would complete the third & fourth objectives of the quest with ID 6
#    change_reward_status(8)
#      This would set the reward switch to true for the quest with ID 8.
#
#   Another new feature is the ability to set rewards that will show up in the
#  menu (see EDITABLE REGION B). In addition to that, you can use the following
#  code to automatically distribute the specified rewards for a quest if the
#  quest is complete and no reward has yet been given:
#
#        distribute_quest_rewards(quest_id)
#          quest_id : the ID of the quest whose rewards you want to distribute
#
#   Of course, it can only distribute the material rewards (items, weapons,
#   armors, gold, or exp). It won't distribute rewards you specify by string.
#   To that end though, you can also use this code in a conditional branch and
#   it will be satisfied only if it distributes the rewards. Thus, if you
#   wanted to add some special rewards or do things like that, you can just put
#   that in the branch for when it is true. This feature is not really
#   recommended, since I think it is better to do it by events.
#
#    Other codes for the Script event command that can be useful are:
#   
#        reset_quest(quest_id)
#            quest_id : the integer ID of the quest you want to access.
#          This will re-initialize the quest, meaning all quest progress to
#          date will be lost
#
#        delete_quest(quest_id)
#          Deactivates the quest and resets it
#
#        conceal_quest(quest_id)
#          Deactivates the quest so it won't show up in the scene, but progress
#          is saved
#
#        reveal_quest(quest_id)
#          Activates or reactivates the quest. This command is NECESSARY if
#          MANUAL_REVEAL at line 284 is true or it has previously been
#          concealed. Otherwise, it is sufficient just to operate on the quest
#
#        change_quest_access(:symbol)
#          :symbol must be one of six options (include the colon!):
#            :disable - prevents access to the quest scene (greys out in menu)
#            :enable - enables access to the quest scene
#            :disable_menu - this removes the quest option from the menu
#            :enable_menu - this adds the quest option to the menu
#            :disable_map - this prevents access by key from the map
#            :enable_map - this allows access by key to the map
#
#        change_quest_background("bg_filename", bg_opacity, bg_blend_type)
#            bg_filename   : the filename of the picture for the background in 
#              the Pictures folder
#            bg_opacity    : the opacity of the background graphic. If
#              excluded, this defaults to the value of the setting at line 434.
#            bg_blend_type : the blend type of the background graphic. If
#              excluded, this defaults to the value of the setting at line 437.
#
#        change_quest_windows ("windowskin_filename", tone, opacity)
#            windowskin_filename : the name of the Window graphic in the
#              System folder of Graphics
#            opacity             : the opacity of the windows. If excluded,
#              this defaults to the value of the setting at line 423.
#            blend_type          : the blend_type of the windows. If excluded,
#              this defaults to the value of the setting at line 426.
#
#    Also, there are a few codes that can be used in the Script command of a
#   conditional branch. I note here that all of these are optional. You could
#   use switch and variable checks and monitor quest progress solely through
#   events. However, these commands make it a little easier and they are:
#
#        quest_revealed?(quest_id)
#            quest_id : the integer ID of the quest you want to access.
#          This is satisfied if the quest has been activated.
#
#        quest_complete?(quest_id)
#          This is satisfied if all prime objectives of the quest are complete
#
#        quest_failed?(quest_id)
#          This is satisfied if any prime objective of the quest is failed
#
#        quest_rewarded?(quest_id)
#          This is satisfied if you have changed the reward status to true.
#
#        objective_revealed?(quest_id, objective_id_1, ... objective_id_n)
#            objective_id_1, ..., objective_id_n : a list of the IDs of the
#              objectives you want to operate on. It can be as few as one or as
#              many as all of them.
#          This is satisfied if the listed objectives have been revealed
#
#        objective_active?(quest_id, objective_id_1, ... objective_id_n)
#          This is satisfied if all the listed objectives are revealed and
#          neither complete nor failed.
#
#        objective_complete?(quest_id, objective_id_1, ... objective_id_n)
#          This is satisfied if all the listed objectives have been completed
#
#        objective_failed?(quest_id, objective_id_1, ... objective_id_n)
#          This is satisfied if all the listed objectives have been failed
#
#    If you want to call the Quest scene from an event, you use the following
#   code in a call script:
#
#        call_quest_journal
#        call_quest_journal(quest_id)
#          quest_id : ID of the quest you want to open the scene on
#
#  If you do not specify a quest_id (line 198) then it will simply open the
#  scene as it would normally. If you do specify a quest_id (line 199) then it
#  will open the scene on that quest so long as it has been revealed and it is
#  normally accessible through the quest menu.
#
#   Finally, the default way this script operates is that quests automatically
#  complete or fail based on the status of the prime objectives. However, you
#  can set it so that there are no prime objectives, in which case you can only
#  complete, fail, or (re)activate a quest manually through the following code
#  in a script call:
#
#        manually_complete_quest(quest_id)
#          quest_id : ID of the quest you want to manually complete
#        manually_fail_quest(quest_id)
#          quest_id : ID of the quest you want to manually fail
#        manually_activate_quest(quest_id)
#          quest_id : ID of the quest you want to manually activate
#==============================================================================

$imported ||= {}
$imported[:"MA_QuestJournal_1.0"] = true
$imported[:"MA_QuestJournal_1.0.1"] = true

#==============================================================================
# *** QuestData
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  This module contains all the configuration data for the quest journal
#==============================================================================

module QuestData
  #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  #  BEGIN Editable Region A
  #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  #  MENU_ACCESS - If true, you can access the quest journal through a command
  # in the menu. If false, there will be no such command.
  MENU_ACCESS = true
  #  MENU_INDEX - If MENU_ACCESS is true, this determines where it appears
  MENU_INDEX = 4
  #  MAP_ACCESS - If true, this allows you to access the quest journal by
  # pressing a key on the map.
  MAP_ACCESS = true
  #  MAP_BUTTON - If MAP_ACCESS is true, this determines which button calls the
  # Quest Journal
  MAP_BUTTON = :L
  #  OPEN_TO_LAST_REVEALED_QUEST - If true, then the first time you open the
  # quest journal after revealing a new quest, it will open to the new quest.
  OPEN_TO_LAST_REVEALED_QUEST = true
  #  OPEN_TO_LAST_CHANGED_QUEST - If true, then the Quest Journal will open to
  # the last quest whose objective status has changed.
  OPEN_TO_LAST_CHANGED_QUEST = false
  #  LIST_WINDOW_WIDTH - The width, in pixels, of the List Window
  LIST_WINDOW_WIDTH = 192
  #  BASIC_DATA_TYPES  - This lets you set up additional types of data. Just
  # include an identifying signal in the Array. Then, you will need to give
  # each signal an icon (in the ICONS hash at line 322) and a signal text (in
  # the VOCAB array at line 333, though it can be an empty string). Then, you
  # can set the data itself when setting up quests by simply adding a:
  #    q[:symbol] = ""
  # line to the quest. You will also need to include the data type somewhere in
  # the DATA_LAYOUT at line 306. As an example of this, I have included :client
  # and :location by default. You can CTRL+F for anything in this section with
  # one of those symbols (excluding :) and you will there need to add something
  # for any new data types you add.
  BASIC_DATA_TYPES = [:client, :location]
  #  BASIC_DATA_WIDTH - This determines how much room, in pixels, is given to 
  # any basic data types you set up in the data window.
  BASIC_DATA_WIDTH = 240
  #  CONCURRENT_ACTIVITY - If true, then when in the Quest Journal scene, you
  # can switch categories or scroll down the quest list at the same time. If
  # false, you will first need to select a category before you can start
  # scrolling through the quest list.
  CONCURRENT_ACTIVITY = true
  #  HIDE_CATEGORY_CURSOR - If true, then the Category Window will not have a
  # cursor and will instead just highlight the currently selected category.
  # This is best when CONCURRENT_ACTIVITY is true.
  HIDE_CATEGORY_CURSOR = true
  #  SHOW_QUEST_ICONS - If true, then the icon you choose for each quest will
  # be displayed to the left of its name in the Quest List window
  SHOW_QUEST_ICONS = true
  #  MANUAL_REVEAL - If false, then quests will be revealed the moment you
  # first reveal, complete, or fail an objective. If this is true, you will
  # need to specifically reveal each quest via a separate script call:
  #    reveal_quest(quest_id)
  MANUAL_REVEAL = false
  #  DATA_LAYOUT - This controls the way that the quest window lays out all of
  # the relevant data. If you set one of the entries to be an array, then any
  # of the commands there will be drawn at the same y. With exception to :line,
  # none of the commands will be drawn if the quest is not set to have that
  # particular data. The symbols are:
  #    :line        - Draws a horizontal line across the window.
  #    :name        - Draws the name of the quest
  #    :level       - Draws the level of the quest
  #    :banner      - Draws the banner for the quest
  #    :client      - Draws the client set in the quest   (basic data)
  #    :location    - Draws the location set in the quest (basic data)
  #    :description - Draws the quest's description
  #    :objectives  - Draws all the quest's objectives that have been revealed
  #    :rewards     - Draws whatever rewards have been set
  #
  # You will also need to add an entry for any new BASIC_DATA that you place
  # in BASIC_DATA_TYPES at line 264.
  #
  # Remember to place a comma after each entry. Also note that this is only the
  # default layout. You can set a different layout for any quest, and when
  # viewing that quest, it will be the custom layout that is shown.
  DATA_LAYOUT = [
    [:line, :name, :level],
    :banner,
    :client,
    :location,
    :description,
    :objectives,
    [:line, :rewards],
    :line,
  ] # <= Do not touch.
  #  ICONS - This is where you setup many of the icons used in the script. The
  # purpose of each is listed next to it. Also, if you make any custom
  # categories, you NEED to give them an icon by placing a line like the
  # others. So, if the new custom category is :romance then you would need to
  # set it like this:
  #    romance:     107,
  ICONS = {
    all:         226, # The icon for the All Quests category
    active:      236, # The icon for the Active Quests category
    complete:    238, # The icon for the Complete Quests category
    failed:      227, # The icon for the Failed Quests category
    client:      121, # The icon for client data. If none wanted, set to 0
    location:    231, # The icon for location data. If none wanted, set to 0
    reward_gold: 262, # The icon for gold rewards. If none wanted, set to 0
    reward_exp:  117, # The icon for exp rewards. If none wanted, set to 0
  } # <= Do not touch.
  #  VOCAB - This lets you choose some of the words used in the quest scene
  VOCAB = {
    # menu_label:  The command name in the menu if MENU_ACCESS is true
    menu_label:       "Quests",
    # scene_label: The label at the top of the scene. If empty, no window
    scene_label:      "Quest Journal",
    # description: The heading to identify the description
    description:      "Description",
    # objectives: The heading to identify the objectives
    objectives:       "Objectives",
    # objective_bullet: The bullet which shows up to the left of every
    #  objective. If %d is included, it shows the objective's ID.
    objective_bullet: "♦",
    # rewards: The heading to identify the rewards.
    rewards:          "Rewards",
    # reward_amount: For item rewards, this is the text to show the amount.
    #  It should include %d to show the amount.
    reward_amount:    "x%d",
    # reward_gold: Text to identify gold rewards
    reward_gold:      "",
    # reward_exp: Text to identify exp rewards
    reward_exp:       "",
    # level: If LEVEL_ICON is 0, this is the text which precedes the level
    level:            "Rank: ",
    # location: The text label for quest location
    location:         "",
    # location: The text label for quest client
    client:           "",
  } # <= Do not touch.
  #  CATEGORIES - This array allows you to set which categories are available
  # in the Quest scene. The default categories are :all, :active, :complete,
  # and :failed, and their names are self-explanatory. You can add custom
  # categories as well, but note that you will need to make sure that each new
  # category has an icon set in the ICONS hash, as well as a label set in the
  # CATEGORY_VOCAB hash (if you are using SHOW_CATEGORY_LABEL). It is also
  # advisable to give it a sort type, unless you are fine with it being sorted
  # by ID, as is default.
  CATEGORIES = [:all, :active, :complete, :failed]
  #  SHOW_CATEGORY_LABEL - This allows you to choose whether to show the name
  # of the currently selected category. If true, it will choose the name out
  # of the CATEGORY_VOCAB hash.
  SHOW_CATEGORY_LABEL = true
  #  CATEGORY_LABEL_IN_SAME_WINDOW - If SHOW_CATEGORY_LABEL is true, then this
  # options lets you choose whether the label is shown in the same window as
  # the category icons or in a separate window below. true = same window.
  CATEGORY_LABEL_IN_SAME_WINDOW = true
  #  CATEGORY_VOCAB - If SHOW_CATEGORY_LABEL is true, this hash lets you set the
  # label for each category. For any custom categories you create, you will
  # need to add a line for each below and in the same format:
  #    :category => "Label",
  # Don't forget to add the comma at the end of each line.
  CATEGORY_VOCAB = {
    :all =>      "All Quests",      # The label for the :all category
    :active =>   "Active Quests",   # The label for the :active category
    :complete => "Complete Quests", # The label for the :complete category
    :failed =>   "Failed Quests",   # The label for the :failed category
  } # <= Do not touch.
  #  SORT_TYPE - This hash allows you to choose how each category is sorted.
  # For each category, default or custom, you can set a different sort method
  # There are seven options to choose from:
  #    :id - The quests are sorted from lowest to highest ID
  #    :alphabet - The quests are sorted in alphabetical order
  #    :level - The quests are sorted from the lowest to highest level
  #    :reveal - The quests are sorted from most recently revealed on.
  #            Every time a new quest is revealed, it will be at the top.
  #    :change - The quests are sorted from the one whose status most recently
  #            changed on. So, every time an objective is modified, that quest
  #            will be thrown to the top.
  #    :complete - The quests are sorted from the most recently completed on.
  #            Every time a quest is completed, it will be thrown to the top.
  #    :failed - The quests are sorted from the most recently failed on.
  #            Every time a quest is failed, it will be thrown to the top.
  #
  # Additionally, you can put _r at the end of any of the sort options and it
  # will reverse the order. So, for instance, if the sort method for a category
  # is :alphabet_r, then the quests will show up from Z-A
  SORT_TYPE = {
    :all =>      :id,       # Sort type for the All Quests category
    :active =>   :change,   # Sort type for the Active Quests category
    :complete => :complete, # Sort type for the Complete Quests category
    :failed =>   :failed,   # Sort type for the Failed Quests category
  } # <= Do not touch.
  #  WINDOWSKIN - The windowskin for each window in the Quest scene. It must
  # refer to a graphic in the System folder of Graphics. If set to false, then
  # it will use whatever windowskin is default. If you are using a script which
  # lets the player choose the windowskin, false is the recommended value.
  WINDOWSKIN = false
  #  WINDOW_TONE - The tone for each window. It must be an array in the form:
  #      WINDOW_TONE = [red, green, blue, gray]
  # gray can be excluded, but the other three must be present. If you set this
  # value to false, then the windows will have whatever tone is default.
  WINDOW_TONE = false
  #  WINDOW_OPACITY - The opacity of the windows in the Quest scene. If set to
  # false, it will use the default opacity for windows.
  WINDOW_OPACITY = false
  #  BG_PICTURE - This is a string referring to a picture in the Picture folder
  # of Graphics. If set to "", then there will be no picture. Otherwise, it
  # will display the selected picture below the windows but above the map in
  # the Quest scene.
  BG_PICTURE = ""
  #  BG_OPACITY - This allows you to set the opacity of the background picture,
  # if you have selected one.
  BG_OPACITY = 255
  #  BG_BLEND_TYPE - This allows you to set the blend type of the background
  # picture, if you have selected one.
  BG_BLEND_TYPE = 0
  #  DESCRIPTION_IN_BOX - This is a graphical option, and it allows you to
  # choose whether the description should be shown in a box.
  DESCRIPTION_IN_BOX = true
  #  LEVEL_ICON - This sets how levels are shown. If set to an integer, then it
  # will draw the same icon numerous times up to the level of the quest. Ie. If
  # the level's quest is 1, then the icon will only be drawn once, but if the
  # level's quest is 4, it will be drawn 4 times. LEVEL_ICONS_SPACE determines
  # the space between them. If you set LEVEL_ICON to 0, however, then it will
  # instead draw a signal for the level, corresponding to that index in the
  # LEVEL_SIGNALS array. If the LEVEL_SIGNALS array is empty, then it will just
  # draw the integer for the level. Finally, LEVEL_ICON can also be an array of
  # integers, in which case the level will be represented only by the icon set
  # which corresponds to it in the array.
  LEVEL_ICON = 125
  #  LEVEL_ICONS_SPACE - If LEVEL_ICON is an integer, this is the amount of
  # space between each time the icon is drawn.
  LEVEL_ICONS_SPACE = 16
  #  LEVEL_SIGNALS - If LEVEL_ICON is 0, this allows you to set what string
  # should be the signal for each level. If this array is empty, then it will
  # just draw the level integer. Ie. if the Quest is Level 4, it will draw 4.
  LEVEL_SIGNALS = ["F", "E", "D", "C", "B", "A", "S"]
  #  COLOURS - This lets you change the colour for various aspects of the
  # quest scene. Each can be set in one of three ways:
  #    :symbol - If you use a symbol, the colour will be the result of calling
  #      the method of the same name. For instance, if you set something to
  #      :system_color, it will set the colour to the result of the Window_Base
  #      system_color method.
  #    Integer - If you set the colour to an integer, then it will take its
  #      colour from the windowskin palette, just like using \c
  • in messages.
      #    Array - You can also set the rgba values directly with an array in the
      #      format: [red, green, blue, alpha]. alpha can be excluded, but you must
      #      have values for red, green, and blue.
      COLOURS = {
        # active: This sets the colour for active quests in the list and the name
        #  of the active quest when shown in the data window.
        active:           :normal_color,
        # complete: This sets the colour for complete quests in the list and the
        #  name of the complete quest when shown in the data window.
        complete:         3,
        # failed: This sets the colour for failed quests in the list and the name
        #  of the failed quest when shown in the data window.
        failed:           10,
        # line:  This sets the colour for lines or boxes drawn in the quest scene
        line:             :system_color,
        # line_shadow:  This sets the colour of the shadow for lines or boxes drawn
        #  in the quest scene
        line_shadow: [0, 0, 0, 128],
        # scene_label: This sets the colour for the scene label, if shown
        scene_label:      :system_color,
        # category_label: This sets the colour for the category label, if shown
        category_label:   :normal_color,
        # level_signal: This sets the colour for the level signal, if shown
        level_signal:     :normal_color,
        # objective_bullet: This sets the colour for objectives; if set to
        #  :maqj_objective_color, it will reflect the completion status of the
        #  objective, but you can change it to something else if you prefer
        objective_bullet: :maqj_objective_color,
        # reward_amount: The colour of the item amount, when shown
        reward_amount:    :normal_color,
        # heading: The colour of any headings in the script, like "Description"
        heading:          :system_color,
        # basic_label: For basic data, like client, the colour of the label
        basic_label:      :system_color,
        # basic_value: For basic data, like client, the colour of the value
        basic_value:      :normal_color,
      } # <= Do not touch.
      #  HEADING_ALIGN - This sets the alignment for the aspects listed. 0 is Left;
      # 1 is Centre; 2 is Right
      HEADING_ALIGN = {
        description: 0, # Alignment for the Description heading
        objectives:  0, # Alignment for the Objectives heading
        rewards:     1, # Alignment for the Rewards heading
        level:       2  # Alignment when showing the level
      } # <= Do not touch.
      #````````````````````````````````````````````````````````````````````````````
      #    Font Aspects
      #
      #  All of the following options (FONTNAMES, FONTSIZES, FONTBOLDS, and
      # FONTITALICS) allow you to alter the fonts used for various aspects of the
      # scene. The only one listed there by default is normal:, which is the
      # font used by default for the entire scene. However, you can change the 
      # fonts for almost any aspect - all you need to do is add a line like so:
      #
      #    description: value,
      #
      # and that will change that font aspect when drawing the description. The
      # following symbols are available for changing:
      #
      #   normal:         The default font used for every part of the scene
      #   list:           The font used in the List Window
      #   scene_label:    The font used when drawing the Scene Label, if shown
      #   category_label: The font used when drawing the Category Label, if shown
      #   heading:        The font used when drawing any headings, like "Description"
      #   name:           The font used when drawing the quest name in data window
      #   description:    The font used when drawing the Description
      #   objectives:     The font used when drawing the objectives
      #   rewards:        The font used when drawing the rewards
      #   client:         The font used when drawing the client
      #   location:       The font used when drawing the location
      #
      # For any of them, you need to set a value. What the value can be depends
      # on which font aspect you are changing and is described below, but for any
      # of them setting it to the false will mean it will simply use the default
      #
      # For any that you add, remember that you must put a comma after the value.
      #````````````````````````````````````````````````````````````````````````````
      #  FONTNAMES - Here you can change the font used for any of the various
      # options. It can take any of the following types of values:
      #     false    - The default font will be used
      #     "String" - The font with the name "String" will be used.
      #     [Array]  - The array must be in the form: ["String1", "String2", ...]
      #               The font used will be the first one in the array that the
      #               player has installed.
      #
      #  EXAMPLES:
      #
      #    normal:      false,
      #      The font used for unaltered aspects of the scene is the default font
      #    scene_label: "Algerian",
      #      The font used for the Scene Label will be Algerian.
      #    description: ["Cambria", "Times New Roman"],
      #      The font used when drawing the description will be Cambria if the
      #      player has Cambria installed. If the player does not have Cambria
      #      installed, then the font used will be Times New Roman
      FONTNAMES = {
        normal: false, # normal: the default font name
      } # <= Do not touch.
      #  FONTSIZES - Here you can change the size of the font. There are two types
      # of values you can set:
      #    false   - The default fontsize will be used
      #    Integer - The fontsize will be equal to the value of the Integer.
      # 
      # For everything but the label windows, this shouldn't exceed 24, since that
      # is the line_height. However, for scene_label: and category_label:, the size
      # of the window will be adjusted to whatever size you set the font.
      FONTSIZES = {
        normal:         false, # normal: default font size
        scene_label:    28,    # scene_label: fontsize for the Scene Label window
        category_label: 24,    # category_label: fontsize for Category Label window
      } # <= Do not touch.
      #  FONTBOLDS - Here you can set whether the font will be bolded. You can set
      # it to either false, in which case it will not be bolded, or true, in which
      # case it will be bolded.
      FONTBOLDS = {
        scene_label:  true, # scene_label: whether font is bold for Scene Label
        heading:      true, # heading: whether font is bold for the headings
        level_signal: true, # level_signal: whether font is bold for level
      } # <= Do not touch.
      #  FONTITALICS - Here you can set whether the font will be italicized. You
      # can set it to either false, in which case it will not be italicized, or
      # true, in which case it will be italicized.
      FONTITALICS = {
      }
      #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
      #  END Editable Region A
      #//////////////////////////////////////////////////////////////////////////
      CATEGORIES = [:all] if !CATEGORIES || CATEGORIES.empty?
      VOCAB.default = ""
      ICONS.default = 0
      CATEGORY_VOCAB.default = ""
      SORT_TYPE.default = :id
      COLOURS.default = :normal_color
      HEADING_ALIGN.default = 0
      FONTNAMES.default = false
      FONTSIZES.default = false
      FONTBOLDS.default = false
      FONTITALICS.default = false
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Setup Quest
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      def self.setup_quest(quest_id)
        q = { objectives: [] }
        case quest_id
        #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
        #  BEGIN Editable Region B
        #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
        #    Quest Setup
        #
        #  This is where you set up the data for every quest in the game. While
        # it may seem complicated, I urge you to pay attention and, once you get
        # the hang of it, I am sure it will quickly become second nature.
        #
        #  Every single quest should be set up in the following format, but note
        # that if you are not setting anything for a particular aspect, you can
        # delete that line. Anyway, this is what each quest should look like, with
        # the values on the left being the default values if you don't set them:
        #
        #  when quest_id
        #   q[:name]              = "??????"
        #   q[:icon_index]        = 0
        #   q[:level]             = 0
        #   q[:description]       = ""
        #   q[:banner]            = ""
        #   q[:banner_hue]        = 0
        #   q[:objectives][0]     = ""
        #   q[:objectives][1]     = ""
        #   q[:objectives][2]     = ""
        #   q[:objectives][n]     = ""
        #   q[:prime_objectives]  = [0, 1, 2, n]
        #   q[:custom_categories] = []
        #   q[:client]            = ""
        #   q[:location]          = ""
        #   q[:rewards]           = []
        #   q[:common_event_id]   = 0
        #   q[:layout]            = false
        #
        #  For each line, with the exception of objectives, it is only the value on
        # the right of the equals sign that you will need to change. Now I will
        # explain each line:
        #
        # when quest_id
        #    quest_id - is an integer of your choosing, and this is how you
        #        reference a quest in order to advance and do anything else. It
        #        must be unique for every quest; if you use 1 for the first quest,
        #        you cannot use 1 for any other quest.
        #
        #   q[:name]              = ""
        #     "" - This line sets the name of the quest which shows in the Quest
        #        List.
        # 
        #   q[:icon_index]        = 0
        #     0  - This line sets the icon to be used for this quest. It will show
        #        to the left of the quest's name in the Quest List.
        #
        #   q[:level]             = 0
        #     0  - This line sets the level of the quest. If 0, no level will be
        #        shown. See the level options at lines 441-458 for more detail.
        # 
        #   q[:description]       = ""
        #     "" - This line sets the description of the quest. You can use message
        #        codes in this string, but if you are using "" then you need to use
        #        \\ to identify codes and not just \. Ie. It's \\v
  • , not \v

  •     #
        #   q[:objectives][0]     = ""
        #   q[:objectives][1]     = ""
        #   q[:objectives][2]     = ""
        #   q[:objectives][n]     = ""
        #  Objectives are slightly different. Notice that after q[:objectives] on
        # each line there is an integer enclosed in square brackets:
        #    [n] - This is the ID of the objective, and n MUST be an integer. No
        #       quest can have more than one objective with the same ID. This is
        #       how you identify which objective you want to reveal, complete or
        #       fail. That said, you can make as many objectives as you want, as
        #       long as you give them all distinct IDs. The IDs should be in
        #       sequence as well, so there shouldn't be a q[:objectives][5] if
        #       there is no q[:objectives][4].
        #     "" - This is the text of the objective. You can use message codes in
        #        this string, but if you are using "" then you will need to use
        #        \\ to identify codes and not just \. Ie: It's \\v
  • , not \v

  •     #
        #   q[:prime_objectives]  = [0, 1, 2, n]
        #     [0, 1, 2, n] - This array determines what objectives need to be
        #        completed in order for the quest to be complete. In other words,
        #        all of the objectives with the IDs in this array need to be
        #        complete for the quest to be complete. If any one of them is
        #        failed, the quest will be failed. If you remove this line
        #        altogether, then all objectives are prime. If you set this to [],
        #        then the quest will never be automatically completed or failed and
        #        you need to use the manual options described at lines 208-219.
        #
        #   q[:custom_categories] = []
        #     [] - This allows you to set an array of custom categories for this
        #        quest, whiich means this quest will show up in each of those
        #        categories if you add it to the CATEGORIES array at line 370.
        #        Note that each category you make must be identified by a unique
        #        :symbol, and you must set up all the category details for that
        #        :symbol.
        #
        #   q[:banner]            = ""
        #     "" - This line sets the banner to be used for a quest. It must be the
        #        filename of an image in the Pictures folder of Graphics.
        #
        #   q[:banner_hue]        = 0
        #     0 - The hue of the banner graphic, if used
        #
        #   q[:client]            = ""
        #     "" - This line sets the client name for this quest. (basic data)
        #
        #   q[:location]          = ""
        #     "" - This line sets the location of the quest. (basic data)
        #
        #   q[:rewards]           = []
        #    [] - In this array, you can identify particular rewards that will
        #       show up. Each reward should be in its own array and can be any of
        #       the following:
        #          [:item, ID, n],
        #          [:weapon, ID, n],
        #          [:armor, ID, n],
        #          [:gold, n],
        #          [:exp, n],
        #       where ID is the ID of the item, weapon or armour you want
        #       distributed and n is the amount of the item, weapon, armor, gold,
        #       or experience you want distributed. Additionally, you can also set
        #       some text to show up in the rewards format but which wouldn't be
        #       automatically distributed. You would need to specify that type of
        #       reward text in the following format:
        #          [:string, icon_index, "string", "vocab"],
        #       where icon_index is the icon to be shown, "string" is what you
        #       would show up as the amount, and "vocab" is what would show up as a
        #       label between the icon and the amount.
        #     
        #
        #   q[:common_event_id]   = 0
        #     0  - This allows you to call the identified common event immediately
        #        and automatically once the quest is completed. It is generally
        #        not recommended, as for most quests you should be controlling it
        #        enough not to need this feature.
        #
        #   q[:layout]            = false
        #     false - The default value for this is false, and when it is false the
        #        layout for the quest will be inherited from the default you set at
        #        302. However, you can also give the quest its own layout - the
        #        format would be the same as you set for the default at line 307.
        # 
        # Template:
        #
        #  When making a new quest, I recommend that you copy and paste the
        # following template, removing whichever lines you don't want to alter.
        # Naturally, you need to remove the #~. You can do so by highlighting
        # the entire thing and pressing CTRL+Q:
    #~     when 2 # <= REMINDER: The Quest ID MUST be unique
    #~       q[:name]              = "??????"
    #~       q[:icon_index]        = 0
    #~       q[:level]             = 0
    #~       q[:description]       = ""
    #~       # REMINDER: You can make as many objectives as you like, but each must
    #~       # have a unique ID.
    #~       q[:objectives][0]     = ""
    #~       q[:objectives][1]     = ""
    #~       q[:objectives][2]     = ""
    #~       q[:prime_objectives]  = [0, 1, 2]
    #~       q[:custom_categories] = []
    #~       q[:banner]            = ""
    #~       q[:banner_hue]        = 0
    #~       q[:client]            = ""
    #~       q[:location]          = ""
    #~       q[:rewards]           = []
    #~       q[:common_event_id]   = 0
        when 1 # Quest 1 - SAMPLE QUEST
          q[:name]              = "Runaway Bride"
          q[:level]             = 3
          q[:icon_index]        = 7
          q[:description]       = "A local woman was abducted by bandits on the night of her wedding."
          q[:objectives][0]     = "Talk to Boris"
          q[:objectives][1]     = "Search the Haunted Woods for Boris' wife, Ladia"
          q[:objectives][2]     = "Slay the Bandits"
          q[:objectives][3]     = "Escort Ladia back to Boris"
          q[:prime_objectives]  = [1, 2]
          q[:custom_categories] = []
          q[:banner]            = ""
          q[:banner_hue]        = 0
          q[:client]            = "Boris"
          q[:location]          = "The Haunted Woods"
          q[:common_event_id]   = 0
          q[:rewards]           = [
            [:item, 1, 3],
            [:gold, 500],
          ]
          q[:layout]            = false
        #||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
        #  END Editable Region B
        #//////////////////////////////////////////////////////////////////////
        end
        q
      end
    end

    #==============================================================================
    # *** DataManager
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #  Summary of Changes:
    #    aliased method - self.extract_save_contents
    #==============================================================================

    class << DataManager
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Extract Save Contents
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      alias maqj_extractsavecons_2kw5 extract_save_contents
      def extract_save_contents(*args, &block)
        maqj_extractsavecons_2kw5(*args, &block) # Call Original Method
        if $game_party.quests.nil?
          $game_party.init_maqj_data
          $game_system.init_maqj_data
        end
      end
    end

    #==============================================================================
    # ** MAQJ_SortedArray
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #  This module mixes in to an array to maintain the sorted order when inserting
    #==============================================================================

    module MAQJ_SortedArray
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Insert to Array
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      def maqj_insert_sort(el, &block)
        index = bsearch_index(el, 0, size, &block)
        index ? insert(index, el) : push(el)
      end
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Retrieve Index from Binary Search
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      def bsearch_index(el, b = 0, e = size, &block)
        return bsearch_index(el, b, e) { |a,b| a <=> b } if block.nil?
        return b if b == e # Return the discovered insertion index
        return if b > e
        m = (b + e) / 2    # Get Middle
        block.call(el, self[m]) > 0 ? b = m + 1 : e = m
        bsearch_index(el, b, e, &block)
      end
    end

    #==============================================================================
    # ** Game_Quest
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #  This class holds all instance data for a quest
    #==============================================================================

    class Game_Quest
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Public Instance Variables
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      attr_reader   :id                  # Unique identifier for this quest
      attr_reader   :name                # The name to be shown for the quest
      attr_reader   :level               # The level of difficulty of the quest
      attr_reader   :objectives          # An array of objective strings
      attr_reader   :prime_objectives    # An array of crucial objective IDs
      attr_reader   :revealed_objectives # An array of revealed objective IDs
      attr_reader   :complete_objectives # An array of completed objective IDs
      attr_reader   :failed_objectives   # An array of failed objective IDs
      attr_reader   :custom_categories   # An array of category symbols
      attr_accessor :icon_index          # Icon associated with this quest
      attr_accessor :common_event_id     # ID of common event to call upon complete
      attr_accessor :description         # The description for the quest
      attr_accessor :banner              # Picture shown to represent the quest
      attr_accessor :banner_hue          # The hue of the banner
      attr_accessor :layout              # The layout of this quest in scene
      attr_accessor :rewards             # An array of rewards to show
      attr_accessor :reward_given        # Boolean tracking if quest was rewarded
      attr_accessor :concealed           # Whether or not the quest is visible
      attr_accessor :manual_status       # Quest status if not using prime objectives
      QuestData::BASIC_DATA_TYPES.each { |data_type| attr_accessor(data_type) }
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Object Initialization
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      def initialize(quest_id)
        @id = quest_id
        @concealed = default_value_for(:concealed)
        @reward_given = default_value_for(:reward_given)
        reset
      end
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Reset
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      def reset
        data = QuestData.setup_quest(@id)
     
[close]

ah mas se não entende inglês.. porque não busca sistemas de quest daqui mesmo do território nacional xD?

Aqui alguns deles.

http://centrorpg.com/rgss3/simple-quest-book/

http://centrorpg.com/rgss3/masked-scripts-sistema-de-quest/


Citação de: Raizen online 28/02/2014 às 22:52
ah mas se não entende inglês.. porque não busca sistemas de quest daqui mesmo do território nacional xD?

Aqui alguns deles.

http://centrorpg.com/rgss3/simple-quest-book/

http://centrorpg.com/rgss3/masked-scripts-sistema-de-quest/

OK pode fechar o topico vou tentar usar um desses nacionais  :rainbow: