[VX] Lite Menu Version 1.0

0 Members and 1 Guest are viewing this topic.

**
Rep:
Level 86
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:


Screenshot


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~^^
« Last Edit: February 03, 2008, 10:31:09 PM by worale »

******
Revolution is not a bed of roses.
Rep:
Level 91
Project of the Month winner for July 2009
Nice design.

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
Looking good.

**
Rep:
Level 86
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)

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
Nice, easy configuration. Good job worale!  :lol:

**
Rep: +0/-0Level 86
All whom sprite shall be gifted in the end...
Nice work, simple and useful. :)

**
Rep:
Level 86
Updated to Version 1.01
- Fixed Gold_Text Bug


If you're using version 1.00, please update the script~^^

**
Rep: +0/-0Level 86
You should make Dragon Warrior Starter Kit.  All you need is CBS, Charset, Tileset, and monster graphics.

**
Rep:
Level 86
I'm not fan of that game  :D

I just scripted this because the request~

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best RPG Maker User (Scripting)2010 Most Mature Member
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.