Map Screenshot

Help spread the word!Share on FacebookShare on TumblrTweet about this on TwitterShare on Google+Share on LinkedInShare on RedditFlattr the author

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).

mapScreenshotEx1

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.

mapScreenshot1

You can find the image in the “Mapshot” folder inside your project. The above
map looks like this (the image itself is full-sized)

mapScreenshotEx2

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.

Help spread the word!Share on FacebookShare on TumblrTweet about this on TwitterShare on Google+Share on LinkedInShare on RedditFlattr the author

You may also like...

89 Responses

  1. Marco says:

    Install Step by Step for Noobs?
    Thanks

  2. Jason Maio says:

    What am I supposed to do with the script?

  3. Dakota says:

    Line 389 uninitiated constant Object:: Game_Character

    Help plz

  4. Atem says:

    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?

  5. Megan says:

    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

    • Hime says:

      Can you try with a different browser? Perhaps there are security settings preventing the script from being sent to you.

      • Megan says:

        Sorry, for the late reply. I did use a different browser, and got the file. Thank you. Nice script by the way.

  6. Eithlion says:

    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.

  7. Cillian says:

    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?

  8. Shiina says:

    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 ?

  9. JayRay says:

    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,

  10. Figi says:

    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

  11. AlliedG says:

    Hi Hime

    For some reason the mapshot does not match the ingame in this example

    http://imgur.com/V0WtGSm

    http://imgur.com/qwtdBVe

  12. Yourinternetprovider says:

    line 773 :RGSSError occurred.
    failed to create bitmap

    • Hime says:

      If your map is too big the script won’t be able to handle it.

      • Yourinternetprovider says:

        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?

        • Hime says:

          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.

  13. Rob says:

    I’m not sure why I’m getting this error.
    651: TypeError occurred.
    can’t iterate from Float

    • Hime says:

      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?

  14. Zenharu says:

    I’m getting SyntaxError on line 707. I put the script above main and below everything else.

  15. Penfield says:

    Great Script !

  16. mondrrian says:

    is link dead?

  17. Merlin says:

    It works…but it doesn’t take pictures of any events that are on the map. Anyway to do this?

    • Hime says:

      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.

  18. Colin says:

    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.

    • Hime says:

      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?

      • Colin says:

        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.

        • Hime says:

          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.

          • Colin says:

            It’s VX Ace, yeah. And sure, that’d be great. How do I go about sending it to you?

    • Hime says:

      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.

      • Colin says:

        Okay, I sent it through.

        • Hime says:

          In order to save a particular map, you have to actually go into the map and press F7.

          • Colin says:

            …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.

          • Hime says:

            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.

          • Colin says:

            …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!

          • Hime says:

            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.

  19. Martijn says:

    i keep getting the message:
    Sctipt ” line 387: NameError occurred.
    uninitialized constant Object::Game_Character How can i fix this?

  20. Dusktreader says:

    um… how do i get this to work on RPGmaker VX ace

  21. Charles says:

    You are a gentleman and a scholar, thank you for this!

  22. Figi says:

    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?

    • Hime says:

      You placed what comment? The one that is described in the script?

      • Figi says:

        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.”

        • Hime says:

          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.

  23. Rhy says:

    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….

  24. Michal says:

    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 🙁

  25. Mike says:

    Hello,
    can I please use “show picture” option to display taken screenshot, or use some script code to show mapshots/screenshots ingame?

  26. Omni says:

    Is it possibly to save the map with any tints active? like say night time tinted?

    • Hime says:

      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.

  27. David says:

    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?

  28. Azurecyan says:

    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.

    • Hime says:

      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.

  29. foure says:

    Hi, script doesnt capture shown pictures when you do a screenshot. Can you teach him to do that?:D ill be really grateful to you.

  30. Navon says:

    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.

    • Hime says:

      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 of mapshot.

  31. Ryan says:

    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!

  32. Tsukihime says:

    F6 and F7 do not have any reserved functions in Ace.

  33. Makoto says:

    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)…

  34. Darkhog says:

    Note that if your map is too large this script will not work.

    Please define “too large” (preferably in tiles, though in pixels will do fine too).

  35. Tsukihime says:

    Script updated to use GDI+ interface. No need to download additional dll’s anymore unless you don’t have gdiplus.dll for some reason.

  1. December 21, 2013

    […] first location is Misty Mountain, a university. I was able to get an image of the entire map from Tsukihime’s handy script and some minor visual editing. Here it is (click to view the map at larger […]

Leave a Reply

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax