Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
Sign in to follow this  
RMXPirate

CMS reuest!

Recommended Posts

Ok, so I was trying to make my very first script which was going to be a menu script but unfortunately I couldn?t. So I was wondering if someone could make it for me :P. I think it would be a nice addition to the many Scripts made. Any who pretty much it is a Custom menu system. I included a preview below(it?s a crappy preview but its good enough).

 

 

 

untitledik6.jpg

 

Pretty much its just like the normal menu except the command thing has been placed on the top and each selection is in a different window. When u press left it goes to the next window?

Share this post


Link to post
Share on other sites
Ok, so I was trying to make my very first script which was going to be a menu script but unfortunately I couldn?t. So I was wondering if someone could make it for me :P . I think it would be a nice addition to the many Scripts made. Any who pretty much it is a Custom menu system. I included a preview below(it?s a crappy preview but its good enough).

untitledik6.jpg

 

Pretty much its just like the normal menu except the command thing has been placed on the top and each selection is in a different window. When u press left it goes to the next window?

 

This script will be very easy to do, and I have been looking for an easy script or two to help me relax. Give me a couple days, because this is easier than you'd think...

Share this post


Link to post
Share on other sites

alright i can wait! And thanks! I think its easy because all u have to do is add the commands, everything else is the same as the old menu system isnt it?

Share this post


Link to post
Share on other sites

All I have to do is make a window for each command, set it so when you press left/right, that window is deactivated, and the next is, and have it so when you hit enter, it goes to the next scene, saving the cursor's position in $game_party, or cancel, save the cursor's position. VERY easyfor an experienced scripter.

 

Give me... oh... 4-6 hours, if that. I can only assume you are using teh default Menu, with chanes to the scene's windows.

Share this post


Link to post
Share on other sites

yeah i am using the default! I figured it would work like that. maybe when ur finneshed u can make it so when it hovers over the command window it will make that command window expand if u know what i mean. But do do that yeat just make it like i said before then if u want u can do that later.

Share this post


Link to post
Share on other sites

Actually, i have your drawing completed, the scene is actually done. Let me load it up.

 

#===================================
#  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 Input.trigger?(Input::B)
  $game_system.se_play($data_system.cancel_se)
  $scene = Scene_Map.new
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
if Input.trigger?(Input::LEFT)
  $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)
  $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)
  $game_system.se_play($data_system.decision_se)
  $game_party.menu_cursor = 0
  $scene = Scene_Item.new
end
 end

 def update_skill
if Input.trigger?(Input::LEFT)
  $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)
  $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)
  $game_system.se_play($data_system.decision_se)
  $game_party.menu_cursor = 1
  $scene = Scene_Skill.new
end
 end

 def update_equip
if Input.trigger?(Input::LEFT)
  $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)
  $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)
  $game_system.se_play($data_system.decision_se)
  $game_party.menu_cursor = 2
  $scene = Scene_Equip.new
end
 end

 def update_status
if Input.trigger?(Input::LEFT)
  $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)
  $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)
  $game_system.se_play($data_system.decision_se)
  $game_party.menu_cursor = 3
  $scene = Scene_Status.new
end
 end

 def update_save
if Input.trigger?(Input::LEFT)
  $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)
  $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)
  $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::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

end

Share this post


Link to post
Share on other sites

its pretty much good, but u cant slect which character you want to equip items with... it just automatically goes to the first player.

Share this post


Link to post
Share on other sites

I knew I forgot something... *slaps forehead* easily fixed. My apologies. (I had to rewrite some of the code, and forgot a snippet.)

Ok, fixed:

Share this post


Link to post
Share on other sites

Fiuxed:

 

#===================================
#  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)<br 

/>  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
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 = 5
  @item_window.index = -1
  @item_window.active = false
  $game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
  $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)
  $game_system.se_play($data_system.decision_se)
  $game_party.menu_cursor = 0
  $scene = Scene_Item.new
end
 end

 def update_skill
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 = 0
  @skill_window.index = -1
  @skill_window.active = false
  $game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
  $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)
  $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
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 = 1
  @equip_window.index = -1
  @equip_window.active = false
  $game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
  $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)
  $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
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 = 2
  @status_window.index = -1
  @status_window.active = false
  $game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
  $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)
  $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
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 = 3
  @save_window.index = -1
  @save_window.active = false
  $game_system.se_play($data_system.cursor_se)
end
if Input.trigger?(Input::RIGHT)
  $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)
  $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

Share this post


Link to post
Share on other sites

Wow, I've been considering on having a custom menu screen, though scripting in general is something I'm still trying to learn.

Share this post


Link to post
Share on other sites

Awesome it works, now can i ask you if u can make it do this when its hovering over a selction?:

 

expandda3.jpg

 

Pretty much it will expand on he left and right sides. then when u go to the next selction it will unexpand and expand the next one! Could u do that?

Share this post


Link to post
Share on other sites

I tried something like taht before with a CMS I built somebody else, but they experienced bad lag...

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

To give it the illusion of expanding, you need to move the window to the left, while expanding it to the right twice as much. By doing both at once, it will lag. Ill try it later, right now, i dont have a power cord.

Share this post


Link to post
Share on other sites

oic. Well i did try that after a while but it does lag, alot! But for some reason the sdk one doesnt, i wonder y. Oh well. Thanks for this though!

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...