Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Snapshot

Snapshot

Intro
Ever wanted to take screenies or snapshots ingame? While there are other methods of doing that, this one is by far the easiest. With a simple button press or script call, it'll take a screenshot of the game for you and save it in a folder.
Also useful for beta testing. Your testers can snapshot bugs or errors in mapping or stuff like that.

Features
  • Take picture with button press or script call
  • Customizable Button to press
Screenshots
Here's how well the pictures come out. No windows borders or anything.
snap_5.png

Demo
Download

Script
You'll also need the screenshot.dll for this script to function correctly.
Code:
 

#===============================================================================

# Snapshot

# Author game_guy

# Version 1.0

#-------------------------------------------------------------------------------

# Intro:

# Ever wanted to take screenies or snapshots ingame? While there are other

# methods of doing that, this one is by far the easiest. With a simple button

# press or script call, it'll take a screenshot of the game for you and

# save it in a folder.

# Also useful for beta testing. Your testers can snapshot bugs or errors in 

# mapping or stuff like that.

#

# Features:

# Take picture with button press or script call

# Customizable Button to press

#

# Instructions:

# Place screenshot.dll in your projects folder.

# Get the dll here if you need it

# [url=http://decisive-games.com/ggp/scripts/screenshot.dll]http://decisive-games.com/ggp/scripts/screenshot.dll[/url]

# Make a folder in your projects folder called Snapshots

# 

# Go down to the line where it says SnapShot_Key = Input::A

# You can change Input::A to any of the following

# Input::A - Usually the Shift Key

# Input::B - Usually the X or Escape key

# Input::C - Usually C, Enter, or Space

# Input::X - Usually the A Key

# Input::Y - Usually the S Key

# Input::Z - Usually the D Key

# Input::L - Usually the Q Key

# Input::R - Usually the W Key

# Input::SHIFT

# Input::CTRL

# Input::ALT

# Input::F5

# Input::F6

# Input::F7

# Input::F8

# Input::F9

#

# To take a snapshot with a script call use this

# GameGuy.snap thats it!

#

# Compatibility:

# Not tested with SDK. (Should work though)

# Will work with anything.

#

# Credits:

# game_guy ~ For making it

# Google ~ Searching up Win32Api tutorials

# Screenshot.dll ~ Whoever made this, made this script possible

#===============================================================================

module GameGuy

  SnapShot_Key = Input::A # Shift Key

  def self.snap

    snp = Win32API.new('screenshot.dll', 'Screenshot', %w(l l l l p l l), '')

    window = Win32API.new('user32', 'FindWindowA', %w(p p), 'l')

    ini = (Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 

      'l')

    game_name = "\0" * 256

    ini.call('Game', 'Title', '', game_name, 255, '.\Game.ini')

    game_name.delete!('\0')

    win = window.call('RGSS Player', game_name)

    dir = Dir.new("Snapshots/")

    count = 0

    dir.entries.each {|i| count += 1}

    file_name = "Snapshots/snap_#{count}.png"

    snp.call(0, 0, 640, 480, file_name, win, 2)

  end

end

module Input

  class << self

    alias gg_update_input_snapshot_lat update

  end

  def self.update

    if Input.trigger?(GameGuy::SnapShot_Key)

      GameGuy.snap

    end

    gg_update_input_snapshot_lat

  end

end

 
Instructions
In the script. Its recommended to place this above main but below everything else. It shouldn't cause issues with anything.

Compatibility
Not tested with SDK. (Should work anyways)
Should work with everything.

Credits
  • game_guy ~ For making it
  • Google ~ Searching up Win32Api tutorials
  • Screenshot.dll ~ Whoever made this, made this script possible
 
Excellent script. I'm saving both the script and the dll to my flash drive so I can play around with this when I get home. *No connection at home for the time being, so library.

Also, I love your avatar and sigy. I <3 Gir.
Doom doom doom doom.
 
Wow! This is really great! Are you planning on future versions? I would like to suggest adding sound effects and maybe a screen "flash" like a picture has been taken! Or perhaps you could add a way to view the picture's you've have taken in-game as well... That way, the player could have a "camera" item, and a "photo album"!

This is very useful for testing purposes and taking screen shots of error reports!

GREAT JOB! I like.
 
I added a camera shutter sound effect and flash in my game and it's fun to use with a "camera" item!

I would also like to make another suggestion... It just crossed my mind that I think this script should create the "Snapshots" directory automatically...

Anyway thanks for this script, it's been fun.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top