Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Very simple status screen edit request.

I just need the default status screen to look like this:

http://img242.imageshack.us/img242/9473 ... kupjc5.png[/IMG]

The gold text is the "system" color, and the black text is "normal"

Although it shows the whole screen surrounded by a border in the mockup, this isn't necessary.

The general background should be completely transparent, and the stat and equipment panes should be semi-transparent.

The scene should allow a picture for a background, as detailed in the image.

The part that says "The Captain" is the characters class, which includes the quotes.

Additionally, if someone could edit the Item, skill, equipment, and save menus to allow an image for a background as well, with adjustable opacity on the window background, that would be awesome.
 
Sorry for stealing you request Trick, but I was bored. :p

Just insert this in a new window above main:

Code:
#==============================================================================
# ** Arc's Status Screen
#------------------------------------------------------------------------------
# Raziel
# 2007-07-02
# Version 1.00
#==============================================================================
#==============================================================================
# ** Module Status_Window
#==============================================================================

module Status_Window
  # Insert the name of the background picture. 
  # BG Pictures are located in the pictures folder.
  Status_Background = ""
  Item_Background = ""
  Skill_Background = ""
  Equip_Background = ""
  Save_Background = ""
  # Change the value to something else to change the window's 
  # opacity in the screens with BG Pictures.
  Window_Opacity = 75
  # Change the value to change the portrait's x and y position.
  Portrait_X = 300
  Portrait_Y = 0
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
#  This class is for all in-game windows.
#==============================================================================

class Window_Base
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias raz_opacity_window_ini initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x      : window x-coordinate
  #     y      : window y-coordinate
  #     width  : window width
  #     height : window height
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    raz_opacity_window_ini(x, y, width, height)
    @scene = [Scene_Item, Scene_Skill, Scene_Equip, Scene_File, Scene_Status]
    @scene.each { |scene| self.opacity = Status_Window::Window_Opacity if $scene.is_a?(scene)}
  end
  #--------------------------------------------------------------------------
  # * Draw Portrait
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #     opacity : draw portrait opacity
  #--------------------------------------------------------------------------
  def draw_actor_portrait(actor, x, y, opacity = 255)
    bitmap = RPG::Cache.picture("[#{actor.name}]status")
    self.contents.blt(x, y, bitmap, Rect.new(0, 0, bitmap.width, bitmap.height), opacity)
  end
end

#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
#  This window displays full status specs on the status screen.
#==============================================================================

class Window_Status < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    @background_image = Sprite.new
    @background_image.bitmap = RPG::Cache.picture(Status_Window::Status_Background)
    @parameter_window = Window_Base.new(10, 206, 220, 264)
    @equipment_window = Window_Base.new(250, 272, 370, 132)
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_actor_portrait(@actor, Status_Window::Portrait_X, Status_Window::Portrait_Y)
    draw_actor_state(@actor, 20, 32)
    draw_actor_hp(@actor, 20, 64)
    draw_actor_sp(@actor, 20, 96)
    self.contents.font.color = system_color
    self.contents.font.size = 20
    self.contents.draw_text(100, 0, 150, 32, '"' + "#{@actor.class_name}" + '"')
    self.contents.font.size = 26
    self.contents.draw_text(20, 0, 120, 32, @actor.name)
    self.contents.font.size = 22
    self.contents.draw_text(300, 0, 150, 32, "Level #{@actor.level}")
    self.contents.draw_text(20, 136, 80, 32, "EXP")
    self.contents.draw_text(20, 156, 80, 32, "NEXT")
    self.contents.draw_text(20, 188, 150, 32, $data_system.words.atk, 1)
    self.contents.draw_text(20, 228, 150, 32, $data_system.words.pdef, 1)
    self.contents.draw_text(20, 268, 150, 32, $data_system.words.str, 1)
    self.contents.draw_text(20, 308, 150, 32, $data_system.words.dex, 1)
    self.contents.draw_text(20, 348, 150, 32, $data_system.words.agi, 1)
    self.contents.draw_text(20, 388, 150, 32, $data_system.words.int, 1)
    self.contents.draw_text(244, 254, 96, 32, "Equipment")
    self.contents.font.color = normal_color
    self.contents.draw_text(20, 208, 150, 32, "#{@actor.atk}", 1)
    self.contents.draw_text(20, 248, 150, 32, "#{@actor.pdef}", 1)
    self.contents.draw_text(20, 288, 150, 32, "#{@actor.str}", 1)
    self.contents.draw_text(20, 328, 150, 32, "#{@actor.dex}", 1)
    self.contents.draw_text(20, 368, 150, 32, "#{@actor.agi}", 1)
    self.contents.draw_text(20, 408, 150, 32, "#{@actor.int}", 1)
    self.contents.draw_text(100, 136, 84, 32, @actor.exp_s, 2)
    self.contents.draw_text(100, 156, 84, 32, @actor.next_rest_exp_s, 2)
    draw_item_name($data_weapons[@actor.weapon_id], 244, 279)
    draw_item_name($data_armors[@actor.armor2_id], 244, 304)
    draw_item_name($data_armors[@actor.armor3_id], 244, 329)
    draw_item_name($data_armors[@actor.armor4_id], 244, 354)
  end
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
    super
    @background_image.dispose
    @parameter_window.dispose
    @equipment_window.dispose
  end
end
#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
#  This is a superclass for the save screen and load screen.
#==============================================================================

class Scene_File
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias raz_background_file_main main
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    @background_image = Sprite.new
    @background_image.bitmap = RPG::Cache.picture(Status_Window::Save_Background)
    raz_background_file_main
    @background_image.dispose
  end
end
#==============================================================================
# ** Scene_Item
#------------------------------------------------------------------------------
#  This class performs item screen processing.
#==============================================================================

class Scene_Item
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias raz_background_item_main main
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    @background_image = Sprite.new
    @background_image.bitmap = RPG::Cache.picture(Status_Window::Item_Background)
    raz_background_item_main
    @background_image.dispose
  end
end
#==============================================================================
# ** Scene_Skill
#------------------------------------------------------------------------------
#  This class performs skill screen processing.
#==============================================================================

class Scene_Skill
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias raz_background_skill_main main
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    @background_image = Sprite.new
    @background_image.bitmap = RPG::Cache.picture(Status_Window::Skill_Background)
    raz_background_skill_main
    @background_image.dispose
  end
end
#==============================================================================
# ** Scene_Equip
#------------------------------------------------------------------------------
#  This class performs equipment screen processing.
#==============================================================================

class Scene_Equip
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias raz_background_equip_main main
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    @background_image = Sprite.new
    @background_image.bitmap = RPG::Cache.picture(Status_Window::Equip_Background)
    raz_background_equip_main
    @background_image.dispose
  end
end

Instructions are within the script.
 
I'm assuming Trickster didn't see my image or something, and deleted my own post out of shame.

Raziel, thanks a million! There are a couple of problems, but I'm going to try and fix them myself (Specificall, draw_actor_hp and draw_actor_portrait are modified in the greater scheme of the cms, and aren't displaying the hp the way you probably expected, and the draw_actor_portrait is messing up the main menu which just uses faces. I've fixed the portrait problem, and am working on the rest though)

I'll tell you if I have issues.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top