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:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fwww.woodus.com%2Fden%2Fgames%2Fdw2nes%2Fgraphics%2Fwalkthru%2Fdews-yarn.gif&hash=e39b527da7ece150a3cca7b97e8fdec2ea2faea7)
Screenshot
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fworatana.fileave.com%2Flitemenu1.jpg&hash=8f67b82124a178dfe3d6c9aa09ecc4157042dd67)
Script
place it above main
#==============================================================================
# ¦ [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~^^
Nice design.
Looking good.
Version 1.0 Updated!!!
Script of this version will longer, but you can config many things in the script after line.
#================
# 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)
Nice, easy configuration. Good job worale! :lol:
Nice work, simple and useful. :)
Updated to Version 1.01
- Fixed Gold_Text Bug
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fworatana.fileave.com%2Fgoldfix.jpg&hash=e234bae8ab1835fba4698ee9608bb49f212ab08d)
If you're using version 1.00, please update the script~^^
You should make Dragon Warrior Starter Kit. All you need is CBS, Charset, Tileset, and monster graphics.
I'm not fan of that game :D
I just scripted this because the request~
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.