(06-10-2020, 07:17 PM)Melana Wrote: I placed Zeriabs script above Bigmaps but it only works when I erase the (true) in line 471 of the Bigmaps script.
This is extremely weird and should not occur for a couple of reasons...
Code:
for event in @events.values
# Adaptation for Zeriab's Anti-Lag
if Game_Event.method_defined? :check_update
event.check_update(true)
end
end
This bit of code appears within BigMaps's
bigmaps_gm_generate method... and formerly working within the
bigmaps_gm_generate_events_setup method, but commented out for better placement so to handle the list so described..
As you can see, the statement of
event.check_update(true) includes a 'true' parameter. This means it passes control to the check_update method and is notifying it that the command is supposed to respond for Big Maps.
STILL... it shouldn't matter.....
Code:
# Rewrite of method in Zeriab's Anti-Lag
if Game_Event.method_defined? :check_update
#------------------------------------------------------------------------
# * Checks how the event should be updated.
#------------------------------------------------------------------------
def check_update(big_map = false)
name = @event.name
# Checks if the event is never to be updated. (For decoration)
for pattern in NEVER_UPDATE_NAME_PATTERNS
if (pattern.is_a?(String) and name.include?(pattern)) ||
(pattern.is_a?(Regexp) and !(pattern =~ name).nil?)
self.never_update = true
end
end
This is just the beginning of the rewritten
check_update method.
FIRST, as you can see, it only works if the original '
check_update' method by Zeriab is even detected. This by the use of the method_defined? statement. Neat, eh?
But here's the magic:
Code:
def check_update(big_map = false)
The part that says
big_map = false .... this is a default setting. If no value is passed, this method assumes that the big_map value is false, and assumes that it is being used by a normal map. This technique is basically classic and I've used it for over a decade.
I checked this and it works with RMXP, and should work with HiddenChest The only thing I can think of then is to eliminate the spaces within this parameter so it reads:
Code:
def check_update(big_map=false)
The only other option I can think of would be to actually change the call to the
check_update method within Zeriab's Game_Map
setup method like so:
Code:
def setup(*args)
# Makes an event map as a hash
@event_map = {}
# Original Setup
zeriab_antilag_gmmap_setup(*args)
# Go through each event
for event in @events.values
# Check how the event should be updated
event.check_update(false)
end
end
Still, this shouldn't even be necessary because the change which I added assumes a 'false' setting by default.
But if you do not have this enabled, you will not have the ability to use the
SPECIAL_UPDATE_IDS entries.