My ability to make/edit scripts is VERY limited and I've been trying for days to find a way to find a solution to this problem...
I prefer RMXP over RMVX for a few reasons but there were a few things about RMVX that caught my attention. One of those things includes using the map scene as a background for the menu. In other words, when you open the menu, the map scene dims a bit and the menu comes up using the map scene as a background. In RMXP, the background for the menu is completely black. I need a script that allows me to do that for RMXP.
I've tried examining the RMVX scripts, looking everywhere on a bunch of forums and even tried merging scripts of other games with a similar function to a new project but nothing seems to be working. Can anybody help me?
oh, i just recently figured out how to do that my self...
[spoiler=do it your self]
in Scene_Menu look for line " @command_window.index = @menu_index "
then add this below that,
@command_window.opacity = 180
@spriteset = Spriteset_Map.new
then look for line " @status_window.dispose "
then add this below that,
@spriteset.dispose
after those lines are added, you'll have to change the opacity of the windows.
At these lines...
# Make play time window
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 224
# Make steps window
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 320
# Make gold window
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
# Make status window
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
add these lines..
@playtime_window.opacity = 180
@steps_window.opacity = 180
@gold_window.opacity = 180
@status_window.opacity = 180
180 is the opacity of the window.[/spoiler]
[spoiler=already done]
Paste this script into the database above main but bellow the default scripts.
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
# This class performs menu screen processing.
#==============================================================================
# See throughness of menu
MENU_OPACITY = 180
# Show Map
SHOW_MAP = true
# ** END EDIT **
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
# Make command window
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Status"
s5 = "Save"
s6 = "End Game"
@spriteset = Spriteset_Map.new if SHOW_MAP
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
@command_window.opacity = MENU_OPACITY
# If number of party members is 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
# Make play time window
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 224
# Make steps window
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 320
# Make gold window
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
# Make status window
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
@playtime_window.opacity = MENU_OPACITY
@steps_window.opacity = MENU_OPACITY
@gold_window.opacity = MENU_OPACITY
@status_window.opacity = MENU_OPACITY
# 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
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
@spriteset.dispose if SHOW_MAP
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Update windows
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
@status_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]
For the already done version edit the CONSTANTS at the top is all you have to do, how ever this will only edit the menu, scenes Equip, Item, End, Save... are all different scripts, but they all can be edited in the same way.
That's awesome! Now I can add it to all the other menu windows easily. Thanks a lot!
The only thing left now is to figure out how to prevent the other party members in the caterpillar from disappearing when I open the menu... Any ideas?
Hmmm.... well i can put a project together with the scripts and poke around and see what i can do. Honestly don't know, but it was worth a shot. You are using "Caterpillar walking script by Fukuyama"? Cause that is the script i used for the sprites.
Yep! I had the Fukuyama Caterpillar script which caused the other characters to disappear when I turned the menu on but I replaced it with Blizzard's Caterpillar script which I got here...
http://downloads.chaos-project.com/scripts/Tons%20of%20Add-ons%201.txt
and it worked like a charm! Thanks for all your help Mr_Wiggles! ;D
ok, cool, nice to hear you found a way to get it to work.