Theoras Posted July 21, 2009 Share Posted July 21, 2009 (edited) Per usare sto script dovete sapere il francese, e io l'ho fatto solo alle medie...Comunque serve a cambiare risoluzione dello schermo, spesso qualcuno lo chiede, spero sia utile.Descrizione & Istruzioni per l'uso===== Topic édité par Sunmat suite à une modification du script =====Ce script vous permettra de redimensionner l'écran de jeu à votre guise.Il gérait auparavant mal la supperposition, je l'ai modifié pour que tout rentre dans l'ordre.Ce script est à placer au dessus de Main (contrairement à ce que disait l'auteur anglais original).Changez la taille de l'écran aux lignes 71 et 72.Autoreby Squall squall@loeher.znn.comScript: #============================================================================== # ■ Win32API #------------------------------------------------------------------------------ # by Squall squall@loeher.znn.com # Change the window size # I must thank cybersam for his mouse and keyboard scripts. they were very # useful finding some winapi function. # # Ce script a été modifié par Sunmat pour une gestion fonctionnelle # de la supperposition. # les valeurs de la taille sont aux lignes 71 et 72 #============================================================================== class Win32API #-------------------------------------------------------------------------- # ● define constant #-------------------------------------------------------------------------- GAME_INI_FILE = ".\\Game.ini" # define "Game.ini" file HWND_TOPMOST = 0 # window always active HWND_TOP = -1 # window active when used only SWP_NOMOVE = 0 # window pos and sizes can be changed #-------------------------------------------------------------------------- # ● Win32API.GetPrivateProfileString // check your game title in Game.ini #-------------------------------------------------------------------------- def Win32API.GetPrivateProfileString(section, key) val = "\0"*256 gps = Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l') gps.call(section, key, "", val, 256, GAME_INI_FILE) val.delete!("\0") return val end #-------------------------------------------------------------------------- # ● Win32API.FindWindow // cherche la fenetre RGSS #-------------------------------------------------------------------------- def Win32API.FindWindow(class_name, title) fw = Win32API.new('user32', 'FindWindow', %(p, p), 'i') hWnd = fw.call(class_name, title) return hWnd end #-------------------------------------------------------------------------- # ● Win32API.SetWindowPos // change la position et la taille de la fenetre #-------------------------------------------------------------------------- def Win32API.SetWindowPos(w, h) title = Win32API.GetPrivateProfileString("Game", "Title") hWnd = Win32API.FindWindow("RGSS Player", title) swp = Win32API.new('user32', 'SetWindowPos', %(l, l, i, i, i, i, i), 'i') win = swp.call(hWnd, HWND_TOP, 0, 0, w + 6, h + 32, 0) #la ligne si dessous correspond à la fenetre supérieur aux autres #win = swp.call(hWnd, HWND_TOPMOST, 0, 0, w + 6, h + 32, SWP_NOMOVE) return win end #-------------------------------------------------------------------------- # ● Win32API.client_size // check the window width and height #-------------------------------------------------------------------------- def Win32API.client_size title = Win32API.GetPrivateProfileString("Game", "Title") hWnd = Win32API.FindWindow("RGSS Player", title) rect = [0, 0, 0, 0].pack('l4') Win32API.new('user32', 'GetClientRect', %w(l p), 'i').call(hWnd, rect) width, height = rect.unpack('l4')[2..3] return width, height end end #============================================================================== # ■ proceed with creation of the window #------------------------------------------------------------------------------ # the width and height variables set the screen size. #============================================================================== $width = 800 $height = 600 win = Win32API.SetWindowPos($width, $height) if(win == 0) p "Size change has failed!" end #============================================================================== # ■ Game_Player #------------------------------------------------------------------------------ # remade to be compatible with change sreen size scrîpt #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # ● define constant #-------------------------------------------------------------------------- CENTER_X = ($width/2 - 16) * 4 # X coordinate in the center of the screen CENTER_Y = ($height/2 - 16) * 4 # Y coordinate in the center of the screen end #============================================================================== # ■ Spriteset_Map //squall@loeher.zzn.com #------------------------------------------------------------------------------ # remade to be compatible with change sreen size scrîpt #============================================================================== class Spriteset_Map #-------------------------------------------------------------------------- # ● Initialize #-------------------------------------------------------------------------- def initialize if $game_map.width >= 25 and $game_map.height >= 19 $width2 = $width $height2 = $height elsif $game_map.width >= 25 and $game_map.height < 19 $width2 = $width $height2 = 480 elsif $game_map.width < 25 and $game_map.height >= 19 $width2 = 640 $height2 = $height elsif $game_map.width < 25 and $game_map.height < 19 $width2 = 640 $height2 = 480 else $width2 = $width $height2 = $height end @viewport1 = Viewport.new(0, 0, $width2, $height2) @viewport2 = Viewport.new(0, 0, $width2, $height2) @viewport3 = Viewport.new(0, 0, $width2, $height2) @viewport4 = Viewport.new(640, 0, $width2-640, 480) @viewport5 = Viewport.new(0, 480, 640, $height2-480) @viewport6 = Viewport.new(640, 480, $width2-640, $height2-480) #@viewport1 = Viewport.new(0, 0, 640, 480) @viewport2.z = 200 @viewport3.z = 5000 @tilemap = Tilemap.new(@viewport1) @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name) for i in 0..6 autotile_name = $game_map.autotile_names[i] @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name) end @tilemap.map_data = $game_map.data @tilemap.priorities = $game_map.priorities @panorama = Plane.new(@viewport1) @panorama.z = -1000 @fog = Plane.new(@viewport1) @fog.z = 3000 @character_sprites = [] for i in $game_map.events.keys.sort sprite = Sprite_Character.new(@viewport1, $game_map.events[i]) @character_sprites.push(sprite) end @character_sprites.push(Sprite_Character.new(@viewport1, $game_player)) @weather = RPG::Weather.new(@viewport1) @picture_sprites = [] for i in 1..50 @picture_sprites.push(Sprite_Picture.new(@viewport2, $game_screen.pictures[i])) end @timer_sprite = Sprite_Timer.new @tilemap2 = Tilemap.new(@viewport4) @tilemap2.tileset = RPG::Cache.tileset($game_map.tileset_name) @tilemap3 = Tilemap.new(@viewport5) @tilemap3.tileset = RPG::Cache.tileset($game_map.tileset_name) @tilemap4 = Tilemap.new(@viewport6) @tilemap4.tileset = RPG::Cache.tileset($game_map.tileset_name) for i in 0..6 autotile_name = $game_map.autotile_names[i] @tilemap2.autotiles[i] = RPG::Cache.autotile(autotile_name) @tilemap3.autotiles[i] = RPG::Cache.autotile(autotile_name) @tilemap4.autotiles[i] = RPG::Cache.autotile(autotile_name) end @tilemap2.map_data = $game_map.data @tilemap3.map_data = $game_map.data @tilemap4.map_data = $game_map.data update end #-------------------------------------------------------------------------- # ● Dispose the sprite #-------------------------------------------------------------------------- def dispose @tilemap.tileset.dispose @tilemap2.tileset.dispose @tilemap3.tileset.dispose @tilemap4.tileset.dispose for i in 0..6 @tilemap.autotiles[i].dispose @tilemap2.autotiles[i].dispose @tilemap3.autotiles[i].dispose @tilemap4.autotiles[i].dispose end @tilemap.dispose @tilemap2.dispose @tilemap3.dispose @tilemap4.dispose @panorama.dispose @fog.dispose for sprite in @character_sprites sprite.dispose end @weather.dispose for sprite in @picture_sprites sprite.dispose end @timer_sprite.dispose @viewport1.dispose @viewport2.dispose @viewport3.dispose @viewport4.dispose @viewport5.dispose @viewport6.dispose end #-------------------------------------------------------------------------- # ● Update the sprite #-------------------------------------------------------------------------- def update if @panorama_name != $game_map.panorama_name or @panorama_hue != $game_map.panorama_hue @panorama_name = $game_map.panorama_name @panorama_hue = $game_map.panorama_hue if @panorama.bitmap != nil @panorama.bitmap.dispose @panorama.bitmap = nil end if @panorama_name != "" @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue) end Graphics.frame_reset end if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue @fog_name = $game_map.fog_name @fog_hue = $game_map.fog_hue if @fog.bitmap != nil @fog.bitmap.dispose @fog.bitmap = nil end if @fog_name != "" @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue) end Graphics.frame_reset end @tilemap.ox = $game_map.display_x / 4 @tilemap.oy = $game_map.display_y / 4 @tilemap.update #if @tilemap.ox > $game_map.width * 32 - $width #@tilemap.ox = $game_map.width * 32 - $width #end #if @tilemap.oy > $game_map.width * 32 - $height #@tilemap.oy = $game_map.height * 32 - $height #end @tilemap2.ox = @tilemap.ox + 640 @tilemap2.oy = @tilemap.oy @tilemap2.update @tilemap3.ox = @tilemap.ox @tilemap3.oy = @tilemap.oy + 480 @tilemap3.update @tilemap4.ox = @tilemap.ox + 640 @tilemap4.oy = @tilemap.oy + 480 @tilemap4.update @panorama.ox = $game_map.display_x / 8 @panorama.oy = $game_map.display_y / 8 @fog.zoom_x = $game_map.fog_zoom / 100.0 @fog.zoom_y = $game_map.fog_zoom / 100.0 @fog.opacity = $game_map.fog_opacity @fog.blend_type = $game_map.fog_blend_type @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy @fog.tone = $game_map.fog_tone for sprite in @character_sprites sprite.update end @weather.type = $game_screen.weather_type @weather.max = $game_screen.weather_max @weather.ox = $game_map.display_x / 4 @weather.oy = $game_map.display_y / 4 @weather.update for sprite in @picture_sprites sprite.update end @timer_sprite.update @viewport1.tone = $game_screen.tone @viewport1.ox = $game_screen.shake @viewport3.color = $game_screen.flash_color @viewport1.update @viewport3.update end end class Game_Map #-------------------------------------------------------------------------- # ● Scroll the map down # distance : Distance to scroll in real units (4 = 1 pixel). #-------------------------------------------------------------------------- def scroll_down(distance) if $height / 32.0 < self.height - 1 @display_y = [@display_y + distance, (self.height - ($height / 32.0)) * 128].min else @display_y = [@display_y + distance, (self.height - 15) * 128].min end end #-------------------------------------------------------------------------- # ● Scroll the map left # distance : Distance to scroll in real units (4 = 1 pixel). #-------------------------------------------------------------------------- def scroll_left(distance) @display_x = [@display_x - distance, 0].max end #-------------------------------------------------------------------------- # ● Scroll the map right # distance : Distance to scroll in real units (4 = 1 pixel). #-------------------------------------------------------------------------- def scroll_right(distance) if $width / 32.0 < self.width - 1 @display_x = [@display_x + distance, (self.width - ($width / 32.0)) * 128].min else @display_x = [@display_x + distance, (self.width - 20) * 128].min end end #-------------------------------------------------------------------------- # ● Scroll the map up # distance : Distance to scroll in real units (4 = 1 pixel). #-------------------------------------------------------------------------- def scroll_up(distance) @display_y = [@display_y - distance, 0].max end end Edited April 26, 2013 by Dilos Script monoriga sistemato. http://img396.imageshack.us/img396/3194/citta10mv9.gif Volete due giochi Completi e Seri fatti con RPG MAKER? Cliccate su... www.raldon.altervista.org Problemi con Raldon? Segnalali su... www.raldon.forumfree.net Partecipante al Rpg2s.net Game Contest 2008/2009 http://www.rpg2s.net/contest/GameContest0809/gc0809-bannerino.jpg Gioco in Sviluppo: Raldon Posizioni raggiunte nei Contest http://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://img76.imageshack.us/img76/1260/destroy3gr3.pnghttp://img233.imageshack.us/img233/7186/comics2hd8.gifhttp://www.rpg2s.net/gif/GC_bestoftool3.gif http://www.rpg2s.net/gif/GC_premio3.gifhttp://www.rpg2s.net/gif/GC_premio3.gifhttp://www.rpg2s.net/gif/GC_premio1.gifhttp://www.rpg2s.net/gif/GC_premio2.gifhttp://www.rpg2s.net/gif/GC_grafica3.gifhttp://www.rpg2s.net/gif/GC_programmazione3.gifhttp://www.rpg2s.net/gif/GC_programmazione1.gifhttp://www.rpg2s.net/awards/furordipopolo/Popolo3K.gifhttp://www.rpg2s.net/awards/furordipopolo/Popolo2XP.gifhttp://www.rpg2s.net/awards/furordipopolo/Popolo2BEST.gif http://www.rpg2s.net/awards/bestuser2.jpghttp://www.rpg2s.net/awards/bestmaker2.jpghttp://www.rpg2s.net/awards/mostpresent1.jpghttp://www.rpg2s.net/awards/mostproductive1.jpg Link to comment Share on other sites More sharing options...
OblivionGv Posted July 29, 2009 Share Posted July 29, 2009 Non so se gli altri hanno lo stesso problema, però quando mi muovo nella mappa e raggiungo quasi il limite inferiore il mio pg viene sovrastato dal terreno...comunque ne avevo proprio bisogno ;) Link to comment Share on other sites More sharing options...
Theoras Posted July 29, 2009 Author Share Posted July 29, 2009 Allora, facciamo un po' di precisazioni. Io non ho provato lo script, l'ho trovato su un forum francese e l'ho messo qui ma senza provarlo, quindi non so nemmeno se funzioni.PoiSe si preme ALT+INVIO, combinazione di tasti non disattivabile, la risoluzione torna 640x480, quindi non so quanto possa servire, visto che se ho ben capito il gioco dovrebbe esser giocato solo a finestra. Quindi non so quanto possa essere utile. Se trovate un modo per usarlo e vi torna bene usatelo pure (l'ho messo apposta) ma dovete essere consapevoli di questi problemi... http://img396.imageshack.us/img396/3194/citta10mv9.gif Volete due giochi Completi e Seri fatti con RPG MAKER? Cliccate su... www.raldon.altervista.org Problemi con Raldon? Segnalali su... www.raldon.forumfree.net Partecipante al Rpg2s.net Game Contest 2008/2009 http://www.rpg2s.net/contest/GameContest0809/gc0809-bannerino.jpg Gioco in Sviluppo: Raldon Posizioni raggiunte nei Contest http://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest3Oct.gifhttp://img76.imageshack.us/img76/1260/destroy3gr3.pnghttp://img233.imageshack.us/img233/7186/comics2hd8.gifhttp://www.rpg2s.net/gif/GC_bestoftool3.gif http://www.rpg2s.net/gif/GC_premio3.gifhttp://www.rpg2s.net/gif/GC_premio3.gifhttp://www.rpg2s.net/gif/GC_premio1.gifhttp://www.rpg2s.net/gif/GC_premio2.gifhttp://www.rpg2s.net/gif/GC_grafica3.gifhttp://www.rpg2s.net/gif/GC_programmazione3.gifhttp://www.rpg2s.net/gif/GC_programmazione1.gifhttp://www.rpg2s.net/awards/furordipopolo/Popolo3K.gifhttp://www.rpg2s.net/awards/furordipopolo/Popolo2XP.gifhttp://www.rpg2s.net/awards/furordipopolo/Popolo2BEST.gif http://www.rpg2s.net/awards/bestuser2.jpghttp://www.rpg2s.net/awards/bestmaker2.jpghttp://www.rpg2s.net/awards/mostpresent1.jpghttp://www.rpg2s.net/awards/mostproductive1.jpg Link to comment Share on other sites More sharing options...
OblivionGv Posted July 29, 2009 Share Posted July 29, 2009 Ok, non ci sono problemi ^^Comunque fa niente...vedrò se utilizzarlo o meno...grazie Theoras. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now