Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

[A] CMS Layout Request

Menu Mock Image

This is my mock menu. I can't remember the font name (sorry, it's an old image) but anything remotely similar will do nicely. Here's all I ask for:

- The basic layout of that image, except move the whole image area up by about 48 pixels, because I plan to have some 32x32 icons along the bottom. Don't worry about those, that I will learn later.

- The command menu working, with an arrow (similar to the one pointing at "Command List" in the main window.

- Only the Status, Item, and Save/Load functions need to be working properly. Ignore all of the "+99xp" and whatever. That was from an older idea.

- When in the status menu the cursor should move between Command List, Ability List, and Magic List. When the cursor is over command list, whether or not you pressed enter, it should update the contents of the little window. Don't worry about the actual contents, again that is something I will deal with later. Just make a window script for each one with the names.

- The picture in the background is the current characters battler. You can tint and use transparencies until it looks good.

- The window that says status should say which of the commands on the leftmost menu you clicked only after you are in that menu. The main menu should not disappear, the contents of the main windows should just change when a command is selected. When you hit esc you should go back to the main menu commands without closing the window you are in.

- Oh, and be sure to comment like crazy, I'm trying to use this to learn off of, and I plan to expand upon it once it is done, so the more I understand it the better.

That's more than I thought it would be, I'm sorry, but I still don't think it should be too hard. It looks pretty similar to the default menu, though the theme is a bit darker. If I'm asking for too much then that's fine, but if anyone is willing to do this for me, than thank you very much, it means a lot to me! The alternative is if someone would like to coach me through doing this on AIM or MSN or any other messenger, my AIM is FFJP RPGf and I will give you my MSN if you use that instead. Again, thank you!
 
I will try to do this...give me a couple days or so and I will have something for you
[edit] few questions:
You have Defense and Mind as stats(?) Is Dexterity = Mind? and Phys Def = Defense? (if you understand what I am asking)
Are those arrows at the bottom of the window for going to another actors window, or do you want just a one person CMS?
 
Yeah I know I got that down. But the thing is when you go to choose your character, for example to equip, you go choose a specific one (obviously). Well, in this CMS the whole window is ONE actor, and I can't figure out how to make it so if you press L and R it will switch windows to another actor.

Of course you can still press L and R in the equip menu to switch between characters.
 
Okay, well you know how I talked about having some icons along the bottom of the menu? What if I had the character sprites of everyone in your party along the bottom, so that when you go to that section it goes to select one of the sprites and opens up that page.
 
Wow I thought I replied to this, guess it didn't work. Anyway, I mentioned some icons I was going to put along the bottom... how about displaying the actors' sprites in the bottom right and when you select status or equip you can move between them.
 
OK, I have the window already, it is nearly done...Just need to figure out how to update window contents :/ or wait you want that for status too? Do you want a completely different choice for Command List, Magic list then?
 
Nah, it should be good however you do it. If I understand enough of what you coded I can probably tweak it if I change my mind later. Sorry for the confusion, I bookmarked the first page of this and didn't realize it had reached a second page, so now I feel like an idiot for double posting like that. Anyway, I'm just anxious to see what you're got :P
 
OK I got it done! Sorry it took so long :-/ Would've posted it earlier today, but my internet jacked up...anyway here it is!
I tried to comment as much as I could, I hope you can understand all of it :thumb:

First, replace Scene_Menu with this:
#==============================================================================
# â–  Scene_Menu
#------------------------------------------------------------------------------
# Edit by ItalianStal1ion
#==============================================================================

class Scene_Menu
#--------------------------------------------------------------------------
# ● Initialize Menu
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# ● Main
#--------------------------------------------------------------------------
def main
# what number the choice is and what text it displays
s1 = " " + $data_system.words.item
s2 = " " + $data_system.words.equip
s3 = " Status"
s4 = " Cores"
s5 = " Save"
s6 = " Load"
s7 = " Config"
s8 = " Quit"
@command_window = Window_Command.new(130, [s1, s2, s3, s4, s5, s6, s7, s8]) # width, and height
@command_window.height = 296 #overrides last height
@command_window.x = 0
@command_window.y = 40
# Disables some of menu if there are no heroes in party (which is impossible anyway?)
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end


#makes gold window appear at coordinates
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 320
#Makes status window appear at coordinates
@status_window = Window_MenuStatus.new
@status_window.x = 464
@status_window.y = 410
#Makes choice window appear at coordinates
@choose_window = Window_MenuChoose.new
@choose_window.x = 160
@choose_window.y = 80
#Makes info1 window appear at coordinates
@info1_window = Window_Info1.new
@info1_window.x = 160
@info1_window.y = 24
#Makes info2 window appear at coordinates uncomment if you use window_info2
# @info2_window = Window_Info2.new
# @info2_window.x = 340
# @info2_window.y = 310
#Graphic stuff
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
#disposes windows
@command_window.dispose
@gold_window.dispose
@status_window.dispose
@info1_window.dispose
# @info2_window.dispose
@choose_window.dispose
end


#--------------------------------------------------------------------------
# ● Window Update
#--------------------------------------------------------------------------
def update
#updates windows
@command_window.update
@gold_window.update
@status_window.update
@info1_window.update
# @info2_window.update
@choose_window.update
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
end


#--------------------------------------------------------------------------
# ● Command Update
#--------------------------------------------------------------------------


def update_command
# Press B to go to map
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
#Press C to open a certain command
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index

#What happens at every choice
when 0 # Item

when 1 #Equip
@info1_window.set_text("Choose an Actor") #displays text in info1 window
$game_system.se_play($data_system.decision_se)
# Make status window active
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2 #Status
@info1_window.set_text("Choose an Actor") #displays text in info1 window
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3 #Cores

when 4 #Save
#if saves disabled play buzzer sound and doesnt open save menu
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
#save isnt disabled plays little note and opens save menu
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5 # Load
$game_system.se_play($data_system.decision_se)
$scene = Scene_Load.new
when 6 #Config

when 7 #Quit

end
return
end
end

#--------------------------------------------------------------------------
# ● Status Update
#--------------------------------------------------------------------------
def update_status
#Press B to go back to menu commands
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
# Choose actors for certain menu choices
if Input.trigger?(Input::C)
case @command_window.index
when 1 #Skills
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2 #Equip
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3 #Status
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end

Then go delete Window_Playtime and Window_Gold and place this where they were:
#==============================================================================
# ** Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================

class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize #Begins everything
super(0, 0, 130, 108) #Creates window (x, y, width, length)
self.contents = Bitmap.new(width - 32, height - 32) # for text
self.contents.font.name = $defaultfonttype # "Help" window font
self.contents.font.size = $defaultfontsize
refresh #Starts next section
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh #start refresh
self.contents.clear #clear window
self.contents.font.color = system_color # that blueish color
self.contents.draw_text(0, 0, 120, 32, "Play Time") #draws text " "
self.contents.draw_text(0, 0, 120, 32, "_________")
@total_sec = Graphics.frame_count / Graphics.frame_rate #Play time count
# How time is divided
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec) #displays time
self.contents.font.color = normal_color #white
self.contents.draw_text(-24, 24, 120, 32, text, 2) # draws text
cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(16, 48, 120-cx-2, 32, $game_party.gold.to_s, 2) #draws party gold amount
self.contents.font.color = system_color
self.contents.draw_text(0, 48, cx, 32, $data_system.words.gold, 2) #draws whatever you set gold as in the database
self.contents.draw_text(0, 48, 120, 32, "_________")
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec # needed for time
refresh #goes to refresh again. This happens over and over.
end
end
end

Put this UNDER the last script:
#==============================================================================
# ** Window_Info1
#------------------------------------------------------------------------------
# This window displays displays menu choice info. (above stats window)
#==============================================================================

class Window_Info1 < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 0, 360, 48)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype # "Help" window font
self.contents.font.size = $defaultfontsize
end
#--------------------------------------------------------------------------
# ● テキスト設定
# text : ウィンドウに表示する文字列
# align : アラインメント (0..左揃え、1..中央揃え、2..右揃え)
#--------------------------------------------------------------------------
def set_text(text, align = 0)
# テキストとアラインメントの少なくとも一方が前回と違っている場合
if text != @text or align != @align
# テキストを再描画
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(0, -8, self.width - 40, 32, text, align)
@text = text
@align = align
@actor = nil
end
self.visible = true
end
#--------------------------------------------------------------------------
# ● アクター設定
# actor : ステータスを表示するアクター
#--------------------------------------------------------------------------
def set_actor(actor)
if actor != @actor
self.contents.clear
draw_actor_name(actor, 4, 0)
draw_actor_state(actor, 140, 0)
draw_actor_hp(actor, 284, 0)
draw_actor_sp(actor, 460, 0)
@actor = actor
@text = nil
self.visible = true
end
end
#--------------------------------------------------------------------------
# ● エネミー設定
# enemy : 名前とステートを表示するエネミー
#--------------------------------------------------------------------------
def set_enemy(enemy)
text = enemy.name
state_text = make_battler_state_text(enemy, 112, false)
if state_text != ""
text += " " + state_text
end
set_text(text, 1)
end
end



# Put this as a NEW script for the window to the right of Command List, Magic List etc.
# Be sure not to forget to uncomment the lines in Window_MenuStatus and Scene_Menu!

#==============================================================================
# ** Window_Info2
#------------------------------------------------------------------------------
# This window displays "Status" choices. (Command list etc)
#==============================================================================
=begin
class Window_Info2 < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 240, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype # "Help" window font
self.contents.font.size = $defaultfontsize
self.back_opacity = 0 #makes window invisible except border
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear

end
end
=end
(Note: I've added Window_Info2 which will make the window to the right of Command List, Magic List etc. Just follow the instructions to add the window plus the command words.)

Replace Window_MenuStatus with this:
class Window_MenuStatus < Window_Selectable

#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def initialize
super(0, 380, 176, 80);
self.contents = Bitmap.new(width - 32, height - 32);
@item_max = $game_party.actors.size
@column_max = 4;
refresh;
self.active = false
self.index = -1
end
def actor
return $game_party.actors[self.index];
end


def refresh
self.contents.clear;
for index in 0..$game_party.actors.size
actor = $game_party.actors[index];
return if actor == nil;
x = (index) % 4 * 36;
y = (index) / 4 * 64;
draw_actor_graphic(actor, x+16, y+48);
draw_actor_name(actor, x + 40, y)
end
end


def update_cursor_rect
if @index < 0
self.cursor_rect.empty;
else
self.cursor_rect.set(@index % 4 * 36, @index / 4 * 64, 34, 48);
end
end
end

Put this below the last script:
#==============================================================================
# â–  Window_MenuChoose
#------------------------------------------------------------------------------
#  メニュー画面でパーティメンバーのステータスを表示するウィンドウです。
#==============================================================================

class Window_MenuChoose < Window_Selectable
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 0, 480, 340)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype # "Main" window font
self.contents.font.size = $defaultfontsize
refresh
self.active = false #active to start? False means it starts by something else (menu)
self.index = -1
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = 3 #up, down selection amount of choices
for i in 0...1 #makes it so it displays just one actors status
x = 64
y = i * 116
actor = $game_party.actors
self.contents.font.size = 30 #sets font size to 30
self.contents.draw_text(0, 36, 64, 32, "Level")
self.contents.font.color = normal_color
self.contents.draw_text(60, 36, 24, 32, actor.level.to_s, 2)
draw_actor_name(actor, 0, 0) #draws actor name
self.contents.draw_text(0, 0, 600, 32, "________________________________________")
self.contents.font.size = 24
self.contents.font.color = system_color
self.contents.draw_text(0, 80, 32, 32, $data_system.words.hp) #draws whatever you set HP to in the database
self.contents.font.color = normal_color
self.contents.draw_text(124, 80, 48, 32, actor.maxhp.to_s) #draws max HP
# Draws actors stats, set in Window_Base
draw_actor_parameter(actor, 0, 100, 0) #Attack
draw_actor_parameter(actor, 0, 120, 3) #Dexterity
draw_actor_parameter(actor, 0, 140, 5) # Agility
draw_actor_parameter(actor, 0, 160, 6) #intelligence
self.contents.font.size = 20 #sets font to 20
# self.contents.draw_text(40, 220, 240, 32, "Command List")
# self.contents.draw_text(40, 240, 240, 32, "Ability List")
# self.contents.draw_text(40, 260, 240, 32, "Magic List")
end
end
#--------------------------------------------------------------------------
# ● カーソルの矩形更新
#--------------------------------------------------------------------------
def update_cursor_rect #updates cursor
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, 220 + @index * 20, self.width - 32, 0) #cursor placement and width, length
end
end
end


Finally put this script somewhere below Window_Selectable.
Credits go to selwyn!
#==============================================================================
# â–  Cursor Script
#------------------------------------------------------------------------------
#  Script to display a cursor instead of a highlight box
# by Selwyn
# selwyn@rmxp.ch
#==============================================================================

#==============================================================================
# â–  Cursor_Sprite
#==============================================================================

class Sprite_Cursor < Sprite
#--------------------------------------------------------------------------
# ● instances
#--------------------------------------------------------------------------
attr_accessor :true_x
attr_accessor :true_y
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(x = 0, y = 0)
super()
self.x = @true_x = x
self.y = @true_y = y
self.z = 10000
self.bitmap = RPG::Cache.picture("cursor") rescue Bitmap.new(32, 32)
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
super

if self.y < @true_y
n = (@true_y - self.y) / 3
n = 1 if n == 0
self.y += n
elsif self.y > @true_y
n = (self.y - @true_y) / 3
n = 1 if n == 0
self.y -= n
end

if self.x < @true_x
n = (@true_x - self.x) / 3
n = 1 if n == 0
self.x += n
elsif self.x > @true_x
n = (self.x - @true_x) / 3
n = 1 if n == 0
self.x -= n
end
end
end

#==============================================================================
# â–  Window_Selectable
#==============================================================================

class Window_Selectable < Window_Base
#--------------------------------------------------------------------------
# ● instances
#--------------------------------------------------------------------------
attr_reader :index
attr_reader :help_window
attr_accessor :cursor
alias update_cursor_moves update
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
super(x, y, width, height)
@item_max = 1
@column_max = 1
@index = -1
@cursor = Sprite_Cursor.new(x, y)
update_cursor
end
#--------------------------------------------------------------------------
# ● x=
#--------------------------------------------------------------------------
def x=(x)
super
@cursor.x = x if !@cursor.nil?
end
#--------------------------------------------------------------------------
# ● y=
#--------------------------------------------------------------------------
def y=(y)
super
@cursor.y = y if !@cursor.nil?
end
#--------------------------------------------------------------------------
# ● visible=
#--------------------------------------------------------------------------
def visible=(visible)
super
if !@cursor.nil? and visible == false
@cursor.visible = false
end
end
#--------------------------------------------------------------------------
# ● dispose
#--------------------------------------------------------------------------
def dispose
@cursor.dispose
super
end
#--------------------------------------------------------------------------
# ● update_cursor_rect
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
return
end
row = @index / @column_max
if row < self.top_row
self.top_row = row
end
if row > self.top_row + (self.page_row_max - 1)
self.top_row = row - (self.page_row_max - 1)
end
cursor_width = self.width / @column_max - 32
x = @index % @column_max * (cursor_width + 32)
y = @index / @column_max * 32 - self.oy
self.cursor_rect.set(x, y, cursor_width, 32)
end
#--------------------------------------------------------------------------
# ● update_cursor
#--------------------------------------------------------------------------
def update_cursor
@cursor.true_x = self.cursor_rect.x + self.x - 8
@cursor.true_y = self.cursor_rect.y + self.y + 16
@cursor.update
@cursor.visible = (self.visible and self.index >= 0)
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
update_cursor_moves
update_cursor
end
end

And for the cursor save this into your Pictures folder:
http://i92.photobucket.com/albums/l14/i ... cursor.png[/IMG]

And heres what it looks like:
http://i92.photobucket.com/albums/l14/i ... MSedit.png[/IMG]

Hope you like it!:thumb:

(if you want any changes made just say so!)
 
Well, it looks great, thanks a lot! I just have a few changes, if you wouldn't mind.

Is there any way you can make the Play Time and Gold part of the command list (or at least appear to be)? Can you make the window where the character sprites are invisible so that it's not there? And lastly, could you get rid of the box that highlights your selection, I was planning on replacing that with the cursor, not adding the cursor.

It looks wonder, and I think you for that. If you can't or don't want to implement any of these changes than don't worry about it, but if you're willing to than thank you even more, and don't worry about how long it takes.
 
Hmm, I ran into trouble making the command window be part of the gold and time, but I will try again:) As for the rest, I guess I just forgot to get rid of the box...

might as well edit this post:
Here, I did all of that you wanted:thumb:
Just replace the following scripts:
#==============================================================================
# ** Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================

class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize #Begins everything
super(0, 0, 130, 120) #Creates window (x, y, width, length)
self.contents = Bitmap.new(width - 32, height - 32) # for text
self.contents.font.name = $defaultfonttype # "Help" window font
self.contents.font.size = $defaultfontsize
self.opacity = 0 #makes window invisible
refresh #Starts next section
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh #start refresh
self.contents.clear #clear window
self.contents.font.color = system_color # that blueish color
self.contents.draw_text(0, 0, 120, 32, "Play Time") #draws text " "
self.contents.draw_text(0, 0, 120, 32, "_________")
@total_sec = Graphics.frame_count / Graphics.frame_rate #Play time count
# How time is divided
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec) #displays time
self.contents.font.color = normal_color #white
self.contents.draw_text(-24, 24, 120, 32, text, 2) # draws text
cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(16, 56, 120-cx-2, 32, $game_party.gold.to_s, 2) #draws party gold amount
self.contents.font.color = system_color
self.contents.draw_text(0, 56, cx, 32, $data_system.words.gold, 2) #draws whatever you set gold as in the database
self.contents.draw_text(0, 56, 120, 32, "_________")
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec # needed for time
refresh #goes to refresh again. This happens over and over.
end
end
end

class Window_MenuStatus < Window_Selectable

#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def initialize
super(0, 380, 176, 80);
self.contents = Bitmap.new(width - 32, height - 32);
self.opacity = 0 #makes window invisible
@item_max = $game_party.actors.size
@column_max = 4;
refresh;
self.active = false
self.index = -1
end
def actor
return $game_party.actors[self.index];
end


def refresh
self.contents.clear;
for index in 0..$game_party.actors.size
actor = $game_party.actors[index];
return if actor == nil;
x = (index) % 4 * 36;
y = (index) / 4 * 64;
draw_actor_graphic(actor, x+16, y+48);
draw_actor_name(actor, x + 40, y)
end
end


def update_cursor_rect
if @index < 0
self.cursor_rect.empty;
else
self.cursor_rect.set(@index % 4 * 36, @index / 4 * 64, 34, 0);
end
end
end

#==============================================================================
# â–  Scene_Menu
#------------------------------------------------------------------------------
# Edit by ItalianStal1ion
#==============================================================================

class Scene_Menu
#--------------------------------------------------------------------------
# ● Initialize Menu
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# ● Main
#--------------------------------------------------------------------------
def main
# what number the choice is and what text it displays
s1 = " " + $data_system.words.item
s2 = " " + $data_system.words.equip
s3 = " Status"
s4 = " Cores"
s5 = " Save"
s6 = " Load"
s7 = " Config"
s8 = " Quit"
@command_window = Window_Command.new(130, [s1, s2, s3, s4, s5, s6, s7, s8]) # width, and height
@command_window.height = 380 #overrides last height
@command_window.x = 0
@command_window.y = 40
# Disables some of menu if there are no heroes in party (which is impossible anyway?)
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end


#makes gold window appear at coordinates
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 300
#Makes status window appear at coordinates
@status_window = Window_MenuStatus.new
@status_window.x = 464
@status_window.y = 410
#Makes choice window appear at coordinates
@choose_window = Window_MenuChoose.new
@choose_window.x = 160
@choose_window.y = 80
#Makes info1 window appear at coordinates
@info1_window = Window_Info1.new
@info1_window.x = 160
@info1_window.y = 24
#Makes info2 window appear at coordinates uncomment if you use window_info2
# @info2_window = Window_Info2.new
# @info2_window.x = 340
# @info2_window.y = 310
#Graphic stuff
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
#disposes windows
@command_window.dispose
@gold_window.dispose
@status_window.dispose
@info1_window.dispose
# @info2_window.dispose
@choose_window.dispose
end


#--------------------------------------------------------------------------
# ● Window Update
#--------------------------------------------------------------------------
def update
#updates windows
@command_window.update
@gold_window.update
@status_window.update
@info1_window.update
# @info2_window.update
@choose_window.update
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
end



#--------------------------------------------------------------------------
# ● Command Update
#--------------------------------------------------------------------------


def update_command
# Press B to go to map
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
#Press C to open a certain command
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index

#What happens at every choice
when 0 # Item

when 1 #Equip
@info1_window.set_text("Choose an Actor") #displays text in info1 window
$game_system.se_play($data_system.decision_se)
# Make status window active
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2 #Status
@info1_window.set_text("Choose an Actor") #displays text in info1 window
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3 #Cores

when 4 #Save
#if saves disabled play buzzer sound and doesnt open save menu
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
#save isnt disabled plays little note and opens save menu
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5 # Load
$game_system.se_play($data_system.decision_se)
$scene = Scene_Load.new
when 6 #Config

when 7 #Quit

end
return
end
end


#--------------------------------------------------------------------------
# ● Status Update
#--------------------------------------------------------------------------
def update_status
#Press B to go back to menu commands
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
# Choose actors for certain menu choices
if Input.trigger?(Input::C)
case @command_window.index
when 1 #Skills
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2 #Equip
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3 #Status
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
(the others didnt need edits)


As for eliminating the selection "rectangle" The only solution I have for that is remove the rectangle from the windowskin, which is the little part with the "1"
http://i92.photobucket.com/albums/l14/i ... Blue01.png[/IMG]

Unfortunately(or fortunately) this removes the rectangle from every selection window.

Hope you like it! :thumb:
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top