02-24-2025, 12:02 PM
(This post was last modified: 02-24-2025, 12:23 PM by kyonides.
Edit Reason: Added Workaround
)
Easy fix. Just make sure the custom Spriteset_Map includes this line:
So it might say the following:
Later on you will find a method called refresh_preview. Below you will find the second fix. Or is it a workaround?
How To Implement These Fixes
Now you can open it.
The problem is that it will throw the error after trying to generate the map.
That is why I came up with the second fix aka the workaround a couple of minutes later.
Yet, there is a chance you will come across a Tile script that makes the executable crash at line 33 thanks to a TypeError bug...
I will ignore any further questions
so make sure you're reading
the instructions carefully over and over again until you get the idea.
Code:
@preview = Bitmap.new(@width, @height)
So it might say the following:
Code:
#===============================================================================
# ** Spriteset_Map
#-------------------------------------------------------------------------------
# This class brings together map screen sprites, tilemaps, etc.
# It's used within the Scene_Map class.
#===============================================================================
class Spriteset_Map
attr_accessor :use_cache
attr_reader :til_on
attr_reader :cha_on
attr_reader :width
attr_reader :height
attr_reader :panorama
attr_reader :character_sprites
attr_reader :fog
attr_reader :preview
attr_reader :tilesize
#-----------------------------------------------------------------------------
# * Object Initialization
#-----------------------------------------------------------------------------
def initialize
@progress = Window_Progress.new("Collecting map data")
@use_cache = true
@pan_on = (Settings['pan_on'] == 'true')
@til_on = (Settings['til_on']).to_i
@cha_on = (Settings['cha_on'] == 'true')
@fog_on = (Settings['fog_on'] == 'true')
@width = $game_map.width * 32
@height = $game_map.height * 32
@tile_cache = {}
init_panorama # Initialize Panorama
init_tilemap # Initialize Tilemap
init_characters # Initialize Characters
init_fog # Initialize Fog
# init_weather # Initialize Weather
# init_timer # Initialize Timer
@progress.dispose
@preview = Bitmap.new(@width, @height)
refresh_preview
end
Later on you will find a method called refresh_preview. Below you will find the second fix. Or is it a workaround?

Code:
def refresh_preview
@refresh = false
@preview.dispose unless @preview.nil?
Graphics.update
# Set initial attempted tilesize for resulting image
@tilesize = Settings['start_tilesize'].to_f
# Number of times to try at the larger size before giving up
tries = 2
try = 0
loop do
# Catch "failure to create bitmap" from large size
begin
zoom = @tilesize / 32
Debug.log 'Starting to refresh preview'
# Create bitmaps representing the tilemap and assorted layers
@preview = Bitmap.new(self.width * zoom, self.height * zoom)
Graphics.update # Creating a large bitmap could take a while
Debug.log 'Created bitmap'
# Draw panorama if enabled
Debug.log pan_on ? 'Drawing panorama...' : 'Skipping panorama'
if pan_on
@preview.plane_blt(@preview.rect, @panorama, @preview.rect)
Debug.log 'Drew panorama'
end
# Draw tiles and characters
tiles = []
tiles += @tiles0.values.flatten if til_on.to_i == 1
tiles += @tiles1.values.flatten if til_on.to_i == 2
tiles += @tiles2.values.flatten if til_on.to_i == 3
tiles += @tiles.values.flatten if til_on.to_i == 4
tiles += @char_tiles if cha_on
progress = Window_Progress.new("Drawing preview", tiles.size, "tiles")
i = 0
tiles.sort.each do |tile|
if (i += 1) % 1000 == 0
progress.update(1000)
Graphics.update
end
if @tilesize == 32
@preview.blt(tile.sx, tile.sy, tile.bitmap, tile.rect, tile.opacity)
else
drect = Rect.new(tile.sx * zoom, tile.sy * zoom,
tile.rect.width * zoom, tile.rect.height * zoom)
@preview.stretch_blt(drect, tile.bitmap, tile.rect, tile.opacity)
end
end
progress.dispose
Debug.log fog_on ? 'Drawing fog...' : 'Skipping fog'
if fog_on
@preview.plane_blt(@preview.rect, @fog, @preview.rect, @fog_opacity)
Debug.log 'Drew fog.'
end
Debug.log 'Finished refreshing preview.'
break
rescue Exception
progress.dispose unless progress.nil?
@preview.dispose unless @preview.nil?
if (try += 1) % tries == 0
if @tilesize == 2 # If we cannot reduce the size any more
Debug.log "Preview draw failed twice at smallest size; aborting."
p "Cannot create preview; system resources unavailable.",
"If you have generated other maps, try clearing the map cache."
@preview = nil
return false
end
Debug.log "Preview draw failed twice; reducing zoom to try again."
# Reduce the tilesize until it works
@tilesize /= 2
end
Debug.log "Error while drawing preview. Trying again."
ensure
zoom = @tilesize / 32
Debug.log 'Starting to refresh preview'
@preview = Bitmap.new(self.width * zoom, self.height * zoom)
end
Graphics.update
end
true
end
How To Implement These Fixes
- There's a file called MapMaker.rxdata in the game's root directory. Copy it.
- Create a new project.
- Close it. Yes, close it!
- Remove the Scripts.rxdata file in the new project's Data folder.
- Rename MapMaker.rxdata as Scripts.rxdata.
- Copy and paste the fixes following the examples above.
- Save the project but DON'T playtest it.
- Go back to the MapMaker's root directory and run the MapMaker.exe file.
Now you can open it.

The problem is that it will throw the error after trying to generate the map.

That is why I came up with the second fix aka the workaround a couple of minutes later.
Yet, there is a chance you will come across a Tile script that makes the executable crash at line 33 thanks to a TypeError bug...
I will ignore any further questions


"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
![[Image: SP1-Scripter.png]](https://www.save-point.org/images/userbars/SP1-Scripter.png)
![[Image: SP1-Writer.png]](https://www.save-point.org/images/userbars/SP1-Writer.png)
![[Image: SP1-Poet.png]](https://www.save-point.org/images/userbars/SP1-Poet.png)
![[Image: SP1-PixelArtist.png]](https://www.save-point.org/images/userbars/SP1-PixelArtist.png)
![[Image: SP1-Reporter.png]](https://i.postimg.cc/GmxWbHyL/SP1-Reporter.png)
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
![[Image: SP1-Scripter.png]](https://www.save-point.org/images/userbars/SP1-Scripter.png)
![[Image: SP1-Writer.png]](https://www.save-point.org/images/userbars/SP1-Writer.png)
![[Image: SP1-Poet.png]](https://www.save-point.org/images/userbars/SP1-Poet.png)
![[Image: SP1-PixelArtist.png]](https://www.save-point.org/images/userbars/SP1-PixelArtist.png)
![[Image: SP1-Reporter.png]](https://i.postimg.cc/GmxWbHyL/SP1-Reporter.png)
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE