RMVXACE WORKAROUNDS

Ever get stuck? Might want to check this out

While I was making a game with RMVXAce I noticed a lot of new things about it. Here are some of them!

I will update this as I get more, but feel free to add more stuff if you wish!
Most of the time, I have more over at my blog.

1.) My Parallel Process Event won't run whenever I'm talking to somebody!
Why? The reason why this happen is because of how RMVXAce handles event processing. This is due to Fiber.yield. It's going to be a long explanation and the only way to "Fix" this is to rewrite the game interpreter or the message system. But fret not, there's a way to fix this!

Why should I be concerned? If you like making animated events through parallel processes, they would stop whenever a message box is visible!

How to fix? Just put the commands of the parallel process event inside a loop or use labels. It will run normally~



2.) Shift Mapping destroys auto-tile passability!
Why? This is intentional and only works with ceilings but not on walls. Unconfirmed, but it might only be A4 wall tops. Someone check this out?

Why should I be concerned? You can walk through autotiles for ceilings.



How to fix? Use a spare empty upper tile set the passability to x and lay it along the edges.

3.) My Sound Effect won't play fully!
Why? I noticed this while working on events, and it's usually when there's a show message AFTER.

Why should I be concerned? What's stated above.

How to fix? Just add a more wait frames after the sound effect. 15-60 seems to do the trick.

3.) My Picture won't dispose even when I already added a clear picture!
Why? I still haven't pinpointed this, but I noticed this happens when there's a show message after it.

Why should I be concerned? What's stated above.

How to fix? Just like sound effect, add more wait frames or add a clear everything after the event is done.

4.) How do I change TP?
How?

Game_Battler, line 730:
self.tp = rand * 20


Change to
self.tp = any number you want


5.) There is this annoying bug in RPG Maker VXAce!
Why? Languages.
How to fix?
Go to Game_System lines 38 - 40:
def japanese?

$data_system.japanese
end


change that to this:

def japanese?
return false
end


After that, add these for extra measure.
Lonewolf’s Custom Font Junk Symbol Fix
Mezzolan’s Arrow Fix (Put this below Victory Aftermath if you’re using that.)

6.) Star Passability Issue
Why? By default, VXAce has star flags ignore arrow passabilities.

Why should I be concerned? Refer to picture.


How to fix?
Here's a snippet by NeonBlack
Here is the solution. It checks if the tile is a star before checking passability. If the tile is a star and it is passable, it then checks the tile UNDER it. If not, it returns false as always. This prevents everything that is a star tile from being passable.

 

#==============================================================================
# VXAce Star Passability Bug Fix
# by NeonBlack
# -- Level: Easy, Normal
# -- Requires: n/a
# -- This simply checks if the tile is a star before checking passability. If the tile is
# a star and it is passable, it then checks the tile UNDER it. If not, it returns false
# as always. This prevents everything that is a star tile from being passable.
#
# -- Original Topic:
# [url]http://forums.rpgmakerweb.com/index.php?/topic/7620-vxace-passabilities-bug/[/url]
#==============================================================================

class Game_Map

def check_passage(x, y, bit)
all_tiles(x, y).each do |tile_id|
flag = tileset.flags[tile_id]
if flag & 0x10 != 0 # [☆]: No effect on passage
next if flag & bit == 0 # [○] : Passable but star
return false if flag & bit == bit # [×] : Impassable
else
return true if flag & bit == 0 # [○] : Passable
return false if flag & bit == bit # [×] : Impassable
end
end
return false # Impassable
end
end


7.) Frozen Graphic Transfer Bug
Why? The bug is mostly with frozen graphics from the previous map. Parallel process from the previous map have the particularity they start before everything else. Now this is normal and all, but if you use a Transfer with no Fade In, it also freezes every PP in the next map and the only one would load is an Autorun. The PPs will only run once the map is refreshed.

Why should I be concerned? Let's say for example you have a picture from the previous map and you used a Transfer event to none because you want that picture to stay until the next map clears it off. The problem is, if the next map's event that clears the picture is a Parallel Process, it won't run at all until refreshed.

How to fix?
Here's a snippet by Kread-Ex to fix this bug! This snippet adds in a fake fadein or known as 1 frame of refreshing if you prefer.


class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
def post_transfer
case $game_temp.fade_type
when 0
Graphics.wait(fadein_speed / 2)
fadein(fadein_speed)
when 1
Graphics.wait(fadein_speed / 2)
white_fadein(fadein_speed)
when 2
fadein(1)
end
@map_name_window.open
end
end


8.) Custom Movement Event Update
Why? Basically, when an event that uses custom move route is off screen, VXAce stops updating an event that uses custom movement.

How to fix?
Kread is awesome to provide us with a very simple fix :>

# Put [update] in the event's name and the move route will always update.
#
# ~Kread

class Game_Event < Game_Character
#--------------------------------------------------------------------------
# * Determine if Near Visible Area of Screen
#--------------------------------------------------------------------------
alias_method(:krx_alfix_ge_nts?, :near_the_screen?)
def near_the_screen?(dx = 12, dy = 8)
# YEA compatibility
if $imported && $imported["YEA-CoreEngine"]
dx = dy = nil
end # YEA compatibility
return true if @event.name.include?('[update]')
return krx_alfix_ge_nts?(dx, dy)
end
end

Posts

Pages: 1
Thanks a lot Ness! I've had that no. 1 problem before in the past. Great to know there is a workaround.
mtarzaim
Criticizing more, making less...
1761
author=ArtBane
Thanks a lot Ness! I've had that no. 1 problem before in the past. Great to know there is a workaround.

Same here!
It was bothering me a lot, and the only way I found around it was to freeze all others animations before each dialog and reactivate all them after.
Which was quite a pain to do, and quite an hassle to watch.

Very clever workaround!
Oh sweet. I needed some of these, but you don't say where to put those snippets of code. So I don't understand how to use those ones. Halp?
just put them on a new script block '3')b
Above main and below all default scripts.
K, thanks. I'm new to Ace and haven't used any scripts at all yet heh but already ran into the need for these fixes.
Pages: 1