INFINITE'S PROFILE

Old School RPG Maker.
Ascending Dreams
Legend of Zelda style RPG Maker VX Ace Game!

Search

[RMVX ACE] Quasi plugins!

Quasi made tons of VX ACE plugins that seem to be lost in space. His old website is down, and his old github is gone.

I've google searched for maybe an hour trying to track down his ABS plugin, specifically the path finding plugin which is compatible with his pixel movement plugin.

If anyone happens to have these preserved, or knows of a project that used them, I would love to have them!

[RMVX ACE] Ascending Dreams (Testers Needed)



My action adventure Zelda-clone Ascending Dreams is in need of some good testing and feedback! Please respond if you'd like to play a cool game, and help be a part of its creative process.

Ascending Dreams is my 3rd serious project, my first VX Ace game. I started it in July 2015, it's nearly complete, and needs some fresh eyes to help the final touches.

Its play-style is very much inspired by The Legend of Zelda. Explore the world, solve puzzles, explore dungeons, kill bosses, collect weapons; Ascending Dreams.



[RMVX ACE] Jester's Slide Effect and Pictures

My project is using a script by Jester, which emulates the sliding transitions of Zelda. the problem I'm having is related to a picture being used to amplify the effect of night time. I've worked around this by "erasing" the picture while the transfer is happening, but in that time, the effect is lost, and it breaks the feel of the game.

If I leave the picture visible while the transfer happens, it doesn't slide with the map, it stays in place until the transfer is done, then pops back to where it belongs. Trying to make the picture slide at the same rate as the "@slidemap" sprite, isn't working, because the picture's location still doesn't update. All of the pictures and weather are frozen untill the transfer is complete. I don't care about weather, or the fog or anything, but I'd really like this "light" picture effect to move with the player across the screen. I've dug into all their scripts, and tried many ways to get them to "update", but nothing is working for me.

This is the problem:


Here is the script, and some comments i've added to try to better understand whats happening.

#~ Slide Effect (VX-Ace) v1.3 by Jester and OriginalWij
#~ special thanks:
#~ diamondandplatinum3 for being an awesome guy. CHECK OUT HIS SCRIPTING VIDEOS!
#~ helpful feedback:
#~ KilloZapit, Tsukihime, estriole, Chigoo and The Guardian

#~ Version History:
#~ 18.FEB.2013 -> 1.0 -> Initial Release
#~ 09.MAR.2013 -> 1.1 -> Compatibility Improvement and Fixes
#~ 12.MAR.2013 -> 1.2 -> Added Compatibility-options to the Customization section
#~ 14.MAR.2013 -> 1.3 -> Picture and Balloon fix! And more supported Scripts

#~ Features:
#~ Slide-Effect when transfering, just like in the topdown Zelda games.
#~ It is originally designed as addition to my Script: Map Edge Transfer.

#~ This Script is semi-Plug'n'Play and has optional Compatibility fixes.
#~ Take a look at the Customization section.

#~ Bugs:
#~ (no known issues)

#~ Conflicts:
#~ Victor Sant's Light Effects <- Seems nearly impossible to fix =<
#~ I am fine with Compatibility fix requests if you say "PLEEAASEEEE!!!"

#~ Feel free to report any Bugs and Conflicts that are not listed above.
#~ I am available for feedback at rmrk.net and rpgmakervxace.net.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
$jimported ||= {} #<- DON'T TOUCH ME!!!
$jimported = 1.3 #<- DON'T TOUCH ME!!!
module JMSC # Jester Mini-Script Customization
module SEF # Slide EFfect
#~~~~~~~~~~~~~~~~~~~~~~~~~Customization~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Slide Effect Options:
# The speed of the Slide Effect (default: 12):
Slide_Speed = 20

# In-game Switch to temporarly disable the Slide Effect:
Disable_Sliding_Switch = 999

# Set this to false, if you DON'T want a Slide Effect for normal Transfer
# (only relevant when using "Map Edge Transfer".)
# Set to true, if you are confused right now:
Evented_Sliding = true
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Compatibility Options:
# Set to true, if you use the specific Script:
SES_Time_Clock = false #SES Dynamic Time "Clock Extension"
XAS_HUD = false #XAS HUD
XS_Variable_HUD = false #XS Variable HUD
XS_Alignment_HUD = false # XS Alignment HUD
MA_HoverAlert = false #Modern Algebra's Hover Alert. (Overwrites Sprite_HoverAlert update!)
Pearl_Life_Bars = false #falcao's Pearl v2 "Life Bar"
Pearl_Skillbar = false #falcao's Pearl v2 "Skillbar"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

# END OF CUSTOMIZATION!
#~~~~~~~~~~~~~~~~~~~~~~~Main Script~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Don't edit anything below, unless you know what you are doing:
end #module SEF
end #module JMSC


#==============================================================================
# ** Game_Player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# * Public Instance Variables (existing variables)
#--------------------------------------------------------------------------
attr_accessor :vehicle_type
end

#==============================================================================
# ** Game_Temp
#==============================================================================
class Game_Temp

#--------------------------------------------------------------------------
# * Public Instance Variables (new variables)
#--------------------------------------------------------------------------
attr_accessor :jms_met_sliding
attr_accessor :jms_met_slidex
attr_accessor :jms_met_slidey

#--------------------------------------------------------------------------
# * initialize
# * Initializing the new Variables
#--------------------------------------------------------------------------
alias jms_MapEdgeTransfer_GameTemp_init initialize
def initialize
jms_MapEdgeTransfer_GameTemp_init
@jms_met_sliding = false
@jms_met_slidex = 0
@jms_met_slidey = 0
end
end #Game_Temp

#==============================================================================
# ** Sprite_Character
#==============================================================================
class Sprite_Character < Sprite_Base

#--------------------------------------------------------------------------
# * update
# * Redifining the position of the player while sliding the bitmaps
#--------------------------------------------------------------------------
alias jms_MapEdgeTransfer_SpriteCharacter_update update
def update
jms_MapEdgeTransfer_SpriteCharacter_update
if $game_temp.jms_met_sliding
self.x = @character.screen_x + $game_temp.jms_met_slidex
self.y = @character.screen_y + $game_temp.jms_met_slidey
end
end

#--------------------------------------------------------------------------
# * start_balloon
# * Prevent Balloon animations from starting during the Slide-Effect
#--------------------------------------------------------------------------
alias jms_MapEdgeTransfer_SpriteCharacter_startballoon start_balloon
def start_balloon
return if $game_temp.jms_met_sliding
jms_MapEdgeTransfer_SpriteCharacter_startballoon
end
end #Sprite_Character

#==============================================================================
# ** Spriteset_Map
#==============================================================================

class Spriteset_Map

#--------------------------------------------------------------------------
# * Public Instance Variables (existing variables)
#--------------------------------------------------------------------------
attr_accessor :tilemap

end #Spriteset_Map

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Method-chain: Slide Effect

# Relevant Methods:
# jms_met_slideprocessing <- Perform a Slide Transfer into the player direction
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#==============================================================================
# ** Scene_Map
#==============================================================================

class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# * update_transfer_player
# * Redirecting, if Slide Effect is possible
#--------------------------------------------------------------------------
alias jms_MapEdgeTransfer_SceneMap_updatetrpl update_transfer_player
def update_transfer_player
$game_temp.jms_met_sliding = true if $game_player.transfer? && JMSC::SEF::Evented_Sliding && !$game_switches
jms_MapEdgeTransfer_SceneMap_updatetrpl if !$game_temp.jms_met_sliding && $game_player.transfer?
jms_met_slideprocessing if $game_player.transfer? && $game_temp.jms_met_sliding
end

#--------------------------------------------------------------------------
# * jms_met_slideprocessing
# * Setting up the Slide Effect Processing
#--------------------------------------------------------------------------
def jms_met_slideprocessing
$game_switches = true
trans_slide = true
if $jimported
trans_slide = false unless $game_player.jms_met_overedge? == 0
end
$game_player.transparent = true if $game_player.vehicle_type == :walk && trans_slide
#$game_map.screen.pictures.erase
@spriteset.update
@spriteset.dispose_pictures #erases pictures before snaping a screenshot for slidemap
@slidemap = Sprite.new
@slidemap.bitmap = Graphics.snap_to_bitmap #takes a picture
@slidemap.z = 1 #places it over game screen
@spriteset.create_pictures #replaces pictures before slide
jms_met_pretransfer #pre-transfer, do stuff before transfer
$game_temp.fade_type = 666
perform_transfer
if $game_switches then $game_map.change_tileset(2) end
$game_map.autoplay #plays next map's music
$game_map.update #updates various things on the map
@spriteset.create_characters
@spriteset = Spriteset_Map.new
#jms_met_preslide #pre-slide, do stuff before sliding
$game_player.transparent = false if $game_player.vehicle_type == :walk #make player appear
jms_met_performslide($game_player.direction) #slide screen based on direction
@slidemap.dispose #erase slidemap picture
@spriteset.update #update map
Input.update
$game_temp.jms_met_slidex = 0 #reset slide x
$game_temp.jms_met_slidey = 0 #reset slide y
$game_temp.jms_met_sliding = false
if $game_switches #if pitch black dark is on
$game_variables = 255 #$game_variables #set darkness to max
else
$game_variables = 0 #set darkness to nil
end
$game_temp.reserve_common_event(41) #call Time of day tint
$game_switches = true
$game_switches = false
$game_switches = false
end

#--------------------------------------------------------------------------
# * jms_met_performslide(d)
# * Executing the Slide Effect into cardinal direction "d"
# * Credits: OriginalWiJ
#--------------------------------------------------------------------------
def jms_met_performslide(d)
w = Graphics.width
h = Graphics.height
speed = JMSC::SEF::Slide_Speed
case d
when 2
@spriteset.tilemap.oy += h + ($game_map.height * 32 - h) * 2
$game_temp.jms_met_slidex = 0
$game_temp.jms_met_slidey = h
for i in 0...h / speed
@slidemap.oy += speed
@spriteset.tilemap.oy += speed
$game_temp.jms_met_slidey -= speed
@spriteset.update_characters
$game_map.screen.pictures.move(1 , $game_map.screen.pictures.x, ($game_map.screen.pictures.y - speed), $game_map.screen.pictures.zoom_x, $game_map.screen.pictures.zoom_y, $game_map.screen.pictures.opacity, 0, 1)
Graphics.update
end
when 4
@spriteset.tilemap.ox -= w + ($game_map.width * 32 - w) * 2
$game_temp.jms_met_slidex = -w
$game_temp.jms_met_slidey = 0
for i in 0...w / speed
@slidemap.ox -= speed
@spriteset.tilemap.ox -= speed
$game_temp.jms_met_slidex += speed
@spriteset.update_characters
Graphics.update
end
when 6
@spriteset.tilemap.ox += w + ($game_map.width * 32 - w) * 2
$game_temp.jms_met_slidex = w
$game_temp.jms_met_slidey = 0
for i in 0...w / speed
@slidemap.ox += speed
@spriteset.tilemap.ox += speed
$game_temp.jms_met_slidex -= speed
@spriteset.update_characters
Graphics.update
end
when 8
@spriteset.tilemap.oy -= h + ($game_map.height * 32 - h) * 2
$game_temp.jms_met_slidex = 0
$game_temp.jms_met_slidey = -h
for i in 0...h / speed
@slidemap.oy -= speed
@spriteset.tilemap.oy -= speed
$game_temp.jms_met_slidey += speed
@spriteset.update_characters
Graphics.update
end
end
end
#--------------------------------------------------------------------------
# * jms_met_pretransfer
# * Everything that happens directly before transfering the player.
#--------------------------------------------------------------------------
def jms_met_pretransfer
end

#--------------------------------------------------------------------------
# * jms_met_preslide
# * Everything that happens directly before the Slide Effect.
#--------------------------------------------------------------------------
def jms_met_preslide
end
end #Scene_Map
#End of Method-Chain: Slide Effect

#~ #Compatibility fix: window refresh
#~ if JMSC::SEF::SES_Time_Clock || JMSC::SEF::XS_Variable_HUD || JMSC::SEF::XS_Alignment_HUD
#~ class Scene_Map < Scene_Base
#~ alias jms_met_windowcomp_scenemap_slideprocessing jms_met_slideprocessing
#~ def jms_met_slideprocessing
#~ dispose_all_windows
#~ create_all_windows
#~ jms_met_windowcomp_scenemap_slideprocessing
#~ end
#~ end
#~ end #window refresh
#~
#~ #Compatibility fix: SES Time Clock
#~ if JMSC::SEF::SES_Time_Clock
#~ class Game_Map
#~ alias jms_met_sestccomp_gamemap_noclock no_clock?
#~ def no_clock?(map = @map)
#~ return true if $game_temp.jms_met_sliding
#~ jms_met_sestccomp_gamemap_noclock(map = @map)
#~ end
#~ end
#~ class Scene_Map < Scene_Base
#~ alias jms_met_sestccomp_scenemap_jmspretransfer jms_met_pretransfer
#~ def jms_met_pretransfer
#~ create_clock_windows
#~ jms_met_sestccomp_scenemap_jmspretransfer
#~ end
#~ end
#~ end #SES Time Clock
#~
#~ #Compatibility fix: XAS HUD
#~ if JMSC::SEF::XAS_HUD
#~ class Spriteset_Map
#~ alias jms_met_xashudcomp_spritemap_hud_visible? hud_visible?
#~ def hud_visible?
#~ return false if $game_temp.jms_met_sliding
#~ jms_met_xashudcomp_spritemap_hud_visible?
#~ end
#~ end
#~ class Scene_Map
#~ alias jms_met_xashudcomp_scenemap_slideprocessing jms_met_slideprocessing
#~ def jms_met_slideprocessing
#~ @spriteset.update_xas_spriteset_map
#~ jms_met_xashudcomp_scenemap_slideprocessing
#~ end
#~ end
#~ end #XAS HUD
#~
#~ #Compatibility fix: XS Variable HUD
#~ if JMSC::SEF::XS_Variable_HUD
#~ class Scene_Map < Scene_Base
#~ alias jms_met_xsvarcomp_scenemap_preslide jms_met_preslide
#~ def jms_met_preslide
#~ jms_met_xsvarcomp_scenemap_preslide
#~ create_var_hud_window
#~ end
#~ end
#~ end #XS Variable HUD
#~
#~ #Compatibility fix: XS Alignment HUD
#~ if JMSC::SEF::XS_Alignment_HUD
#~ class Scene_Map < Scene_Base
#~ alias jms_met_xsaligcomp_scenemap_preslide jms_met_preslide
#~ def jms_met_preslide
#~ jms_met_xsaligcomp_scenemap_preslide
#~ create_alignment_hud
#~ end
#~ end
#~ end #XS Alignment HUD
#~
#~ #Compatibility fix: MA Hover Alert
#~ if JMSC::SEF::MA_HoverAlert
#~ class Sprite_HoverAlert < Sprite_Base
#~ def update
#~ super
#~ refresh if @hover_alert != @character.hover_alert # if hover alert changed
#~ if bitmap
#~ if @hover_alert.proximity > 0
#~ x = @character.distance_x_from($game_player.x).abs
#~ y = @character.distance_y_from($game_player.y).abs
#~ self.visible = Math.hypot(x, y) <= @hover_alert.proximity
#~ end
#~ if self.visible && !$game_temp.jms_met_sliding
#~ maha_update_se # Update Sound Effect
#~ maha_update_frame_animation # Update animation
#~ maha_update_effect # Update the effect being played
#~ # Adust position
#~ self.x = @char_x + @effect_x
#~ self.y = @char_y + @effect_y
#~ end
#~ if @hover_alert && @hover_alert.time > 0
#~ if @time == @hover_alert.time
#~ @character.show_hover_alert("", 0) # End Hover Alert
#~ refresh
#~ end
#~ @time += 1
#~ end
#~ end
#~ end
#~ end
#~ end #MA Hover Alert
#~
#~ #Compatibility fix: Pearl v2: Skillbar
#~ if JMSC::SEF::Pearl_Skillbar
#~ class Scene_Map < Scene_Base
#~ alias jms_met_pearlsbcomp_scenemap_slideprocessing jms_met_slideprocessing
#~ def jms_met_slideprocessing
#~ @jms_met_pearl_skillbar = false
#~ @jms_met_pearl_skillbar = true if $game_system_skillbar_enable != true
#~ $game_system.skillbar_enable = true if $game_system_skillbar_enable != true
#~ jms_met_pearlsbcomp_scenemap_slideprocessing
#~ end
#~ alias jms_met_pearlsbcomp_scenemap_preslide jms_met_preslide
#~ def jms_met_preslide
#~ $game_system.skillbar_enable = nil if @jms_met_pearl_skillbar
#~ jms_met_pearlsbcomp_scenemap_preslide
#~ end
#~ end
#~ end #Pearl Skillbars
#~
#~ #Compatibility fix: Pearl v2: Life Bars
#~ if JMSC::SEF::Pearl_Life_Bars
#~ class Scene_Map < Scene_Base
#~ alias jms_met_pearllbcomp_scenemap_slideprocessing jms_met_slideprocessing
#~ def jms_met_slideprocessing
#~ @jms_met_pearl_bar = false
#~ @jms_met_pearl_bar = true if $game_system.pearlbars != true
#~ $game_system.pearlbars = true if $game_system.pearlbars != true
#~ jms_met_pearllbcomp_scenemap_slideprocessing
#~ end
#~ alias jms_met_pearllbcomp_scenemap_preslide jms_met_preslide
#~ def jms_met_preslide
#~ $game_system.pearlbars = nil if @jms_met_pearl_bar
#~ jms_met_pearllbcomp_scenemap_preslide
#~ end
#~ end
#~ end #Pearl Lifebars
#~
#~ # END OF SCRIPT


If I can't get it to work, I'll probably just use my work-around method, or something like it.

EDIT: Problem Solved

Changing "attr_reader" to "attr_accessor" for the x and y of Game_Picture allows for use of $game_map.screen.pictures.x

Then using @spriteset.picture_sprites to "slide" the picture's sprite with @spriteset.picture_sprites.y -= speed

  def update_light
$game_map.screen.pictures[50].x = @spriteset.picture_sprites[50].x
$game_map.screen.pictures[50].y = @spriteset.picture_sprites[50].y
end
If this isn't done, then the picture updates to where it was before the slide, then jumped back to the player.

  
def jms_met_performslide(d)
w = Graphics.width
h = Graphics.height
speed = JMSC::SEF::Slide_Speed
case d
when 2
@spriteset.tilemap.oy += h + ($game_map.height * 32 - h) * 2
$game_temp.jms_met_slidex = 0
$game_temp.jms_met_slidey = h
for i in 0...h / speed
@spriteset.picture_sprites[50].y -= speed
update_light
@slidemap.oy += speed
@spriteset.tilemap.oy += speed
$game_temp.jms_met_slidey -= speed
@spriteset.update_characters
Graphics.update

[RMVX ACE] [custom world map] Sprites sticking around between scenes?

I'm brand new to this whole Ruby thing. I've managed to scrap things together okay...but, I can't figure out how to make these sprites go away between menus (or "scenes"). The odd thing is; the map disappears as it should, it seems to work because its coordinates are 0. But the icons like the player's location, and treasure location stay around between menus.

This is the main menu... But when I toggle to another section of the menu

The icons stick around.



This is my code, I'm sure it's ugly and sloppy, but it's working fine except for this issue.
It's a window being called from "Scene_Menu" with "@map_window = Window_Map.new"
#==============================================================================
# ** Window_Map
#------------------------------------------------------------------------------
# This window displays the map.
#==============================================================================

class Window_Map < Window_Base
def initialize
super(0, 0, 0, 0)
@pulse = 0
refresh
end

def update
super
flash_marker
end

#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
#~ contents.clear
@map_temp = Sprite.new
@hero_spot = Sprite.new
@hero_spot.bitmap = Cache.picture("map_hero")
if $game_switches then
@hero_spot.bitmap = Cache.picture("map_hero_f")
end

# World Map!

@potboss = Sprite.new
@potboss.bitmap = Cache.picture("nothing")

if $game_variables == 0 #world map
if $game_party.items.include?($data_items)
@map_temp.bitmap = Cache.picture("map_world")
end

#where's player?
@hero_spot.x = 80 + ($game_variables * 56.5) - 32
@hero_spot.y = 420 - ($game_variables * 43)

#Where are the objectives?
#Visit Aut Sonas
if $game_variables == 0
@witch = Sprite.new
@witch.bitmap = Cache.picture("map_witch")
@witch.x = 150 - 32
@witch.y = 275
else
@witch = Sprite.new
@witch.bitmap = Cache.picture("nothing")
end

#deliver letter to king!
if $game_party.items.include?($data_items)
@king = Sprite.new
@king.bitmap = Cache.picture("map_king")
@king.x = 313 - 32
@king.y = 156
else
@king = Sprite.new
@king.bitmap = Cache.picture("nothing")
end

#collect Diamonds!

@forest_temp = Sprite.new
@forest_temp.bitmap = Cache.picture("nothing")

@desert = Sprite.new
@desert.bitmap = Cache.picture("nothing")

@tundra = Sprite.new
@tundra.bitmap = Cache.picture("nothing")

if $game_variables == 2 #Waypoint
#forest diamond
if $game_switches
else
@forest_temp = Sprite.new
@forest_temp.bitmap = Cache.picture("map_diamond")
end
@forest_temp.x = 481 - 32
@forest_temp.y = 337

#desert diamond
if $game_switches
else
@desert = Sprite.new
@desert.bitmap = Cache.picture("map_diamond")
end
@desert.x = 481 - 32
@desert.y = 132

#tundra diamond
if $game_switches
else
@tundra = Sprite.new
@tundra.bitmap = Cache.picture("map_diamond")
end
@tundra.x = 316 - 32
@tundra.y = 74
end


end #worldmap end

#Inside Tree Dungeon!
if $game_variables == 1
if $game_party.items.include?($data_items)
@map_temp.bitmap = Cache.picture("map_tree")

#Kill Pot Boss

if $game_switches == false
@potboss = Sprite.new
@potboss.bitmap = Cache.picture("map_skull")
@potboss.x = 313
@potboss.y = 92
else
@potboss = Sprite.new
@potboss.bitmap = Cache.picture("nothing")
end

#where's player?
if $game_map.map_id == 108 #Lobby
@hero_spot.x = 230
@hero_spot.y = 373
end
if $game_map.map_id == 109 #Hall
@hero_spot.x = 304
@hero_spot.y = 374
end
if $game_map.map_id == 110 #Treasure Room
@hero_spot.x = 365
@hero_spot.y = 371
end
if $game_map.map_id == 111 #North Hall
@hero_spot.x = 304
@hero_spot.y = 317
end
if $game_map.map_id == 112 #Upper Lobby
@hero_spot.x = 304
@hero_spot.y = 264
end
if $game_map.map_id == 113 #Puzzle Room
@hero_spot.x = 225
@hero_spot.y = 264
end
if $game_map.map_id == 114 #Snake Room
@hero_spot.x = 304
@hero_spot.y = 206
end
if $game_map.map_id == 115 #Safe Room
@hero_spot.x = 295
@hero_spot.y = 144
end
if $game_map.map_id == 116 #Boss Room
@hero_spot.x = 304
@hero_spot.y = 105
end
end #if has map end
end #tree end


#Inside Desert Dungeon!
if $game_variables == 2

#Killed Boss
if $game_party.items.include?($data_items)
if $game_switches == false
@potboss = Sprite.new
@potboss.bitmap = Cache.picture("map_skull")
@potboss.x = 311
@potboss.y = 90
else
@potboss = Sprite.new
@potboss.bitmap = Cache.picture("nothing")
end
else
@potboss = Sprite.new
@potboss.bitmap = Cache.picture("nothing")
end


if $game_party.items.include?($data_items)
@map_temp.bitmap = Cache.picture("map_tomb")

#where's player?
if $game_map.map_id == 118 #lobby
@hero_spot.x = 305
@hero_spot.y = 363
end
if $game_map.map_id == 119 #left room
@hero_spot.x = 216
@hero_spot.y = 363
end
if $game_map.map_id == 120 #right room
@hero_spot.x = 395
@hero_spot.y = 363
end
if $game_map.map_id == 121 # upper room
@hero_spot.x = 305
@hero_spot.y = 300
end
if $game_map.map_id == 122 #right room
@hero_spot.x = 395
@hero_spot.y = 300
end
if $game_map.map_id == 123 #dungeon puzzle
@hero_spot.x = 287
@hero_spot.y = 230
end
if $game_map.map_id == 124 #upper left room
@hero_spot.x = 216
@hero_spot.y = 230
end
if $game_map.map_id == 125 #boss room
@hero_spot.x = 305
@hero_spot.y = 109
end
if $game_map.map_id == 126 #safe room
@hero_spot.x = 306
@hero_spot.y = 160
end
end #if has map end
end #desert end

#Inside Tower Dungeon!
if $game_variables == 3

#Killed Boss
if $game_party.items.include?($data_items)
if $game_switches == false
@potboss = Sprite.new
@potboss.bitmap = Cache.picture("map_skull")
@potboss.x = 357
@potboss.y = 48
else
@potboss = Sprite.new
@potboss.bitmap = Cache.picture("nothing")
end
else
@potboss = Sprite.new
@potboss.bitmap = Cache.picture("nothing")
end


if $game_party.items.include?($data_items)
@map_temp.bitmap = Cache.picture("map_tower")

#where's player?
if $game_map.map_id == 133 #lobby
@hero_spot.x = 306
@hero_spot.y = 354
end
if $game_map.map_id == 134 #Floor 2
@hero_spot.x = 306
@hero_spot.y = 277
end
if $game_map.map_id == 135 #Floor 3
@hero_spot.x = 307
@hero_spot.y = 196
end
if $game_map.map_id == 136 #Floor 3 Left
@hero_spot.x = 200
@hero_spot.y = 196
end
if $game_map.map_id == 137 #Floor 3 right
@hero_spot.x = 410
@hero_spot.y = 196
end
if $game_map.map_id == 138 #Floor 1 Left
@hero_spot.x = 200
@hero_spot.y = 354
end
if $game_map.map_id == 139 # Floor 4 safe room
@hero_spot.x = 200
@hero_spot.y = 108
end
if $game_map.map_id == 130 #Boss Room
@hero_spot.x = 307
@hero_spot.y = 108
end
end #if has map end
end #tundra end

end

def flash_marker
@pulse += 1
@hero_spot.opacity -= 50 if @pulse > 0
@hero_spot.opacity += 50 if @pulse < 0

if $game_variables == 0 #World map icons
@witch.opacity -= 100 if @pulse > 0
@witch.opacity += 100 if @pulse < 0

@king.opacity -= 100 if @pulse > 0
@king.opacity += 100 if @pulse < 0

@forest_temp.opacity -= 100 if @pulse > 0
@forest_temp.opacity += 100 if @pulse < 0

@desert.opacity -= 100 if @pulse > 0
@desert.opacity += 100 if @pulse < 0

@tundra.opacity -= 100 if @pulse > 0
@tundra.opacity += 100 if @pulse < 0
end

if $game_variables == 1 #forest dungeon icons
@potboss.opacity -= 100 if @pulse > 0
@potboss.opacity += 100 if @pulse < 0
end

if $game_variables == 2 #desert dungeon icons
@potboss.opacity -= 100 if @pulse > 0
@potboss.opacity += 100 if @pulse < 0
end

if $game_variables == 3 #desert dungeon icons
@potboss.opacity -= 100 if @pulse > 0
@potboss.opacity += 100 if @pulse < 0
end

@pulse = -20 if @pulse >= 20

end
end


It's based on Galv's script here
#------------------------------------------------------------------------------#
# Galv's Map Positions
#------------------------------------------------------------------------------#
# For: RPGMAKER VX ACE
# Version 1.8
# Thanks Tsukihime for resizing assistance
#------------------------------------------------------------------------------#
# 2012-12-02 - Version 1.8 - items can activate more than one map now
# 2012-11-22 - Version 1.7 - disable switch added.
# - now auto-reizes images larger than screen to fit
# 2012-11-09 - Version 1.6 - added functionality for some escape codes in text
# 2012-11-09 - Version 1.5 - now hides player marker when inside vehicle
# - added event comments to put text at event markers
# - can display actor's name under player marker
# 2012-11-08 - Version 1.4 - noticed a crash and put a fix in place
# 2012-11-08 - Version 1.3 - bug fixes with event charset showing
# 2012-11-08 - Version 1.2 - can now choose charsets or custom pic for markers
# 2012-11-07 - Version 1.1 - added vehicle location display
# 2012-11-07 - Version 1.0 - release
#------------------------------------------------------------------------------#
# This script brings up a picture (that you create) of a map and places a
# marker to show the player and vehicle locations. You must make the map
# exactly to scale and it would be best if it fit on the screen.
# (Default size is 544 x 416, as long as it fits in that, it should work.)
# Save these maps in /Graphics/Pictures/ and name them like:
# map2.jpg - where the number is the map ID of the map. (Can be any supported
# graphic file, not just jpg.)
#
# EXAMPLE:
# Pressing the MAP_BUTTON on a map with ID of 4 will look for "map4.xxx"
#
# Maps can be set to require an item to view.
#------------------------------------------------------------------------------#
# Notetag ITEMS with the below tag. x being the map ID of the map held.
#
# <map: x>
#
# Or for an item to allow showing multiple maps:
#
# <map: x,y,z>
#
#------------------------------------------------------------------------------#
# In addition to showing the player's location, you can add/remove blips that
# show event locations to each map using SCRIPT CALLS:
#------------------------------------------------------------------------------#
#
# show_map # Manually shows the map for the map the player
# # is on, even if the player doesn't have the
# # required item in inventory.
#
# add_blip(map_id,event_id) # Makes event blip show on a map
#
# rem_blip(map_id,event_id) # Removes an event blip from a map
#
#------------------------------------------------------------------------------#
# EXAMPLE:
# add_blip(1,25) # makes event 25 show as a blip on map with ID 1
# rem_blip(1,25) # removes that blip from the map.
#------------------------------------------------------------------------------#
# An event can display text below it's marker. To do this, add an event comment
# at the very top of the event page commands.
# This comment MUST be at the very top of the event commands or else it
# will not be displayed. You can use the following escape codes:
#------------------------------------------------------------------------------#
# EVENT COMMENT TEXT CODES:
#
# /v # display number in variable x
# /n # display actor with ID x's name
# /p # display party member in position x (0 is leader)
# /g # display currency type as set in vocab (eg. G)
# /c # color of the text. Only one color will work per event text.
#
#------------------------------------------------------------------------------#
#
# See below for more settings
#
#------------------------------------------------------------------------------#

($imported ||= {}) = true

module Galv_Map

#------------------------------------------------------------------------------#
# SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#

DISABLE_MAP = 999 # Switch ID. When switch is ON, map cannot be called

MAP_BUTTON = # Button to open and close the map. (:X is key "a")
# to disable make this MAP_BUTTON = nil

REQUIRE_ITEM = false # Requires an item before the map can be revealed
# NOTE: If you turn this to false you MUST have an
# image for each map or it will crash!

NO_MAP_MESSAGE = false # display message if no map of area. true or false
MESSAGE_TEXT = "You don't have a map of this area."
# displayed when trying to open the map scene without the required item.



PLAYER_LOCATION_MARKER = 1 # 0 = custom picture (set below)
# 1 = lead actor's charset graphic
PLAYER_CUSTOM_PIC = "marker" # image in /Graphics/Pictures/ if above is 0
SHOW_ACTOR_NAME = false # display lead actor's name under player marker


VEHICLE_LOCATION_MARKER = 1 # 0 = use custom pictures (set below)
# 1 = use vehicles' charset images
BOAT_IMAGE = "marker3" # image in /Pictures/ for boat if above is 0
SHIP_IMAGE = "marker3" # image in /Pictures/ for ship marker if above is 0
AIRSHIP_IMAGE = "marker3" # image in /Pictures/ for airship marker if above is 0


EVENT_LOCATION_MARKERS = 1 # 0 = use a custom picture for all (set below)
# 1 = use the event's charset image
EVENT_IMAGE = "marker2" # image in /Pictures/ for events if above is 0



EVENT_TEXT_SIZE = 20 # size of the text displayed under events
EVENT_TEXT_COLOR = 0 # default color of this text

PLAYER_TEXT_SIZE = 20 # size of the text displayed under player (if used)
PLAYER_TEXT_COLOR = 6 # color of player name text


#------------------------------------------------------------------------------#
# END SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#

end

class RPG::Item
def has_map
if @has_map.nil?
if @note =~ /<map:(.*)>/i
@has_map = $1.to_s.split(",").map {|i| i.to_i}
else
@has_map =
end
end
@has_map
end
end # RPG::Item


class Scene_Map < Scene_Base

alias galv_map_update_scene update_scene
def update_scene
galv_map_update_scene
check_button unless scene_changing?
end

def check_button
if Input.trigger?(Galv_Map::MAP_BUTTON) && !scene_changing?
check_for_map unless $game_switches || $game_map.interpreter.running?
end
end

def check_for_map
item_count = $data_items.count
item_count.times { |i|
if !$data_items.nil?
if $data_items.has_map.include?($game_map.map_id) && $game_party.item_number($data_items) > 0
return SceneManager.call(Scene_ViewMap)
elsif !Galv_Map::REQUIRE_ITEM
return SceneManager.call(Scene_ViewMap)
end
end
}
$game_message.add(Galv_Map::MESSAGE_TEXT) if Galv_Map::NO_MAP_MESSAGE
end

end # Scene_Map < Scene_Base


class Scene_ViewMap < Scene_MenuBase
def start
super
create_map_sprite
create_player_blip
create_event_blips
create_boat_blip if $game_map.vehicles.map_id == $game_map.map_id
create_ship_blip if $game_map.vehicles.map_id == $game_map.map_id
create_airship_blip if $game_map.vehicles.map_id == $game_map.map_id
end

def update
super
flash_marker if $game_player.vehicle_type == :walk
if Input.trigger?(Galv_Map::MAP_BUTTON) || Input.trigger?(:B)
dispose_bitmaps
SceneManager.return
end
end

def dispose_bitmaps
@map.bitmap.dispose
@map.dispose
if $game_player.vehicle_type == :walk
@actor_marker.bitmap.dispose
@actor_marker.dispose
if Galv_Map::SHOW_ACTOR_NAME
@actor_text.bitmap.dispose
@actor_text.dispose
end
end
if !@event_blip.nil?
t = @event_blip.count
t.times { |i|
if !@event_blip.nil?
@event_blip.bitmap.dispose
@event_blip.dispose
end
if !@event_text.nil?
@event_text.bitmap.dispose
@event_text.dispose
end
}
end
if $game_map.vehicles.map_id == $game_map.map_id
@boat_marker.bitmap.dispose
@boat_marker.dispose
end
if $game_map.vehicles.map_id == $game_map.map_id
@ship_marker.bitmap.dispose
@ship_marker.dispose
end
if $game_map.vehicles.map_id == $game_map.map_id
@airship_marker.bitmap.dispose
@airship_marker.dispose
end
end

def create_map_sprite
@map_temp = Sprite.new
@map_temp.bitmap = Cache.picture("map" + $game_map.map_id.to_s)

if @map_temp.bitmap.rect.width > Graphics.width || @map_temp.bitmap.rect.height > Graphics.height

width_ratio = (@map_temp.bitmap.rect.width.to_f / Graphics.width.to_f).to_f
height_ratio = (@map_temp.bitmap.rect.height.to_f / Graphics.height.to_f).to_f

if width_ratio > height_ratio
new_width = (@map_temp.bitmap.rect.width / width_ratio).to_f
new_height = (@map_temp.bitmap.rect.height / width_ratio).to_f
else
new_width = (@map_temp.bitmap.rect.width / height_ratio).to_f
new_height = (@map_temp.bitmap.rect.height / height_ratio).to_f
end

source = Rect.new(0, 0, new_width, new_height)
@map = Sprite.new
@map.bitmap = Bitmap.new(new_width,new_height)
@map.bitmap.stretch_blt(source, @map_temp.bitmap, @map_temp.bitmap.rect)

@map_temp.bitmap.dispose
@map_temp.dispose

@scale_x = ($game_map.width * 32).to_f / new_width.to_f
@scale_y = ($game_map.height * 32).to_f / new_height.to_f

@map.x = (Graphics.width.to_f - source.width.to_f).to_f / 2
@map.y = (Graphics.height.to_f - source.height.to_f).to_f / 2

else

@map_temp.bitmap.dispose
@map_temp.dispose

@map = Sprite.new
@map.bitmap = Cache.picture("map" + $game_map.map_id.to_s)

@scale_x = ($game_map.width * 32).to_f / @map.bitmap.rect.width
@scale_y = ($game_map.height * 32).to_f / @map.bitmap.rect.height

@map.x = (Graphics.width - @map.bitmap.width).to_f / 2
@map.y = (Graphics.height - @map.bitmap.height).to_f / 2
end

end

def create_player_blip
@pulse = 0
return if $game_player.vehicle_type != :walk
if Galv_Map::PLAYER_LOCATION_MARKER == 1
@actor_marker = Sprite.new
@actor_marker.bitmap = Cache.character($game_party.leader.character_name)
sign = $game_party.leader.character_name[/^./]
if sign && sign.include?('$')
cw = @actor_marker.bitmap.width / 3
ch = @actor_marker.bitmap.height / 4
else
cw = @actor_marker.bitmap.width / 12
ch = @actor_marker.bitmap.height / 8
end
n = $game_party.leader.character_index
@actor_marker.src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)

@actor_marker.x = (($game_player.x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (cw.to_f / 2).to_f + 4
@actor_marker.y = (($game_player.y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (ch.to_f / 2).to_f + 4
@actor_marker.z = @actor_marker.z + 2
@actor_marker.bitmap.blt(0 - cw / 2, 0 - ch, @actor_marker.bitmap, @actor_marker.src_rect)
else
@actor_marker = Sprite.new
@actor_marker.bitmap = Cache.picture(Galv_Map::PLAYER_CUSTOM_PIC)
@actor_marker.x = (($game_player.x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (@actor_marker.bitmap.width / 2).to_f + 4
@actor_marker.y = (($game_player.y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (@actor_marker.bitmap.height / 2).to_f + 4
@actor_marker.z = @actor_marker.z + 2
end

return if !Galv_Map::SHOW_ACTOR_NAME
@actor_text = Sprite.new
@actor_text.bitmap = Bitmap.new(150, Galv_Map::PLAYER_TEXT_SIZE)
@actor_text.bitmap.font.size = Galv_Map::PLAYER_TEXT_SIZE
@actor_text.bitmap.font.color.set(text_color(Galv_Map::PLAYER_TEXT_COLOR))
@actor_text.bitmap.draw_text(@actor_text.bitmap.rect, $game_party.leader.name, 1)
@actor_text.x = (($game_player.x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (@actor_text.bitmap.width.to_f / 2).to_f + 5
@actor_text.y = (($game_player.y / @scale_y.to_f).to_f * 32) + @map.y.to_f + (@actor_marker.src_rect.height.to_f / 2)
@actor_text.z = @actor_marker.z
end


def flash_marker
@pulse += 1
@actor_marker.opacity -= 4 if @pulse > 0
@actor_marker.opacity += 5 if @pulse < 0
@pulse = -20 if @pulse >= 20
end

def tileset_bitmap(tile_id)
Cache.tileset($game_map.tileset.tileset_names)
end

def create_event_blips
return if $game_map.markers.nil?
m = $game_map.markers
event_count = m.count
@event_blip = {}
@event_text = {}

if Galv_Map::EVENT_LOCATION_MARKERS == 1

event_count.times { |i|
if !$game_map.events[m].nil?
@tile_id = $game_map.events[m].tile_id
@event_text_color = Galv_Map::EVENT_TEXT_COLOR
@event_blip = Sprite.new

if @tile_id > 0
sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
sy = @tile_id % 256 / 8 % 16 * 32;
@event_blip.bitmap = tileset_bitmap(@tile_id)
@event_blip.src_rect.set(sx, sy, 32, 32)
cw = @event_blip.src_rect.width
ch = @event_blip.src_rect.height
else
@event_blip.bitmap = Cache.character($game_map.events[m].character_name)
sign = $game_map.events[m].character_name[/^./]
if sign && sign.include?('$')
cw = @event_blip.bitmap.width / 3
ch = @event_blip.bitmap.height / 4
else
cw = @event_blip.bitmap.width / 12
ch = @event_blip.bitmap.height / 8
end
n = $game_map.events[m].character_index
case $game_map.events[m].direction
when 2; dir = 0; when 4; dir = ch; when 6; dir = ch * 2; when 8; dir = ch * 3; end
pat = $game_map.events[m].pattern; pat = 1 if pat > 2
@event_blip.src_rect = Rect.new((n%4*3 + pat)*cw, (n/4*4)*ch + dir, cw, ch)
end
@event_blip.x = (($game_map.events[m].x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (cw.to_f / 2).to_f + 4
@event_blip.y = (($game_map.events[m].y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (ch.to_f / 2).to_f + 4
@event_blip.bitmap.blt(0 - cw / 2, 0 - ch, @event_blip.bitmap, @event_blip.src_rect)

if $game_map.events[m].list.code == 108
@show_text = $game_map.events[m].list.parameters
@show_text = convert_escape_characters(@show_text)
@event_text = Sprite.new
@event_text.bitmap = Bitmap.new(150, Galv_Map::EVENT_TEXT_SIZE)
@event_text.bitmap.font.size = Galv_Map::EVENT_TEXT_SIZE
@event_text.bitmap.font.color.set(text_color(@event_text_color))
@event_text.bitmap.draw_text(@event_text.bitmap.rect, @show_text, 1)
@event_text.x = (($game_map.events[m].x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (@event_text.bitmap.width.to_f / 2).to_f + 5
@event_text.y = (($game_map.events[m].y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (@event_text.bitmap.height.to_f / 2).to_f + (ch / 1.5).to_f

end
end
}

else

event_count.times { |i|
@event_text_color = Galv_Map::EVENT_TEXT_COLOR
if !$game_map.events[m].nil?
@event_blip = Sprite.new
@event_blip.bitmap = Cache.picture(Galv_Map::EVENT_IMAGE)
@event_blip.x = (($game_map.events[m].x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (@event_blip.bitmap.width / 2).to_f + 4
@event_blip.y = (($game_map.events[m].y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (@event_blip.bitmap.height / 2).to_f + 4

if $game_map.events[m].list.code == 108
@show_text = $game_map.events[m].list.parameters
@show_text = convert_escape_characters(@show_text)
@event_text = Sprite.new
@event_text.bitmap = Bitmap.new(150, Galv_Map::EVENT_TEXT_SIZE)
@event_text.bitmap.font.size = Galv_Map::EVENT_TEXT_SIZE
@event_text.bitmap.font.color.set(text_color(@event_text_color))
@event_text.bitmap.draw_text(@event_text.bitmap.rect, @show_text, 1)
@event_text.x = (($game_map.events[m].x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (@event_text.bitmap.width.to_f / 2).to_f + 5
@event_text.y = (($game_map.events[m].y / @scale_y.to_f).to_f * 32) + @map.y.to_f + (@event_blip.bitmap.height / 2)
end
end
}
end
end

def create_boat_blip

if Galv_Map::VEHICLE_LOCATION_MARKER == 1
@boat_marker = Sprite.new
@boat_marker.bitmap = Cache.character($game_map.vehicles.character_name)
sign = $game_map.vehicles.character_name[/^./]
if sign && sign.include?('$')
cw = @boat_marker.bitmap.width / 3
ch = @boat_marker.bitmap.height / 4
else
cw = @boat_marker.bitmap.width / 12
ch = @boat_marker.bitmap.height / 8
end
n = $game_map.vehicles.character_index

case $game_map.vehicles.direction
when 2; dir = 0; when 4; dir = ch; when 6; dir = ch * 2; when 8; dir = ch * 3; end

@boat_marker.src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch + dir, cw, ch)
@boat_marker.x = (($game_map.vehicles.x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (cw.to_f / 2).to_f + 4
@boat_marker.y = (($game_map.vehicles.y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (ch.to_f / 2).to_f + 4
@boat_marker.z = @boat_marker.z + 1
else
@boat_marker = Sprite.new
@boat_marker.bitmap = Cache.picture(Galv_Map::BOAT_IMAGE)
@boat_marker.x = (($game_map.vehicles.x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (@boat_marker.bitmap.width / 2).to_f + 4
@boat_marker.y = (($game_map.vehicles.y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (@boat_marker.bitmap.height / 2).to_f + 4
end
end

def create_ship_blip
if Galv_Map::VEHICLE_LOCATION_MARKER == 1
@ship_marker = Sprite.new
@ship_marker.bitmap = Cache.character($game_map.vehicles.character_name)
sign = $game_map.vehicles.character_name[/^./]
if sign && sign.include?('$')
cw = @ship_marker.bitmap.width / 3
ch = @ship_marker.bitmap.height / 4
else
cw = @ship_marker.bitmap.width / 12
ch = @ship_marker.bitmap.height / 8
end
n = $game_map.vehicles.character_index

case $game_map.vehicles.direction
when 2; dir = 0; when 4; dir = ch; when 6; dir = ch * 2; when 8; dir = ch * 3; end

@ship_marker.src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch + dir, cw, ch)
@ship_marker.x = (($game_map.vehicles.x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (cw.to_f / 2).to_f + 4
@ship_marker.y = (($game_map.vehicles.y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (ch.to_f / 2).to_f + 4
@ship_marker.z = @ship_marker.z + 1
else
@ship_marker = Sprite.new
@ship_marker.bitmap = Cache.picture(Galv_Map::SHIP_IMAGE)
@ship_marker.x = (($game_map.vehicles.x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (@ship_marker.bitmap.width / 2).to_f + 4
@ship_marker.y = (($game_map.vehicles.y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (@ship_marker.bitmap.height / 2).to_f + 4
end
end
def create_airship_blip
if Galv_Map::VEHICLE_LOCATION_MARKER == 1
@airship_marker = Sprite.new
@airship_marker.bitmap = Cache.character($game_map.vehicles.character_name)
sign = $game_map.vehicles.character_name[/^./]
if sign && sign.include?('$')
cw = @airship_marker.bitmap.width / 3
ch = @airship_marker.bitmap.height / 4
else
cw = @airship_marker.bitmap.width / 12
ch = @airship_marker.bitmap.height / 8
end
n = $game_map.vehicles.character_index

case $game_map.vehicles.direction
when 2; dir = 0; when 4; dir = ch; when 6; dir = ch * 2; when 8; dir = ch * 3; end

@airship_marker.src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch + dir, cw, ch)
@airship_marker.x = (($game_map.vehicles.x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (cw.to_f / 2).to_f + 4
@airship_marker.y = (($game_map.vehicles.y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (ch.to_f / 2).to_f + 4
@airship_marker.z = @airship_marker.z + 1
else
@airship_marker = Sprite.new
@airship_marker.bitmap = Cache.picture(Galv_Map::SHIP_IMAGE)
@airship_marker.x = (($game_map.vehicles.x / @scale_x.to_f).to_f * 32) + @map.x.to_f - (@airship_marker.bitmap.width / 2).to_f + 4
@airship_marker.y = (($game_map.vehicles.y / @scale_y.to_f).to_f * 32) + @map.y.to_f - (@airship_marker.bitmap.height / 2).to_f + 4
end
end

def convert_escape_characters(text)
result = text.to_s.clone
result.gsub!(/\\/) { "\e" }
result.gsub!(/\e\e/) { "\\" }
result.gsub!(/\eV\/i) { $game_variables }
result.gsub!(/\eN\/i) { $game_actors.name}
result.gsub!(/\eP\/i) {
if $game_party.members.nil?
""
else
$game_party.members.name
end
}
result.gsub!(/\eG/i) { Vocab::currency_unit }
result.gsub((/\eC\/i)) { @event_text_color = $1.to_i }
result.gsub!(/\eC\/i) { "" }
result
end
def text_color(n)
Cache.system("Window").get_pixel(64 + (n % 8) * 8, 96 + (n / 8) * 8)
end

end # Scene_ViewMap < Scene_MenuBase

class Game_Map
attr_accessor :markers

alias galv_map_initialize initialize
def initialize
galv_map_initialize
@markers = {}
end

end # Game_Map


class Game_Interpreter

def add_blip(map_id,event_id)
if $game_map.markers.nil?
$game_map.markers =
else
return if $game_map.markers.include?(event_id)
$game_map.markers << event_id
end
end

def rem_blip(map_id,event_id)
if $game_map.markers.nil?
return
else
return if !$game_map.markers.include?(event_id)
$game_map.markers.delete(event_id)
end
end

def show_map
SceneManager.call(Scene_ViewMap)
end

end # Game_Interpreter


class Game_Vehicle < Game_Character
attr_reader :map_id
end

class Game_Player < Game_Character
attr_reader :vehicle_type
end


I know Galv is using a "dispose_bitmaps" method to clean up his sprites as the cancel button is pressed, which I've tried to emulate, but I haven't been able to figure it out. It seems like I really shouldn't have to when moving to the next scene with "SceneManager.call".

SOLVED

Adding a "dispose" method to the class, and disposing bitmaps seems fix the issue.

def dispose
super
@map_temp.bitmap.dispose
@map_temp.dispose
@hero_spot.bitmap.dispose
@hero_spot.dispose
@forest_temp.bitmap.dispose
@forest_temp.dispose
@desert.bitmap.dispose
@desert.dispose
@tundra.bitmap.dispose
@tundra.dispose
@potboss.bitmap.dispose
@potboss.dispose
@witch.bitmap.dispose
@witch.dispose
@king.bitmap.dispose
@king.dispose
end

[RMVX ACE] Ascending Dreams (Testers, Sprite Editors, & Writers)


Ascending Dreams is an action adventure inspired by the original Legend of Zelda.

It will be my 3rd major project. The first was a 3 dungeon demo inspired by Metroid called Demon Dreams. More recent is a completed game, a side scroller based on Zelda 1's underground areas called Lasting Dreams.

I'm hoping to have Ascending Dreams complete by Summer 2016. It's actually coming along faster than expected.



This is a free game I'm making in my spare time between work and school, no money will be made for anyone involved, however, everyone will be credited for their contributions.

TESTERS: I'm currently looking for a small group of testers willing to provide detailed feedback.

SPRITE EDITORS: I'm looking for some help editing NPC sprites for originality, or they will end up being pallet swaps. (I'm also open to graphic contributions outside NPCs)

WRITERS: The story is currently a skeleton, just enough to move the player through the game world, but lacks substance. I'm looking for some help fleshing out the details, and trying to create a good narrative for the RPG maker community. Story is my weakest area of game development. (I'm into games where the story is 2nd to game play and exploration.)

If you're interested in helping, message me, or email atgatg@gmail.com!



[RMVX ACE] "Show Animation" doesn't work sometimes?

In my ABS I use "Show Animation" to flash a sprite and show an enemy being damaged and killed, as well as make the sound effect. Occasionally, it is ignored by the process; no sound effect or animation is played. Everything else in the process works fine, it doesn't break the game. But it is jarring when you hit an enemy, and they're pushed away by the attack, but don't appear to be taking damage.

Has anyone else encountered this issue, have you found a fix?

[RMVX ACE] [need help] How to make an event face same direction of other event without tedious condition branches?

I want an even to face the player, then make other events face the same direction of the first event, without creating long conditional branches.

Simply telling all of the events to face the player leaves room for an event to look a different direction from all the other events (since the player will be moving around), which will ruin the effect.

I've tried



but get this error

[RMVX ACE] Help Moving Pictures and "Scroll With Map" Function.

I'm new to RPG Maker VX Ace, I'm starting to understand how scripting works, but I'm not yet familiar with all the different possible 'calls'. I'm currently experimenting with building an action game using Khan's Pixel Movement Script, and Cidiomar Collision Detection. While most of the features are coming along pretty well, I've run into a issue using a picture as an arrow to attack enemies. Rm2k3 featured a simple checkbox which made a picture "scroll with the map", it appears to be absent in VX Ace. While there are a couple solutions out there for people who want to fix a static image to the map, I'm trying to have the arrow fly out from the player and move across the game world. The issue appears while the screen scrolls for maps larger than 17 x 13, the picture's movement fails to compensate for player's movement around a map, and the result is an aesthetic blunder.


Here you can see the problem at work. The arrow follows the player up into the bridge when it should be 3 tiles below.


Here you can see the little bit of progress I made, the picture scrolls with the map, but fails to sync with the player's coordinates.

Below is my attempt at modifying the script used for fixing static images to the map.

#==============================================================================
# Fixed Pictures
#==============================================================================
# Author : Seer UK & OriginalWij
# Version : 1.2
#
# Credit: Seer UK
# OriginalWij (Original RGSS2 Script)
#==============================================================================

#==============================================================================
# To use:
# put the tag in the affected picture's filename
#==============================================================================

#==============================================================================
# What this does:
# fixes tagged pictures to the map (scrolls with the map)
#==============================================================================

#==============================================================================
# Sprite_Picture
#==============================================================================

class Sprite_Picture < Sprite
#----------------------------------------------------------------------------
# Update
#----------------------------------------------------------------------------
def update
update_bitmap
update_origin

if @picture.name.include?("")
self.x = 0 - $game_map.display_x * 32
self.y = 0 - $game_map.display_y * 32

else
update_position
end


if @picture.name.include?("arrow1") #attempt to solve problem

$game_variables = $game_map.display_x
$game_variables = $game_map.display_y
self.x = @picture.x - ($game_map.display_x * 32)
self.y = @picture.y - ($game_map.display_y * 32)
$game_variables = @picture.x
$game_variables = @picture.y
end

if @picture.name.include?("arrow2") #attempt to solve problem
$game_variables = self.x
$game_variables = self.y
$game_variables = $game_map.display_x
$game_variables = $game_map.display_y
$game_variables *= 32
$game_variables *= 32
$game_variables -= $game_variables
$game_variables -= $game_variables
self.x += $game_variables
self.y += $game_variables


end
update_zoom
update_other
end
end
Pages: 1