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.

Resolved, go ahead and do what you want to this topic

Okay, this has been resolved on my own, thanks to everybody who didn't help me, again I helped myself :shades:

I've been working on a full CMS, and now I'm stuck on certain things in the script.

First off, I modified the Game_Party class to have the "main" party (ie $game_party.actors) and a "reserve" party (ie $game_party.reserve.)

Within the CMS options module, you've got the option of managing your "reserve" party with the "main" party, but now that I've got them seperated, I'm not sure how to go about drawing the "reserve" party members under the "main" ones within the menu, and everything work correctly.

In the refresh method, how would I get it to draw both "main" and "reserve" actors simultaneously within this portion of the script? All scenes use a common scrollable Window_Target and the Main Menu uses its own version of Window_MenuStatus. Here's the current "Window_MenuStatus" that I have.

Code:
#===============================================================================
# ** Window_MenuStatus
#-------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#===============================================================================
class Window_MenuStatus < Window_Selectable
  #---------------------
  # * Initialize Method
  #---------------------
  def initialize
    @new_h = $game_party.actors.size < 4 ? 480 : $game_party.actors.size * 120
    super(160, -5, 490, @new_h + 10)
    self.contents = Bitmap.new(width - 32, height - 32)
    @item_max = $game_party.actors.size
    refresh
    self.active = false
    self.index = -1
  end
  #-----------------------------------------------------------------------------
  # * Refresh Method
  #-----------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if CMS_Actor_Windows == true
      self.opacity = 0
    end
    @item_max = $game_party.actors.size
    for i in 0...@item_max
      @x = 64
      @y = (i * 120)
      actor = $game_party.actors[i]
      if CMS_FacePortraits == false
        draw_actor_graphic(actor, @x - 40, @y + 80)
      else
        draw_actor_portrait(actor, @x - 65, @y)
      end
      draw_actor_name(actor, @x + 37, @y - 5)
      draw_actor_hp(actor, @x + 40, @y + 22)
      draw_actor_sp(actor, @x + 40, @y + 52)
      draw_actor_class(actor, @x + 240, @y - 5)
      draw_actor_level(actor, @x + 158, @y - 5)
      draw_actor_exp(actor, @x + 192, @y + 22)
      draw_actor_next(actor, @x + 192, @y + 52)
    end
  end
  #-----------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #-----------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 120, self.width - 32, 96)
    end
    row = @index / @column_max
    if row < self.top_row
      self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = self.width / @column_max - 32
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 120 - self.oy
    self.cursor_rect.set(x, y, cursor_width, 96)
  end
  #-----------------------------------------------------------------------------
  # * Define Top_Row
  #-----------------------------------------------------------------------------
  def top_row
    return self.oy / 120
  end
  #-----------------------------------------------------------------------------
  # * Define Top_Row = (row)
  #-----------------------------------------------------------------------------
  def top_row=(row)
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    self.oy = row * 120
  end
  #-----------------------------------------------------------------------------
  # * Define Page Row Max
  #-----------------------------------------------------------------------------
  def page_row_max
    return 4
  end
end

Thanks to anybody who can help me.
 

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