As I start learning RGSS, the scripting language used by RMXP and RMVX, and familiarize myself with its nuances, being able to find workarounds and tweaks is half the fun.
A simple but effective (and certainly not perfect) method for changing parallaxes is with a small script.
- Look in the Game_Map section of the scripts for Scroll Setup and Parallax Background Setup.
- Place the following between these two sections:
#---------------------------------------------- # * Parallax Presetup - Change Parallax #---------------------------------------------- def change_parallax(parallax_name) case parallax_name when 1 @parallax_name = "BlueSky" when 2 @parallax_name = "CloudySky" when 3 @parallax_name = "Mountains" when 4 @parallax_name = "Ocean" when 5 @parallax_name = "StarlitSky" when 6 @parallax_name = "Sunset" end end
Add any other imported Parallax graphics by adding more "when" commands accordingly. Note: New parallax graphics must be first imported into RMVX under Graphics/Parallaxes. - To use an event to change the parallax graphic, use the Script function and place the following:
$game_map.change_parallax(x)
where x is the number corresponding to the desired parallax.
Note: With this method, if the Loop Coordinates aren't set directly on the map (via the Map Properties), the parallax will remain static. By changing the Horizontal Loop and/or Vertical Loop settings here it will make the parallax graphic scroll in the background.
4 Comments So Far:
This helps me a lot. Thank you very much.
You're welcome. Glad you found it useful. :)
Hello, Tried to use your script, but I got this error:
Script: game interpreter line 1411 argument error occurred.
wrong number of arguments (1 for 5)
Copy of 1411
end
#--------------------------------------------------------------------------
# * Script
#--------------------------------------------------------------------------
def command_355
script = @list[@index].parameters[0] + "\n"
while next_event_code == 655
@index += 1
script += @list[@index].parameters[0] + "\n"
end
eval(script)
end
end
I tested this and it works fine, so it would appear that another script is conflicting. Line 1411 (according to RMVX) is "Change EXP".
The above "command_355" doesn't appear to be correct. Search for other references from other scripts that may directly modify this command.
This is directly from RMVX:
def command_355
script = @list[@index].parameters[0] + "\n"
loop do
if @list[@index+1].code == 655
script += @list[@index+1].parameters[0] + "\n
2
else
break
end
@index += 1
end
eval(script)
return true
end
Post a Comment