10-15-2010, 09:30 PM 
	
	
	
		Been getting to grips with this script and i'm liking it quite a lot, only problem is that it doesn't seem to dispose of this screen before exiting back to the menu. Here's a couple of screenshots to try and explain. You can still see the quest screen in the back of the bottom two screenshots, it should show a blurred image of the map instead.
![[Image: backgrounderror0004laye.th.jpg]](http://img580.imageshack.us/img580/1107/backgrounderror0004laye.th.jpg)
![[Image: backgrounderror0003laye.th.jpg]](http://img683.imageshack.us/img683/6195/backgrounderror0003laye.th.jpg)
![[Image: backgrounderror0002laye.th.jpg]](http://img404.imageshack.us/img404/1236/backgrounderror0002laye.th.jpg)
![[Image: backgrounderror0001laye.th.jpg]](http://img251.imageshack.us/img251/2871/backgrounderror0001laye.th.jpg)
![[Image: backgrounderror0000laye.th.jpg]](http://img821.imageshack.us/img821/8339/backgrounderror0000laye.th.jpg)
I'm also using Yanfly Engine Melody, so i'm not sure if that would cause this, here's the Omega Quest script.
  			
		
I know nothing in the way of scripting, so any help on this would be appreciated.
	
	
![[Image: backgrounderror0004laye.th.jpg]](http://img580.imageshack.us/img580/1107/backgrounderror0004laye.th.jpg)
![[Image: backgrounderror0003laye.th.jpg]](http://img683.imageshack.us/img683/6195/backgrounderror0003laye.th.jpg)
![[Image: backgrounderror0002laye.th.jpg]](http://img404.imageshack.us/img404/1236/backgrounderror0002laye.th.jpg)
![[Image: backgrounderror0001laye.th.jpg]](http://img251.imageshack.us/img251/2871/backgrounderror0001laye.th.jpg)
![[Image: backgrounderror0000laye.th.jpg]](http://img821.imageshack.us/img821/8339/backgrounderror0000laye.th.jpg)
I'm also using Yanfly Engine Melody, so i'm not sure if that would cause this, here's the Omega Quest script.
 Content Hidden
  			Code:
# =============================================================================
#                Omegas7's Ultimate Quest System Script.
# =============================================================================
#   Author: Omegas7.
#   Version: 3.0 (Final).
#   My Site: baseomega.forumer.com
# =============================================================================
#   This final version comes loaded with a better looking layout,
#   a more customizable configuration area, etc...
# =============================================================================
#   Features:
#     > Easy to create quests in the script.
#     > A quest works with a variable, no switches!
#     > Unlimited tasks for each quest! (Scroll Function)
#     > Incomplete and Complete icons.
#     > Set Background and HUD graphics for your own menu style!
#     > You can use pictures for each quest!
#     > Descriptions of each quest.
#     > Variable support! Display variables values for complex quests!
#     > Categories for ALL, COMPLETE, and INCOMPLETE quests.
#     > Automatically adds "Quest Completed" unlike older versions.
#     > Change Font sizes.
#     > Lots of customization options, check below.
# =============================================================================
#   Instructions:             (First time? Better read them)
#
#     Thanks for using this script.
#     It is quite an useful system, take your time reading the next:
#
#     First of all, let's create a new quest for our game.
#     Below, in the configurations area, you will find the
#     [QUEST CREATION AREA]. To create your own quest, you will
#     need to add some code. Here is the basic template:
#
#     QUESTS[ID] = ['Name',VAR,IconA,IconB,'Image']
#     TASKS[ID] = ['Do this','And this','And this']
#     DESCRIPTIONS[ID] = ['This is an awesome','quest for noobs']
#
#     ID will be your quest ID number.
#     So if you got 20 quests, your new quest ID would be 21.
#     'Name' is... The name lol. Make sure it to be inside quotes ' '.
#     VAR is the variable ID which controls this quest.
#     IconA is the incomplete icon index number.
#     IconB ia the complete one.
#     'Image' will be the picture displayed on top of your quest.
#     You can disable it by putting 'nil' (no quotes).
#
#     TASKS will be the array containing all the To-Do stuff of the
#     quest. Each task is a string, inside quotes ' '.
#     Each task, is separated by a comma.
#     You can have unlimited tasks (the window will become scrollable).
#     You can put \v[id] for showing variables in your tasks!
#
#     DESCRIPTIONS is like TASKS. Just that it will be the description
#     being shown in the main menu for the quest.
#     Each element is a text line.
#
#     Look at the demo if you need help.
#     For further help, let me know. My site is:
#     baseomega.forumer.com
# =============================================================================
module OMEGAS7
  module QUEST
    # =========================================================================
    #  Configuration Options.
    # =========================================================================
    
    # Exit returns to MAP or to MENU?
    EXIT_TO = "MENU"
    # If MENU, then, what slot will it appear on? (Counting from 0)
    MENU_RETURN_SLOT = 4
    
    # Background and HUD graphics, both in system folder.
    BACKGROUND = 'QUEST BG'
    HUD = 'QUEST HUD'
    
    # Tasks prefix and icon spacing (spaces before the quest name for the icon).
    TASKS_PREFIX = "> "
    ICON_SPACING = "    "
    
    # Main menu quests and task lines font sizes:
    QUESTS_FONT_SIZE = 13
    TASKS_FONT_SIZE = 18
    
    # Category Icon Indexes.
    # [All,Completed,Incompleted]
    CATEGORY_ICONS = [100,101,99]
    
    # =========================================================================
    QUESTS = []               # Don't edit.
    TASKS = []                # Don't edit.
    DESCRIPTIONS = []         # Don't edit.
    # =========================================================================
    
    QUESTS[0] = ['A day on the farm.',1,99,101,nil]
    TASKS[0] = ['I must grab the sacred blade on the table.',
    'I think I got the right Blade. Go talk with the master.',
    'Now I have to purify 4 crystals. \v[2] so far.',
    'It is better I report back to my master about the crystals.',
    'I should turn the switch. Something might happen.',
    'Go and kill the bad guy.']
    DESCRIPTIONS[0] = ['My master has a few easy tasks','for me, he is so awesome.']
    
    QUESTS[1] = ['Example',2,99,101,'lol']
    TASKS[1] = ['1st task...','2nd task...','3rd task...']
    DESCRIPTIONS[1] = ['The second quest is always harder','than the first one.']
  end
end
class Omega_Quest < Scene_Base
  include OMEGAS7::QUEST
  def initialize
    @index = 0
    @mode = 0
    @empty_list = false
    create_background
    create_quest_list
    create_quest_commands
    create_quest_description
    create_category
    create_information
  end
  def create_background
    @background = Sprite_Base.new
    @background.bitmap = Cache.system(BACKGROUND.to_s)
    @background.z = 50
    @hud = Sprite_Base.new
    @hud.bitmap = Cache.system(HUD.to_s)
    @hud.z = 60
  end
  def create_quest_list
    @list = []
    @list[0] = []
    @list[1] = []
    @list[2] = []
    for i in 0...QUESTS.size
      if $game_variables[QUESTS[i][1].to_i].to_i > TASKS[i].size
        @list[0][i] = [QUESTS[i][0].to_s,true,i]
        @list[1][i] = [QUESTS[i][0].to_s,true,i]
      elsif $game_variables[QUESTS[i][1].to_i].to_i > 0
        @list[0][i] = [QUESTS[i][0].to_s,false,i]
        @list[2][i] = [QUESTS[i][0].to_s,false,i]
      end
    end
    @list[0].compact!
    @list[1].compact!
    @list[2].compact!
    @list.compact!
    if @list[0].empty?
      @empty_list = true
    end
  end
  def create_quest_commands
    create_quest_list
    @command_window = Window_Quest_Command.new(250,@list[@mode])
    @command_window.y = 90
    @command_window.x = 12
    @command_window.opacity = 0
    @index = @command_window.index
  end
  def create_quest_description
    @window_description = Window_Base.new(280,80,250,170)
    @window_description.contents.font.size = QUESTS_FONT_SIZE
    @window_description.opacity = 0
    refresh_description
  end
  def refresh_description
    @window_description.contents.clear
    if @list[@mode][@command_window.index][2] != nil
      for i in 0...DESCRIPTIONS[@list[@mode][@command_window.index][2]].size
        txt = DESCRIPTIONS[@list[@mode][@command_window.index][2]][i].to_s
        @window_description.contents.draw_text(0,18*i,260,18,txt.to_s)
      end
    end
  end
  def update
    @command_window.update
    @category.update
    if @mode != @category.index
      @mode = @category.index
      @command_window.dispose
      create_quest_commands
      refresh_description
    end
    if @index != @command_window.index
      @index = @command_window.index
      refresh_description
    end
    if Input.trigger?(Input::C) && @list[@mode][@command_window.index][2] != nil
      @background.dispose
      @hud.dispose
      @command_window.dispose
      @window_description.dispose
      @category.dispose
      @information.dispose
      $scene = Omega_Quest_View.new(@list[@mode][@command_window.index][2])
    elsif Input.trigger?(Input::C) && @list[@mode][@command_window.index][2] == nil
      Sound.play_buzzer
    end
    if Input.trigger?(Input::B)
      finish
    end
  end
  def create_category
    @category = Window_Categories_Command.new(180)
    @category.opacity = 0
    @category.x = -6
    @category.y = 40
  end
  def create_information
    @information = Window_Base.new(544-250,416-120,250,120)
    @information.opacity = 0
    @information.contents.font.size = 16
    if @empty_list == true
      @information.contents.draw_text(0,0,250,24,"Current Total Quests: 0")
    else
      @information.contents.draw_text(0,0,250,24,"Current Total Quests: " + @list[0].size.to_s)
    end
    @information.contents.font.color = Color.new(0,255,0)
    @information.contents.draw_text(0,24,250,24,"Completed Quests: " + @list[1].size.to_s)
    @information.contents.font.color = Color.new(255,167,0)
    @information.contents.draw_text(0,48,250,24,"Incomplete Quests: " + @list[2].size.to_s)
  end
  def finish
    @background.dispose
    @hud.dispose
    @command_window.dispose
    @window_description.dispose
    @category.dispose
    @information.dispose
    case EXIT_TO
    when "MENU"
      $scene = Scene_Menu.new(MENU_RETURN_SLOT)
    when "MAP"
      $scene = Scene_Map.new
    end
  end
end
class Omega_Quest_View < Scene_Base
  include OMEGAS7::QUEST
  def initialize(id)
    @font_size = 16
    @line_height = 18
    @id = id
    @limit_y = 0
    draw_picture if QUESTS[@id][4] != nil
    set_tasks
    create_window
    refresh_window
  end
  def draw_picture
    @picture = Sprite_Base.new
    @picture.bitmap = Cache.system(QUESTS[@id][4].to_s)
    @picture.x = (544/2) - (@picture.width/2)
    @picture.z = 250
  end
  def set_tasks
    @tasks = []
    for i in 0...TASKS[@id].size
      if $game_variables[QUESTS[@id][1]].to_i >= i + 1
        @tasks[i] = TASKS[@id][i].to_s
      end
    end
    if $game_variables[QUESTS[@id][1]].to_i > TASKS[@id].size
      @tasks.push('Quest Completed!')
    end
  end
  def create_window
    height = @line_height * @tasks.size + 32
    y = 0
    if @picture != nil
      y += @picture.height
      @limit_y = @picture.height
    end
    @window = Window_Base.new(0,y,544,height)
  end
  def refresh_window
    @window.contents.clear
    @window.contents.font.size = @font_size
    @display = []
    for i in 0...@tasks.size
      @display[i] = @tasks[i].clone
      @display[i].to_s.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
      @display[i].to_s.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
      @window.contents.draw_text(0,i * @line_height,500,@line_height,TASKS_PREFIX.to_s + @display[i].to_s)
    end
  end
  def update
    if Input.press?(Input::DOWN) && ((@window.y + @window.height) > 416)
      @window.y -= 3
    elsif Input.press?(Input::UP) && (@window.y < @limit_y)
      @window.y += 3
    end
    if Input.trigger?(Input::B)
      @picture.dispose if @picture != nil
      @window.dispose
      $scene = Omega_Quest.new
    end
  end
end
class Window_Quest_Command < Window_Selectable
  include OMEGAS7::QUEST
  attr_reader   :commands
  def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
    @commands = commands
    @empty = false
    if @commands.empty?
      @commands[0] = ["No quests.",false]
      @empty = true
    end   
    if row_max == 0
      row_max = (@commands.size + column_max - 1) / column_max
    end
    super(0, 0, width, row_max * WLH + 32, spacing)
    @item_max = commands.size
    @column_max = column_max
    self.contents.font.size = TASKS_FONT_SIZE
    refresh
    self.index = 0
  end
  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end
  def draw_item(index, enabled = true)
    spacing = ICON_SPACING.to_s
    rect = item_rect(index)
    rect.x += 4
    rect.width -= 8
    self.contents.clear_rect(rect)
    self.contents.font.color = Color.new(255,0,0)
    self.contents.font.color.alpha = enabled ? 255 : 128
    if @empty == false
      if @commands[index][1] == true
        self.contents.font.color = Color.new(0,255,0)
        draw_icon(QUESTS[@commands[index][2]][3].to_i,rect.x,rect.y)
      else
        self.contents.font.color = Color.new(255,0,0)
        draw_icon(QUESTS[@commands[index][2]][2].to_i,rect.x,rect.y)
      end
    elsif @empty == true
      spacing = ""
    end
    self.contents.draw_text(rect, spacing + @commands[index][0].to_s)
  end
end
class Window_Categories_Command < Window_Selectable
  include OMEGAS7::QUEST
  attr_reader   :commands
  def initialize(width, column_max = 3, row_max = 1, spacing = 12)
    super(0, 0, width, row_max * WLH + 32, spacing)
    @commands = ['','','']
    @item_max = commands.size
    @column_max = column_max
    @icons = CATEGORY_ICONS
    refresh
    self.index = 0
  end
  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end
  def draw_item(index, enabled = true)
    rect = item_rect(index)
    rect.x += 4
    rect.width -= 8
    self.contents.clear_rect(rect)
    draw_icon(@icons[index],rect.x,rect.y)
  end
endI know nothing in the way of scripting, so any help on this would be appreciated.
Seriously though, the ending for Mass Effect 3 wasn't that bad, get over it.
	
 
 
 Slight problem with Omega Quest script.
 Slight problem with Omega Quest script.
 

 
![[Image: BUMP.jpg]](http://www.euronet.nl/users/foofan/Pics/BUMP.jpg) 
	
 

 
  
 