мЭkяΘÐ ツVie Ago 17, 2012 2:36 pm
Usuario Nv10
bueno hunter makers como les habia dicho estare aportando mas y con mejores cosas.. esta ves un nuevo menu que nunca habia visto , haber si les gusta xD
imagenes:
script:
- Spoiler:
- #===================================================================#
#========================== CONFIGURATION ==========================#
#===================================================================#
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# Menu general display and behaviour configuration.
#==============================================================================
class Window_Base < Window
CHECK_FOR_FACE = false #Mark this if you want the game to continue if the character face doesn't exists.
#This option exists mostly because these kind of stuff can make your game incompatible
#with some/all encriptions. But you can still use it while testing your game.
end
class Scene_Menu
#====DISPLAY====
#-General
FONT_NAME = "Times New Roman"
FONT_SIZE = 16
#-Background
#--
USE_MAP_AS_BACK = true #Map as background when menu is open?
#--
BACK = "menu_back" #Background static image name,
BACK_OPACITY = 220 #...its opacity,
BACK_X = 0 #...its X position
BACK_Y = 0 #...and its Y position.
#--
FOGS = ["001-Fog01","001-Fog01"] #Arrays containing the fogs names,
FOGS_OPACITY = [20,20] #...their opacity,
FOGS_SPEED_X = [4,-3] #...their x_speed
FOGS_SPEED_Y = [4,-5] #...and their y_speed.
FOGS_HUE = [0,0]
#-Windows
COMMAND_OPACITY=0 #Command window oppacity,
COMMAND_X=0 #...its X position,
COMMAND_Y=388 #...Y position,
COMMAND_WIDTH=320 #...width and height.
COMMAND_HEIGHT=0 #Zero: size depends of commands
COMMAND_COLUMNS=3
#--
PLAYTIME = true #You want playtime window?
PLAYTIME_OPACITY=0 #Put in here its opacity,
PLAYTIME_X=320 #...X position
PLAYTIME_Y=416 #...and Y position.
PLAYTIME_WIDTH=160
PLAYTIME_MODE=2
#--
STEPS = false #You want steps window?
STEPS_OPACITY=0 #Put in here its opacity,
STEPS_X=160 #...X position
STEPS_Y=416 #...and Y position.
STEPS_WIDTH=160
STEPS_MODE=2
#--
LOCATION = true #You want steps window?
LOCATION_OPACITY=0 #Put in here its opacity,
LOCATION_X=0 #...X position
LOCATION_Y=416 #...and Y position.
LOCATION_WIDTH=320
LOCATION_MODE=2
#--
GOLD = true #You want gold window?
GOLD_OPACITY=0 #Put in here its opacity,
GOLD_X=480 #...X position
GOLD_Y=416 #...and Y position.
GOLD_WIDTH=160
GOLD_MODE=0
#--
STATUS = true #Wanna see the status window?
STATUS_OPACITY=0 #Put in here its opacity,
STATUS_X=240 #...X position
STATUS_Y=0 #...and Y position.
#====COMMANDS====
#-Command Definition
COMMANDS = {}
COMMANDS= { #Set command display name, "target" scene
#and if they need you to select an actor
#Behaviour: if
#Command name Display name Behaviour Needs selection? Submenu?
"item" => ["Objects", "Scene_Item", false, false],
"skill" => ["Techniques", "Scene_Skill", true, false],
"equip" => ["Equipment", "Scene_Equip", true, false],
"status"=> ["Status", "Scene_Status", true, false],
"save" => ["Save", "Scene_Save", false, false],
"exit" => ["Salir", "Scene_End", false, false],
"char" => ["Personaje", "Character", false, true],
"system"=> ["Sistema", "System", false, true],
#You can add more commands adding the following for each:
#"name" => ["Display", "YourScene", false, false],
}
SUBMENUES = {
"Character"=>["skill","equip","status"],
"System"=>["save","exit"]
}
SUB_WIDTH=160
SUB_COLUMNS=1
SUB_X = {
:default => -1,
"Character"=>5,
}
SUB_Y = {
:default => -1,
"Character"=>5,
}
#-Command order
#Here, you can modify order, or select which you'll include.
USED_COMMANDS= [ "item", "char","system" ]
#-Command properties
SAVE_COMMAND= "save" #Put in here the Save command ONLY
NOPARTY_DISABLE= ["item","skill","equip","status","bpos"] #When party has zero actors,
#these commands will be disabled.
COMMAND_RESTRICTION= "skill"
end
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
# Menu Status info display configuration.
#==============================================================================
class Window_MenuStatus < Window_Selectable
#-General
ACTOR_SPACING=96
X_OFFSET=64
MAIN_WIDTH=400
MAIN_HEIGHT=416
#-Info Table
# Graphic Name Class Level State Exp HP SP Face
INCLUSION = [true, true, true, true, true, true, true, true, true]
X_POS = [-40, 40, 144, 40, 112, 40, 196, 196, -96]
Y_POS = [ 80, 0, 0, 32, 32, 64, 32, 64, 0]
# Exp HP SP
WIDTH=[80, 80, 80] #Changes information when < 140.
#===================================================================#
#====================== END OF CONFIGURATION =======================#
#===================================================================#
end
MAIN SCRIPT
#==============================================================================
# ** Window_Command
#------------------------------------------------------------------------------
# This window deals with general command choices.
# Modified to make it possible to vary number of columns.
#==============================================================================
#=========================================
# Piece of code from: AMS
#=========================================
class Scene_Title
$map_info = load_data("Data/MapInfos.rxdata")
end
class Game_Map
def name
$map_info[@map_id].name
end
end
#=========================================
class Window_Base < Window
def draw_actor_face(actor, x, y)
return if CHECK_FOR_FACE and !(FileTest.exist?("Picture/Face/"+actor.character_name+".png"))
bitmap = RPG::Cache.picture("Face/"+actor.character_name)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, bitmap, src_rect)
end
end
class Window_Command2 < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
# width : window width
# commands : command text string array
#--------------------------------------------------------------------------
def initialize(width, commands, columns)
# Compute window height from command quantity
super(0, 0, width, commands.size/columns * 32 + 32)
@item_max = commands.size
@commands = commands
@column_max = columns
self.contents = Bitmap.new(width - 32, @item_max/@column_max * 32)
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0...@item_max
draw_item(i, normal_color)
end
end
#--------------------------------------------------------------------------
# * Draw Item
# index : item number
# color : text color
#--------------------------------------------------------------------------
def draw_item(index, color)
self.contents.font.color = color
x = 4 + index % @column_max * (self.width/@column_max)
y = index / @column_max * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index])
end
#--------------------------------------------------------------------------
# * Disable Item
# index : item number
#--------------------------------------------------------------------------
def disable_item(index)
draw_item(index, disabled_color)
end
end
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
# This window displays party member status on the menu screen.
#==============================================================================
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, MAIN_WIDTH, MAIN_HEIGHT)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = X_OFFSET
y = i * ACTOR_SPACING
actor = $game_party.actors[i]
draw_actor_face(actor, x + X_POS[8], y + Y_POS[8]) if INCLUSION[8]
draw_actor_graphic(actor, x + X_POS[0], y + Y_POS[0]) if INCLUSION[0]
draw_actor_name(actor, x + X_POS[1], y + Y_POS[1]) if INCLUSION[1]
draw_actor_class(actor, x + X_POS[2], y + Y_POS[2]) if INCLUSION[2]
draw_actor_level(actor, x + X_POS[3], y + Y_POS[3]) if INCLUSION[3]
draw_actor_state(actor, x + X_POS[4], y + Y_POS[4]) if INCLUSION[4]
draw_actor_exp(actor, x + X_POS[5], y + Y_POS[5], WIDTH[0]) if INCLUSION[5]
draw_actor_hp(actor, x + X_POS[6], y + Y_POS[6], WIDTH[1]) if INCLUSION[6]
draw_actor_sp(actor, x + X_POS[7], y + Y_POS[7], WIDTH[2]) if INCLUSION[7]
end
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, @index * ACTOR_SPACING, self.width - 32, ACTOR_SPACING)
end
end
#--------------------------------------------------------------------------
# * Draw EXP
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#--------------------------------------------------------------------------
def draw_actor_exp(actor, x, y, width = 144)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 24, 32, "E")
# Calculate if there is draw space for everything
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
self.contents.font.color = normal_color
if flag
self.contents.draw_text(x + 24, y, 84, 32, actor.exp_s, 2)
self.contents.draw_text(x + 108, y, 12, 32, "/", 1)
self.contents.draw_text(x + 120, y, 84, 32, actor.next_exp_s)
else
self.contents.draw_text(x + 120, y, 84, 32, actor.next_rest_exp_s)
end
end
end
#==============================================================================
# ** Window_Location
#------------------------------------------------------------------------------
# This window displays the map name.
#==============================================================================
class Window_Location < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(mode=0, width=160)
@mode = mode
super(0, 0, width, 96)
self.height = 64 if @mode==2
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
text = $game_map.name
case @mode
when 1
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, "Localización")
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, self.contents.width-4, 32, text)
when 2
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, "Localización")
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, text, 2)
when 3
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, text, 2)
else
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, "Localización")
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, self.contents.width-4, 32, text, 2)
end
end
end
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
# This window displays amount of gold.
#==============================================================================
class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(mode=0, width=160)
@mode = mode
super(0, 0, width, 64)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
case @mode
when 1
self.contents.clear
cx = contents.text_size($game_party.gold.to_s).width
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.contents.width, 32, $game_party.gold.to_s)
self.contents.font.color = system_color
self.contents.draw_text(4+cx, 0, 60, 32, $data_system.words.gold)
else
self.contents.clear
cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(4-cx, 0, self.contents.width-cx-2, 32, $game_party.gold.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
end
end
end
#==============================================================================
# ** Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================
class Window_PlayTime < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(mode=0, width=160)
@mode = mode
super(0, 0, width, 96)
self.height = 64 if @mode==2
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
case @mode
when 1
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, "Tiempo")
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, self.contents.width-4, 32, text)
when 2
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, "Tiempo")
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, text, 2)
when 3
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, text, 2)
else
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, "Tiempo")
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, self.contents.width-4, 32, text, 2)
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#==============================================================================
# ** Window_Steps
#------------------------------------------------------------------------------
# This window displays step count on the menu screen.
#==============================================================================
class Window_Steps < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(mode=0, width=160)
@mode = mode
super(0, 0, width, 96)
self.height = 64 if @mode>=2
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
case @mode
when 1
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, "Pasos")
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, self.contents.width-4, 32, $game_party.steps.to_s)
when 2
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, "Pasos")
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, $game_party.steps.to_s, 2)
when 3
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, $game_party.steps.to_s, 2)
else
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, self.contents.width-4, 32, "Pasos")
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, self.contents.width-4, 32, $game_party.steps.to_s, 2)
end
end
end
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# This class performs menu screen processing.
#==============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# * Object Initialization
# menu_index : command cursor's initial position
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = 0 #menu_index
end
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
@spriteset = Spriteset_Map.new if USE_MAP_AS_BACK
@back = Sprite.new
@back.bitmap = RPG::Cache.picture(BACK)
if BACK != ""
@back.opacity = BACK_OPACITY; @back.x = BACK_X; @back.y = BACK_Y
end
@fogs = []
@vpx = Viewport.new(0,0,640,480)
for i in 0..FOGS.size-1
if FOGS[i] != ""
@fogs[i] = Plane.new(@vpx)
@fogs[i].bitmap = RPG::Cache.fog(FOGS[i],FOGS_HUE[i])
@fogs[i].opacity = FOGS_OPACITY[i]
end
end
comm_arr = []
@comm_names = []
@comm_scene = []
@comm_sel = []
@comm_sub = []
@comm_disable = []
# Make command window
for i in 0..USED_COMMANDS.size-1
comm_arr = COMMANDS[USED_COMMANDS[i]]
@comm_names[i] = comm_arr[0]
@comm_scene[i] = comm_arr[1]
@comm_sel[i] = comm_arr[2]
@comm_sub[i] = comm_arr[3]
end
@command_window = Window_Command2.new(COMMAND_WIDTH, @comm_names, COMMAND_COLUMNS)
@command_window.index = @menu_index
@command_window.contents.font.name= FONT_NAME
@command_window.contents.font.size= FONT_SIZE
@command_window.refresh
#Command window properties
@command_window.opacity = COMMAND_OPACITY
@command_window.x = COMMAND_X
@command_window.y = COMMAND_Y
@command_window.height = COMMAND_HEIGHT unless COMMAND_HEIGHT==0
# If save is forbidden
if PLAYTIME==true
# Make play time window
@playtime_window = Window_PlayTime.new(PLAYTIME_MODE,PLAYTIME_WIDTH)
@playtime_window.opacity = PLAYTIME_OPACITY
@playtime_window.x = PLAYTIME_X
@playtime_window.y = PLAYTIME_Y
@playtime_window.contents.font.name= FONT_NAME
@playtime_window.contents.font.size= FONT_SIZE
@playtime_window.refresh
end
if STEPS == true #You want steps window?
# Make steps window
@steps_window = Window_Steps.new(STEPS_MODE,STEPS_WIDTH)
@steps_window.opacity = STEPS_OPACITY
@steps_window.x = STEPS_X
@steps_window.y = STEPS_Y
@steps_window.contents.font.name= FONT_NAME
@steps_window.contents.font.size= FONT_SIZE
@steps_window.refresh
end
if LOCATION == true #You want location window?
# Make location window
@location_window = Window_Location.new(LOCATION_MODE,LOCATION_WIDTH)
@location_window.opacity = LOCATION_OPACITY
@location_window.x = LOCATION_X
@location_window.y = LOCATION_Y
@location_window.contents.font.name= FONT_NAME
@location_window.contents.font.size= FONT_SIZE
@location_window.refresh
end
if GOLD == true
# Make gold window
@gold_window = Window_Gold.new(GOLD_MODE,GOLD_WIDTH)
@gold_window.opacity = GOLD_OPACITY
@gold_window.x = GOLD_X
@gold_window.y = GOLD_Y
@gold_window.contents.font.name= FONT_NAME
@gold_window.contents.font.size= FONT_SIZE
@gold_window.refresh
end
if STATUS == true
# Make status window
@status_window = Window_MenuStatus.new
@status_window.opacity = STATUS_OPACITY
@status_window.x = STATUS_X
@status_window.y = STATUS_Y
@status_window.contents.font.name= FONT_NAME
@status_window.contents.font.size= FONT_SIZE
@status_window.refresh
end
@submenu={}
@subc_names = {}
@subc_scene = {}
@subc_sel = {}
@subc_sub = {}
@subc_disable = {}
for j in @comm_scene
next unless SUBMENUES.include?(j)
sub_info=SUBMENUES[j]
@subc_names[j] = []
@subc_scene[j] = []
@subc_sel[j] = []
@subc_sub[j] = []
for i in 0..sub_info.size-1
subc_arr = COMMANDS[sub_info[i]]
@subc_names[j][i] = subc_arr[0]
@subc_scene[j][i] = subc_arr[1]
@subc_sel[j][i] = subc_arr[2]
@subc_sub[j][i] = false #subc_arr[3]
end
@submenu[j]= Window_Command2.new(SUB_WIDTH, @subc_names[j], SUB_COLUMNS)
sub_x_t= SUB_X.include?(j) ? SUB_X[j] : SUB_X[:default]
sub_y_t= SUB_Y.include?(j) ? SUB_Y[j] : SUB_Y[:default]
sxt = sub_x_t == -1 ? COMMAND_X : sub_x_t
syt = sub_y_t == -1 ? (COMMAND_Y-@submenu[j].height) : sub_y_t
@submenu[j].x = sxt
@submenu[j].y = syt
@submenu[j].visible = false
@submenu[j].active = false
end
# If number of party members is 0
# No party disable
for i in 0..USED_COMMANDS.size-1
if $game_party.actors.size == 0
if NOPARTY_DISABLE.include?(USED_COMMANDS[i])
@comm_disable.push(i)
@command_window.disable_item(i)
end
end
if $game_system.save_disabled
if SAVE_COMMAND == USED_COMMANDS[i]
# Disable save
@comm_disable.push(i)
@command_window.disable_item(i)
end
end
end
for j in @comm_scene
next unless SUBMENUES.include?(j)
@subc_disable[j] = []
if $game_party.actors.size == 0
for i in 0..@subc_names[j].size-1
if NOPARTY_DISABLE.include?(SUBMENUES[j][i])
@subc_disable[j].push(i)
@submenu[j].disable_item(i)
end
end
end
end
# Execute transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of windows
@spriteset.dispose if USE_MAP_AS_BACK
for i in 0..FOGS.size-1
@fogs[i].dispose if FOGS[i] != ""
end
@back.bitmap.dispose if @back.bitmap != nil
@back.dispose
@command_window.dispose
for j in @comm_scene
next unless SUBMENUES.include?(j)
@submenu[j].dispose
end
@playtime_window.dispose if PLAYTIME==true
@steps_window.dispose if STEPS == true
@location_window.dispose if LOCATION == true
@gold_window.dispose if GOLD == true
@status_window.dispose if STATUS == true
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Update windows
@spriteset.update if USE_MAP_AS_BACK
for i in 0..FOGS.size-1
if FOGS[i] != ""
@fogs[i].ox += FOGS_SPEED_X[i]=nil ? 0 : FOGS_SPEED_X[i]
@fogs[i].oy += FOGS_SPEED_Y[i]=nil ? 0 : FOGS_SPEED_Y[i]
end
end
@command_window.update
@playtime_window.update if PLAYTIME==true
@steps_window.update if STEPS == true
@location_window.update if LOCATION == true
@gold_window.update if GOLD == true
@status_window.update if STATUS == true
# If command window is active: call update_command
if @command_window.active
update_command
return
end
for j in @comm_scene
next unless SUBMENUES.include?(j)
if @submenu[j].active
update_subcommand(j)
return
end
end
# If status window is active: call update_status
if @status_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# * Frame Update (when command window is active)
#--------------------------------------------------------------------------
def update_command
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Switch to map screen
$scene = Scene_Map.new
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# If command other than save or end game, and party members = 0
if @comm_disable.include?(@command_window.index)
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Branch by command window cursor position
$game_system.se_play($data_system.decision_se)
if @comm_sel[@command_window.index]
@command_window.active = false
@status_window.active = true
@status_window.index = 0
else
if @comm_sub[@command_window.index]
#print @comm_scene[@command_window.index]
@submenu[@comm_scene[@command_window.index]].active = true
@submenu[@comm_scene[@command_window.index]].visible = true
@submenu[@comm_scene[@command_window.index]].index = 0
@command_window.active = false
else
result = eval("$scene = "+@comm_scene[@command_window.index]+".new")
end
end
end
end
def update_subcommand(j)
#print j
# If B button was pressed
@submenu[j].update
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Make command window active
@command_window.active = true
@submenu[j].visible = false
@submenu[j].active = false
@submenu[j].index = -1
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# If command other than save or end game, and party members = 0
if @subc_disable[j].include?(@submenu[j].index)
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end #=============TO BE DONE!
# Branch by command window cursor position
$game_system.se_play($data_system.decision_se)
if @subc_sel[j][@submenu[j].index]
@submenu[j].active = false
#@submenu[j].visible = true
@status_window.active = true
@status_window.index = 0
else
result = eval("$scene = "+@subc_scene[j][@submenu[j].index]+".new")
end
end
end
#--------------------------------------------------------------------------
# * Frame Update (when status window is active)
#--------------------------------------------------------------------------
def update_status
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Make command window active
@command_window.active = true
for j in @comm_scene
#print j
next unless SUBMENUES.include?(j)
if @submenu[j].visible
#print j
@submenu[j].active = true
@command_window.active = false
end
end
@status_window.active = false
@status_window.index = -1
return
end
# If C button was pressed
if Input.trigger?(Input::C)
for j in @comm_scene
next unless SUBMENUES.include?(j)
if @submenu[j].visible
#=================================================================TO DO!!
if $game_party.actors[@status_window.index].restriction >= 2 && @submenu[j].index==SUBMENUES[j].index(COMMAND_RESTRICTION)
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
result = eval("$scene = "+@subc_scene[j][@submenu[j].index]+".new("+@status_window.index.to_s+")")
return
end
end
if $game_party.actors[@status_window.index].restriction >= 2 && @command_window.index==USED_COMMANDS.index(COMMAND_RESTRICTION)
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
result = eval("$scene = "+@comm_scene[@command_window.index]+".new("+@status_window.index.to_s+")")
return
end
end
end