#============================================================== # # HungrySnake's Total Menu Control V 1.1 # # This is a script which enables the user to fully customize # the menu. # # # How to use: # # 1) Set-up the config # 2) Switch the Switch-ID In-Game ON # 3) Finished # # Credit: # # HungrySnake # #============================================================== module TMC module Config #============================================================== # # Start Config # #============================================================== # WLH -------------------------------------------------------------------- WLH = 24 # If you ever decide to change the Window Line Height in the # Window_Base, then change this one to that value too. # ------------------------------------------------------------------------ # Switch ----------------------------------------------------------------- SWITCH_ID = 20 # << The Switch_ID to turn your custom menu ON. # ------------------------------------------------------------------------ # Visual ----------------------------------------------------------------- # Command Screen Window ------------------------------------------------ CSW_X = Graphics.width / 4 * 3 - 25 CSW_Y = 0 CSW_WIDTH = 160 # ---------------------------------------------------------------------- # Gold Window ---------------------------------------------------------- GOLD_WINDOW = true # << Show Gold Window? GOLD_WINDOW_X = Graphics.width / 4 * 3 - 25 GOLD_WINDOW_Y = 360 # ---------------------------------------------------------------------- # Window Menu Status Screen -------------------------------------------- WMS_X = 0 WMS_Y = 0 WMS_WIDTH = Graphics.width / 4 - 10 + 180 WMS_HEIGHT = 416 WMS_VISIBLE_S = true # << Window Menu Status Screen visible on start? DRAW_STUFF = [ # << Don't delete true, # << Draw Actor Face? true, # << Draw Actor Name? true, # << Draw Actor Graphic? true, # << Draw Actor Level? true, # << Draw Actor HP? true, # << Draw Actor MP? true, # << Draw Actor Class? true, # << Draw Actor State? ] # << Don't delete # Actor Stuff Advanced ---------------------------------------------- ACTOR_FACE_X = 2 # Actor Face X coordinate ACTOR_FACE_Y = 0 # Actor Face Y coordinate ACTOR_NAME_X = 104 # Actor Name X coordinate ACTOR_NAME_Y = -15 # Actor Name Y coordinate ACTOR_GRAPHIC_X = 50 # Actor Graphic X coordinate ACTOR_GRAPHIC_Y = 80 # Actor Graphic Y coordinate ACTOR_LEVEL_X = 104 # Actor Level X coordinate ACTOR_LEVEL_Y = 5 # Actor Level Y coordinate ACTOR_HP_X = 104 # Actor HP X coordinate ACTOR_HP_Y = WLH * 1 # Actor HP Y coordinate ACTOR_MP_X = 104 # Actor MP X coordinate ACTOR_MP_Y = WLH * 2 # Actor MP Y coordinate ACTOR_CLASS_X = 184 # Actor Class X coordinate ACTOR_CLASS_Y = -15 # Actor Class Y coordinate ACTOR_STATE_X = 104 # Actor State X coordinate ACTOR_STATE_Y = 45 # Actor State Y coordinate # ---------------------------------------------------------------------- # ----------------------------------------------------------------------- # ------------------------------------------------------------------------ end end #============================================================== # # End Config # #============================================================== class Scene_Menu < Scene_Base include TMC::Config #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background create_command_window if $game_switches[SWITCH_ID] @gold_window = Window_Gold.new(GOLD_WINDOW_X, GOLD_WINDOW_Y) @gold_window.visible = GOLD_WINDOW @status_window = Window_MenuStatus.new(WMS_X,WMS_Y) @status_window.visible = WMS_VISIBLE_S else @gold_window = Window_Gold.new(0, 360) @status_window = Window_MenuStatus.new(160, 0) @status_window.visible = true end end #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- 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(160, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index if $game_switches[SWITCH_ID] @command_window.x = CSW_X @command_window.y = CSW_Y @command_window.width = CSW_WIDTH end if $game_party.members.size == 0 # If number of party members is 0 @command_window.draw_item(0, false) # Disable item @command_window.draw_item(1, false) # Disable skill @command_window.draw_item(2, false) # Disable equipment @command_window.draw_item(3, false) # Disable status end if $game_system.save_disabled # If save is forbidden @command_window.draw_item(4, false) # Disable save end end #-------------------------------------------------------------------------- # * Start Actor Selection #-------------------------------------------------------------------------- alias hsnake_ma_sas start_actor_selection unless $@ def start_actor_selection(*args, &block) if $game_switches[SWITCH_ID] @status_window.visible = true end hsnake_ma_sas(*args, &block) end #-------------------------------------------------------------------------- # * End Actor Selection #-------------------------------------------------------------------------- alias hsnake_ma_eas end_actor_selection unless $@ def end_actor_selection (*args, &block) if $game_switches[SWITCH_ID] @status_window.visible = false end hsnake_ma_eas(*args, &block) end end class Window_MenuStatus < Window_Selectable include TMC::Config #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(x, y) if $game_switches[SWITCH_ID] super(x, y, WMS_WIDTH, WMS_HEIGHT) else super(x, y, 384, 416) end refresh self.active = false self.index = -1 end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear @item_max = $game_party.members.size for actor in $game_party.members x = 104 y = actor.index * 96 + WLH / 2 if $game_switches[SWITCH_ID] if DRAW_STUFF[0] draw_actor_face(actor, ACTOR_FACE_X, actor.index * 96 + 2 + ACTOR_FACE_Y, 92) end if DRAW_STUFF[1] draw_actor_name(actor, ACTOR_NAME_X, y + ACTOR_NAME_Y) end if DRAW_STUFF[2] draw_actor_graphic(actor,ACTOR_GRAPHIC_X, y + ACTOR_GRAPHIC_Y) end if DRAW_STUFF[3] draw_actor_level(actor,ACTOR_LEVEL_X, y + ACTOR_LEVEL_Y) end if DRAW_STUFF[4] draw_actor_hp(actor,ACTOR_HP_X, y + ACTOR_HP_Y) end if DRAW_STUFF[5] draw_actor_mp(actor,ACTOR_MP_X, y + ACTOR_MP_Y) end if DRAW_STUFF[6] draw_actor_class(actor,ACTOR_CLASS_X, y + ACTOR_CLASS_Y) end if DRAW_STUFF[7] draw_actor_state(actor,ACTOR_STATE_X, y + ACTOR_STATE_Y) end else draw_actor_face(actor, 2, actor.index * 96 + 2, 92) draw_actor_name(actor, x, y) draw_actor_class(actor, x + 120, y) draw_actor_level(actor, x, y + WLH * 1) draw_actor_state(actor, x, y + WLH * 2) draw_actor_hp(actor, x + 120, y + WLH * 1) draw_actor_mp(actor, x + 120, y + WLH * 2) end end end end