hey cant you try and do it? I mean someone made one for me at rmxp and it works fine, no lag but its sdk version :lol: and i dont like sdk scripts, so maybe you can try?
Edit: I tried it myself but only got the right side to expand. Maybe u can try and fix it?
#===================================
# Ichabod's Menu, made by Leon.
#----------------------------------------------------------------------
# Here you go, and it goes off of the built in scenes.
# Just put it under 'Scene_Debug', but above 'Main'
#===================================
$defaultfonttype = Font.default_name
$defaultfontsize = Font.default_size
#===================================
# Game_Party
#===================================
class Game_Party
attr_accessor :menu_cursor
alias leon_ichabodmenu_gameparty_initialize initialize
def initialize
leon_ichabodmenu_gameparty_initialize
@menu_cursor = 0
end
end
#===================================
# Window_Item_Option
#===================================
class Window_Item_Option < Window_Selectable
def initialize
super(0, 0, 106, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
if $game_party.menu_cursor == 0
self.active = true
self.index = 0
else
self.active = false
self.index = -1
end
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(4, 0, (106-34), 32, "Item", 1)
end
end
#===================================
# END Window_Item_Option
#===================================
#===================================
# Window_Skill_Option
#===================================
class Window_Skill_Option < Window_Selectable
def initialize
super(106, 0, 107, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
if $game_party.menu_cursor == 1
self.active = true
self.index = 0
else
self.active = false
self.index = -1
end
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(4, 0, (107-34), 32, "Skill", 1)
end
end
#===================================
# END Window_Skill_Option
#===================================
#===================================
# Window_Equip_Option
#===================================
class Window_Equip_Option < Window_Selectable
def initialize
super(213, 0, 107, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
if $game_party.menu_cursor == 2
self.active = true
self.index = 0
else
self.active = false
self.index = -1
end
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(4, 0, (107-34), 32, "Equip", 1)
end
end
#===================================
# END Window_Equip_Option
#===================================
#===================================
# Window_Status_Option
#===================================
class Window_Status_Option < Window_Selectable
def initialize
super(320, 0, 107, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
if $game_party.menu_cursor == 3
self.active = true
self.index = 0
else
self.active = false
self.index = -1
end
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(4, 0, (107-34), 32, "Status", 1)
end
end
#===================================
# END Window_Status_Option
#===================================
#===================================
# Window_Save_Option
#===================================
class Window_Save_Option < Window_Selectable
def initialize
super(427, 0, 107, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
if $game_party.menu_cursor == 4
self.active = true
self.index = 0
else
self.active = false
self.index = -1
end
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(4, 0, (107-34), 32, "Save", 1)
end
end
#===================================
# END Window_Save_Option
#===================================
#===================================
# Window_Endgame_Option
#===================================
class Window_Endgame_Option < Window_Selectable
def initialize
super(534, 0, 106, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
if $game_party.menu_cursor == 5
self.active = true
self.index = 0
else
self.active = false
self.index = -1
end
refresh
end
def refresh
self.contents.clear
self.contents.font.size = 18
self.contents.draw_text(0, 0, (106-32), 32, "End Game", 1)
end
end
#===================================
# END Window_Endgame_Option
#===================================
#===================================
# Window_Actor_Select
#===================================
class Window_Actor_Select < Window_Selectable
def initialize
super(160, 64, 480, 416)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
self.active = false
self.index = -1
refresh
end
def refresh
self.contents.clear
self.contents.font.size = 18
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 64
y = i * 95
actor = $game_party.actors[i]
draw_actor_graphic(actor, x - 40, y + 80)
draw_actor_name(actor, x, y)
draw_actor_class(actor, x + 144, y)
draw_actor_level(actor, x, y + 28)
draw_actor_state(actor, x + 90, y + 28)
draw_actor_exp(actor, x, y + 54)
draw_actor_hp(actor, x + 236, y + 28)
draw_actor_sp(actor, x + 236, y + 54)
end
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, @index * 95, self.width - 32, 96)
end
end
end
#===================================
# END Window_Actor_Select
#===================================
#===================================
# Scene_Menu
#===================================
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 224-160
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 320-160
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416-160
@item_window = Window_Item_Option.new
@skill_window = Window_Skill_Option.new
@equip_window = Window_Equip_Option.new
@status_window = Window_Status_Option.new
@save_window = Window_Save_Option.new
@endgame_window = Window_Endgame_Option.new
@actor_window = Window_Actor_Select.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@item_window.dispose
@skill_window.dispose
@equip_window.dispose
@status_window.dispose
@save_window.dispose
@endgame_window.dispose
@gold_window.dispose
@steps_window.dispose
@playtime_window.dispose
@actor_window.dispose
end
def update
@item_window.update
@skill_window.update
@equip_window.update
@status_window.update
@save_window.update
@endgame_window.update
@gold_window.update
@steps_window.update
@playtime_window.update
@actor_window.update
case $game_party.menu_cursor
when 0
@item_window.active = true
@item_window.index = 0
when 1
@skill_window.active = true
@skill_window.index = 0
when 2
@equip_window.active = true
@equip_window.index = 0
when 3
@status_window.active = true
@status_window.index = 0
when 4
@save_window.active = true
@save_window.index = 0
when 5
@endgame_window.active = true
@endgame_window.index = 0
end
if @actor_window.active
update_actor
return
end
if @item_window.active
update_item
return
end
if @skill_window.active
update_skill
return
end
if @equip_window.active
update_equip
return
end
if @status_window.active
update_status
return
end
if @save_window.active
update_save
return
end
if @endgame_window.active
update_endgame
return
end
end
def update_item
@item_window.width = 120
@item_window.z += 1
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
if Input.trigger?(Input::LEFT)
@item_window.width = 106
$game_party.menu_cursor = 5
@item_window.index = -1
@item_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
@item_window.width = 106
$game_party.menu_cursor = 1
@item_window.index = -1
@item_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::C)
@item_window.width = 106
$game_system.se_play($data_system.decision_se)
$game_party.menu_cursor = 0
$scene = Scene_Item.new
end
end
def update_skill
@skill_window.width = 121
@skill_window.z += 1
if Input.trigger?(Input::B)
@skill_window.width = 106
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
if Input.trigger?(Input::LEFT)
@skill_window.width = 107
$game_party.menu_cursor = 0
@skill_window.index = -1
@skill_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
@skill_window.width = 107
$game_party.menu_cursor = 2
@skill_window.index = -1
@skill_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::C)
@skill_window.width = 107
$game_system.se_play($data_system.decision_se)
$game_party.menu_cursor = 1
@skill_window.active = false
@actor_window.active = true
@actor_window.index = 0
#$scene = Scene_Skill.new
end
end
def update_equip
@equip_window.width = 121
@equip_window.z += 1
if Input.trigger?(Input::B)
@equip_window.width = 107
@equip_window.x = 213
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
if Input.trigger?(Input::LEFT)
@equip_window.width = 107
$game_party.menu_cursor = 1
@equip_window.index = -1
@equip_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
@equip_window.width = 107
$game_party.menu_cursor = 3
@equip_window.index = -1
@equip_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::C)
@equip_window.width = 107
$game_system.se_play($data_system.decision_se)
$game_party.menu_cursor = 2
@equip_window.active = false
@actor_window.active = true
@actor_window.index = 0
#$scene = Scene_Equip.new
end
end
def update_status
@status_window.width = 121
@status_window.z += 1
if Input.trigger?(Input::B)
@status_window.width = 107
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
if Input.trigger?(Input::LEFT)
@status_window.width = 107
$game_party.menu_cursor = 2
@status_window.index = -1
@status_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
@status_window.width = 107
$game_party.menu_cursor = 4
@status_window.index = -1
@status_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::C)
@status_window.width = 107
$game_system.se_play($data_system.decision_se)
$game_party.menu_cursor = 3
@status_window.active = false
@actor_window.active = true
@actor_window.index = 0
#$scene = Scene_Status.new
end
end
def update_save
@save_window.width = 121
@save_window.z += 1
if Input.trigger?(Input::B)
@save_window.width = 107
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
if Input.trigger?(Input::LEFT)
@save_window.width = 107
$game_party.menu_cursor = 3
@save_window.index = -1
@save_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
@endgame_window.refresh
@save_window.width = 107
$game_party.menu_cursor = 5
@save_window.index = -1
@save_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::C)
@save_window.width = 107
$game_system.se_play($data_system.decision_se)
$game_party.menu_cursor = 4
$scene = Scene_Save.new
end
end
def update_endgame
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
if Input.trigger?(Input::LEFT)
$game_party.menu_cursor = 4
@endgame_window.index = -1
@endgame_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
$game_party.menu_cursor = 0
@endgame_window.index = -1
@endgame_window.active = false
$game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
$game_party.menu_cursor = 5
$scene = Scene_End.new
end
end
def update_actor
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
case $game_party.menu_cursor
when 1
@skill_window.active = true
@actor_window.active = false
@actor_window.index = -1
when 2
@equip_window.active = true
@actor_window.active = false
@actor_window.index = -1
when 3
@status_window.active = true
@actor_window.active = false
@actor_window.index = -1
end
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
case $game_party.menu_cursor
when 1
$scene = Scene_Skill.new(@actor_window.index)
when 2
$scene = Scene_Equip.new(@actor_window.index)
when 3
$scene = Scene_Status.new(@actor_window.index)
end
end
end
end