Últimos temas
» [MV] ¿Cómo mover un sprite?
por Frägarach Hoy a las 2:19 am

» Como cambio esto?...
por Shy_Cream Hoy a las 2:09 am

» El Dia Z - Demo
por EdwarPlay Ayer a las 8:08 pm

» Pokemon Destiny
por Greninja555 Ayer a las 5:46 pm

» Animación Habilidad de Enemigos RPGMAKER VX ACE
por Metatron Ayer a las 3:16 am

» [VX] Cambio de Resolución
por luistop12 Vie Sep 13, 2019 6:51 am

» ¿Como Mover al jugador mientras hay una conversación?
por Zachy Vie Sep 13, 2019 2:05 am

» ¿Como hacer un menú/Galería de imágenes? (RPG VxAce)
por ZororoWhite Jue Sep 12, 2019 7:57 pm

» Inherited Sins [Juego Completo] [Definitive Edition]
por Nina Jue Sep 12, 2019 7:47 pm

» Zaza no konpasu (La Brújula de Zaza) [VXACE]
por Pocari Sáb Sep 07, 2019 12:28 pm

» Ayuda con el ABS
por DarkarPro0102 Sáb Sep 07, 2019 8:32 am

» Pop! Horror City Complementos
por EdwarPlay Jue Sep 05, 2019 10:59 pm


[VX] Sacar fotos en juego

Ir abajo

[VX] Sacar fotos en juego Empty [VX] Sacar fotos en juego

Mensaje por KRiZaLiD el Jue Mar 13, 2014 5:38 am

Este script es conocido. Mientras juegan pueden sacar fotos tan sólo presionando F5.
Créditos: modern algebra

Código:
 #==============================================================================
    #  Screenshot
    #  Version: 1.0
    #  Author: modern algebra
    #  Date: April 5, 2010
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #  Description:
    #    This script allows the player to take a screenshot of any area in the game
    #  that he/she wants. Useful for sharing achievements I suppose.
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #  Instructions:
    #    All you need to do is set which button you want to use for taking
    #  screenshots with at line 31, and set the destination folder for screenshots
    #  at line 33.
    #    If you want to force a screenshot, you can put this code in a call script:
    #      $scene.take_screenshot
    #==============================================================================
    #==============================================================================
    # ** Scene_Base
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #  Summary of Changes:
    #    new constant - MA_SCREENSHOT_BUTTON, MA_SCREENSHOT_PATH
    #    aliased method - update
    #==============================================================================

    class Scene_Base
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * CONSTANTS
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      #  MA_SCREENSHOT_BUTTON - the button to press to take a Screenshot
      MA_SCREENSHOT_BUTTON = Input::F5
      #  MA_SCREENSHOT_PATH - the path to save the file
      MA_SCREENSHOT_PATH = "Screenshot "
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Frame Update
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      alias modag_screenshot_upd_9ik2 update
      def update (*args)
        modag_screenshot_upd_9ik2 (*args) # Run Original Method
        if Input.trigger? (MA_SCREENSHOT_BUTTON)
          take_screenshot
        end
      end
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Take Screenshot
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      def take_screenshot
        x = 1
        while FileTest.exist? ("#{MA_SCREENSHOT_PATH}#{x}.png")
          x += 1
        end
        Graphics.snap_to_bitmap.make_png (x.to_s, MA_SCREENSHOT_PATH, 1)
      end
    end
    #==============================================================================
    #  Everything below this point is the PNG Saver script, written by 66rpg.com
    #==============================================================================

    # PNG Saver by 66rpg.com

    module Zlib
      class Png_File < GzipWriter
        def make_png(bitmap, mode = 0)
          @bitmap, @mode = bitmap, mode
          self.write(make_header)
          self.write(make_ihdr)
          self.write(make_idat)
          self.write(make_iend)
        end
        def make_header
          return [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a].pack('C*')
        end
        def make_ihdr
          ih_size              = [13].pack('N')
          ih_sign              = 'IHDR'
          ih_width              = [@bitmap.width].pack('N')
          ih_height            = [@bitmap.height].pack('N')
          ih_bit_depth          = [8].pack('C')
          ih_color_type        = [6].pack('C')
          ih_compression_method = [0].pack('C')
          ih_filter_method      = [0].pack('C')
          ih_interlace_method  = [0].pack('C')
          string = ih_sign + ih_width + ih_height + ih_bit_depth + ih_color_type +
                  ih_compression_method + ih_filter_method + ih_interlace_method
          ih_crc = [Zlib.crc32(string)].pack('N')
          return ih_size + string + ih_crc
        end
        def make_idat
          header  = "\x49\x44\x41\x54"
          data    = @mode == 0 ? make_bitmap_data0 : make_bitmap_data1
          data    = Zlib::Deflate.deflate(data,
          crc    = [Zlib.crc32(header + data)].pack('N')
          size    = [data.length].pack('N')
          return size + header + data + crc
        end
        def make_bitmap_data0
          gz = Zlib::GzipWriter.open('png2.tmp')
          t_Fx = 0
          w = @bitmap.width
          h = @bitmap.height
          data = []
          for y in 0...h
            data.push(0)
            for x in 0...w
              t_Fx += 1
              if t_Fx % 10000 == 0
                Graphics.update
                if t_Fx % 100000 == 0
                  s = data.pack('C*')
                  gz.write(s)
                  data.clear
                end
              end
              color = @bitmap.get_pixel(x, y)
              data.push(color.red, color.green, color.blue, color.alpha)
            end
          end
          s = data.pack('C*')
          gz.write(s)
          gz.close
          data.clear
          gz = Zlib::GzipReader.open('png2.tmp')
          data = gz.read
          gz.close
          File.delete('png2.tmp')
          return data
        end
        def make_bitmap_data1
          w = @bitmap.width
          h = @bitmap.height
          data = []
          for y in 0...h
            data.push(0)
            for x in 0...w
              color = @bitmap.get_pixel(x, y)
              data.push(color.red, color.green, color.blue, color.alpha)
            end
          end
          return data.pack('C*')
        end
        def make_iend
          ie_size = [0].pack('N')
          ie_sign = 'IEND'
          ie_crc  = [Zlib.crc32(ie_sign)].pack('N')
          return ie_size + ie_sign + ie_crc
        end
      end
    end

    #=============================================================================
    # ** Bitmap
    #=============================================================================
    class Bitmap
      def make_png(name = 'like', path = '', mode = 0)
        Zlib::Png_File.open('png.tmp')  { |gz| gz.make_png(self, mode) }
        Zlib::GzipReader.open('png.tmp') { |gz| $read = gz.read }
        f = File.open(path + name + '.png', 'wb')
        f.write($read)
        f.close
        File.delete('png.tmp')
      end
    end
Espero les guste. Mis saludos  *:)* 

Se despide KRiZ

_________________
Mi Proyecto:
[VX] Sacar fotos en juego VqJJJp

[VX] Sacar fotos en juego AnrEWG[VX] Sacar fotos en juego UqGVnKv

KRiZaLiD apoya:
[VX] Sacar fotos en juego 3gqmui[VX] Sacar fotos en juego GJ7qjn[VX] Sacar fotos en juego ZhwnH1[VX] Sacar fotos en juego NT6Pp7[VX] Sacar fotos en juego WXmSrO[VX] Sacar fotos en juego CKEALv
KRiZaLiD
KRiZaLiD
Moderador
Moderador

Masculino
Chile
RPG Maker : Vx
Mensajes : 856
Monedas : 4331
Reputación : 110
Edad : 34
Localización : Florida (pueblo fantasma), Chile

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.