RPG Maker Forums

Hey!

I've recently started using Mog's picture gallery script in my project, however there's an issue - here;



The header and footer images are fine, and the icons of the pictures are fine as I've edited them all to work with the new resolution, however I can't find or figure out how to change the blinking icon (that translucent rectangle next to N-1) so that it's in the correct place. It should be centred behind the picture icons. Another issue I'm having is the Q & W icons - they also need to be to the very right and very left. And finally, the three stats at the bottom of the picture rectangles that state Page/Completed/Documents - they need to be down by the image footer that says 'Info'. Basically - this script was meant for the default resolution, but I need it edited to look right with 640x480. 

Any help would be appreciated - here's also the copy of the code I'm using that I've edited already;

Code:
#==============================================================================# +++ MOG - Picture Gallery ACE (v1.3) +++#==============================================================================# By Moghunter# [URL="http://www.atelier-rgss.com/#==============================================================================%23"]http://www.atelier-rgss.com/#==============================================================================#[/URL] Sistema de galeria de imagens.#==============================================================================# Para ativar o script use o comando abaixo através de um evento usando o# comando chamar script. (Call Script)## SceneManager.call(Scene_Picture_Gallery)##==============================================================================# Para disponibilizar as imagens na galeria você deverá usar o seguinte # código através do comando chamar script.## $game_system.gallery[ID] = true## EX   $game_system.gallery[10] = true##==============================================================================# Você deverá criar uma pasta com o nome "Gallery" onde as imagens deverão# ser gravadas.## Graphics/Gallery/ ## A nomeação das imagens devem ser numéricas. (ID da imagem)# 0.jpg    (Imagem não disponível.)# 1.jpg# 2.jpg# 3.jpg# ...## Prefira usar imagens com resoluções igual ou maior a 544x416 pixels.#==============================================================================# Histórico# 1.3 - Movimento da imagem na diagonal.#     - Melhoria no sistema de dispose.# 1.2 - Compatibilidade com o sistema de cursor.# 1.1 - Opção de adicionar o command Picture Gallery no Menu principal.##==============================================================================module MOG_PICTURE_GALLERY       #Quantidade maxima de imagens na galeria.        MAX_PICTURES = 40       #Ativar o Scene Picture Gallery no Menu       PICTURE_GALLERY_MENU_COMMAND = true       #Nome do comando apresentado no menu.       PICTURE_GALLERY_COMMAND_NAME = "Picture Gallery"end  #==============================================================================# ■ Game_System#==============================================================================class Game_System   attr_accessor :gallery  #------------------------------------------------------------------------------ # ● Initialize #------------------------------------------------------------------------------    alias art_picture_initialize initialize  def initialize      art_picture_initialize      @gallery = [] end  end#==============================================================================# ■ RPG#==============================================================================module Cache       def self.gallery(filename)       load_bitmap("Graphics/Gallery/", filename)    endend#==============================================================================# ■ Window_Base#==============================================================================class Window_Base < Window    #--------------------------------------------------------------------------  # ● Draw_Thumbnail  #--------------------------------------------------------------------------    def draw_thumbnail(x,y,id)      bitmap = Cache.gallery(id.to_s) rescue nil      return if bitmap == nil      src_rect = Rect.new(0, 0, bitmap.width , bitmap.height )      src_rect2 = Rect.new(x, y, 118, 59)        self.contents.stretch_blt(src_rect2, bitmap, src_rect)      bitmap.dispose  endend  #==============================================================================# ■ Window_Picture#==============================================================================class Window_Picture < Window_Selectable   #------------------------------------------------------------------------------ # ● Initialize #------------------------------------------------------------------------------     def initialize(page)      super(0, 64, 640, 480)      self.opacity = 0      @index = -1      @page = page      @pic_max = MOG_PICTURE_GALLERY::MAX_PICTURES      @pic_max = 1 if @pic_max <= 0      @pag_max = @pic_max / 9      if @pag_max == page         o = @pag_max * 9         o2 =  @pic_max - o         @item_max = o2      else         @item_max = 9       end      @i_max =  @item_max      refresh(page)      select(0)      activate  end #------------------------------------------------------------------------------ # ● Refresh #------------------------------------------------------------------------------     def refresh(page = 0)      if self.contents != nil         self.contents.dispose         self.contents = nil      end      if @item_max > 0         self.contents = Bitmap.new(width - 32, 6 * 89)         for i in 0...@item_max            draw_item(i,page)         end      end  end   #------------------------------------------------------------------------------ # ● draw_item #------------------------------------------------------------------------------     def draw_item(index,page)      np = 9 * page      picture_number = index + 1 + np      x = 65 + index % 3 * 183      y = 12 + index / 3 * 89      s = picture_number      s = 0 if $game_system.gallery[picture_number] == nil      draw_thumbnail(x,y,s)      self.contents.draw_text(x + 30,y + 49, 64, 32, "N - " + picture_number.to_s,1)  end   #------------------------------------------------------------------------------ # ● item_rect #------------------------------------------------------------------------------       def item_rect(index)      rect = Rect.new(0, 0, 0, 0)      rect.width = 150      rect.height = 90      rect.x = @index % col_max * (rect.width + 32)      rect.y = @index / col_max * 90      return rect  end       #------------------------------------------------------------------------------ # ● Col Max #------------------------------------------------------------------------------         def col_max      return 3  end     #------------------------------------------------------------------------------ # ● Item Max #------------------------------------------------------------------------------           def item_max      return @item_max == nil ? 0 : @item_max   end    end#==============================================================================# ■ Scene_ArtPictures#==============================================================================class Scene_Picture_Gallery include MOG_PICTURE_GALLERY    #------------------------------------------------------------------------------ # ● Main #------------------------------------------------------------------------------      def main     setup     execute_dispose     create_image          create_background          create_loading_text               create_window     create_cursor     create_button     execute_loop     execute_dispose end #------------------------------------------------------------------------------ # ● Create_Loading #------------------------------------------------------------------------------       def create_loading_text     @loading = Sprite.new     @loading.bitmap = Bitmap.new(100,32)     @loading.z = 300     @loading.bitmap.font.size = 20     @loading.bitmap.font.bold = true     @loading.bitmap.font.name = "Georgia"       @loading.bitmap.draw_text(0,0, 100, 32, "   ",1)     @loading.x = (544 / 2) - 50      @loading.y = (416 / 2)     Graphics.transition(20) end    #------------------------------------------------------------------------------ # ● Setup #------------------------------------------------------------------------------       def setup     @max_pictures = MAX_PICTURES     @max_pictures = 1 if @max_pictures <= 0     v = (@max_pictures / 9)      v2 = (v - 1) * 9     v3 = (@max_pictures - v2) - 9     if v3 != 0        @max_pages = (@max_pictures / 9) + 1     else         @max_pages = (@max_pictures / 9)      end       @max_pages = 1 if @max_pages == 0      @aw_center = 0     @aw_left = 0     @aw_right = 0      @slide_type = 0     @page_old = 0     @picture_id = 0     @image_active = false     @old_index = 0     @picures_enabled = 0     @comp = 0     @ex = 0     @ey = 0     @ex_max = 0     @ey_max = 0     @ex_max_zoom = 0     @ey_max_zoom = 0     for i in 0..MAX_PICTURES         @picures_enabled += 1 if $game_system.gallery[i]      end   end      #------------------------------------------------------------------------------ # ● create_background  #------------------------------------------------------------------------------         def create_background     @background = Sprite.new     @background.bitmap = Cache.gallery("Background")       @background.z = 0     @background2 = Plane.new     @background2.bitmap = Cache.gallery("Background2")           @background2.z = -1 end  #------------------------------------------------------------------------------ # ● Create Window #------------------------------------------------------------------------------       def create_window     @info = Window_Help.new     @info.y = 360     @info.opacity = 0     @wp_page = 0     @wp_page_old = @wp_page     @wp_index = 0     @wp =[]     for i in 0...@max_pages         @wp[i] = Window_Picture.new(i)     end       check_active_window(true)     refresh_info_window(true)     #@wp[@wp_page].x = 0 end  #------------------------------------------------------------------------------ # ● Create_image #------------------------------------------------------------------------------         def create_image     @picture = Sprite.new     @picture.bitmap = Cache.gallery("")     @picture.z = 100     @picture.opacity = 0 end  #------------------------------------------------------------------------------ # ● Check Active Window #------------------------------------------------------------------------------        def check_active_window(starting = false)     for i in 0...@max_pages        if i == @wp_page            @wp[@wp_page].active = true            @wp[@wp_page].visible = true            if @slide_type == 0                  @wp[@wp_page].x = 640            else               @wp[@wp_page].x = -640            end            elsif i == @page_old  and starting == false             @wp[@page_old].active = false            @wp[@page_old].visible = true            @wp[@page_old].visible = false if starting             @wp[@page_old].x = 0              else               @wp[i].active = false            @wp[i].visible = false         end        end   end  #------------------------------------------------------------------------------ # ● Create Button #------------------------------------------------------------------------------        def create_button     @button_image = Cache.gallery("Button")     @button_bitmap =  Bitmap.new(@button_image.width, @button_image.height)     @cw = @button_image.width      @ch = @button_image.height / 2     src_rect = Rect.new(0, 0, @cw, @ch)     @button_bitmap .blt(0,0, @button_image, src_rect)                @button = Sprite.new     @button.bitmap = @button_bitmap     @button.y = 443     @button.z = 250     @button.opacity = 0     @button_fade_time = 0 end  #------------------------------------------------------------------------------ # ● Create Cursor #------------------------------------------------------------------------------       def create_cursor     @cx1 = 0     @cx2 = 0     @cursor_speed = 0     image = Cache.gallery("Cursor")     @bitmap = Bitmap.new(image.width, image.height)     cw = image.width / 2     ch = image.height     src_rect = Rect.new(cw, 0, cw, ch)     @bitmap.blt(0,0, image, src_rect)          @cursor1 = Sprite.new     @cursor1.bitmap = @bitmap      @cursor1.x = 0 + @cx1     @cursor1.y = 190     @cursor1.z = 200     @bitmap2 = Bitmap.new(image.width, image.height)     src_rect2 = Rect.new(0, 0, cw, ch)     @bitmap2.blt(0,0, image, src_rect2)               @cursor2 = Sprite.new     @cursor2.bitmap = @bitmap2      @cursor2.x = 513 + @cx2      @cursor2.y = 190     @cursor2.z = 200     image.dispose     if @max_pages == 1        @cursor1.visible = false        @cursor2.visible = false     end    end #------------------------------------------------------------------------------ # ● Execute Loop #------------------------------------------------------------------------------      def execute_loop     loop do          Graphics.update          Input.update          update          if SceneManager.scene != self              break          end     end end  #------------------------------------------------------------------------------ # ● Execute Dispose #------------------------------------------------------------------------------       def execute_dispose     return if @background == nil     Graphics.freeze     for i in 0...@max_pages         @wp[i].dispose     end         @info.dispose     if @picture.bitmap != nil        @picture.bitmap.dispose     end     @picture.dispose     @background.bitmap.dispose     @background.dispose     @background = nil     @background2.bitmap.dispose     @background2.dispose          @bitmap.dispose     @bitmap2.dispose     @cursor1.bitmap.dispose     @cursor1.dispose          @cursor2.bitmap.dispose     @cursor2.dispose     @button_bitmap.dispose     @button.bitmap.dispose     @button.dispose     @button_image.dispose     if @loading != nil        @loading.bitmap.dispose        @loading.dispose     end    end  #------------------------------------------------------------------------------ # ● Update #------------------------------------------------------------------------------       def update     @wp.each {|wid| wid.update}     @info.update     if @image_active          update_command_image     else           update_command     end        update_slide     update_image_effect     update_cursor_animation     refresh_info_window end     #------------------------------------------------------------------------------ # ● update_cursor_animation #------------------------------------------------------------------------------         def update_cursor_animation     @cursor_speed += 1     case @cursor_speed        when 1..20           @cx1 += 1           @cx2 -= 1        when 21..40           @cx1 -= 1           @cx2 += 1                 else          @cursor_speed = 0        @cx1 = 0         @cx2 = 0     end     @cursor1.x = 0 + @cx1      @cursor2.x = 514 + @cx2  end    #------------------------------------------------------------------------------ # ● Update Image Effect #------------------------------------------------------------------------------        def update_image_effect     return if @wp[@wp_page].x != 0     @button_fade_time -= 1 if @button_fade_time > 0     if @image_active         @picture.opacity += 15        if @button_fade_time != 0           @button.opacity += 5        else              if @button.y < 416                 @button.opacity -= 10              @button.y += 1           end           end          @wp[@wp_page].contents_opacity -= 15        @info.contents_opacity -= 15        @background.opacity -= 15        @cursor1.opacity -= 15        @cursor2.opacity -= 15     else          @picture.opacity -= 10        @button.opacity -= 15        @wp[@wp_page].contents_opacity += 15        @info.contents_opacity += 15        @background.opacity += 15        @cursor1.opacity += 15        @cursor2.opacity += 15             end   end #------------------------------------------------------------------------------ # ● Refresh Info Window #------------------------------------------------------------------------------        def refresh_info_window(starting = false)     return if @image_active      return if @wp_page_old == @wp_page and starting == false        @wp_page_old = @wp_page     page = @wp_page + 1     @picture_id = (9 * @wp_page) + @wp[@wp_page].index  + 1     p_pages = "Page - " + page.to_s + " / " + @max_pages.to_s     comp  = "          Completed " + (@picures_enabled.to_f / @max_pictures.to_f * 100).truncate.to_s + "%"     p_number = "          Documents " + @picures_enabled.to_s + " / " + @max_pictures.to_s     @info.set_text("            " + p_pages + comp + p_number) end      #------------------------------------------------------------------------------ # ● Update Slide #------------------------------------------------------------------------------        def update_slide     @background2.ox += 1     if @loading != nil        @loading.opacity -= 5        if @loading.opacity <= 0           @loading.bitmap.dispose           @loading.dispose           @loading = nil         end       end        return if @wp[@wp_page].x == 0       slide_speed = 25     @picture.opacity = 0     @background.opacity = 255     if @slide_type == 1             if @wp[@wp_page].x < 0           @wp[@wp_page].x += slide_speed           if @wp[@wp_page].x >= 0              @wp[@wp_page].x = 0            end         end        if @wp[@page_old].x < 640           @wp[@page_old].x += slide_speed           if @wp[@page_old].x >= 544              @wp[@page_old].x = 544           end         end                else              if @wp[@wp_page].x > 0            @wp[@wp_page].x -= slide_speed            if @wp[@wp_page].x <= 0                 @wp[@wp_page].x = 0            end            end         if @wp[@page_old].x > -544            @wp[@page_old].x -= slide_speed            if @wp[@page_old].x <= -544               @wp[@page_old].x = -544            end         end                  end        if @slide_type == 0              @wp[@wp_page].x = 0 if @wp[@wp_page].x <= 0         else            @wp[@wp_page].x = 0 if @wp[@wp_page].x >= 0       end   end  #------------------------------------------------------------------------------ # ● Check_limite #------------------------------------------------------------------------------         def check_limit     if @wp_page < 0        @wp_page = @max_pages - 1     elsif @wp_page >= @max_pages           @wp_page = 0        end     check_active_window end    #------------------------------------------------------------------------------ # ● Update Command Image #------------------------------------------------------------------------------         def update_command_image     if Input.trigger?(Input:: or Input.trigger?(Input::C)        Sound.play_cursor        @image_active = false        @wp[@wp_page].active = true        return     end        if Input.trigger?(Input::R) or Input.trigger?(Input::L)        Sound.play_cursor        execute_zoom           end       @ex += 4 if Input.press?(Input::RIGHT)      @ex -= 4 if Input.press?(Input::LEFT)     @ey += 4 if Input.press?(Input::DOWN)     @ey -= 4 if Input.press?(Input::UP)        @ex = @ex_max + @ex_max_zoom if @ex > @ex_max + @ex_max_zoom     @ex = 0 if @ex < 0     @ey = @ey_max + @ey_max_zoom if @ey > @ey_max + @ey_max_zoom     @ey = 0 if @ey < 0             @picture.x = -@ex     @picture.y = -@ey end    #------------------------------------------------------------------------------ # ● Execute Zoom #------------------------------------------------------------------------------          def execute_zoom     if @picture.zoom_x == 1.0        @picture.zoom_x = 1.5        @picture.zoom_y = 1.5        refresh_button(1)        @ex_max_zoom = (@picture.bitmap.width / 2)         if @ex != @ex_max            @ex += @ex_max_zoom / 2                  else              if @ex_max != 0                 @ex += @ex_max_zoom           else                 @ex += @ex_max_zoom / 2           end          end          @ey_max_zoom = (@picture.bitmap.height / 2)         if @ey != @ey_max            @ey += @ey_max_zoom / 2                  else              if @ey_max != 0                 @ey += @ey_max_zoom           else                 @ey += @ey_max_zoom / 2           end           end        else         if @picture.bitmap.width > 640 or           @picture.bitmap.height > 480            refresh_button(1)        else           refresh_button(0)        end                   @ex -= @ex_max_zoom / 2         @ey -= @ey_max_zoom / 2                   @picture.zoom_x = 1.0        @picture.zoom_y = 1.0            @ex_max_zoom = 0        @ey_max_zoom = 0     end      end     #------------------------------------------------------------------------------ # ● check_avaliable_picture? #------------------------------------------------------------------------------         def check_avaliable_picture?     @picture_id = (9 * @wp_page) + @wp[@wp_page].index  + 1      return false if $game_system.gallery[@picture_id] == nil     return true end    #------------------------------------------------------------------------------ # ● create_bitmap #------------------------------------------------------------------------------         def create_bitmap     @picture.opacity = 0     @picture.bitmap.dispose     @picture.bitmap = Cache.gallery(@picture_id.to_s) rescue nil     @ex = 0     @ey = 0     @ex_max_zoom = 0     @ey_max_zoom = 0     @picture.zoom_x = 1.0     @picture.zoom_y = 1.0           if @picture.bitmap == nil        @picture.bitmap = Cache.gallery("")        refresh_button(0)        return      end       if @picture.bitmap.width > 544         @ex_max = @picture.bitmap.width - 544     else        @ex_max = 0      end     if @picture.bitmap.height > 416        @ey_max = @picture.bitmap.height - 416      else        @ey_max = 0     end        if @picture.bitmap.width > 544 or        @picture.bitmap.height > 416        refresh_button(1)     else        refresh_button(0)     end  end    #------------------------------------------------------------------------------ # ● Refresh Button  #------------------------------------------------------------------------------         def refresh_button(type = 0)     @button.bitmap.clear     if type == 0        src_rect = Rect.new(0, 0, @cw, @ch)     else        src_rect = Rect.new(0, @ch, @cw, @ch)      end       @button_bitmap .blt(0,0, @button_image, src_rect)       @button.y = 379     @button_fade_time = 120      @button.opacity = 0 unless @button.y == 379 end     #------------------------------------------------------------------------------ # ● Update Command #------------------------------------------------------------------------------        def update_command     return if @wp[@wp_page].x != 0     if Input.trigger?(Input::        Sound.play_cancel        SceneManager.return        return     end     if Input.trigger?(Input::C)         if check_avaliable_picture?           Sound.play_ok           @image_active = true           @wp[@wp_page].active = false           create_bitmap        else           Sound.play_buzzer        end        return      end       if Input.trigger?(Input::L) and @max_pages != 1         Sound.play_cursor        @page_old = @wp_page        @wp_page -= 1        @slide_type = 1        check_limit        return      elsif Input.trigger?(Input::R) and @max_pages != 1           Sound.play_cursor        @page_old = @wp_page        @wp_page += 1        @slide_type = 0        check_limit        return     end   end  end  if MOG_PICTURE_GALLERY::PICTURE_GALLERY_MENU_COMMAND#==============================================================================# ■ Window Menu Command#==============================================================================class Window_MenuCommand < Window_Command     #------------------------------------------------------------------------------ # ● Add Main Commands #------------------------------------------------------------------------------       alias mog_picture_gallery_add_main_commands add_main_commands  def add_main_commands      mog_picture_gallery_add_main_commands      add_command(MOG_PICTURE_GALLERY::PICTURE_GALLERY_COMMAND_NAME, :picture, main_commands_enabled)  endend   #==============================================================================# ■ Scene Menu#==============================================================================class Scene_Menu < Scene_MenuBase   #------------------------------------------------------------------------------ # ● Create Command Windows #------------------------------------------------------------------------------          alias mog_picture_gallery_create_command_window create_command_window   def create_command_window       mog_picture_gallery_create_command_window       @command_window.set_handler(:picture,     method(:Picture_Gallery))   end    #------------------------------------------------------------------------------ # ● Picture Gallery #------------------------------------------------------------------------------           def Picture_Gallery       SceneManager.call(Scene_Picture_Gallery)   end end    end$mog_rgss3_picture_gallery = true

Latest Threads

Latest Posts

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,035
Messages
1,018,456
Members
137,821
Latest member
Capterson
Top