Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - JohnnyBear

OMG, thank you! I feel a little dumb because the answer was really simple, but it worked, and I'm happy that I can get that food collection/looting element to my game. Highly appreciated! I'll let y'all know if I encounter other difficulties.  :stupid:
Projects / Games / Re: Rave Heart
June 01, 2023, 07:04:30 pm
Looks pretty cool, reminds me of older classics gameplay-wise, but with newer artwork. I wishlisted it, I'll look more into it in the future.
Noob here, hopefully this question will be easy for more experienced people. Having trouble with specifically ForeverZeros Hunger HUD addon script, here
I can't figure up how to get the HUD to show up. I found this thread, here - the person said,
QuoteThere should be a part that specifies which switch controls the HUD being displayed. I believe the default is switch 10. To turn on the HUD you simply need to create an event that turns on the switch. I actually use the script in several of my projects, and I accomplish this by simply running an autorun event on the first map I use, and tell it to turn it on, then erase the event.

My problem is, I don't know what to type in to control the defined switch within the event editor. The defined switch is part of a script, it isn't part of the regular switch system. I assume I have to type a command with the script function in the third tab, I'm just unsure of what that is. Below is the script.

# ** Hunger_HUD

class Hunger_HUD < Window_Base

  #                    BEGIN CONFIGURATION                             #
  # Define the colors used for each of the bars.
  HUNGER_EMPTY =, 0, 0)
  HUNGER_FULL =, 255, 0)
  THIRST_EMPTY =, 96, 96)
  THIRST_FULL =, 128, 255)
  # Define the type of bar used. (0 = Gradient, 1 = Transitional)
  # It would take longer to explain the differences than to just try each out.
  # There's only two as of the moment.
  # Define the width and height, in pixels, of the bars.
  BAR_WIDTH = 128
  # Define switch for active/visibility control within game.
  #                     END CONFIGURATION                              #
  def initialize(y = -12)
    super(0, y, 640, 96)
    # Set the windowskin's opacity to 0.
    self.windowskin = nil
    @actors = $game_party.actors
    @stats = stats
  def refresh
    # Dispose the contents of the HUD.
    if self.contents != nil
      self.contents = nil
    # Adjust width and location of window.
    self.width = @actors.size * (BAR_WIDTH + 48)
    self.x = (640 - self.width) / 2
    self.contents =, self.height)
    # Iterate actors.
    @actors.each_index {|i|
      actor = @actors[i]
      # Calculate locations for each actor's bars.
      x = i * (BAR_WIDTH + 48)
      # Draw actor's name.
      self.contents.font.size = 16
      self.contents.draw_text(x, 0, BAR_WIDTH, 16,
      # Draw hunger bars.
      w, h, rate, max = BAR_WIDTH, BAR_HEIGHT, @stats[i][0], @stats[i][1]
      self.contents.draw_bar(x, 16, w, h, rate, max, BAR_STYLE, @colors1)
      # Draw thirst bars.
      rate, max, height = @stats[i][2], @stats[i][3], 16+BAR_HEIGHT+4
      self.contents.draw_bar(x, height, w, h, rate, max, BAR_STYLE, @colors2)
  def stats
    return @actors.collect {|a| [a.hunger, a.max_hunger, a.thirst, a.max_thirst]}
  def update
    self.visible = $game_switches[ONOFF_SWITCH]
    if self.visible
      if (@stats != stats) || (@actors != $game_party.actors)
        @stats, @actors = stats, $game_party.actors

# ** Gradient_Bar

class Bitmap
  def draw_bar(x, y, w, h, rate, max, style, colors = nil)
    # Set required instance variables.
    @bar_rect =, y, w, h)
    @rate, @max, @style, @colors = rate, max, style, colors
    # Define default colors if not defined. (RED <--> GREEN)
    if @colors == nil
      @colors = [, 0, 0),, 255, 0),, 0, 0)]
    # Draw the background color.
    self.fill_rect(@bar_rect, @colors[2])
    # Branch by what style is being used.
    case @style
    when 0 then gradient
    when 1 then transition
  def gradient
    # Get the bar from the cache.
    key = [@style, @bar_rect.width-2, @bar_rect.height-2, @colors[0], @colors[1]]
    bar = RPG::Cache.gradient_bar(*key)
    # Draw the gradient bar using rectangular transfer.
    rect =, 0, fill_width, @bar_rect.height)
    self.blt(@bar_rect.x+1, @bar_rect.y+1, bar, rect)
  def transition
    # Returns the color for current rate.
    c1 = [@colors[0].red, @colors[0].green, @colors[0].blue, @colors[0].alpha]
    c2 = [@colors[1].red, @colors[1].green, @colors[1].blue, @colors[1].alpha]
    rgba, rate = [],  1 - (@rate.to_f / @max)
    c1.each_index {|i| rgba[i] = c2[i] - ((c2[i] - c1[i]) * rate) }
    # Set the bars fill rate and color depending on value.
    rect =, @bar_rect.y+1, fill_width, @bar_rect.height-2)
  def fill_width
    # Calculate the difference, in percentage, of the min and max rates.
    return ((@rate / @max.to_f) * (@bar_rect.width - 2)).round

# ** Scene_Map

class Scene_Map
  alias zer0_hunger_hud_main main
  def main
    # Add the bars to Scene_Map.
    @hunger_hud =
    @hunger_hud.dispose unless @hunger_hud.disposed? || @hunger_hud == nil
  alias zer0_hunger_hud_upd update
  def update
    # Update the bars as needed.

# ** RPG::Cache

module RPG::Cache
  def self.gradient_bar(style, width, height, color1, color2)
    # Create a unique key to call the bar back with.
    path = [style, width, height, color1, color2]
    # Check if cache already has bitmap defined, if not create it now.
    if !@cache.include?(path) || @cache[path].disposed?
      bitmap, rates =, height), []
      # Iterate through each pixel horizontally, setting a gradient color.
      c1 = [,,, color1.alpha]
      c2 = [,,, color2.alpha]
      # Draw the bar, having in transition from the first color to the second.
      c1.each_index {|i| rates[i] = (c1[i] - c2[i]).to_f / width }
      (0...width).each {|i|
        values = [0, 1, 2, 3].collect {|j| c1[j] - (i * rates[j]) }
        # Set the color incrementally. This will be used later.
        bitmap.fill_rect(i, 0, 1, height,*values))
      @cache[path] = bitmap
    # Return the created bitmap.
    return @cache[path]

class Scene_Map
  attr_accessor :hunger_hud

The part I'm struggling with is this below,
 # Define switch for active/visibility control within game.

I understand what I'm supposed to do, (change that switch) so that it is visible within the game. Unsure of how, and I couldn't figure it out through a couple of hours of digging around. I do have both scripts, (Hunger/Thrist + The Hunger HUD addon, both from same thread), and I'm on XP. Just can't figure out how to change that defined switch. Sometimes I can see the HUD flash for a split second if I leave and exit the menu, (it works*, just doesn't stay, (presumingly because of the switch)) but I assume that's just XP jank.

Any help for a newbie would really make my week, been trying to figure this out on my own for a number of days. I've been lurking on the forums for the past couple of days, hope I got this on the right board. Love what y'all do on the website. Making dreams reality ~ Pce.