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.

An easy problem for scripters!!!!!

I have a simple script problem, and I suck at scripting,
so I need your help!
To the people who have the courage o read this peace of cr*p,
I need your help.
Just a plane (very old looking) menu, with 4 characters.

I'm making a game in 8-bit style, like, very old and stuff...

Now, I want a menu, a very simple menu.
A menu that isn't to big, doesn't show the steps and time window.
( remove the characters sprites in the menu) and the only options in the menu are:
* Item
* status
* Equip
* Save
* Quit

and a gold window.

The map must be visible and window may not be transparant!

Now, I don't want the same old equip screen (I already got a script for the item stuff). Again, it must be simple.
No battler, no icons, just a small screen where i can equip the characters.
That's the same thing for the status screen, no bars(only numbers) no pictures, no battlers, no character sprites.

This shouldn't be to hard (I don't know, I'm no scripter), so I hope somebody can help me...

I really don't want to BUMP...

God...
Sorry to post again, but it must look like this

Do not double post. The Edit button isn't a ban trap.
 
I don'y know if this is what you wanted, but take a look:
I edited the default menu script, and made this one. You'll have to change things in a few otehr scripts, too.
This one you paste over the scene_menu script.
Code:
#-------------
# Scene_Menu
#-------------

class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    s1 = $data_system.words.item
    #s2 = $data_system.words.skill
    s2 = $data_system.words.equip
    s3 = "Status"
    s4 = "Save"
    s5 = "Exit"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5])
    @command_window.index = @menu_index
    @command_window.x = 105
    @command_window.y = 112
    if $game_party.actors.size == 0
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      #@command_window.disable_item(3)
    end
    if $game_system.save_disabled
      @command_window.disable_item(3)
    end
    #@playtime_window = Window_PlayTime.new
    #@playtime_window.x = 0
    #@playtime_window.y = 224
    # 歩数ウィンドウを作成
    #@steps_window = Window_Steps.new
    #@steps_window.x = 0
    #@steps_window.y = 320
    @gold_window = Window_Gold.new
    @gold_window.x = 105
    @gold_window.y = @command_window.height + 112
    @status_window = Window_MenuStatus.new
    @status_window.x = 105 + 160
    @status_window.y = 112
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    #@playtime_window.dispose
    #@steps_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  def update
    @command_window.update
    #@playtime_window.update
    #@steps_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
  end
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if $game_party.actors.size == 0 and @command_window.index < 4
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      case @command_window.index
      when 0 
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Item.new
      when 1 
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2  
        $game_system.se_play($data_system.decision_se)
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3 
        if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save.new
        #$game_system.se_play($data_system.decision_se)
        #@command_window.active = false
        #@status_window.active = true
        #@status_window.index = 0
      when 4 
        if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save.new
      when 5
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end
      return
    end
  end
  def update_status
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    if Input.trigger?(Input::C)
      case @command_window.index
      #when 1 
        #if $game_party.actors[@status_window.index].restriction >= 2
          #$game_system.se_play($data_system.buzzer_se)
          #return
        #end
        #$game_system.se_play($data_system.decision_se)
        #$scene = Scene_Skill.new(@status_window.index)
      when 1
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Equip.new(@status_window.index)
      when 2  
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end
end
This one you paste over the window_menustatus script.
Code:
#Window_MenuStatus


class Window_MenuStatus < Window_Selectable
  
  def initialize
    super(0, 0, 270, 256)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $defaultfonttype  # "Main" window font
    self.contents.font.size = $defaultfontsize
    refresh
    self.active = false
    self.index = -1
  end
  
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 14
      y = i * 55
      actor = $game_party.actors[i]
      #draw_actor_graphic(actor, x - 40, y + 80)
      draw_actor_name(actor, x, y)
      #draw_actor_class(actor, x + 144, y)
      #draw_actor_level(actor, x, y + 32)
      #draw_actor_state(actor, x + 90, y + 32)
      #self.contents.draw_text(actor.exp, x, y + 64)
      self.contents.draw_text(x, y + 20, 84, 32, actor.exp_s)
      self.contents.draw_text(x + 90, y + 20, 84, 32, actor.hp.to_s)
      self.contents.draw_text(x + 180, y + 20, 84, 32, actor.sp.to_s)
      #draw_actor_exp(actor, x, y + 64)
      #draw_actor_hp(actor, x + 190, y + 32)
      #draw_actor_sp(actor, x + 190, y + 64)
    end
  end
  
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 55, self.width - 32, 50)
    end
  end
end

On Scene_Status, Scene_Equip, Scene_Save, and Scene_End, you'll have to find a line that looks like this(use the right-gutton of your mouse, it should make things easier):

$scene = Scene_Menu.new(n)

then you change the "n" number to "n - 1". So, if it's a "2", you change it to a "1", and so on.

Sorry I took so long, and couldn't make your other screens. If you need any changes with this one, just ask.
 
Ummm... When I try to use exit, to go to title or so,
As soon as i select and confirm exit, It goes to the save screen...
Can you fix this??

And do you know something or somebody to make the map visible on the background
 
Oh. I just forgot to change a little bit.

find these lines:
Code:
      when 4 
        if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Save.new
      when 5
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end

delete them, and place this instead:
Code:
      when 4
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end

And sorry about the visible thing, it's just that I'm quite new to scripting, and I really don't know how to do it.
I can't pormisse you anything, but I'll try to research a little and see how I could make the map visible. Don't attach me to it, though.

Peace.

PS.: And I recomend you not to double post...^^
 

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