Map Screenshot
This script allows you to take a full image of any of your game’s maps
and export. An image of the map is referred to as a “mapshot” (as opposed to
screenshot).
The script provides various configuration options to control what kinds of
things you want to see on your map, such as events, vehicles, region ID’s, or
specific tile properties.
Note that if your map is too large this script will not work. There is a currently a limit of 97825 tiles per map (eg: 200×100 map has 20000 tiles).
Download
Script: download here
Addons
Draw Pictures – draws any pictures on the screen in the screenshot/mapshot
Usage
This script provides two functions:
- Screenshot – take a picture of the current screen
- Mapshot – take a picture of the map
The default key for taking a screenshot is F6.
The default key for taking a mapshot is F7.
These can be changed in the configuration section.
There are a number of options available in the configuration. Both screenshots and mapshots support the same options.
To take a mapshot, first start the game, and then hit F7.
A message will appear informing you that a mapshot was successfully taken.
You can find the image in the “Mapshot” folder inside your project. The above
map looks like this (the image itself is full-sized)
Alternatively, you can use script calls to take mapshots.
ms = Map_Saver.new(map_id) ms.mapshot
Aside from exporting images, you are able to use the image that the
map saver captures.
ms = Map_Saver.new(map_id) ms.mapshot bmp = ms.map_image
This gives you a reference to a Bitmap object that contains an image of
your map.
Drawing Events
One of the configuration options available is to determine whether events can be drawn or not: if it’s true, then events will be drawn. If it’s false, then they will not be drawn.
However, if an event is meant to act as a tile, then you want to be able to specify that only these should be drawn. You can do this by creating a comment on the first page of any events that should
<screenshot: tile>
These events will then be drawn even if you have chosen not to draw events.
Line 842: Uninitialized constant Bitmap::DL
So, I just got this script and it works pretty well. My only issue is my character showing up in the shot when I set the transparency on. Did I miss something?
I don’t have an official solution, but you can make the player character invisible by removing their sprite.
Sorry for the “bumping” … but i realy wanted say Thank You
So I click on the Download and am taken to a page of text which I recognize portions as being code. What do I do with it though? Do I copy and paste the entire thing into the script in RPG Maker or do I have to put in only the code portions and hope I dont miss any of them?
Trying to get this to work myself. I put in the script database though I get an error code on line 826. Since I don’t know scripts very well. I was hoping anyone can help me out
You have to go down to materials in the script page and then right click and select insert. That will open up a new page for you to paste the text to! you can name it to keep the different scripts you install separate
The base image of RTP !$Gate1 is always causes problems. When I take a map screen shot, the gate is displayed to the right of its original location.
This doesn’t work for me. I go in game, press F7, it say it’s exported the map shot then I go the the map shots folder and it isn’t there.
Install Step by Step for Noobs?
Thanks
What am I supposed to do with the script?
Line 389 uninitiated constant Object:: Game_Character
Help plz
i have this issue too. cant get it to work.
Right, I’m trying to use this to make dnd maps. Anyways, it SEEMS to be working (and I inserted a line into materials in order to put this script), and says it’s taking a screenshot while I playtest. However, I can’t seem to find a folder FOR the screenshots, inside the project folder or otherwise. Any help?
I can’t download the script. It just gives me a page that will not open. Could re upload it please? I really need it
Can you try with a different browser? Perhaps there are security settings preventing the script from being sent to you.
Sorry, for the late reply. I did use a different browser, and got the file. Thank you. Nice script by the way.
Hey Hime Im using gambits and yanfly’s save game script which uses your screenshot pic for a save file. Anyways I use a lot of pictures in my maps but they wont show up at all. I am also using your show pic add on.
Hi. Trying to install this on RPG Maker XP and I keep getting an error on the options.merge!(format: File.extname(filename)[1..-1].to_sym) line. When I first try to run the game not even when I pretty F7. It just says syntax error occured. Am I adding it wrong or something? Or does it not work with XP?
This script was designed to work with Ace. I don’t think it will work with other versions of RM.
Hey ,Hime ,here is a trouble,
when I make some Large-Graphic-Events in the map,
and I use this script to make a screenshot , the position of those Events is wrong…
How should I do ?
I don’t have an immediate solution. What you can do is to take a screenshot of in-game and then copy that specific part over.
OK~Thanks~
Here is a question, can this be rendered as a semi-transparent PNG file.
For instance if I actually only want to take a picture of the map and not say the parallax, so that I can take that into Photoshop and Gimp and apply my parallaxing items without having to get rid of a black border or worry about cutting out any bleedthrough border – tile bits.
If not, it’s not gameending but was curious,
I believe it exports as an RGBA PNG file by default, so the transparent tiles should be transparent in the picture.
Found a bug when trying to do a mass map capture using the function “Map_Saver.new(map_id).export” and also providing what I changed to fix it. Hope it’s helpful and thank you
Error map_id is null when I knew data was being passed, I seen that initialize takes this however doesn’t save it
Error in “export” said that it couldn’t find directory, if the directory was blank I defaulted it to TH::Map_Saver::Mapshot_Directory also changed the file name to be “Map ID – Map Name”
Added an option to suppress the display message (seeing as I want to have a script call that multiple times
Added a different function for Draw_Parallax, though it’s aesthetic taste
Added an error check in “th_mapsaver_update” for a map greater than 400 x 400 when pressing the capture button
And this was the code used to call that function multiple times
# Generate Maps
def self.gen_maps
Dir.glob('Data/Map???.rvdata2').each{ |m|
map_id = m[8..10]
place_name = $data_mapinfos[map_id.to_i].name
begin
Map_Saver.new(map_id.to_i).export
rescue Exception => ex_error
msgbox ex_error
end
}
end
Here are the changes
http://pastebin.com/2JmKaSmF
Hi Hime
For some reason the mapshot does not match the ingame in this example
http://imgur.com/V0WtGSm
http://imgur.com/qwtdBVe
You mean the lighting?
line 773 :RGSSError occurred.
failed to create bitmap
If your map is too big the script won’t be able to handle it.
Is there a way to limit the size of the map that the script will run on.
Ex. on a 500 by 500 map, is it possible to make the script only take 100 by 100 or 200 by 200?
I didn't include any logic to specify the size that the map screenshot should operate on, unfortunately. What you could do is to make a copy of your map, break that into pieces (using shift map function and resizing the dimensions), take individual screenshots, then piece it together in an image editor…
I think the limit on the image size is probably just over 400×400 tiles, so if you break your map in half into 500×250 it might work.
I’m not sure why I’m getting this error.
651: TypeError occurred.
can’t iterate from Float
Does this occur in a new project? How are you taking a picture (pressing one of the keys, for example)? Have you changed anything in the script?
I’m getting SyntaxError on line 707. I put the script above main and below everything else.
Try redownloading the script and try again. I noticed something didn’t look right.
Great Script !
is link dead?
Works for me. Check your anti-virus settings.
oh, sorry.
it is my IE problem.
It works…but it doesn’t take pictures of any events that are on the map. Anyway to do this?
In the configuration section in the script, there is a “Draw_Events = false” line. Change that to true.
This applies to other things on the map.
I’m trying to use this script, and I’ve put it below materials in the scripts, and applied it… But when I open a playtest of my game and press F7, absolutely nothing happens. Do I need to create a folder called mapshots in my project file for it to work, or? There’s no error message or anything, it just doesn’t seem to have any effect.
You should be able to just press F7 and it will work. Is it placed above Main? Do you have any other scripts that may use F7 for something else?
It’s placed above main, yeah. Just below Materials, like immediately below. It’s actually the only custom script I’m using, as I’m using RPGmaker purely for mapping purposes.
This is VX Ace, right? I’m not sure if it would work with VX.
You can send me a demo showing the issue and I might be able to determine what’s wrong.
It’s VX Ace, yeah. And sure, that’d be great. How do I go about sending it to you?
Upload it to a filehost site like dropbox or mediafire and then use the Contact Me form in the menu above to send it to me.
Okay, I sent it through.
In order to save a particular map, you have to actually go into the map and press F7.
…I’m sorry, I’m not sure I follow. Do you mean that it won’t work if the map I’m trying to save is the default starting location for the player? I’ve literally just been starting the game and pressing f7 in the hopes of saving the map it currently starts the game on.
When I begin the game, I press “New Game” and when the map loads, I press F7. A message is then displayed informing me that a picture of the map has been taken.
…Maybe my f7 key just doesn’t work, as I’ve been trying the same thing. I’ll see if I can get a friend to save my maps for me. Regardless, thanks a lot for your help!
In case certain keys don’t work (or don’t exist), in the config section in the script, you can change the Mapshot button from Input::F7 to something like Input::X, which will allow you to use the A key to take a picture. You can press F1 while playtesting and go to the keyboard tab to see what buttons are available.
i keep getting the message:
Sctipt ” line 387: NameError occurred.
uninitialized constant Object::Game_Character How can i fix this?
Did you place this script below Materials?
no, thanks for the reaction
um… how do i get this to work on RPGmaker VX ace
Insert the script into your project and then press F6 when you testplay the game to take a picture.
You are a gentleman and a scholar, thank you for this!
I have a question about and getting it to draw just door events. I placed a comment in the event at the top but it still ignores this. Is there a way just to draw certain events and not all or nothing?
You placed what comment? The one that is described in the script?
comment screenshot: tile
on first page of every event within brackets
as described in Drawing Events as “events will then be drawn even if you have chosen not to draw events.”
Strange, I’m looking at the script and don’t see anything related to the draw event comment. Wondering whether I wrote the description but never wrote the code.
I’ve added the check for whether the comment exists. Updated script will allow you to selectively choose your events as described.
Thank you very much.
I received an error on line 391 saying:
“ArguementError occurred.
wrong number of arguements (1 for 0)”
Is it clashing with something maybe? I’m not sure what to do….
See if it works in a new project.
Hime, can I have request please? I would like to display mapshot as a picture, so I need to change path for saved mapshots for Graphics/Pictures. Tried to change it, but it creates catalog in main game called “GraphicsPictures” insted of 🙁
Change the directory, not the name of the file.
It work’s, omg, sorry o_o
Thank you!
It works o_o sorry and thank you!
Hello,
can I please use “show picture” option to display taken screenshot, or use some script code to show mapshots/screenshots ingame?
Is it possibly to save the map with any tints active? like say night time tinted?
This script currently does not support tinting or other screen effects because those are rendered separately by the game. If there is something I can use that would allow me to manipulate pixels such as applying certain tints, then that may be possible.
sadness
This is a weird request, but its (hopefully) a simple one. My brother's computer cannot access its "Documents" folder(he can't tell me any more than that)which, to my knowledge is where the RPGVXAce folder is located and, thus, the screen shots. Since it turns out I'm fairly illiterate when it comes to code, I was wondering if it is possible to save the mapshots to somewhere else, the desktop perhaps?
It's saved in your project's folder, so you can move the entire project onto the desktop.
Hello, I'm wondering…is there a way for events or certain events to show up in the map screenshot? I have some maps where I have evented tiles where I cannot normally place tiles on due to passage settings and conflict.
This can be added, but you would need to add extra comments to any events that should be treated differently. I'll create a new post when it is ready.
Hi, script doesn
t capture shown pictures when you do a screenshot. Can you teach him to do that?:D i
ll be really grateful to you.You dont support this script anymore?T_T
Do you need those pictures for mapshots as well? Or just screenshots?
just screenshots)
Any news?
I've updated the post with a "draw pictures" add-on. Add that to your project and you should be able to get pictures as well.
Oh, now i see, big thanks and sorry for my English 🙂
It's not possible to call the mapshot to use in an event. Also, how do I call screenshots? All I want to do is freeze the game like in the menu.
I am not sure how you plan to use the image in an event.
Calling screenshots is the same as calling mapshots except you call
screenshot
instead ofmapshot
.Got an Error, No idea on how to debug:
Script ‘Map_Screenshot’ line385: NameError occured.
uninistialized constant Object::Game_Character
—
Any Help would be appreciated!
Place this script below Materials
Woop’s, My bad..
Thanks for the quick reply. Followed.
~~Ryan
F6 and F7 do not have any reserved functions in Ace.
How i get GDi+ interface? or how do i know i have it?
The script dont work X__X but i need it really badly…
and my map is smaller than 400×400.. (123×100 atm)…
GDI+ interface comes with windows XP and later. If you don’t have it you can try downloading it from microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=18909
i have win7…but i donloaded it right now but the script dont work again…
is it for the ace? because in ace f7 and f6 have a function (i tried to change it but that dont work also)
Please define “too large” (preferably in tiles, though in pixels will do fine too).
Currently at least 400×400 in tiles or something in the area.
Script updated to use GDI+ interface. No need to download additional dll’s anymore unless you don’t have gdiplus.dll for some reason.