Код:
#==============================================================================
# GAMBIT SAVE GAME SCREENSHOT
#------------------------------------------------------------------------------
# WRITTEN BY: Gambit
#
# Special thanks to: DarthVollis for making request
#------------------------------------------------------------------------------
# VERSION: 1.00
#
# Updates may be found at: http://www.rpgmakervxace.net/topic/1...me-screenshot/
#------------------------------------------------------------------------------
# CHANGELOG:
# v 1.00 - May 21, 2013 > Initial release
#------------------------------------------------------------------------------
# DESCRIPTION AND FEATURES:
# This script will take a screenshot of the player's current location on the
# map when the player saves the game. The screenshot will be displayed when
# saving or loading a game in the bottom right window of Yanfly's Ace Save
# Engine.
#
# Features:
# - Takes a screenshot of the player's location on the map whenever the
# game is saved using the standard scene
# - Screenshot will immediately update upon saving
# - Save screenshots are stored in their own directory
# (Graphics/Save Screenshots/)
# - Save screenshot can either take up Yanfly's entire save information
# window or be displayed in the bottom right quadrant of the window.
# - Can disable Yanfly's save information text. If the text is enabled, the
# text will be shown on top of the screenshot and the opacity of the
# screenshot can be configured.
#------------------------------------------------------------------------------
# REQUIRES:
# - Yanfly Engine Ace - Ace Save Engine
# - Map Screenshot by Tsukihime
#------------------------------------------------------------------------------
# INSTRUCTIONS AND SETUP:
# Place this script below Yanfly Engine Ace - Ace Save Engine.
#
# Configure the "Sprite draw options" in the header of Tsukihime's Map
# Screenshot script. This will determine if the events, player, followers, and
# vehicles will be displayed in the screenshot. They are NOT by default.
#
# Setup for this script is below. Please read explanations in comments.
#------------------------------------------------------------------------------
# Terms of Use:
# - Credit if used
# - Free for use in non-commercial projects
# - Please do not repost elsewhere, convert, or translate this script without
# permission.
# - If seeking to use in commercial projects (projects that are generating money
# in any way, including advertisements), please contact me via PM at:
# http://www.rpgmakervxace.net/topic/1...me-screenshot/
# - When using third-party scripts, the terms and conditions of those scripts
# also apply. Please be aware of them prior to using.
# - Not for use in any project involving any form of nudity, commercial or not
#==============================================================================
module Gambit
module Save_Game_Screenshot
SCREEN_POS = 0 # Position of screenshot:
# 0 = full window
# 1 = bottom right of window
ENABLE_INFO = false # Show Yanfly script's default save game information text
SCREEN_OPAC = 255 # Only needed if ENABLE_INFO is set to true. Screenshot opacity.
end
end
#####################################################################################
#####################################################################################
#####################################################################################
#####################################################################################
###### END OF SETTING UP ###### ONLY EDIT BELOW IF YOU KNOW WHAT YOU ARE DOING ######
#####################################################################################
#####################################################################################
#####################################################################################
#####################################################################################
($imported ||={})["GambitSGScreenshot"] = true
raise "Gambit Save Game Screenshot requires Yanfly Engine Ace - Ace Save Engine" unless $imported["YEA-SaveEngine"]
raise "Gambit Save Game Screenshot requires Map Screenshot by Tsukihime" unless $imported["TH_MapSaver"]
module Cache
def self.savess(picname)
load_bitmap("Graphics/Save Screenshots/", picname)
end
end
class Window_FileStatus < Window_Base
alias gam_saveshot_draw_save_contents draw_save_contents
def draw_save_contents
gam_draw_saveshot
gam_saveshot_draw_save_contents if Gambit::Save_Game_Screenshot::ENABLE_INFO
end
def gam_draw_saveshot
@saveshot = Sprite_Base.new
@saveshot.visible = false
@saveshot.bitmap = Cache.savess("Save" + (@file_window.index + 1).to_s)
rect = Rect.new(0,0,@saveshot.bitmap.width,@saveshot.bitmap.height)
Gambit::Save_Game_Screenshot::SCREEN_POS == 1 ? target = Rect.new(contents.width/2,contents.height/2,contents.width/2,contents.height/2) : target = Rect.new(0,0,contents.width,contents.height)
Gambit::Save_Game_Screenshot::ENABLE_INFO ? opacity = Gambit::Save_Game_Screenshot::SCREEN_OPAC : opacity = 255
contents.stretch_blt(target, @saveshot.bitmap, rect, opacity)
end
def refresh
contents.clear
@saveshot.bitmap.dispose if !@saveshot.nil?
reset_font_settings
@header = DataManager.load_header(@file_window.index)
if @header.nil?
draw_empty
else
draw_save_contents
end
end
end
class Scene_File
def on_action_save
@action_window.activate
if DataManager.save_game(@file_window.index)
on_save_success
s = Map_Saver.new($game_map.map_id)
s.set_scale(TH::Map_Saver::Screenshot_Scale)
s.saveshot(@file_window.index)
refresh_windows
else
Sound.play_buzzer
end
end
end
class Map_Saver
def export_saveshot(dirName="", number)
format = get_format
name = "Save" + (number + 1).to_s
Dir.mkdir(dirName) unless File.directory?(dirName)
filename = "%s\\%s.%s" %[dirName, name, format]
@map_image.save(filename)
end
def saveshot(save_number)
@screen_local = true
redraw
export_saveshot("Graphics\\Save Screenshots", save_number)
end
end
Социальные закладки