Screen Resolution Script, Enable 640 X 480 resolution for VX |
|
|
|
|
Apr 19 2008, 12:41 AM
|

Love me! I wanna you to love me!

Group: Revolutionary
Posts: 196
Type: Event Designer
RM Skill: Beginner

|
TDS Resolution ChangeIntroductionWell if you want to transition your project to VX or just want the old 640 x 480 this script will help you out. FeaturesIt just changes the default 544 x 416 screen resolution of VX to 640 x 480 the RPG Maker XP resolution. ScreenshotsDefault RPG Maker VX Resolution with black border.  New 640 x 480 resolution without border. DemoN/A ScriptCODE #====================================================================== ======== # ** TDS Resolution Change[VX] # Version: 1.8 #------------------------------------------------------------------------------ # This script changes the resolution from the default VX resolution # of 544 x 416 to 640 x 480 RMXP Resolution #==============================================================================
#-------------------------------------------------------------------------- # * Graphics - Rezise Screen #-------------------------------------------------------------------------- Graphics.resize_screen(640, 480)
#============================================================================== # ▼ Game Objects #------------------------------------------------------------------------------ # All clases below the Game Objects tab #==============================================================================
#============================================================================== # ** Game_Map #------------------------------------------------------------------------------ # This class handles maps. It includes scrolling and passage determination # functions. The instance of this class is referenced by $game_map. #==============================================================================
class Game_Map #-------------------------------------------------------------------------- # * Scroll Setup #-------------------------------------------------------------------------- alias tds_vx_resolution_change_setup_scroll setup_scroll def setup_scroll tds_vx_resolution_change_setup_scroll @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 @margin_x = (width - 20) * 256 / 2 # Screen non-display width /2 @margin_y = (height - 15) * 256 / 2 # Screen non-display height /2 end #-------------------------------------------------------------------------- # * Calculate X coordinate for parallax display # bitmap : Parallax bitmap #-------------------------------------------------------------------------- alias tds_vx_resolution_change_calc_parallax_x calc_parallax_x def calc_parallax_x(bitmap) tds_vx_resolution_change_calc_parallax_x(bitmap) if bitmap == nil return 0 elsif @parallax_loop_x return @parallax_x / 16 elsif loop_horizontal? return 0 else w1 = bitmap.width - 640 w2 = @map.width * 32 - 640 if w1 <= 0 or w2 <= 0 return 0 else return @parallax_x * w1 / w2 / 8 end end end #-------------------------------------------------------------------------- # * Calculate Y coordinate for parallax display # bitmap : Parallax bitmap #-------------------------------------------------------------------------- alias tds_vx_resolution_change_calc_parallax_y calc_parallax_y def calc_parallax_y(bitmap) tds_vx_resolution_change_calc_parallax_y(bitmap) if bitmap == nil return 0 elsif @parallax_loop_y return @parallax_y / 16 elsif loop_vertical? return 0 else h1 = bitmap.height - 480 h2 = @map.height * 32 - 480 if h1 <= 0 or h2 <= 0 return 0 else return @parallax_y * h1 / h2 / 8 end end end #-------------------------------------------------------------------------- # * Scroll Down # distance : scroll distance # *Note: Could not be aliased because it causes the scrolling to look # Unnatural #-------------------------------------------------------------------------- def scroll_down(distance) if loop_vertical? @display_y += distance @display_y %= @map.height * 256 @parallax_y += distance else last_y = @display_y @display_y = [@display_y + distance, (height - 15) * 256].min @parallax_y += @display_y - last_y end end
#-------------------------------------------------------------------------- # * Scroll Right # distance : scroll distance # *Note: Could not be aliased because it causes the scrolling to look # Unnatural #-------------------------------------------------------------------------- def scroll_right(distance) if loop_horizontal? @display_x += distance @display_x %= @map.width * 256 @parallax_x += distance else last_x = @display_x @display_x = [@display_x + distance, (width - 20) * 256].min @parallax_x += @display_x - last_x end end end
#============================================================================== # ** Game_Player #------------------------------------------------------------------------------ # This class handles maps. It includes event starting determinants and map # scrolling functions. The instance of this class is referenced by $game_map. #==============================================================================
class Game_Player < Game_Character #-------------------------------------------------------------------------- # * Constants #-------------------------------------------------------------------------- CENTER_X = (640 / 2 - 16) * 8 # Screen center X coordinate * 8 CENTER_Y = (480 / 2 - 16) * 8 # Screen center X coordinate * 8 #-------------------------------------------------------------------------- # * Set Map Display Position to Center of Screen # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- alias tds_vx_resolution_change_center center def center(x, y) tds_vx_resolution_change_center(x, y) display_x = x * 256 - CENTER_X # Calculate coordinates unless $game_map.loop_horizontal? # No loop horizontally? max_x = ($game_map.width - 20) * 256 # Calculate max value display_x = [0, [display_x, max_x].min].max # Adjust coordinates end display_y = y * 256 - CENTER_Y # Calculate coordinates unless $game_map.loop_vertical? # No loop vertically? max_y = ($game_map.height - 15) * 256 # Calculate max value display_y = [0, [display_y, max_y].min].max # Adjust coordinates end $game_map.set_display_pos(display_x, display_y) # Change map location end end
#============================================================================== # ▼ Sprites #------------------------------------------------------------------------------ # All clases below the Sprites tab #==============================================================================
#============================================================================== # ** Sprite_Base #------------------------------------------------------------------------------ # A sprite class with animation display processing added. #============================================================================== class Sprite_Base < Sprite #-------------------------------------------------------------------------- # * Start Animation #-------------------------------------------------------------------------- alias tds_vx_resolution_change_start_animation start_animation def start_animation(animation, mirror = false) tds_vx_resolution_change_start_animation(animation, mirror = false) dispose_animation @animation = animation return if @animation == nil @animation_mirror = mirror @animation_duration = @animation.frame_max * 4 + 1 load_animation_bitmap @animation_sprites = [] if @animation.position != 3 or not @@animations.include?(animation) if @use_sprite for i in 0..15 sprite = ::Sprite.new(viewport) sprite.visible = false @animation_sprites.push(sprite) end unless @@animations.include?(animation) @@animations.push(animation) end end end if @animation.position == 3 if viewport == nil @animation_ox = 640 / 2 @animation_oy = 480 / 2 else @animation_ox = viewport.rect.width / 2 @animation_oy = viewport.rect.height / 2 end else @animation_ox = x - ox + width / 2 @animation_oy = y - oy + height / 2 if @animation.position == 0 @animation_oy -= height / 2 elsif @animation.position == 2 @animation_oy += height / 2 end end end end
#============================================================================== # ** Spriteset_Map #------------------------------------------------------------------------------ # This class brings together map screen sprites, tilemaps, etc. It's used # within the Scene_Map class. #==============================================================================
class Spriteset_Map #-------------------------------------------------------------------------- # * Create Viewport #-------------------------------------------------------------------------- alias tds_vx_resolution_change_create_viewports create_viewports def create_viewports tds_vx_resolution_change_create_viewports @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport2.z = 50 @viewport3.z = 100 end end InstructionsJust put it above main in the area for new scripts and it does all its functions alone. CompatibilityIt's recommended that you use the minimum map size of Width x 20 Height x 15 so the script wont try to loop on the remaining map. Well... The script is not complete... Mostly because I've been busy and cant find the time to go class by class and making it compatible. If any other scripter wishes to make the other VX scripts compatible with the new screen resolution it will greatly appreciated. Credits and ThanksTDS
__________________________
~Time To sWallow tHe Pain and VaniSH OuR HuRt~
|
|
|
|
|
|
|
|
|
May 30 2008, 12:38 PM
|

Level 11

Group: Revolutionary
Posts: 191
Type: Event Designer
RM Skill: Skilled

|
it changed the window size for me but not the game screen >.>
__________________________
using xp now and will continue to until a better rpg maker
|
|
|
|
|
|
|
|
|
Apr 21 2009, 06:48 PM
|

Level 5

Group: Member
Posts: 68
Type: Event Designer
RM Skill: Advanced

|
QUOTE (platipus @ May 30 2008, 04:38 PM)  it changed the window size for me but not the game screen >.> #========================================================================= =====# ** TDS Resolution Change[VX]# Version: 1.8#------------------------------------------------------------------------------# This script changes the resolution from the default VX resolution # of 544 x 416 to 640 x 480 RMXP Resolution#===================================================================== ========= #-------------------------------------------------------------------------- # * Graphics - Rezise Screen #-------------------------------------------------------------------------- Graphics.resize_screen(640, 480)#=========================================================================== ===# ▼ Game Objects#------------------------------------------------------------------------------# All clases below the Game Objects tab#============================================================================ ==#============================================================================== # ** Game_Map#------------------------------------------------------------------------------# This class handles maps. It includes scrolling and passage determination# functions. The instance of this class is referenced by $game_map.#================================================================= =============class Game_Map #-------------------------------------------------------------------------- # * Scroll Setup #-------------------------------------------------------------------------- alias tds_vx_resolution_change_setup_scroll setup_scroll def setup_scroll tds_vx_resolution_change_setup_scroll @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 @margin_x = (width - 20) * 256 / 2 # Screen non-display width /2 @margin_y = (height - 15) * 256 / 2 # Screen non-display height /2 end #-------------------------------------------------------------------------- # * Calculate X coordinate for parallax display # bitmap : Parallax bitmap #-------------------------------------------------------------------------- alias tds_vx_resolution_change_calc_parallax_x calc_parallax_x def calc_parallax_x(bitmap) tds_vx_resolution_change_calc_parallax_x(bitmap) if bitmap == nil return 0 elsif @parallax_loop_x return @parallax_x / 16 elsif loop_horizontal? return 0 else w1 = bitmap.width - 640 w2 = @map.width * 32 - 640 if w1 <= 0 or w2 <= 0 return 0 else return @parallax_x * w1 / w2 / 8 end end end #-------------------------------------------------------------------------- # * Calculate Y coordinate for parallax display # bitmap : Parallax bitmap #-------------------------------------------------------------------------- alias tds_vx_resolution_change_calc_parallax_y calc_parallax_y def calc_parallax_y(bitmap) tds_vx_resolution_change_calc_parallax_y(bitmap) if bitmap == nil return 0 elsif @parallax_loop_y return @parallax_y / 16 elsif loop_vertical? return 0 else h1 = bitmap.height - 480 h2 = @map.height * 32 - 480 if h1 <= 0 or h2 <= 0 return 0 else return @parallax_y * h1 / h2 / 8 end end end #-------------------------------------------------------------------------- # * Scroll Down # distance : scroll distance # *Note: Could not be aliased because it causes the scrolling to look # Unnatural #-------------------------------------------------------------------------- def scroll_down(distance) if loop_vertical? @display_y += distance @display_y %= @map.height * 256 @parallax_y += distance else last_y = @display_y @display_y = [@display_y + distance, (height - 15) * 256].min @parallax_y += @display_y - last_y end end #-------------------------------------------------------------------------- # * Scroll Right # distance : scroll distance # *Note: Could not be aliased because it causes the scrolling to look # Unnatural #-------------------------------------------------------------------------- def scroll_right(distance) if loop_horizontal? @display_x += distance @display_x %= @map.width * 256 @parallax_x += distance else last_x = @display_x @display_x = [@display_x + distance, (width - 20) * 256].min @parallax_x += @display_x - last_x end endend#========================================================================= =====# ** Game_Player#------------------------------------------------------------------------------# This class handles maps. It includes event starting determinants and map# scrolling functions. The instance of this class is referenced by $game_map.#================================================================= =============class Game_Player < Game_Character #-------------------------------------------------------------------------- # * Constants #-------------------------------------------------------------------------- CENTER_X = (640 / 2 - 16) * 8 # Screen center X coordinate * 8 CENTER_Y = (480 / 2 - 16) * 8 # Screen center X coordinate * 8 #-------------------------------------------------------------------------- # * Set Map Display Position to Center of Screen # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- alias tds_vx_resolution_change_center center def center(x, y) tds_vx_resolution_change_center(x, y) display_x = x * 256 - CENTER_X # Calculate coordinates unless $game_map.loop_horizontal? # No loop horizontally? max_x = ($game_map.width - 20) * 256 # Calculate max value display_x = [0, [display_x, max_x].min].max # Adjust coordinates end display_y = y * 256 - CENTER_Y # Calculate coordinates unless $game_map.loop_vertical? # No loop vertically? max_y = ($game_map.height - 15) * 256 # Calculate max value display_y = [0, [display_y, max_y].min].max # Adjust coordinates end $game_map.set_display_pos(display_x, display_y) # Change map location endend#========================================================================= =====# ▼ Sprites#------------------------------------------------------------------------------# All clases below the Sprites tab#============================================================================ ==#============================================================================== # ** Sprite_Base#------------------------------------------------------------------------------# A sprite class with animation display processing added.#========================================================================= =====class Sprite_Base < Sprite #-------------------------------------------------------------------------- # * Start Animation #-------------------------------------------------------------------------- alias tds_vx_resolution_change_start_animation start_animation def start_animation(animation, mirror = false) tds_vx_resolution_change_start_animation(animation, mirror = false) dispose_animation @animation = animation return if @animation == nil @animation_mirror = mirror @animation_duration = @animation.frame_max * 4 + 1 load_animation_bitmap @animation_sprites = [] if @animation.position != 3 or not @@animations.include?(animation) if @use_sprite for i in 0..15 sprite = ::Sprite.new(viewport) sprite.visible = false @animation_sprites.push(sprite) end unless @@animations.include?(animation) @@animations.push(animation) end end end if @animation.position == 3 if viewport == nil @animation_ox = 640 / 2 @animation_oy = 480 / 2 else @animation_ox = viewport.rect.width / 2 @animation_oy = viewport.rect.height / 2 end else @animation_ox = x - ox + width / 2 @animation_oy = y - oy + height / 2 if @animation.position == 0 @animation_oy -= height / 2 elsif @animation.position == 2 @animation_oy += height / 2 end end endend#========================================================================= =====# ** Spriteset_Map#------------------------------------------------------------------------------# This class brings together map screen sprites, tilemaps, etc. It's used# within the Scene_Map class.#========================================================================= =====class Spriteset_Map #-------------------------------------------------------------------------- # * Create Viewport #-------------------------------------------------------------------------- alias tds_vx_resolution_change_create_viewports create_viewports def create_viewports tds_vx_resolution_change_create_viewports @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport2.z = 50 @viewport3.z = 100 endend
|
|
|
|
|
|
|
|
|
Apr 30 2009, 04:39 PM
|
Level 1

Group: Member
Posts: 14
Type: Event Designer
RM Skill: Beginner

|
I had to put the Line breaks myself and I have a problem with line 90. All line 90 says is end.
|
|
|
|
|
|
|
|
|
Jul 6 2009, 08:08 AM
|

Level 8

Group: Revolutionary
Posts: 126
Type: Scripter
RM Skill: Advanced

|
I have a problem, the window message are in the middle of the screen not down of this
__________________________
Ps: My girlfriend is a good many times in my Account, so please don't be confused when I "sound" like a girl :)  Aeternum Kafkaesk - Runen von Asgard (Runes of Asgard) Story: 43% Scripts: 94% Mapping: 31% Events: 33% Others: 85% Demo Status: 0.26
|
|
|
|
|
|
|
|
|
Jul 6 2009, 03:22 PM
|


Group: Member
Posts: 2
Type: Developer
RM Skill: Skilled

|
This thing rocks. Well it has some thingies that need to get fixed but it's nothing really annoying or hard to repair. For example: If you use this script with the default Title screen you will get black borders on right side and bottom side. Solution: Use only 640x480 pics(obviously...) Another one: All boxes (menus,messages etc.) seem to be a bit misplaced Well about this one: I'm not really sure whether you can or can't fix that on the given script but I'm sure you can fix it by editing the scripts that RMVX already uses For example: The start menu Open up the script editor and find the script named: Scene_Title Find lines 147-164 CODE #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::new_game s2 = Vocab::continue s3 = Vocab::shutdown @command_window = Window_Command.new(172, [s1, s2, s3]) @command_window.x = (544 - @command_window.width) / 2 @command_window.y = 288 if @continue_enabled # If continue is enabled @command_window.index = 1 # Move cursor over command else # If disabled @command_window.draw_item(1, false) # Make command semi-transparent end @command_window.openness = 0 @command_window.open end This is where the program creates the Main Menu window Lines 155 and 156 are the positioning. Simply change the two 3digit numbers(544 and 288) I find that x=640... and y=240 are pretty well centered for my liking. I will find the scripts for the rest of the windows and post them as soon as I can. Or if someone else could find and post them, or knows of a way to fix the positioning please let us know... Apart from these thingies, it's an excellent script. I think it will be one of the scripts that I will use in any game I create.
__________________________
Maybe blowing this part of the universe into a flaming storm of nothingness will cheer me up...
|
|
|
|
|
|
|
|
|
Jul 7 2009, 04:25 AM
|

Level 8

Group: Revolutionary
Posts: 126
Type: Scripter
RM Skill: Advanced

|
QUOTE (pertdts @ Jul 6 2009, 04:22 PM)  For example: The start menu Open up the script editor and find the script named: Scene_Title Find lines 147-164 This is where the program creates the Main Menu window Lines 155 and 156 are the positioning. Simply change the two 3digit numbers(544 and 288) I find that x=640... and y=240 are pretty well centered for my liking. I will find the scripts for the rest of the windows and post them as soon as I can. Or if someone else could find and post them, or knows of a way to fix the positioning please let us know...
Apart from these thingies, it's an excellent script. I think it will be one of the scripts that I will use in any game I create. And for the normal message window? ><
__________________________
Ps: My girlfriend is a good many times in my Account, so please don't be confused when I "sound" like a girl :)  Aeternum Kafkaesk - Runen von Asgard (Runes of Asgard) Story: 43% Scripts: 94% Mapping: 31% Events: 33% Others: 85% Demo Status: 0.26
|
|
|
|
|
|
|
|
|
Jul 7 2009, 04:50 AM
|


Group: Member
Posts: 2
Type: Developer
RM Skill: Skilled

|
For the normal message window I found two parts that need tweaking: First, find the script: Window_MessageFind line 16, it should look something like: CODE super(0, 288, 544, 128) Change it so it looks like this: CODE super(0, 288, 640, 128) This will allow you to print text in a 640 scale, which in simple word means a bit longer text lines. Now for the box(window) itself: Well... in order to make the window to totally cover the screen horizontaly you need to change the MessageBack picture This should be in the resource manager, in the Graphics/System folder. This picture's scale is originally 544x???(can't remember vertical right now,too bored to check  ). You have to change it with one that is of a 640x??? scale.
MessageBack.png ( 3.52K )
Number of downloads: 133This picture should do it. Simply import it from the resource manager so it will replace the old,shorter scale one. I hope this helps you...
__________________________
Maybe blowing this part of the universe into a flaming storm of nothingness will cheer me up...
|
|
|
|
|
|
|
|
|
Aug 7 2009, 12:25 AM
|

Level 4

Group: Member
Posts: 47
Type: Developer
RM Skill: Masterful

|
i whould have 2 Question (acctuly 3 but this got answered about the message window misplace) first is could it be to change the Relution to 800x600 or higher? #= fixed #and second it got an problem iwth the battle back # #i already tryed editing in the spriteset_battle but didn´t done anything in the end so any help? [And yeah the last post is kinda old]
This post has been edited by Valnar: Aug 7 2009, 09:59 AM
__________________________
|
|
|
|
|
|
|
|
|
Aug 17 2009, 02:13 AM
|

Group: Member
Posts: 2
Type: None
RM Skill: Undisclosed

|
Needs MAJOR updates to menu coords... If someone can change the script t add these in. And as a note: any other scripts that set menus need to be changed if you use this. You'll need to figure it out for yourself though, I managed to - and I'm new to this all! These are all the other parts that need to be fixed: what better way to learn than by doing.... I put them together into the script. I only take credit for correcting it, but this should work: CODE #====================================================================== # ** TDS Resolution Change[VX] # Version: 1.8 #------------------------------------------------------------------------------ # This script changes the resolution from the default VX resolution # of 544 x 416 to 640 x 480 RMXP Resolution #==============================================================================
#-------------------------------------------------------------------------- # * Graphics - Rezise Screen #-------------------------------------------------------------------------- Graphics.resize_screen(640, 480)
#============================================================================== # ? Game Objects #------------------------------------------------------------------------------ # All clases below the Game Objects tab #==============================================================================
#============================================================================== # ** Game_Map #------------------------------------------------------------------------------ # This class handles maps. It includes scrolling and passage determination # functions. The instance of this class is referenced by $game_map. #==============================================================================
class Game_Map #-------------------------------------------------------------------------- # * Scroll Setup #-------------------------------------------------------------------------- alias tds_vx_resolution_change_setup_scroll setup_scroll def setup_scroll tds_vx_resolution_change_setup_scroll @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 @margin_x = (width - 20) * 256 / 2 # Screen non-display width /2 @margin_y = (height - 15) * 256 / 2 # Screen non-display height /2 end
#-------------------------------------------------------------------------- # * Calculate X coordinate for parallax display # bitmap : Parallax bitmap #-------------------------------------------------------------------------- alias tds_vx_resolution_change_calc_parallax_x calc_parallax_x def calc_parallax_x(bitmap) tds_vx_resolution_change_calc_parallax_x(bitmap) if bitmap == nil return 0 elsif @parallax_loop_x return @parallax_x / 16 elsif loop_horizontal? return 0 else w1 = bitmap.width - 640 w2 = @map.width * 32 - 640 if w1 <= 0 or w2 <= 0 return 0 else return @parallax_x * w1 / w2 / 8 end end end
#-------------------------------------------------------------------------- # * Calculate Y coordinate for parallax display # bitmap : Parallax bitmap #-------------------------------------------------------------------------- alias tds_vx_resolution_change_calc_parallax_y calc_parallax_y def calc_parallax_y(bitmap) tds_vx_resolution_change_calc_parallax_y(bitmap) if bitmap == nil return 0 elsif @parallax_loop_y return @parallax_y / 16 elsif loop_vertical? return 0 else h1 = bitmap.height - 480 h2 = @map.height * 32 - 480 if h1 <= 0 or h2 <= 0 return 0 else return @parallax_y * h1 / h2 / 8 end end end
#-------------------------------------------------------------------------- # * Scroll Down # distance : scroll distance # *Note: Could not be aliased because it causes the scrolling to look # Unnatural #-------------------------------------------------------------------------- def scroll_down(distance) if loop_vertical? @display_y += distance @display_y %= @map.height * 256 @parallax_y += distance else last_y = @display_y @display_y = [@display_y + distance, (height - 15) * 256].min @parallax_y += @display_y - last_y end end
#-------------------------------------------------------------------------- # * Scroll Right # distance : scroll distance # *Note: Could not be aliased because it causes the scrolling to look # Unnatural #-------------------------------------------------------------------------- def scroll_right(distance) if loop_horizontal? @display_x += distance @display_x %= @map.width * 256 @parallax_x += distance else last_x = @display_x @display_x = [@display_x + distance, (width - 20) * 256].min @parallax_x += @display_x - last_x end end end
#============================================================================== # ** Game_Player #------------------------------------------------------------------------------ # This class handles maps. It includes event starting determinants and map # scrolling functions. The instance of this class is referenced by $game_map. #==============================================================================
class Game_Player < Game_Character #-------------------------------------------------------------------------- # * Constants #-------------------------------------------------------------------------- CENTER_X = (640 / 2 - 16) * 8 # Screen center X coordinate * 8 CENTER_Y = (480 / 2 - 16) * 8 # Screen center X coordinate * 8 #-------------------------------------------------------------------------- # * Set Map Display Position to Center of Screen # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- alias tds_vx_resolution_change_center center def center(x, y) tds_vx_resolution_change_center(x, y) display_x = x * 256 - CENTER_X # Calculate coordinates unless $game_map.loop_horizontal? # No loop horizontally? max_x = ($game_map.width - 20) * 256 # Calculate max value display_x = [0, [display_x, max_x].min].max # Adjust coordinates end display_y = y * 256 - CENTER_Y # Calculate coordinates unless $game_map.loop_vertical? # No loop vertically? max_y = ($game_map.height - 15) * 256 # Calculate max value display_y = [0, [display_y, max_y].min].max # Adjust coordinates end $game_map.set_display_pos(display_x, display_y) # Change map location end end
#============================================================================== # ? Sprites #------------------------------------------------------------------------------ # All clases below the Sprites tab #==============================================================================
#============================================================================== # ** Sprite_Base #------------------------------------------------------------------------------ # A sprite class with animation display processing added. #============================================================================== class Sprite_Base < Sprite #-------------------------------------------------------------------------- # * Start Animation #-------------------------------------------------------------------------- alias tds_vx_resolution_change_start_animation start_animation def start_animation(animation, mirror = false) tds_vx_resolution_change_start_animation(animation, mirror = false) dispose_animation @animation = animation return if @animation == nil @animation_mirror = mirror @animation_duration = @animation.frame_max * 4 + 1 load_animation_bitmap @animation_sprites = [] if @animation.position != 3 or not @@animations.include?(animation) if @use_sprite for i in 0..15 sprite = ::Sprite.new(viewport) sprite.visible = false @animation_sprites.push(sprite) end unless @@animations.include?(animation) @@animations.push(animation) end end end if @animation.position == 3 if viewport == nil @animation_ox = 640 / 2 @animation_oy = 480 / 2 else @animation_ox = viewport.rect.width / 2 @animation_oy = viewport.rect.height / 2 end else @animation_ox = x - ox + width / 2 @animation_oy = y - oy + height / 2 if @animation.position == 0 @animation_oy -= height / 2 elsif @animation.position == 2 @animation_oy += height / 2 end end end end
class Sprite_Timer < Sprite
#-------------------------------------------------------------------------- # * Object Initialization # viewport : viewport #-------------------------------------------------------------------------- def initialize(viewport) super(viewport) self.bitmap = Bitmap.new(88, 48) self.bitmap.font.name = "Arial" self.bitmap.font.size = 32 self.x = 640 - self.bitmap.width self.y = 0 self.z = 200 update end end
#============================================================================== # ** Spriteset_Map #------------------------------------------------------------------------------ # This class brings together map screen sprites, tilemaps, etc. It's used # within the Scene_Map class. #==============================================================================
class Spriteset_Map #-------------------------------------------------------------------------- # * Create Viewport #-------------------------------------------------------------------------- alias tds_vx_resolution_change_create_viewports create_viewports def create_viewports tds_vx_resolution_change_create_viewports @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport2.z = 50 @viewport3.z = 100 end end
class Spriteset_Battle #-------------------------------------------------------------------------- # * Create Viewport #-------------------------------------------------------------------------- def create_viewports @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport2.z = 50 @viewport3.z = 100 end end
#============================================================================== # ? Windows #------------------------------------------------------------------------------ # All clases below the Windows tab #==============================================================================
class Window_Help < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, 640, WLH + 32) end end
class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 480, 480) refresh self.active = false self.index = -1 end end
class Window_SkillStatus < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y corrdinate # actor : actor #-------------------------------------------------------------------------- def initialize(x, y, actor) super(x, y, 640, WLH + 32) @actor = actor refresh end end
class Window_Equip < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y corrdinate # actor : actor #-------------------------------------------------------------------------- def initialize(x, y, actor) super(x, y, 400, WLH * 5 + 32) @actor = actor refresh self.index = 0 end end
class Window_EquipStatus < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y corrdinate # actor : actor #-------------------------------------------------------------------------- def initialize(x, y, actor) super(x, y, 240, WLH * 5 + 32) @actor = actor refresh end end
class Window_Status < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # actor : actor #-------------------------------------------------------------------------- def initialize(actor) super(0, 0, 640, 480) @actor = actor refresh end end
class Window_SaveFile < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # file_index : save file index (0-3) # filename : filename #-------------------------------------------------------------------------- def initialize(file_index, filename) super(0, 56 + file_index % 4 * 90, 640, 90) @file_index = file_index @filename = filename load_gamedata refresh @selected = false end end
class Window_ShopBuy < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 352, 368) @shop_goods = $game_temp.shop_goods refresh self.index = 0 end end
class Window_ShopNumber < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 352, 368) @item = nil @max = 1 @price = 0 @number = 1 end end
class Window_ShopStatus < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 284, 368) @item = nil refresh end end
class Window_NameInput < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # mode : Defeault input mode (always 0 in English version) #-------------------------------------------------------------------------- def initialize(mode = 0) super(88, 148, 464, 276) @mode = mode @index = 0 refresh update_cursor end end
class Window_NumberInput < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # digits_max : digit count #-------------------------------------------------------------------------- def initialize super(0, 0, 640, 64) @number = 0 @digits_max = 6 @index = 0 self.opacity = 0 self.active = false self.z += 9999 refresh update_cursor end end
class Window_Message < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 352, 640, 128) self.z = 200 self.active = false self.index = -1 self.openness = 0 @opening = false # WIndow opening flag @closing = false # Window closing flag @text = nil # Remaining text to be displayed @contents_x = 0 # X coordinate for drawing next character @contents_y = 0 # Y coordinate for drawing next character @line_count = 0 # Line count drawn up until now @wait_count = 0 # Wait count @background = 0 # Background type @position = 2 # Display position @show_fast = false # Fast forward flag @line_show_fast = false # Fast forward by line flag @pause_skip = false # Input standby omission flag create_gold_window create_number_input_window create_back_sprite end
#-------------------------------------------------------------------------- # * Set Window Background and Position #-------------------------------------------------------------------------- def reset_window @background = $game_message.background @position = $game_message.position if @background == 0 # Normal window self.opacity = 255 else # Dim Background and Make it Transparent self.opacity = 0 end case @position when 0 # Top self.y = 0 @gold_window.y = 448 when 1 # Middle self.y = 112 @gold_window.y = 0 when 2 # Bottom self.y = 352 @gold_window.y = 0 end end
#-------------------------------------------------------------------------- # * Create Gold Window #-------------------------------------------------------------------------- def create_gold_window @gold_window = Window_Gold.new(448, 0) @gold_window.openness = 0 end end
class Window_TargetEnemy < Window_Command #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize commands = [] @enemies = [] for enemy in $game_troop.members next unless enemy.exist? commands.push(enemy.name) @enemies.push(enemy) end super(508, commands, 2, 4) end end
#============================================================================== # ? Scenes #------------------------------------------------------------------------------ # All clases below the Scenes tab #==============================================================================
class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::new_game s2 = Vocab::continue s3 = Vocab::shutdown @command_window = Window_Command.new(172, [s1, s2, s3]) @command_window.x = (640 - @command_window.width) / 2 @command_window.y = 333 if @continue_enabled # If continue is enabled @command_window.index = 1 # Move cursor over command else # If disabled @command_window.draw_item(1, false) # Make command semi-transparent end @command_window.openness = 0 @command_window.open end end
class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background create_command_window @gold_window = Window_Gold.new(0, 420) @status_window = Window_MenuStatus.new(160, 0) end end
class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background @viewport = Viewport.new(0, 0, 640, 480) @help_window = Window_Help.new @help_window.viewport = @viewport @item_window = Window_Item.new(0, 56, 640, 424) @item_window.viewport = @viewport @item_window.help_window = @help_window @item_window.active = false @target_window = Window_MenuStatus.new(0, 0) hide_target_window end
#-------------------------------------------------------------------------- # * Show Target Window # right : Right justification flag (if false, left justification) #-------------------------------------------------------------------------- def show_target_window(right) @item_window.active = false width_remain = 640 - @target_window.width @target_window.x = right ? width_remain : 0 @target_window.visible = true @target_window.active = true if right @viewport.rect.set(0, 0, width_remain, 480) @viewport.ox = 0 else @viewport.rect.set(@target_window.width, 0, width_remain, 480) @viewport.ox = @target_window.width end end #-------------------------------------------------------------------------- # * Hide Target Window #-------------------------------------------------------------------------- def hide_target_window @item_window.active = true @target_window.visible = false @target_window.active = false @viewport.rect.set(0, 0, 640, 480) @viewport.ox = 0 end end
class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background @actor = $game_party.members[@actor_index] @viewport = Viewport.new(0, 0, 640, 480) @help_window = Window_Help.new @help_window.viewport = @viewport @status_window = Window_SkillStatus.new(0, 56, @actor) @status_window.viewport = @viewport @skill_window = Window_Skill.new(0, 112, 640, 368, @actor) @skill_window.viewport = @viewport @skill_window.help_window = @help_window @target_window = Window_MenuStatus.new(0, 0) hide_target_window end
#-------------------------------------------------------------------------- # * Show Target Window # right : Right justification flag (if false, left justification) #-------------------------------------------------------------------------- def show_target_window(right) @skill_window.active = false width_remain = 640 - @target_window.width @target_window.x = right ? width_remain : 0 @target_window.visible = true @target_window.active = true if right @viewport.rect.set(0, 0, width_remain, 480) @viewport.ox = 0 else @viewport.rect.set(@target_window.width, 0, width_remain, 480) @viewport.ox = @target_window.width end end #-------------------------------------------------------------------------- # * Hide Target Window #-------------------------------------------------------------------------- def hide_target_window @skill_window.active = true @target_window.visible = false @target_window.active = false @viewport.rect.set(0, 0, 640, 480) @viewport.ox = 0 end end
class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background @actor = $game_party.members[@actor_index] @help_window = Window_Help.new create_item_windows @equip_window = Window_Equip.new(240, 56, @actor) @equip_window.help_window = @help_window @equip_window.index = @equip_index @status_window = Window_EquipStatus.new(0, 56, @actor) end
#-------------------------------------------------------------------------- # * Create Item Window #-------------------------------------------------------------------------- def create_item_windows @item_windows = [] for i in 0...EQUIP_TYPE_MAX @item_windows[i] = Window_EquipItem.new(0, 208, 640, 272, @actor, i) @item_windows[i].help_window = @help_window @item_windows[i].visible = (@equip_index == i) @item_windows[i].y = 208 @item_windows[i].height = 208 @item_windows[i].active = false @item_windows[i].index = -1 end end end
class Scene_Shop < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background create_command_window @help_window = Window_Help.new @gold_window = Window_Gold.new(480, 56) @dummy_window = Window_Base.new(0, 112, 640, 368) @buy_window = Window_ShopBuy.new(0, 112) @buy_window.active = false @buy_window.visible = false @buy_window.help_window = @help_window @sell_window = Window_ShopSell.new(0, 112, 640, 368) @sell_window.active = false @sell_window.visible = false @sell_window.help_window = @help_window @number_window = Window_ShopNumber.new(0, 112) @number_window.active = false @number_window.visible = false @status_window = Window_ShopStatus.new(352, 112) @status_window.visible = false end
#-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::ShopBuy s2 = Vocab::ShopSell s3 = Vocab::ShopCancel @command_window = Window_Command.new(480, [s1, s2, s3], 3) @command_window.y = 56 if $game_temp.shop_purchase_only @command_window.draw_item(1, false) end end end
class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # * Create Information Display Viewport #-------------------------------------------------------------------------- def create_info_viewport @info_viewport = Viewport.new(0, 352, 640, 128) @info_viewport.z = 100 @status_window = Window_BattleStatus.new @party_command_window = Window_PartyCommand.new @actor_command_window = Window_ActorCommand.new @status_window.viewport = @info_viewport @party_command_window.viewport = @info_viewport @actor_command_window.viewport = @info_viewport @status_window.x = 128 @actor_command_window.x = 640 @info_viewport.visible = false end end 29 changes! But it's set on my normal game - and works! just remember to play with any other scripts you got that use menus.
This post has been edited by Zudane: Aug 17 2009, 02:45 AM
|
|
|
|
|
|
|
|
|
Feb 19 2010, 01:10 AM
|

Group: Member
Posts: 1
Type: None
RM Skill: Intermediate

|
QUOTE (Seano299 @ Jul 31 2009, 04:06 AM)   Hey I have a problem, when ever I try to put this script in all of it is on line 1, It just goes in one long line! Help! and it's not only this script! it happens with loads of other scripts! dude i get it with my scripts 2 its fine it dnt do anything bad it just makes it a annoyance to edit
|
|
|
|
|
|
|
|
|
Dec 17 2011, 04:31 PM
|

Group: Member
Posts: 1
Type: None
RM Skill: Skilled

|
Really late I know...I was just wondering if this was at all fixable. I dont have mutch time to look at it in depth...so if anyone knows that would be great!  UPDATE is there a way to extend the text?
This post has been edited by TheGOffice: Dec 17 2011, 04:32 PM
|
|
|
|
|
|
|
|
|
Dec 27 2011, 06:30 PM
|

Group: Member
Posts: 1
Type: Writer
RM Skill: Beginner

|
QUOTE (TheGOffice @ Dec 17 2011, 09:31 PM)  Really late I know...I was just wondering if this was at all fixable. I dont have mutch time to look at it in depth...so if anyone knows that would be great!  UPDATE is there a way to extend the text? I found how to fix it. You only have to change the following values in Window_NameEdit (Line 20), Window_NameInput (Line 35) and Window_NumberInput (Line 13). You will find something like this "super(88, 148, 544, 248)" you have to change that "544" to 640 in each of them example: (super(88, 148, 640, 248), I hope you can understand what im trying to say
|
|
|
|
|
|
|
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
RPG RPG Revolution is an Privacy
Policy and Legal
|
|