The RPG Maker Resource Kit

RMRK RPG Maker Creation => VX => VX Scripts Database => Topic started by: worale on February 01, 2008, 07:43:27 AM

Title: [VX] Lite Menu Version 1.0
Post by: worale on February 01, 2008, 07:43:27 AM
Lite Menu Version 1.01
by Woratana
Released on: 03/02/2008

Introduction
I script this because request of turtleman, so I want to share here. Maybe you guys will like it~^^

This script will change your menu style similar to Dragon Warrior style menu.

Request Picture:
(http://www.woodus.com/den/games/dw2nes/graphics/walkthru/dews-yarn.gif)

Screenshot
(http://woratana.fileave.com/litemenu1.jpg)

Script
place it above main
Code: [Select]
#==============================================================================
# ¦ [RMVX] Lite Menu Version 1.01
#------------------------------------------------------------------------------
# by Woratana [woratana@hotmail.com]
# released on 03/02/2008
#
# Features Version 1.01
# - Fixed Bug in Gold_Text
# Features Version 1.0
# - Allow user to config menu
# - Add Gold/Location Window (user can turn on/off)
#==============================================================================

module Wor_Litemenu
  #================
  # SETUP Script Here!
  #================
  MENU_WINDOW_Y = 50
  CHARA_WINDOW_Y = 160
  CHARA_WINDOW_WIDTH = 175
  SHOW_LV = true
  SHOW_LOCATION_WINDOW = true
  VOCAB_LOCATION = "Location:"
  VOCAB_GOLD = "Gold:"
  LOCATION_WINDOW_Y = 295
  LOCATION_TEXT_X = 96
  GOLD_TEXT_X = 84
end

class Scene_Menu < Scene_Base

  def initialize(menu_index = 0)
@menu_index = menu_index
  end

  def start
super
create_menu_background
create_command_window
lite_create_location_window if Wor_Litemenu::SHOW_LOCATION_WINDOW == true
lite_create_actor_window
  end
 
# START LITE METHOD
  def lite_create_actor_window
member = []
@item_max = $game_party.members.size
for actor in $game_party.members
member.push ((actor.name) + " Lv." + (actor.level.to_s)) if Wor_Litemenu::SHOW_LV == true
member.push (actor.name) if Wor_Litemenu::SHOW_LV == false
end
@status_window = Window_Command.new(Wor_Litemenu::CHARA_WINDOW_WIDTH, member)
@status_window.index = @menu_index
@status_window.x = (554 /2) - (@status_window.width/2)
@status_window.y = Wor_Litemenu::CHARA_WINDOW_Y
@status_window.visible = false
  end

  def lite_get_map_name
mapdata = load_data("Data/MapInfos.rvdata")
map_id = $game_map.map_id
@map_name = mapdata[map_id].name
  end
 
  def lite_draw_currency_value(value, x, y, width)
cx = @location_window.contents.text_size(Vocab::gold).width
@location_window.contents.font.color = @location_window.normal_color
@location_window.contents.draw_text(x+53, y, @location_window.width+cx, 24, value, 0)
@location_window.contents.font.color = @location_window.system_color
@location_window.contents.draw_text(x+(($game_party.gold).to_s.size * 8)+68, y, @location_window.width, 24, Vocab::gold, 0)
  end
 
  def lite_create_location_window
width = 300
height = 90
x = (554 /2) - (width/2)
y = Wor_Litemenu::LOCATION_WINDOW_Y
@location_window = Window_Base.new(x, y, width, height)
@location_window.create_contents
lite_get_map_name
@location_window.contents.font.color = @location_window.system_color
@location_window.contents.draw_text(0, 0, 300, 24, Wor_Litemenu::VOCAB_GOLD)
@location_window.contents.font.color = @location_window.normal_color
lite_draw_currency_value($game_party.gold, 4, 0, Wor_Litemenu::GOLD_TEXT_X)
@location_window.contents.font.color = @location_window.system_color
@location_window.contents.draw_text(0, 32, 300, 24, Wor_Litemenu::VOCAB_LOCATION)
@location_window.contents.font.color = @location_window.normal_color
@location_window.contents.draw_text(Wor_Litemenu::LOCATION_TEXT_X, 32, 300, 24, @map_name)
  end

# END LITE METHOD

  def terminate
super
dispose_menu_background
@command_window.dispose
@location_window.dispose if @location_window
@status_window.dispose
  end
 
  def update
super
update_menu_background
@command_window.update
if @command_window.active
  update_command_selection
elsif @status_window.active
  @status_window.update
  update_actor_selection
end
  end

  def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = Vocab::save
s6 = Vocab::game_end
@command_window = Window_Command.new(200, [s1, s2, s3, s4, s5, s6],2,3)
@command_window.index = @menu_index
@command_window.x = (554 /2) - (@command_window.width/2) #167
@command_window.y = Wor_Litemenu::MENU_WINDOW_Y
if $game_party.members.size == 0
  @command_window.draw_item(0, false)
  @command_window.draw_item(1, false)
  @command_window.draw_item(2, false)
  @command_window.draw_item(3, false)
end
if $game_system.save_disabled
  @command_window.draw_item(4, false)
end
  end

  def start_actor_selection
@command_window.active = false
@status_window.visible = true
@status_window.active = true
@status_window.index = 0
  end

  def end_actor_selection
@command_window.active = true
@status_window.visible = false
@status_window.active = false
@status_window.index = -1
  end
 
end

Note
  This script started because request of other member, and you are allow to use, and post in other forum if credit included.

  Please do not redistribute if there's no permission.

Comment? Question? feel free to post~^^
Title: Re: [VX] Lite Menu Version 0.5
Post by: Falcon on February 01, 2008, 01:09:08 PM
Nice design.
Title: Re: [VX] Lite Menu Version 0.5
Post by: modern algebra on February 01, 2008, 05:14:21 PM
Looking good.
Title: Re: [VX] Lite Menu Version 1.0
Post by: worale on February 02, 2008, 07:26:48 AM
Version 1.0 Updated!!!

Script of this version will longer, but you can config many things in the script after line.

Code: [Select]
  #================
  # SETUP Script Here!
  #================

and I added Location Window too! (If you don't want you can turn it off)

Other thing, you can add Lv. of character after the name. (And again, you can turn it off if you don't like it)
Title: Re: [VX] Lite Menu Version 1.0
Post by: modern algebra on February 02, 2008, 09:11:00 PM
Nice, easy configuration. Good job worale!  :lol:
Title: Re: [VX] Lite Menu Version 1.0
Post by: ReaperEX on February 03, 2008, 06:04:42 PM
Nice work, simple and useful. :)
Title: Re: [VX] Lite Menu Version 1.0
Post by: worale on February 03, 2008, 10:33:30 PM
Updated to Version 1.01
- Fixed Gold_Text Bug
(http://woratana.fileave.com/goldfix.jpg)

If you're using version 1.00, please update the script~^^
Title: Re: [VX] Lite Menu Version 1.0
Post by: ShadowMaster215 on April 02, 2008, 07:15:13 PM
You should make Dragon Warrior Starter Kit.  All you need is CBS, Charset, Tileset, and monster graphics.
Title: Re: [VX] Lite Menu Version 1.0
Post by: worale on April 03, 2008, 12:37:40 AM
I'm not fan of that game  :D

I just scripted this because the request~
Title: Re: [VX] Lite Menu Version 1.0
Post by: modern algebra on April 03, 2008, 03:11:20 AM
This is really quite a nice and clean script. It's not aliased, but since it's a menu it doesn't need to be either. All in all, it's very nice.

One thing though - the module is probably unnecessary. I'd say you should only really use a module if the information needs to be accessed from multiple classes. Since the only class using the information is Scene_Base, it might be a good idea just to move the constants into that class. That's just a suggestion of course.

But yeah, good job on this script. I can't really say much more than that.