Here is the cms that needs to change a little:
[spoiler=my window skin](https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg81.imageshack.us%2Fimg81%2F1542%2Fcustomwscopy1es4.png&hash=0cc6ac6e599a31515eb0b9e5f1fae843b4b80ebf) (http://imageshack.us)[/spoiler]
[spoiler=cms script]#==============================================================================
# ? Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================
class Window_PlayTime < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 140, 80)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, -5, 120, 32, "Play Time")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(-15, 15, 120, 32, text, 2)
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
# This window displays amount of gold.
#==============================================================================
class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 140, 54)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(-20, -5, 120-cx-2, 32, $game_party.gold.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(104-cx, -5, cx, 32, $data_system.words.gold, 2)
end
end
#Displays Real Time
class Window_RealTime < Window_Base
#Object Initialization
def initialize
super(0, 0, 140, 80)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#Refresh
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(10, -5, 120, 32, "Real Time")
@time_string = Time.now
text = @time_string.strftime("%A %H:%M:%S")
self.contents.font.color = normal_color
self.contents.draw_text(-3, 20, 110, 32, text, 2)
end
#Time changes in menu
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
# Displays Location in Menu
class Window_Location < Window_Base
def initialize
super(0, 0, 500, 50)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = normal_color
$data_location = load_data("Data/MapInfos.rxdata")
self.contents.draw_text(200, -9, 124, 32, $data_location[$game_map.map_id].name, 2)
self.contents.font.color = system_color
self.contents.draw_text(0, -9, 120, 32, "Location")
end
end
# Displays Game Name
class Window_GameName < Window_Base
def initialize
super(0, 0, 500, 50)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(100, -9, 120, 32, "Light's Shadow")
end
end
# Displays the Word "Menu"
class Window_MenuWord < Window_Base
def initialize
super(0, 0, 140, 50)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = crisis_color
self.contents.draw_text(10, -10, 120, 32, "Menu")
end
end
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
# This window displays party member status on the menu screen.
#==============================================================================
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 500, 400)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
self.active = false
self.index = -1
end
def draw_actor_battler(actor, x, y, opacity = 255)
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
x = i * 120
y = 180
self.contents.blt(x, y, bitmap, src_rect, opacity)
end
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = i * 118
y = 0
actor = $game_party.actors[i]
draw_actor_battler(actor, x, y - 10)
self.contents.font.color = knockout_color
self.contents.draw_text(x, -10, 45, 32, actor.name, 2)
self.contents.font.color = normal_color
draw_actor_class(actor, x, 15)
draw_actor_state(actor, x, 40)
draw_actor_level(actor, x, 110)
# draw exp
self.contents.font.color = system_color
self.contents.draw_text(x, 130, 80, 32, "Exp")
self.contents.draw_text(x, 150, 80, 32, "Next Level")
self.contents.font.color = normal_color
self.contents.draw_text(x + 20, 130, 84, 32, actor.exp_s, 2)
self.contents.draw_text(x + 20, 150, 84, 32, actor.next_rest_exp_s, 2)
# draw hp
self.contents.font.color = system_color
self.contents.draw_text(x, 65, 32, 32, "HP")
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(x + 10, 65, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(x + 60, 65, 12, 32, "/", 1)
self.contents.draw_text(x + 75, 65, 48, 32, actor.maxhp.to_s)
#draw sp
self.contents.font.color = system_color
self.contents.draw_text(x, 85, 32, 32, "SP")
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(x + 10, 85, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(x + 60, 85, 12, 32, "/", 1)
self.contents.draw_text(x + 75, 85, 48, 32, actor.maxsp.to_s)
end
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(@index * 118, 0, 118, 400)
end
end
end
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# This class performs menu screen processing.
#==============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# * Object Initialization
# menu_index : command cursor's initial position
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# ????????????
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Save"
s6 = "Exit"
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
# If # Party Members = 0
if $game_party.actors.size == 0
# Disable Items, Skills, Equipment, and Status
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
# If Save is Forbidden
if $game_system.save_disabled
# Disable Save
@command_window.disable_item(4)
end
# Displays Play Time
@playtime_window = Window_PlayTime.new
@playtime_window.x = 500
@playtime_window.y = 50
# Displays the "Word Menu" Window
@wordmenu_window = Window_MenuWord.new
@wordmenu_window.x = 500
@wordmenu_window.y = 0
# Displays the Gold Window
@gold_window = Window_Gold.new
@gold_window.x = 500
@gold_window.y = 426
# The Menu Status Screen
@status_window = Window_MenuStatus.new
@status_window.x = 0
@status_window.y = 0
# Game Name Window
@gamename_window = Window_GameName.new
@gamename_window.x = 0
@gamename_window.y = 400
# Location Window
@map_window = Window_Location.new
@map_window.x = 0
@map_window.y = 440
# Real Time Window
@realtime_window = Window_RealTime.new
@realtime_window.x = 500
@realtime_window.y = 130
# Execute Transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of windows
@command_window.dispose
@playtime_window.dispose
@gold_window.dispose
@status_window.dispose
@wordmenu_window.dispose
@map_window.dispose
@realtime_window.dispose
@gamename_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Update windows
@command_window.update
@playtime_window.update
@gold_window.update
@status_window.update
@map_window.update
@realtime_window.update
# If command window is active: call update_command
if @command_window.active
update_command
return
end
# If status window is active: call update_status
if @status_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# * Frame Update (when command window is active)
#--------------------------------------------------------------------------
def update_command
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Switch to map screen
$scene = Scene_Map.new
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# If command other than save or end game, and party members = 0
if $game_party.actors.size == 0 and @command_window.index < 4
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Branch by command window cursor position
case @command_window.index
when 0 # item
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to item screen
$scene = Scene_Item.new
when 1 # skill
# Play decision SE
$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 # equipment
# Play decision SE
$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 3 # status
# Play decision SE
$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 4 # save
# If saving is forbidden
if $game_system.save_disabled
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to save screen
$scene = Scene_Save.new
when 5 # end game
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to end game screen
$scene = Scene_End.new
end
return
end
end
#--------------------------------------------------------------------------
# * Frame Update (when status window is active)
#--------------------------------------------------------------------------
def update_status
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Make command window active
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# Branch by command window cursor position
case @command_window.index
when 1 # skill
# If this actor's action limit is 2 or more
if $game_party.actors[@status_window.index].restriction >= 2
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to skill screen
$scene = Scene_Skill.new(@status_window.index)
when 2 # equipment
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to equipment screen
$scene = Scene_Equip.new(@status_window.index)
when 3 # status
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to status screen
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end[/spoiler]
[spoiler=cms screenshot](https://rmrk.net/proxy.php?request=http%3A%2F%2Fi163.photobucket.com%2Falbums%2Ft284%2Ffadarkrmxp%2Fcms.jpg&hash=52dec2cbf74f04da33bddfbda81abb8ac6010981)[/spoiler]
I want there to be a little arrow next to (to the right of) the "status" option. when you press the "right" key on your keyboard, the option changes to "status reference". if you press that option it brings up a screen with the following options:
"back" which brings you back to the main menu, and "status effects" which brings your curser to the other side of the screen where: blank images are with blank words next to them that are the names of the status effects. when you put your curser on one of the status effects: in a long window at the top of the screen, it will say the blank which is the description of the status effect.
thanks if you help. I would imagine that this would be a big challenge so I thank you so much if you can poll this off!
that can easily be done, man. if you've edited ur CMS thus far you can do it just by setting input keys to moving through different menus.
input:: (Key for RIGHT)
Scene_StatusReference.new
it's not exact by any means but u have the idea.
btw the CMS looks nice, just drop down the font size of the stats so it doesnt look so crowded.
I didn't make the cms. I can't script. modern algebra made the script.
can anyone make this edit?
It's kind of strange that you are putting Status Reference as an option in the menu, but I guess you must have a lot of custom status effects. Anyway, I guess I can do it, but my initial idea is that since Status Effects are not assigned descriptions or images in the database, you might as well use strings and type everything you want displayed in the window, and so it might look better just to have it as a sheet like:
Image Status Effect Name Description
Image Status Effect Name Description
...
rather than a scrolling menu, because there would be a lot of empty space with that. In any case, if you want a competent scripter to do it as you want it done, then just post and I'll leave you alone.
Actualy, I like your idea but I still need a script that makes a side scroll next to "status" to make a new option that opens that window that shows the information that I want it to show.
Okay, I'll do it once I find some time
ty
is it done yet? (not to be rude, but I'v been wwaiting for a while now)
You haven't even waited a damn week, I have people who haven't gotten their CMSs in over a month because I've been busy with school, and errors happen.
#--------------------------------------------------------------------------
# * Frame Update (when command window is active)
#--------------------------------------------------------------------------
def update_command
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Switch to map screen
$scene = Scene_Map.new
return
end
[color=red]
if Input.trigger?(Input::RIGHT)
case @command_window.index
when 3
# Play decision SE
$game_system.se_play($data_system.decision_se)
$scene = Scene_StatRef.new
end
end
[/color]
if Input.trigger?(Input::C)
# If command other than save or end game, and party members = 0
if $game_party.actors.size == 0 and @command_window.index < 4
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
Add the stuff in red to your code. It should be around line 355 or so.
Then add this script in:
class Window_StatRef < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 20
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
self.contents.font.color = crisis_color
self.contents.draw_text(270,0,100,32, "Status Reference")
#--------------------------------------------------------------------------
# Change the part where it says "049-Skill06" to whatever Icon you want.
# They have to be in your Icon Folder and it has to be the exact name of
# the picture you want to show
#--------------------------------------------------------------------------
self.contents.blt(0,24, RPG::Cache.icon("050-Skill07"), src_rect, 255)
self.contents.blt(0,48, RPG::Cache.icon("047-Skill04"), src_rect, 255)
self.contents.blt(0,72, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,96, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,120, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,144, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,168, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,192, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,216, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,240, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,264, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,288, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,312, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,336, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,360, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.font.color = system_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n" to the name of the Status
# Effects you want to display info on.
#--------------------------------------------------------------------------
self.contents.draw_text(30, 24, 170, 32, "Venom")
self.contents.draw_text(30, 48, 180, 32, "Lice")
self.contents.draw_text(30, 72, 180, 32, "Status Effect 3")
self.contents.draw_text(30, 96, 180, 32, "Status Effect 4")
self.contents.draw_text(30, 120, 180, 32, "Status Effect 5")
self.contents.draw_text(30, 144, 180, 32, "Status Effect 6")
self.contents.draw_text(30, 168, 180, 32, "Status Effect 7")
self.contents.draw_text(30, 192, 180, 32, "Status Effect 8")
self.contents.draw_text(30, 216, 180, 32, "Status Effect 9")
self.contents.draw_text(30, 240, 180, 32, "Status Effect 10")
self.contents.draw_text(30, 264, 180, 32, "Status Effect 11")
self.contents.draw_text(30, 288, 180, 32, "Status Effect 12")
self.contents.draw_text(30, 312, 180, 32, "Status Effect 13")
self.contents.draw_text(30, 336, 180, 32, "Status Effect 14")
self.contents.draw_text(30, 360, 180, 32, "Status Effect 15")
self.contents.font.color = normal_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n Description" to the description
# of the corresponding Status Effect
#--------------------------------------------------------------------------
self.contents.draw_text(200, 24, 400, 32, "Deals damage over time")
self.contents.draw_text(200, 48, 400, 32, "Buy Head n' Shoulders NOW!!!!!!!!")
self.contents.draw_text(200, 72, 400, 32, "Status Effect 3 Description")
self.contents.draw_text(200, 96, 400, 32, "Status Effect 4 Description")
self.contents.draw_text(200, 120, 400, 32, "Status Effect 5 Description")
self.contents.draw_text(200, 144, 400, 32, "Status Effect 6 Description")
self.contents.draw_text(200, 168, 400, 32, "Status Effect 7 Description")
self.contents.draw_text(200, 192, 400, 32, "Status Effect 8 Description")
self.contents.draw_text(200, 216, 400, 32, "Status Effect 9 Description")
self.contents.draw_text(200, 240, 400, 32, "Status Effect 10 Description")
self.contents.draw_text(200, 264, 400, 32, "Status Effect 11 Description")
self.contents.draw_text(200, 288, 400, 32, "Status Effect 12 Description")
self.contents.draw_text(200, 312, 400, 32, "Status Effect 13 Description")
self.contents.draw_text(200, 336, 400, 32, "Status Effect 14 Description")
self.contents.draw_text(200, 360, 400, 32, "Status Effect 15 Description")
end
end
class Scene_StatRef
def main
@StatRef_window = Window_StatRef.new
Graphics.transition
# Main loop
loop do
# Update Game Screen
Graphics.update
# Update Input Information
Input.update
# Frame Update
update
# Abort loop if screen changes
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of window
@StatRef_window.dispose
end
def update
# If pressing ESC
if Input.trigger?(Input::B)
# Play SE
$game_system.se_play($data_system.cancel_se)
# Return to Status Window
$scene = Scene_Menu.new(3)
return
end
if Input.trigger?(Input::LEFT)
# Play SE
$game_system.se_play($data_system.cancel_se)
# Return to Status Window
$scene = Scene_Menu.new(3)
return
end
end
end
And it should work. If you want to reduce font size for the Menu, just add this line:
self.contents.font.size = 20
in the initialize method for any window.
And as for an arrow, just find this line:
s4 = "Status"
around line 250 and change it to
s4 = "Status ->"
There is a more fancy way to make your arrow, but I figured you'd want me to finish the edit as soon as possible my Lord Fadark, and I did not want to waste away those precious seconds.
QuoteYou haven't even waited a damn week, I have people who haven't gotten their CMSs in over a month because I've been busy with school, and errors happen.
excuse you! lol just kidding.
QuoteInsert Quote
Code:
#--------------------------------------------------------------------------
# * Frame Update (when command window is active)
#--------------------------------------------------------------------------
def update_command
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Switch to map screen
$scene = Scene_Map.new
return
end
[color=red]
if Input.trigger?(Input::RIGHT)
case @command_window.index
when 3
# Play decision SE
$game_system.se_play($data_system.decision_se)
$scene = Scene_StatRef.new
end
end
[/color]
if Input.trigger?(Input::C)
# If command other than save or end game, and party members = 0
if $game_party.actors.size == 0 and @command_window.index < 4
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
Add the stuff in red to your code. It should be around line 355 or so.
Then add this script in:
Code:
class Window_StatRef < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 20
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
self.contents.font.color = crisis_color
self.contents.draw_text(270,0,100,32, "Status Reference")
#--------------------------------------------------------------------------
# Change the part where it says "049-Skill06" to whatever Icon you want.
# They have to be in your Icon Folder and it has to be the exact name of
# the picture you want to show
#--------------------------------------------------------------------------
self.contents.blt(0,24, RPG::Cache.icon("050-Skill07"), src_rect, 255)
self.contents.blt(0,48, RPG::Cache.icon("047-Skill04"), src_rect, 255)
self.contents.blt(0,72, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,96, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,120, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,144, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,168, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,192, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,216, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,240, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,264, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,288, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,312, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,336, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,360, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.font.color = system_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n" to the name of the Status
# Effects you want to display info on.
#--------------------------------------------------------------------------
self.contents.draw_text(30, 24, 170, 32, "Venom")
self.contents.draw_text(30, 48, 180, 32, "Lice")
self.contents.draw_text(30, 72, 180, 32, "Status Effect 3")
self.contents.draw_text(30, 96, 180, 32, "Status Effect 4")
self.contents.draw_text(30, 120, 180, 32, "Status Effect 5")
self.contents.draw_text(30, 144, 180, 32, "Status Effect 6")
self.contents.draw_text(30, 168, 180, 32, "Status Effect 7")
self.contents.draw_text(30, 192, 180, 32, "Status Effect 8")
self.contents.draw_text(30, 216, 180, 32, "Status Effect 9")
self.contents.draw_text(30, 240, 180, 32, "Status Effect 10")
self.contents.draw_text(30, 264, 180, 32, "Status Effect 11")
self.contents.draw_text(30, 288, 180, 32, "Status Effect 12")
self.contents.draw_text(30, 312, 180, 32, "Status Effect 13")
self.contents.draw_text(30, 336, 180, 32, "Status Effect 14")
self.contents.draw_text(30, 360, 180, 32, "Status Effect 15")
self.contents.font.color = normal_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n Description" to the description
# of the corresponding Status Effect
#--------------------------------------------------------------------------
self.contents.draw_text(200, 24, 400, 32, "Deals damage over time")
self.contents.draw_text(200, 48, 400, 32, "Buy Head n' Shoulders NOW!!!!!!!!")
self.contents.draw_text(200, 72, 400, 32, "Status Effect 3 Description")
self.contents.draw_text(200, 96, 400, 32, "Status Effect 4 Description")
self.contents.draw_text(200, 120, 400, 32, "Status Effect 5 Description")
self.contents.draw_text(200, 144, 400, 32, "Status Effect 6 Description")
self.contents.draw_text(200, 168, 400, 32, "Status Effect 7 Description")
self.contents.draw_text(200, 192, 400, 32, "Status Effect 8 Description")
self.contents.draw_text(200, 216, 400, 32, "Status Effect 9 Description")
self.contents.draw_text(200, 240, 400, 32, "Status Effect 10 Description")
self.contents.draw_text(200, 264, 400, 32, "Status Effect 11 Description")
self.contents.draw_text(200, 288, 400, 32, "Status Effect 12 Description")
self.contents.draw_text(200, 312, 400, 32, "Status Effect 13 Description")
self.contents.draw_text(200, 336, 400, 32, "Status Effect 14 Description")
self.contents.draw_text(200, 360, 400, 32, "Status Effect 15 Description")
end
end
class Scene_StatRef
def main
@StatRef_window = Window_StatRef.new
Graphics.transition
# Main loop
loop do
# Update Game Screen
Graphics.update
# Update Input Information
Input.update
# Frame Update
update
# Abort loop if screen changes
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of window
@StatRef_window.dispose
end
def update
# If pressing ESC
if Input.trigger?(Input::B)
# Play SE
$game_system.se_play($data_system.cancel_se)
# Return to Status Window
$scene = Scene_Menu.new(3)
return
end
if Input.trigger?(Input::LEFT)
# Play SE
$game_system.se_play($data_system.cancel_se)
# Return to Status Window
$scene = Scene_Menu.new(3)
return
end
end
end
And it should work. If you want to reduce font size for the Menu, just add this line:
Code:
self.contents.font.size = 20
in the initialize method for any window.
And as for an arrow, just find this line:
Code:
s4 = "Status"
around line 250 and change it to
Code:
s4 = "Status ->"
There is a more fancy way to make your arrow, but I figured you'd want me to finish the edit as soon as possible my Lord Fadark, and I did not want to waste away those precious seconds.
thanks so much! you rock! sorry for the impatience btw.
I dont know how to repay you except by saying thank you!
I realized a problem. There aren't enough status spots. if you can add 4 more status effect slots, that would be great.
class Window_StatRef < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 20
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
self.contents.font.color = crisis_color
self.contents.draw_text(270,0,100,32, "Status Reference")
#--------------------------------------------------------------------------
# Change the part where it says "049-Skill06" to whatever Icon you want.
# They have to be in your Icon Folder and it has to be the exact name of
# the picture you want to show
#--------------------------------------------------------------------------
self.contents.blt(0,24, RPG::Cache.icon("Death"), src_rect, 255)
self.contents.blt(0,48, RPG::Cache.icon("Stun"), src_rect, 255)
self.contents.blt(0,72, RPG::Cache.icon("Poison"), src_rect, 255)
self.contents.blt(0,96, RPG::Cache.icon("Dizzy"), src_rect, 255)
self.contents.blt(0,120, RPG::Cache.icon("Silence"), src_rect, 255)
self.contents.blt(0,144, RPG::Cache.icon("Confused"), src_rect, 255)
self.contents.blt(0,168, RPG::Cache.icon("Sleep"), src_rect, 255)
self.contents.blt(0,192, RPG::Cache.icon("Paralyzed"), src_rect, 255)
self.contents.blt(0,216, RPG::Cache.icon("Weak"), src_rect, 255)
self.contents.blt(0,240, RPG::Cache.icon("Clumsy"), src_rect, 255)
self.contents.blt(0,264, RPG::Cache.icon("Delayed"), src_rect, 255)
self.contents.blt(0,288, RPG::Cache.icon("Enfeebled"), src_rect, 255)
self.contents.blt(0,312, RPG::Cache.icon("Sharpen"), src_rect, 255)
self.contents.blt(0,336, RPG::Cache.icon("Barrier"), src_rect, 255)
self.contents.blt(0,360, RPG::Cache.icon("Resist"), src_rect, 255)
self.contents.blt(0,384, RPG::Cache.icon("Blink"), src_rect, 255)
self.contents.blt(0,408, RPG::Cache.icon("Muscular Endurance"), src_rect, 255)
self.contents.font.color = system_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n" to the name of the Status
# Effects you want to display info on.
#--------------------------------------------------------------------------
self.contents.draw_text(30, 24, 170, 32, "Death")
self.contents.draw_text(30, 48, 180, 32, "Stun")
self.contents.draw_text(30, 72, 180, 32, "Poison")
self.contents.draw_text(30, 96, 180, 32, "Dizzy")
self.contents.draw_text(30, 120, 180, 32, "Silence")
self.contents.draw_text(30, 144, 180, 32, "Confused")
self.contents.draw_text(30, 168, 180, 32, "Sleep")
self.contents.draw_text(30, 192, 180, 32, "Paralyzed")
self.contents.draw_text(30, 216, 180, 32, "Weak")
self.contents.draw_text(30, 240, 180, 32, "Clumsy")
self.contents.draw_text(30, 264, 180, 32, "Delayed")
self.contents.draw_text(30, 288, 180, 32, "Enfeebled")
self.contents.draw_text(30, 312, 180, 32, "Sharpen")
self.contents.draw_text(30, 336, 180, 32, "Barrier")
self.contents.draw_text(30, 360, 180, 32, "Resist")
self.contents.draw_text(30, 384, 180, 32, "Blink")
self.contents.draw_text(30, 408, 180, 32, "Muscular Endurance")
self.contents.font.color = normal_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n Description" to the description
# of the corresponding Status Effect
#--------------------------------------------------------------------------
self.contents.draw_text(200, 24, 400, 32, "Causes Death")
self.contents.draw_text(200, 48, 400, 32, "Prevents target from preforming actions durring this turn")
self.contents.draw_text(200, 72, 400, 32, "Deals damage over time")
self.contents.draw_text(200, 96, 400, 32, "Causes target's Accuracy to decrease")
self.contents.draw_text(200, 120, 400, 32, "Prevents the target from using Skills")
self.contents.draw_text(200, 144, 400, 32, "Causes target to attack allies")
self.contents.draw_text(200, 168, 400, 32, "Prevents target from preforming actions while Asleep")
self.contents.draw_text(200, 192, 400, 32, "Prevents target from preforming actions while Paralyzed")
self.contents.draw_text(200, 216, 400, 32, "Lowers the Strength of the target")
self.contents.draw_text(200, 240, 400, 32, "Lowers the Dexterity of the target")
self.contents.draw_text(200, 264, 400, 32, "Lowers the Agility of the target")
self.contents.draw_text(200, 288, 400, 32, "Lowers the Intelligence of the target")
self.contents.draw_text(200, 312, 400, 32, "Increases the Attack Power of target")
self.contents.draw_text(200, 336, 400, 32, "Increases the Physical Defense of target")
self.contents.draw_text(200, 360, 400, 32, "Increases the Magic Defense of target")
self.contents.draw_text(200, 384, 400, 32, "Increases the Evasion of target")
self.contents.draw_text(200, 408, 400, 32, "Doubles the max Heath Points of the target")
end
end
class Scene_StatRef
def main
@StatRef_window = Window_StatRef.new
Graphics.transition
# Main loop
loop do
# Update Game Screen
Graphics.update
# Update Input Information
Input.update
# Frame Update
update
# Abort loop if screen changes
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of window
@StatRef_window.dispose
end
def update
# If pressing ESC
if Input.trigger?(Input::B)
# Play SE
$game_system.se_play($data_system.cancel_se)
# Return to Status Window
$scene = Scene_Menu.new(3)
return
end
if Input.trigger?(Input::LEFT)
# Play SE
$game_system.se_play($data_system.cancel_se)
# Return to Status Window
$scene = Scene_Menu.new(3)
return
end
end
end
Thanks!
It's not very hard to edit the number of slots yourself... the only problem is that it might be too large for the window. Easiest way is to lower the font size, I'll repost soon.
K, just replace Window_StatRef with this:
class Window_StatRef < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 18
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
self.contents.font.color = crisis_color
self.contents.draw_text(250,0,200,32, "Status Reference")
#--------------------------------------------------------------------------
# Change the part where it says "049-Skill06" to whatever Icon you want.
# They have to be in your Icon Folder and it has to be the exact name of
# the picture you want to show
#--------------------------------------------------------------------------
self.contents.blt(0,22, RPG::Cache.icon("050-Skill07"), src_rect, 255)
self.contents.blt(0,44, RPG::Cache.icon("047-Skill04"), src_rect, 255)
self.contents.blt(0,66, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,88, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,110, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,132, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,154, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,176, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,198, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,220, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,242, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,264, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,286, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,308, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,330, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,352, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,374, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,396, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,418, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.font.color = system_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n" to the name of the Status
# Effects you want to display info on.
#--------------------------------------------------------------------------
for i in 1...$data_states.length
self.contents.draw_text(30, 22*i, 170, 32, $data_states[i].name)
end
self.contents.font.color = normal_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n Description" to the description
# of the corresponding Status Effect
#--------------------------------------------------------------------------
self.contents.draw_text(200, 22, 400, 32, "Deals damage over time")
self.contents.draw_text(200, 44, 400, 32, "Buy Head n' Shoulders NOW!!!!!!!!")
self.contents.draw_text(200, 66, 400, 32, "Status Effect 3 Description")
self.contents.draw_text(200, 88, 400, 32, "Status Effect 4 Description")
self.contents.draw_text(200, 110, 400, 32, "Status Effect 5 Description")
self.contents.draw_text(200, 132, 400, 32, "Status Effect 6 Description")
self.contents.draw_text(200, 154, 400, 32, "Status Effect 7 Description")
self.contents.draw_text(200, 176, 400, 32, "Status Effect 8 Description")
self.contents.draw_text(200, 198, 400, 32, "Status Effect 9 Description")
self.contents.draw_text(200, 220, 400, 32, "Status Effect 10 Description")
self.contents.draw_text(200, 242, 400, 32, "Status Effect 11 Description")
self.contents.draw_text(200, 264, 400, 32, "Status Effect 12 Description")
self.contents.draw_text(200, 286, 400, 32, "Status Effect 13 Description")
self.contents.draw_text(200, 308, 400, 32, "Status Effect 14 Description")
self.contents.draw_text(200, 330, 400, 32, "Status Effect 15 Description")
self.contents.draw_text(200, 352, 400, 32, "Status Effect 16 Description")
self.contents.draw_text(200, 374, 400, 32, "Status Effect 17 Description")
self.contents.draw_text(200, 396, 400, 32, "Status Effect 18 Description")
self.contents.draw_text(200, 418, 400, 32, "Status Effect 19 Description")
end
end
I also made it so you don't have to manually enter the names of the states, but you still have to define icons and descriptions.
I replaced the scripts and there is a problem when I press "right" in the menu to go to the status referance screen:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg78.imageshack.us%2Fimg78%2F2885%2Fhiguyjd2.png&hash=ff0d63968110eee84b2bce9636e4823656b5f4a0) (http://imageshack.us)
It worked before right? I don't know what could cause the problem, as mine works well. Try finding the place in the CMS where it says if Input.trigger?(Input::RIGHT) and replacing it with what I have below. If that doesn't work, post up the Scene_Menu part of your script
if Input.trigger?(Input::RIGHT)
case @command_window.index
when 3
# Play decision SE
$game_system.se_play($data_system.decision_se)
$scene = Scene_StatRef.new
end
end
now it wont even let me play the game.
here is scene_menu:
#==============================================================================
# ? Scene_Menu
#------------------------------------------------------------------------------
# ???????????????????
#==============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# ? ?????????
# menu_index : ?????????????
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def main
# ????????????
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Save"
s6 = "Exit"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
# ??????? 0 ????
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
# ?????????????
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 224
# ??????????
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 320
# ????????????
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
# ?????????????
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
# ?????????
Graphics.transition
# ??????
loop do
# ????????
Graphics.update
# ???????
Input.update
# ??????
update
# ????????????????
if $scene != self
break
end
end
# ?????????
Graphics.freeze
# ????????
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def update
# ????????
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
@status_window.update
# ??????????????????: update_command ???
if @command_window.active
update_command
return
end
# ???????????????????: update_status ???
if @status_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# ? ?????? (??????????????????)
#--------------------------------------------------------------------------
def update_command
# B ??????????
if Input.trigger?(Input::B)
# ????? SE ???
$game_system.se_play($data_system.cancel_se)
# ??????????
$scene = Scene_Map.new
return
end
# C ??????????
if Input.trigger?(Input::C)
# ??????? 0 ??????????????????????
if $game_party.actors.size == 0 and @command_window.index < 4
# ??? SE ???
$game_system.se_play($data_system.buzzer_se)
return
end
# ???????????????????
case @command_window.index
when 0 # ????
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ???????????
$scene = Scene_Item.new
when 1 # ???
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ???????????????????
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2 # ??
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ???????????????????
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3 # ?????
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ???????????????????
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4 # ???
# ????????
if $game_system.save_disabled
# ??? SE ???
$game_system.se_play($data_system.buzzer_se)
return
end
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ??????????
$scene = Scene_Save.new
when 5 # ?????
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ????????????
$scene = Scene_End.new
end
return
end
end
#--------------------------------------------------------------------------
# ? ?????? (???????????????????)
#--------------------------------------------------------------------------
def update_status
# B ??????????
if Input.trigger?(Input::B)
# ????? SE ???
$game_system.se_play($data_system.cancel_se)
# ??????????????????
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
# C ??????????
if Input.trigger?(Input::C)
# ???????????????????
case @command_window.index
when 1 # ???
# ???????????? 2 ?????
if $game_party.actors[@status_window.index].restriction >= 2
# ??? SE ???
$game_system.se_play($data_system.buzzer_se)
return
end
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ??????????
$scene = Scene_Skill.new(@status_window.index)
when 2 # ??
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ?????????
$scene = Scene_Equip.new(@status_window.index)
when 3 # ?????
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ????????????
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
here is my cms:
#==============================================================================
# ? Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================
class Window_PlayTime < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 140, 80)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, -5, 120, 32, "Play Time")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(-15, 15, 120, 32, text, 2)
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
# This window displays amount of gold.
#==============================================================================
class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 140, 54)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(-20, -5, 120-cx-2, 32, $game_party.gold.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(104-cx, -5, cx, 32, $data_system.words.gold, 2)
end
end
#Displays Real Time
class Window_RealTime < Window_Base
#Object Initialization
def initialize
super(0, 0, 140, 80)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#Refresh
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(10, -5, 120, 32, "Real Time")
@time_string = Time.now
text = @time_string.strftime("%A %H:%M:%S")
self.contents.font.color = normal_color
self.contents.draw_text(-3, 20, 110, 32, text, 2)
end
#Time changes in menu
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
# Displays Location in Menu
class Window_Location < Window_Base
def initialize
super(0, 0, 500, 50)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = normal_color
$data_location = load_data("Data/MapInfos.rxdata")
self.contents.draw_text(200, -9, 124, 32, $data_location[$game_map.map_id].name, 2)
self.contents.font.color = system_color
self.contents.draw_text(0, -9, 120, 32, "Location")
end
end
# Displays Game Name
class Window_GameName < Window_Base
def initialize
super(0, 0, 500, 50)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(100, -9, 120, 32, "Light's Shadow")
end
end
# Displays the Word "Menu"
class Window_MenuWord < Window_Base
def initialize
super(0, 0, 140, 50)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = crisis_color
self.contents.draw_text(10, -10, 120, 32, "Menu")
end
end
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
# This window displays party member status on the menu screen.
#==============================================================================
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 500, 400)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
self.active = false
self.index = -1
end
def draw_actor_battler(actor, x, y, opacity = 255)
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
x = i * 120
y = 180
self.contents.blt(x, y, bitmap, src_rect, opacity)
end
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = i * 118
y = 0
actor = $game_party.actors[i]
draw_actor_battler(actor, x, y - 10)
self.contents.font.color = knockout_color
self.contents.draw_text(x, -10, 45, 32, actor.name, 2)
self.contents.font.color = normal_color
draw_actor_class(actor, x, 15)
draw_actor_state(actor, x, 40)
draw_actor_level(actor, x, 110)
# draw exp
self.contents.font.color = system_color
self.contents.draw_text(x, 130, 80, 32, "Exp")
self.contents.draw_text(x, 150, 80, 32, "Next Level")
self.contents.font.color = normal_color
self.contents.draw_text(x + 20, 130, 84, 32, actor.exp_s, 2)
self.contents.draw_text(x + 20, 150, 84, 32, actor.next_rest_exp_s, 2)
# draw hp
self.contents.font.color = system_color
self.contents.draw_text(x, 65, 32, 32, "HP")
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(x + 10, 65, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(x + 60, 65, 12, 32, "/", 1)
self.contents.draw_text(x + 75, 65, 48, 32, actor.maxhp.to_s)
#draw sp
self.contents.font.color = system_color
self.contents.draw_text(x, 85, 32, 32, "SP")
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(x + 10, 85, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(x + 60, 85, 12, 32, "/", 1)
self.contents.draw_text(x + 75, 85, 48, 32, actor.maxsp.to_s)
end
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(@index * 118, 0, 118, 400)
end
end
end
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# This class performs menu screen processing.
#==============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# * Object Initialization
# menu_index : command cursor's initial position
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# ????????????
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status ->"
s5 = "Save"
s6 = "Exit"
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
# If # Party Members = 0
if $game_party.actors.size == 0
# Disable Items, Skills, Equipment, and Status
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
# If Save is Forbidden
if $game_system.save_disabled
# Disable Save
@command_window.disable_item(4)
end
# Displays Play Time
@playtime_window = Window_PlayTime.new
@playtime_window.x = 500
@playtime_window.y = 50
# Displays the "Word Menu" Window
@wordmenu_window = Window_MenuWord.new
@wordmenu_window.x = 500
@wordmenu_window.y = 0
# Displays the Gold Window
@gold_window = Window_Gold.new
@gold_window.x = 500
@gold_window.y = 426
# The Menu Status Screen
@status_window = Window_MenuStatus.new
@status_window.x = 0
@status_window.y = 0
# Game Name Window
@gamename_window = Window_GameName.new
@gamename_window.x = 0
@gamename_window.y = 400
# Location Window
@map_window = Window_Location.new
@map_window.x = 0
@map_window.y = 440
# Real Time Window
@realtime_window = Window_RealTime.new
@realtime_window.x = 500
@realtime_window.y = 130
# Execute Transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of windows
@command_window.dispose
@playtime_window.dispose
@gold_window.dispose
@status_window.dispose
@wordmenu_window.dispose
@map_window.dispose
@realtime_window.dispose
@gamename_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Update windows
@command_window.update
@playtime_window.update
@gold_window.update
@status_window.update
@map_window.update
@realtime_window.update
# If command window is active: call update_command
if @command_window.active
update_command
return
end
# If status window is active: call update_status
if @status_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# * Frame Update (when command window is active)
#--------------------------------------------------------------------------
def update_command
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Switch to map screen
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::RIGHT)
case @command_window.index
when 3
# Play decision SE
$game_system.se_play($data_system.decision_se)
$scene = Scene_StatRef.new
end
end
# If C button was pressed
if Input.trigger?(Input::C)
# If command other than save or end game, and party members = 0
if $game_party.actors.size == 0 and @command_window.index < 4
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Branch by command window cursor position
case @command_window.index
when 0 # item
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to item screen
$scene = Scene_Item.new
when 1 # skill
# Play decision SE
$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 # equipment
# Play decision SE
$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 3 # status
# Play decision SE
$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 4 # save
# If saving is forbidden
if $game_system.save_disabled
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to save screen
$scene = Scene_Save.new
when 5 # end game
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to end game screen
$scene = Scene_End.new
end
return
end
end
#--------------------------------------------------------------------------
# * Frame Update (when status window is active)
#--------------------------------------------------------------------------
def update_status
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Make command window active
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# Branch by command window cursor position
case @command_window.index
when 1 # skill
# If this actor's action limit is 2 or more
if $game_party.actors[@status_window.index].restriction >= 2
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to skill screen
$scene = Scene_Skill.new(@status_window.index)
when 2 # equipment
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to equipment screen
$scene = Scene_Equip.new(@status_window.index)
when 3 # status
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to status screen
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
maybe to save time if he agrees, you upload and send him your game and he can put it in.?
what's the point of that? he already has my cms and scene_menu
Upload your project, that should be the obvious choice.
can he just fix the script with the scripts that I gave him? I dont want to give away my project yet.
xD to one person who willl put in a script and send it back. and delete it off his computer.
QuoteIt worked before right? I don't know what could cause the problem, as mine works well. Try finding the place in the CMS where it says if Input.trigger?(Input::RIGHT) and replacing it with what I have below. If that doesn't work, post up the Scene_Menu part of your script
He doesn't know the fucking problem, so the logical thing to do is send him your whole project so he can find it.
Okay, well, here, this is exactly the code that works properly for me.
#==============================================================================
# ? Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================
#==============================================================================
# ? Window_PlayTime
#------------------------------------------------------------------------------
# This window displays play time on the menu screen.
#==============================================================================
class Window_PlayTime < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 140, 80)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 20
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, -5, 120, 32, "Play Time")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(-15, 15, 120, 32, text, 2)
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
# This window displays amount of gold.
#==============================================================================
class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 140, 54)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 20
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
cx = contents.text_size($data_system.words.gold).width
self.contents.font.color = normal_color
self.contents.draw_text(-20, -5, 120-cx-2, 32, $game_party.gold.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(104-cx, -5, cx, 32, $data_system.words.gold, 2)
end
end
#Displays Real Time
class Window_RealTime < Window_Base
#Object Initialization
def initialize
super(0, 0, 140, 80)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#Refresh
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(10, -5, 120, 32, "Real Time")
@time_string = Time.now
text = @time_string.strftime("%A %H:%M:%S")
self.contents.font.color = normal_color
self.contents.draw_text(-3, 20, 110, 32, text, 2)
end
#Time changes in menu
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
# Displays Location in Menu
class Window_Location < Window_Base
def initialize
super(0, 0, 500, 50)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 20
refresh
end
def refresh
self.contents.clear
self.contents.font.color = normal_color
$data_location = load_data("Data/MapInfos.rxdata")
self.contents.draw_text(200, -9, 124, 32, $data_location[$game_map.map_id].name, 2)
self.contents.font.color = system_color
self.contents.draw_text(0, -9, 120, 32, "Location")
end
end
# Displays Game Name
class Window_GameName < Window_Base
def initialize
super(0, 0, 500, 50)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.draw_text(100, -9, 120, 32, "Light's Shadow")
end
end
# Displays the Word "Menu"
class Window_MenuWord < Window_Base
def initialize
super(0, 0, 140, 50)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = crisis_color
self.contents.draw_text(10, -10, 120, 32, "Menu")
end
end
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
# This window displays party member status on the menu screen.
#==============================================================================
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 500, 400)
self.contents = Bitmap.new(width - 32, height - 32) # "Main" window font
self.contents.font.size = 20
refresh
self.active = false
self.index = -1
end
def draw_actor_battler(actor, x, y, opacity = 255)
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
x = i * 120
y = 180
self.contents.blt(x, y, bitmap, src_rect, opacity)
end
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = i * 118
y = 0
actor = $game_party.actors[i]
draw_actor_battler(actor, x, y - 10)
self.contents.font.color = knockout_color
self.contents.draw_text(x, -9, 45, 32, actor.name, 2)
self.contents.font.color = normal_color
draw_actor_class(actor, x, 15)
draw_actor_state(actor, x, 40)
draw_actor_level(actor, x, 110)
# draw exp
self.contents.font.color = system_color
self.contents.draw_text(x, 130, 80, 32, "Exp")
self.contents.draw_text(x, 150, 80, 32, "Next Level")
self.contents.font.color = normal_color
self.contents.draw_text(x + 20, 130, 84, 32, actor.exp_s, 2)
self.contents.draw_text(x + 20, 150, 84, 32, actor.next_rest_exp_s, 2)
# draw hp
self.contents.font.color = system_color
self.contents.draw_text(x, 65, 32, 32, "HP")
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(x + 10, 65, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(x + 60, 65, 12, 32, "/", 1)
self.contents.draw_text(x + 75, 65, 48, 32, actor.maxhp.to_s)
#draw sp
self.contents.font.color = system_color
self.contents.draw_text(x, 85, 32, 32, "SP")
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(x + 10, 85, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(x + 60, 85, 12, 32, "/", 1)
self.contents.draw_text(x + 75, 85, 48, 32, actor.maxsp.to_s)
end
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(@index * 118, 0, 118, 400)
end
end
end
#==============================================================================
# **Scene_StatRef and Window_StatRef
#------------------------------------------------------------------------------
# This class show status reference
#==============================================================================
class Window_StatRef < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 18
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
src_rect = Rect.new(0, 0, 36, 36) # pictures can be 16x16
self.contents.font.color = crisis_color
self.contents.draw_text(250,0,200,32, "Status Reference")
#--------------------------------------------------------------------------
# Change the part where it says "049-Skill06" to whatever Icon you want.
# They have to be in your Icon Folder and it has to be the exact name of
# the picture you want to show
#--------------------------------------------------------------------------
self.contents.blt(0,22, RPG::Cache.icon("050-Skill07"), src_rect, 255)
self.contents.blt(0,44, RPG::Cache.icon("047-Skill04"), src_rect, 255)
self.contents.blt(0,66, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,88, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,110, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,132, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,154, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,176, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,198, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,220, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,242, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,264, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,286, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,308, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,330, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,352, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,374, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,396, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.blt(0,418, RPG::Cache.icon("049-Skill06"), src_rect, 255)
self.contents.font.color = system_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n" to the name of the Status
# Effects you want to display info on.
#--------------------------------------------------------------------------
for i in 1...$data_states.length
self.contents.draw_text(30, 22*i, 170, 32, $data_states[i].name)
end
self.contents.font.color = normal_color
#--------------------------------------------------------------------------
# Change the part where it says "Status Effect n Description" to the description
# of the corresponding Status Effect
#--------------------------------------------------------------------------
self.contents.draw_text(200, 22, 400, 32, "Deals damage over time")
self.contents.draw_text(200, 44, 400, 32, "Buy Head n' Shoulders NOW!!!!!!!!")
self.contents.draw_text(200, 66, 400, 32, "Status Effect 3 Description")
self.contents.draw_text(200, 88, 400, 32, "Status Effect 4 Description")
self.contents.draw_text(200, 110, 400, 32, "Status Effect 5 Description")
self.contents.draw_text(200, 132, 400, 32, "Status Effect 6 Description")
self.contents.draw_text(200, 154, 400, 32, "Status Effect 7 Description")
self.contents.draw_text(200, 176, 400, 32, "Status Effect 8 Description")
self.contents.draw_text(200, 198, 400, 32, "Status Effect 9 Description")
self.contents.draw_text(200, 220, 400, 32, "Status Effect 10 Description")
self.contents.draw_text(200, 242, 400, 32, "Status Effect 11 Description")
self.contents.draw_text(200, 264, 400, 32, "Status Effect 12 Description")
self.contents.draw_text(200, 286, 400, 32, "Status Effect 13 Description")
self.contents.draw_text(200, 308, 400, 32, "Status Effect 14 Description")
self.contents.draw_text(200, 330, 400, 32, "Status Effect 15 Description")
self.contents.draw_text(200, 352, 400, 32, "Status Effect 16 Description")
self.contents.draw_text(200, 374, 400, 32, "Status Effect 17 Description")
self.contents.draw_text(200, 396, 400, 32, "Status Effect 18 Description")
self.contents.draw_text(200, 418, 400, 32, "Status Effect 19 Description")
end
end
class Scene_StatRef
def main
@StatRef_window = Window_StatRef.new
Graphics.transition
# Main loop
loop do
# Update Game Screen
Graphics.update
# Update Input Information
Input.update
# Frame Update
update
# Abort loop if screen changes
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of window
@StatRef_window.dispose
end
def update
# If pressing ESC
if Input.trigger?(Input::B)
# Play SE
$game_system.se_play($data_system.cancel_se)
# Return to Status Window
$scene = Scene_Menu.new(3)
return
end
if Input.trigger?(Input::LEFT)
# Play SE
$game_system.se_play($data_system.cancel_se)
# Return to Status Window
$scene = Scene_Menu.new(3)
return
end
end
end
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# This class performs menu screen processing.
#==============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# * Object Initialization
# menu_index : command cursor's initial position
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# ????????????
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status ->"
s5 = "Save"
s6 = "Exit"
@command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
# If # Party Members = 0
if $game_party.actors.size == 0
# Disable Items, Skills, Equipment, and Status
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
# If Save is Forbidden
if $game_system.save_disabled
# Disable Save
@command_window.disable_item(4)
end
# Displays Play Time
@playtime_window = Window_PlayTime.new
@playtime_window.x = 500
@playtime_window.y = 50
# Displays the "Word Menu" Window
@wordmenu_window = Window_MenuWord.new
@wordmenu_window.x = 500
@wordmenu_window.y = 0
# Displays the Gold Window
@gold_window = Window_Gold.new
@gold_window.x = 500
@gold_window.y = 426
# The Menu Status Screen
@status_window = Window_MenuStatus.new
@status_window.x = 0
@status_window.y = 0
# Game Name Window
@gamename_window = Window_GameName.new
@gamename_window.x = 0
@gamename_window.y = 400
# Location Window
@map_window = Window_Location.new
@map_window.x = 0
@map_window.y = 440
# Real Time Window
@realtime_window = Window_RealTime.new
@realtime_window.x = 500
@realtime_window.y = 130
# Execute Transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of windows
@command_window.dispose
@playtime_window.dispose
@gold_window.dispose
@status_window.dispose
@wordmenu_window.dispose
@map_window.dispose
@realtime_window.dispose
@gamename_window.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Update windows
@command_window.update
@playtime_window.update
@gold_window.update
@status_window.update
@map_window.update
@realtime_window.update
# If command window is active: call update_command
if @command_window.active
update_command
return
end
# If status window is active: call update_status
if @status_window.active
update_status
return
end
end
#--------------------------------------------------------------------------
# * Frame Update (when command window is active)
#--------------------------------------------------------------------------
def update_command
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Switch to map screen
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::RIGHT)
case @command_window.index
when 3
# Play decision SE
$game_system.se_play($data_system.decision_se)
$scene = Scene_StatRef.new
end
end
# If C button was pressed
if Input.trigger?(Input::C)
# If command other than save or end game, and party members = 0
if $game_party.actors.size == 0 and @command_window.index < 4
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Branch by command window cursor position
case @command_window.index
when 0 # item
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to item screen
$scene = Scene_Item.new
when 1 # skill
# Play decision SE
$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 # equipment
# Play decision SE
$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 3 # status
# Play decision SE
$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 4 # save
# If saving is forbidden
if $game_system.save_disabled
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to save screen
$scene = Scene_Save.new
when 5 # end game
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to end game screen
$scene = Scene_End.new
end
return
end
end
#--------------------------------------------------------------------------
# * Frame Update (when status window is active)
#--------------------------------------------------------------------------
def update_status
# If B button was pressed
if Input.trigger?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Make command window active
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
# If C button was pressed
if Input.trigger?(Input::C)
# Branch by command window cursor position
case @command_window.index
when 1 # skill
# If this actor's action limit is 2 or more
if $game_party.actors[@status_window.index].restriction >= 2
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to skill screen
$scene = Scene_Skill.new(@status_window.index)
when 2 # equipment
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to equipment screen
$scene = Scene_Equip.new(@status_window.index)
when 3 # status
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to status screen
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
This has both the CMS and Scene_StatRef (and Window_StatRef). If it still doesn't work, load the script into a new project and test it. If it doesn't work in he new project, then send that project to me.
it works but some things are out of order. the descriptions and images are fine, but the names of the status effects are not.
the word "sharpen" should be 1 spot below where it is.
"barrier" needs to be moved down 1 spot also.
same with "resist"
and "blink"
and "muscular endurance"
and "endless intellect"
but "obstruction of force" needs to be moved to where "shapen" in
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi163.photobucket.com%2Falbums%2Ft284%2Ffadarkrmxp%2Fjo.jpg&hash=ca4b8896f04002e7f4686b914af88fcc9a4ac92e)
I just noticed: the order that is in the screen shot ubove, is the order that they are in at the database. But thats not the order that i want them in
change the databse order.?
Yeah, for the names I used a for loop which goes through and writes the names of the status effects based on the order they are in in the database. If you want that fixed you can do one of three things:
1. Change the way they are arranged in Database
2. Change the descriptions and icons so that they are aligned properly
3. edit this part of the script (It's in Window_StatRef):
for i in 1...$data_states.length
self.contents.draw_text(30, 22*i, 170, 32, $data_states[i].name)
end
to
for i in 1...$data_states.length
if (i < 13)
self.contents.draw_text(30, 22*i, 170, 32, $data_states[i].name)
else
if (i > 13)
self.contents.draw_text(30, 22*i, 170, 32, $data_states[i-1].name)
else
self.contents.draw_text(30, 22*i, 170, 32, $data_states[19].name)
end
end
end
... i think anyway. It makes the script a little messier though, so you should really just do one of the first two
ok thanks! I did #1. your a real help!
since this is solved? remove *cough* *cough* darklord, and add [RESOLVED]
okaly dokaly ;D
edit: holy crap! my rep. is -9!!!!!!!!!!!!!!!! how is that?????????? I have been very nice to people and have given them my all!!!!!! ???:-\:'(