vincestick 13 Report post Posted August 11, 2009 I don't know what to edit, but how would you set it so the location name would be directly above the mini-map in the screenshot? If it helps, I'm using these two scripts: Selwyn's Passability Minimap (Used in Mr.Mo's ABS) #============================================================================== # ■ Passability Mini Map #------------------ # made by Selwyn/Squall // selwyn@rmxp.ch # released the 30th of May 2006 #============================================================================== #============================================================================== # ■ Scene_Map #------------------ # draw the mini map # @corner is the corner you want the mini map to be displayed in. # 1 is upper left, 2 is upper right, 3 is bottom left and 4 is bottom right #============================================================================== class Scene_Map alias main_passminimap main alias update_passminimap update alias transfer_passminimap transfer_player #-------------- # ● initialize #-------------- def initialize @corner = 2 # 1 or 2 or 3 or 4 end #-------------- # ● main #-------------- def main @mini_map = Map_Event.new(@corner) main_passminimap @mini_map.dispose end #-------------- # ● update #-------------- def update @mini_map.update if $game_system.map_interpreter.running? @mini_map.visible = false elsif not $game_system.map_interpreter.running? and @mini_map.on? @mini_map.visible = true end update_passminimap end #-------------- # ● transfer_player #-------------- def transfer_player transfer_passminimap @mini_map.dispose @mini_map = Map_Event.new(@corner) end end #============================================================================== # ■ Map_Base #------------------ # Base class for mini maps #============================================================================== class Map_Base < Sprite #-------------- # ● constants and instances #-------------- PMP_VERSION = 6 ACTIVATED_ID = 3 # set the switch id for the minimap display (on/off) attr_reader :event #-------------- # ● initialize #-------------- def initialize(corner) super(Viewport.new(16, 16, width, height)) viewport.z = 8000 @border = Sprite.new @border.x = viewport.rect.x - 6 @border.y = viewport.rect.y - 6 @border.z = viewport.z - 1 @border.bitmap = RPG::Cache.picture("mapback") self.visible = on? self.opacity = 180 case corner when 1 self.x = 16 self.y = 16 when 2 self.x = 640 - width - 16 self.y = 16 when 3 self.x = 16 self.y = 480 - height - 16 when 4 self.x = 640 - width - 16 self.y = 480 - height - 16 else self.x = 16 self.y = 16 end self.visible = on? end #-------------- # ● dispose #-------------- def dispose @border.dispose super end #-------------- # ● x= #-------------- def x=(x) self.viewport.rect.x = x @border.x = x - 6 end #-------------- # ● y= #-------------- def y=(y) self.viewport.rect.y = y @border.y = y - 6 end #-------------- # ● visible= #-------------- def visible=(bool) super self.viewport.visible = bool @border.visible = bool end #---------------- # â— minimap_on? #---------------- def on? return true end #-------------- # ● update #-------------- def update super self.visible = on? if viewport.ox < display_x viewport.ox += 1 elsif viewport.ox > display_x viewport.ox -= 1 end if viewport.oy < display_y viewport.oy += 1 elsif viewport.oy > display_y viewport.oy -= 1 end end #-------------- # ● width #-------------- def width return 120 end #-------------- # ● height #-------------- def height return 90 end #-------------- # ● display_x #-------------- def display_x return $game_map.display_x * 3 / 64 end #-------------- # ● display_y #-------------- def display_y return $game_map.display_y * 3 / 64 end end #============================================================================== # ■ Map_Passability #------------------ # draws the mini map # # thanks to Fanha Giang (aka fanha99) for the autotile drawing method #============================================================================== class Map_Passability < Map_Base #-------------- # ● constants #-------------- INDEX = [ 26, 27, 32, 33, 4, 27, 32, 33, 26, 5, 32, 33, 4, 5, 32, 33, 26, 27, 32, 11, 4, 27, 32, 11, 26, 5, 32, 11, 4, 5, 32, 11, 26, 27, 10, 33, 4, 27, 10, 33, 26, 5, 10, 33, 4, 5, 10, 33, 26, 27, 10, 11, 4, 27, 10, 11, 26, 5, 10, 11, 4, 5, 10, 11, 24, 25, 30, 31, 24, 5, 30, 31, 24, 25, 30, 11, 24, 5, 30, 11, 14, 15, 20, 21, 14, 15, 20, 11, 14, 15, 10, 21, 14, 15, 10, 11, 28, 29, 34, 35, 28, 29, 10, 35, 4, 29, 34, 35, 4, 29, 10, 35, 38, 39, 44, 45, 4, 39, 44, 45, 38, 5, 44, 45, 4, 5, 44, 45, 24, 29, 30, 35, 14, 15, 44, 45, 12, 13, 18, 19, 12, 13, 18, 11, 16, 17, 22, 23, 16, 17, 10, 23, 40, 41, 46, 47, 4, 41, 46, 47, 36, 37, 42, 43, 36, 5, 42, 43, 12, 17, 18, 23, 12, 13, 42, 43, 36, 41, 42, 47, 16, 17, 46, 47, 12, 17, 42, 47, 0, 1, 6, 7 ] X = [0, 1, 0, 1] Y = [0, 0, 1, 1] #-------------- # ● initialize #-------------- def initialize(corner) super(corner) @autotile = RPG::Cache.picture("minimap_tiles") setup() end #-------------- # ● setup #-------------- def setup() @map = load_data(sprintf("Data/Map%03d.rxdata", $game_map.map_id)) tileset = $data_tilesets[@map.tileset_id] @passages = tileset.passages @priorities = tileset.priorities redefine_tiles refresh end #-------------- # ● pass #-------------- def pass(tile_id) return 15 if tile_id == nil return @passages[tile_id] != nil ? @passages[tile_id] : 15 end #-------------- # ● passable #-------------- def passable(tile_id) return pass(tile_id) < 15 end #-------------- # ● redefine_tile #-------------- def redefine_tiles width = @map.width height = @map.height map = RPG::Map.new(width, height) map.data = @map.data.dup for x in 0...width for y in 0...height for level in [1, 2] id = @map.data[x, y, level] if id != 0 and @priorities[id] == 0 @map.data[x, y, 0] = id @passages[@map.data[x, y, 0]] = @passages[id] end end end end for x in 0...width for y in 0...height for level in [0] tile = @map.data[x, y, level] u = @map.data[x, y-1, level] l = @map.data[x-1, y, level] r = @map.data[x+1, y, level] d = @map.data[x, y+1, level] if !passable(tile) map.data[x, y] = 0 else if tile == 0 map.data[x, y, level] = 0 next end if pass(tile) < 15 if !passable(u) and !passable(l) and !passable® and !passable(d) map.data[x, y, level] = 0 elsif !passable(u) and !passable(l) and !passable® and passable(d) map.data[x, y, level] = 90 elsif !passable(u) and !passable(l) and !passable(d) and passable® map.data[x, y, level] = 91 elsif !passable(u) and !passable® and !passable(d) and passable(l) map.data[x, y, level] = 93 elsif !passable(l) and !passable® and !passable(d) and passable(u) map.data[x, y, level] = 92 elsif !passable(u) and !passable(d) and passable® and passable(l) map.data[x, y, level] = 81 elsif !passable(u) and !passable® and passable(d) and passable(l) map.data[x, y, level] = 84 elsif !passable(u) and !passable(l) and passable(d) and passable® map.data[x, y, level] = 82 elsif !passable(d) and !passable® and passable(l) and passable(u) map.data[x, y, level] = 86 elsif !passable(d) and !passable(l) and passable® and passable(u) map.data[x, y, level] = 88 elsif !passable® and !passable(l) and passable(d) and passable(u) map.data[x, y, level] = 80 elsif !passable(u) and passable(d) and passable® and passable(l) map.data[x, y, level] = 68 elsif !passable(d) and passable(u) and passable® and passable(l) map.data[x, y, level] = 76 elsif !passable® and passable(d) and passable(u) and passable(l) map.data[x, y, level] = 72 elsif !passable(l) and passable(d) and passable(u) and passable® map.data[x, y, level] = 64 else map.data[x, y, level] = 48 end else map.data[x, y, level] = 0 end end end end end @map = map.dup map = nil end #-------------- # ● refresh #-------------- def refresh self.visible = false self.bitmap = Bitmap.new(@map.width * 6, @map.height * 6) bitmap = Bitmap.new(@map.width * 6, @map.height * 6) rect1 = Rect.new(6, 0, 6, 6) for y in 0...@map.height for x in 0...@map.width for level in [0] tile_id = @map.data[x, y, level] next if tile_id == 0 id = tile_id / 48 - 1 tile_id %= 48 for g in 0..3 h = 4 * tile_id + g y1 = INDEX[h] / 6 x1 = INDEX[h] % 6 rect2 = Rect.new(x1 * 3, y1 * 3, 3, 3) bitmap.blt(x * 6 + X[g] * 3, y * 6 + Y[g] * 3, @autotile, rect2) end end end end d_rect = Rect.new(0, 0, @map.width * 6, @map.height * 6) s_rect = Rect.new(0, 0, bitmap.width, bitmap.height) self.bitmap.stretch_blt(d_rect, bitmap, s_rect) self.viewport.ox = display_x self.viewport.oy = display_y bitmap.clear bitmap.dispose end end #============================================================================== # ■ Map_Event #------------------ # draw the events and hero position #============================================================================== class Map_Event < Map_Passability #-------------- # ● initialize #-------------- def initialize(corner = 4) super(corner) @dots = [] @player = Sprite.new(self.viewport) @player.bitmap = RPG::Cache.picture("mm cursors") @player.src_rect = Rect.new(0, 0, 15, 15) @player.z = self.z + 3 @events = {} for key in $game_map.events.keys event = $game_map.events[key] next if event.list == nil for i in 0...event.list.size next if event.list.code != 108 @events[key] = Sprite.new(self.viewport) @events[key].z = self.z + 2 if event.list.parameters[0].include?("event") @events[key].bitmap = RPG::Cache.picture("event") elsif event.list.parameters[0].include?("enemy") @events[key].bitmap = RPG::Cache.picture("enemy") elsif event.list.parameters[0].include?("teleport") @events[key].bitmap = RPG::Cache.picture("teleport") elsif event.list.parameters[0].include?("chest") @events[key].bitmap = RPG::Cache.picture("chest") elsif event.list.parameters[0].include?("npc") @events[key].bitmap = RPG::Cache.picture("npc") elsif event.list.parameters[0].include?("savepoint") @events[key].bitmap = RPG::Cache.picture("savepoint") end end end end #-------------- # ● dispose #-------------- def dispose @player.dispose for event in @events.values event.dispose end super end #-------------- # ● update #-------------- def update super @player.x = $game_player.real_x * 3 / 64 - 5 @player.y = $game_player.real_y * 3 / 64 - 4 @player.src_rect.x = ($game_player.direction / 2 - 1) * 15 for key in @events.keys event = @events[key] mapevent = $game_map.events[key] event.x = mapevent.real_x * 3 / 64 event.y = mapevent.real_y * 3 / 64 end end end Moghunter's Map name #_______________________________________________________________________________ # MOG_Window Map Name V1.0 #_______________________________________________________________________________ # By Moghunter #_______________________________________________________________________________ if true # True = Enable / False = Disable (Script) module MOG #Font Name. MPFONT = "Arial" #Fade ON/OFF(True - False). MPNMFD = false #Fade Time. MPNMTM = 500 #Window Position. # 0 = Upper Left. # 1 = Lower Left. # 2 = Upper Right. # 3 = Lower Right. MPNMPS = 2 # Disable Window Switch. WM_SWITCH_VIS_DISABLE = 500 end #_________________________________________________ $mogscript = {} if $mogscript == nil $mogscript["mpmapname"] = true ############### # Game_System # ############### class Game_System attr_accessor :fdtm attr_accessor :mpnm_x attr_accessor :mpnm_y alias mog24_initialize initialize def initialize mog24_initialize @fdtm = MOG::MPNMTM if MOG::MPNMPS == 0 @mpnm_x = -300 @mpnm_y = 0 elsif MOG::MPNMPS == 1 @mpnm_x = -300 @mpnm_y = 380 elsif MOG::MPNMPS == 2 @mpnm_x = 640 @mpnm_y = 0 else @mpnm_x = 640 @mpnm_y = 380 end end def mpnm_x return @mpnm_x end def mpnm_y return @mpnm_y end def fdtm if @fdtm <= 0 @fdtm = 0 end return @fdtm end end ############ # Game_Map # ############ class Game_Map attr_reader :map_id def mpname $mpname = load_data("Data/MapInfos.rxdata") $mpname[@map_id].name end end ############### # Window Base # ############### class Window_Base < Window def draw_mpname(x,y) mapic = RPG::Cache.picture("") cw = mapic.width ch = mapic.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y - ch + 65, mapic, src_rect) self.contents.font.name = MOG::MPFONT self.contents.font.size = 16 self.contents.font.color = Color.new(0,0,0,255) self.contents.draw_text(x + 4, y + -8, 160, 60, $game_map.mpname.to_s,1) self.contents.font.color = Color.new(255,255,255,255) self.contents.draw_text(x + 4, y + -8, 160, 60, $game_map.mpname.to_s,1) end end ########## # Mpname # ########## class Mpname < Window_Base def initialize super($game_system.mpnm_x, $game_system.mpnm_y, 160, 60) self.contents = Bitmap.new(width - 32, height - 32) self.opacity = 0 refresh end def refresh self.contents.clear draw_mpname(10,0) end end ############# # Scene_Map # ############# class Scene_Map alias mog24_main main def main @mpnm = Mpname.new @mpnm.contents_opacity = $game_system.fdtm if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == false @mpnm.visible = true else @mpnm.visible = false end mog24_main @mpnm.dispose end alias mog24_update update def update mog24_update $game_system.mpnm_x = @mpnm.x $game_system.mpnm_y = @mpnm.y if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == false @mpnm.visible = true else @mpnm.visible = false end if MOG::MPNMPS == 0 or MOG::MPNMPS == 1 if @mpnm.x < 0 @mpnm.x += 8 elsif @mpnm.x >= 0 @mpnm.x = 0 end else if @mpnm.x > 400 @mpnm.x -= 8 elsif @mpnm.x <= 400 @mpnm.x = 400 end end @mpnm.contents_opacity = $game_system.fdtm if MOG::MPNMFD == true $game_system.fdtm -= 3 end end alias mog24_transfer_player transfer_player def transfer_player mog24_transfer_player if MOG::MPNMPS == 0 $game_system.mpnm_x = -300 $game_system.mpnm_y = 0 elsif MOG::MPNMPS == 1 $game_system.mpnm_x = -300 $game_system.mpnm_y = 380 elsif MOG::MPNMPS == 2 $game_system.mpnm_x = 640 $game_system.mpnm_y = 0 else $game_system.mpnm_x = 640 $game_system.mpnm_y = 380 end @mpnm.y = $game_system.mpnm_y @mpnm.x = $game_system.mpnm_x $game_system.fdtm = MOG::MPNMTM @mpnm.refresh end end end Share this post Link to post Share on other sites
0 Nisage 31 Report post Posted August 11, 2009 I think that was in some ring menu scripts. Showing the name of the map whenever you open the menu. I think you can try to take the "Show Map Name" setting from the Ring Menu and add it, somewhere, into the Minimap script. But I don't know how to do that or if that can be done without some difficult modifications. Share this post Link to post Share on other sites
0 rgangsta 43 Report post Posted August 11, 2009 Show a picture? It would require alot of work, but...why not? Share this post Link to post Share on other sites
0 Nisage 31 Report post Posted August 11, 2009 Show a picture? It would require alot of work, but...why not? That can be done with a Common Event, a Switch, and a Variable. Oh, and the pictures with the names of the maps. It'd be tough to set up, but it might be easier to do. Share this post Link to post Share on other sites
0 rgangsta 43 Report post Posted August 11, 2009 mhm. I did that exact thing exept it was for equiped weapons. Share this post Link to post Share on other sites
0 vincestick 13 Report post Posted August 11, 2009 If it makes it any easier, I just need the text of the map location name to appear above the minimap in the screenie. Share this post Link to post Share on other sites
0 Nisage 31 Report post Posted August 11, 2009 If it makes it any easier, I just need the text of the map location name to appear above the minimap in the screenie. Hmm..... Those would be small words then. I might be able to do it. Here's an example. Forest -Image Removed- To big? Share this post Link to post Share on other sites
0 vincestick 13 Report post Posted August 11, 2009 Hmm..... Those would be small words then. I might be able to do it. Here's an example. Forest To big? It is a tad too big. I'm not lookin' for anything fancy, just regular text to show what map you're in. Is there a way to do this by editing the x and y settings within the script? Share this post Link to post Share on other sites
I don't know what to edit, but how would you set it so the location name would be directly above the mini-map in the screenshot?
If it helps, I'm using these two scripts:
=====
# ■ Passability Mini Map
#------------------
# made by Selwyn/Squall // selwyn@rmxp.ch
# released the 30th of May 2006
#==============================================================================
#==============================================================================
# ■ Scene_Map
#------------------
# draw the mini map
# @corner is the corner you want the mini map to be displayed in.
# 1 is upper left, 2 is upper right, 3 is bottom left and 4 is bottom right
#==============================================================================
class Scene_Map
alias main_passminimap main
alias update_passminimap update
alias transfer_passminimap transfer_player
#--------------
# ● initialize
#--------------
def initialize
@corner = 2 # 1 or 2 or 3 or 4
end
#--------------
# ● main
#--------------
def main
@mini_map = Map_Event.new(@corner)
main_passminimap
@mini_map.dispose
end
#--------------
# ● update
#--------------
def update
@mini_map.update
if $game_system.map_interpreter.running?
@mini_map.visible = false
elsif not $game_system.map_interpreter.running? and @mini_map.on?
@mini_map.visible = true
end
update_passminimap
end
#--------------
# ● transfer_player
#--------------
def transfer_player
transfer_passminimap
@mini_map.dispose
@mini_map = Map_Event.new(@corner)
end
end
#==============================================================================
# ■ Map_Base
#------------------
# Base class for mini maps
#==============================================================================
class Map_Base < Sprite
#--------------
# ● constants and instances
#--------------
PMP_VERSION = 6
ACTIVATED_ID = 3 # set the switch id for the minimap display (on/off)
attr_reader :event
#--------------
# ● initialize
#--------------
def initialize(corner)
super(Viewport.new(16, 16, width, height))
viewport.z = 8000
@border = Sprite.new
@border.x = viewport.rect.x - 6
@border.y = viewport.rect.y - 6
@border.z = viewport.z - 1
@border.bitmap = RPG::Cache.picture("mapback")
self.visible = on?
self.opacity = 180
case corner
when 1
self.x = 16
self.y = 16
when 2
self.x = 640 - width - 16
self.y = 16
when 3
self.x = 16
self.y = 480 - height - 16
when 4
self.x = 640 - width - 16
self.y = 480 - height - 16
else
self.x = 16
self.y = 16
end
self.visible = on?
end
#--------------
# ● dispose
#--------------
def dispose
@border.dispose
super
end
#--------------
# ● x=
#--------------
def x=(x)
self.viewport.rect.x = x
@border.x = x - 6
end
#--------------
# ● y=
#--------------
def y=(y)
self.viewport.rect.y = y
@border.y = y - 6
end
#--------------
# ● visible=
#--------------
def visible=(bool)
super
self.viewport.visible = bool
@border.visible = bool
end
#----------------
# â— minimap_on?
#----------------
def on?
return true
end
#--------------
# ● update
#--------------
def update
super
self.visible = on?
if viewport.ox < display_x
viewport.ox += 1
elsif viewport.ox > display_x
viewport.ox -= 1
end
if viewport.oy < display_y
viewport.oy += 1
elsif viewport.oy > display_y
viewport.oy -= 1
end
end
#--------------
# ● width
#--------------
def width
return 120
end
#--------------
# ● height
#--------------
def height
return 90
end
#--------------
# ● display_x
#--------------
def display_x
return $game_map.display_x * 3 / 64
end
#--------------
# ● display_y
#--------------
def display_y
return $game_map.display_y * 3 / 64
end
end
#==============================================================================
# ■ Map_Passability
#------------------
# draws the mini map
#
# thanks to Fanha Giang (aka fanha99) for the autotile drawing method
#==============================================================================
class Map_Passability < Map_Base
#--------------
# ● constants
#--------------
INDEX =
[
26, 27, 32, 33, 4, 27, 32, 33, 26, 5, 32, 33, 4, 5, 32, 33,
26, 27, 32, 11, 4, 27, 32, 11, 26, 5, 32, 11, 4, 5, 32, 11,
26, 27, 10, 33, 4, 27, 10, 33, 26, 5, 10, 33, 4, 5, 10, 33,
26, 27, 10, 11, 4, 27, 10, 11, 26, 5, 10, 11, 4, 5, 10, 11,
24, 25, 30, 31, 24, 5, 30, 31, 24, 25, 30, 11, 24, 5, 30, 11,
14, 15, 20, 21, 14, 15, 20, 11, 14, 15, 10, 21, 14, 15, 10, 11,
28, 29, 34, 35, 28, 29, 10, 35, 4, 29, 34, 35, 4, 29, 10, 35,
38, 39, 44, 45, 4, 39, 44, 45, 38, 5, 44, 45, 4, 5, 44, 45,
24, 29, 30, 35, 14, 15, 44, 45, 12, 13, 18, 19, 12, 13, 18, 11,
16, 17, 22, 23, 16, 17, 10, 23, 40, 41, 46, 47, 4, 41, 46, 47,
36, 37, 42, 43, 36, 5, 42, 43, 12, 17, 18, 23, 12, 13, 42, 43,
36, 41, 42, 47, 16, 17, 46, 47, 12, 17, 42, 47, 0, 1, 6, 7
]
X = [0, 1, 0, 1]
Y = [0, 0, 1, 1]
#--------------
# ● initialize
#--------------
def initialize(corner)
super(corner)
@autotile = RPG::Cache.picture("minimap_tiles")
setup()
end
#--------------
# ● setup
#--------------
def setup()
@map = load_data(sprintf("Data/Map%03d.rxdata", $game_map.map_id))
tileset = $data_tilesets[@map.tileset_id]
@passages = tileset.passages
@priorities = tileset.priorities
redefine_tiles
refresh
end
#--------------
# ● pass
#--------------
def pass(tile_id)
return 15 if tile_id == nil
return @passages[tile_id] != nil ? @passages[tile_id] : 15
end
#--------------
# ● passable
#--------------
def passable(tile_id)
return pass(tile_id) < 15
end
#--------------
# ● redefine_tile
#--------------
def redefine_tiles
width = @map.width
height = @map.height
map = RPG::Map.new(width, height)
map.data = @map.data.dup
for x in 0...width
for y in 0...height
for level in [1, 2]
id = @map.data[x, y, level]
if id != 0 and @priorities[id] == 0
@map.data[x, y, 0] = id
@passages[@map.data[x, y, 0]] = @passages[id]
end
end
end
end
for x in 0...width
for y in 0...height
for level in [0]
tile = @map.data[x, y, level]
u = @map.data[x, y-1, level]
l = @map.data[x-1, y, level]
r = @map.data[x+1, y, level]
d = @map.data[x, y+1, level]
if !passable(tile)
map.data[x, y] = 0
else
if tile == 0
map.data[x, y, level] = 0
next
end
if pass(tile) < 15
if !passable(u) and !passable(l) and !passable® and !passable(d)
map.data[x, y, level] = 0
elsif !passable(u) and !passable(l) and !passable® and passable(d)
map.data[x, y, level] = 90
elsif !passable(u) and !passable(l) and !passable(d) and passable®
map.data[x, y, level] = 91
elsif !passable(u) and !passable® and !passable(d) and passable(l)
map.data[x, y, level] = 93
elsif !passable(l) and !passable® and !passable(d) and passable(u)
map.data[x, y, level] = 92
elsif !passable(u) and !passable(d) and passable® and passable(l)
map.data[x, y, level] = 81
elsif !passable(u) and !passable® and passable(d) and passable(l)
map.data[x, y, level] = 84
elsif !passable(u) and !passable(l) and passable(d) and passable®
map.data[x, y, level] = 82
elsif !passable(d) and !passable® and passable(l) and passable(u)
map.data[x, y, level] = 86
elsif !passable(d) and !passable(l) and passable® and passable(u)
map.data[x, y, level] = 88
elsif !passable® and !passable(l) and passable(d) and passable(u)
map.data[x, y, level] = 80
elsif !passable(u) and passable(d) and passable® and passable(l)
map.data[x, y, level] = 68
elsif !passable(d) and passable(u) and passable® and passable(l)
map.data[x, y, level] = 76
elsif !passable® and passable(d) and passable(u) and passable(l)
map.data[x, y, level] = 72
elsif !passable(l) and passable(d) and passable(u) and passable®
map.data[x, y, level] = 64
else
map.data[x, y, level] = 48
end
else
map.data[x, y, level] = 0
end
end
end
end
end
@map = map.dup
map = nil
end
#--------------
# ● refresh
#--------------
def refresh
self.visible = false
self.bitmap = Bitmap.new(@map.width * 6, @map.height * 6)
bitmap = Bitmap.new(@map.width * 6, @map.height * 6)
rect1 = Rect.new(6, 0, 6, 6)
for y in 0...@map.height
for x in 0...@map.width
for level in [0]
tile_id = @map.data[x, y, level]
next if tile_id == 0
id = tile_id / 48 - 1
tile_id %= 48
for g in 0..3
h = 4 * tile_id + g
y1 = INDEX[h] / 6
x1 = INDEX[h] % 6
rect2 = Rect.new(x1 * 3, y1 * 3, 3, 3)
bitmap.blt(x * 6 + X[g] * 3, y * 6 + Y[g] * 3, @autotile, rect2)
end
end
end
end
d_rect = Rect.new(0, 0, @map.width * 6, @map.height * 6)
s_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.bitmap.stretch_blt(d_rect, bitmap, s_rect)
self.viewport.ox = display_x
self.viewport.oy = display_y
bitmap.clear
bitmap.dispose
end
end
#==============================================================================
# ■ Map_Event
#------------------
# draw the events and hero position
#==============================================================================
class Map_Event < Map_Passability
#--------------
# ● initialize
#--------------
def initialize(corner = 4)
super(corner)
@dots = []
@player = Sprite.new(self.viewport)
@player.bitmap = RPG::Cache.picture("mm cursors")
@player.src_rect = Rect.new(0, 0, 15, 15)
@player.z = self.z + 3
@events = {}
for key in $game_map.events.keys
event = $game_map.events[key]
next if event.list == nil
for i in 0...event.list.size
next if event.list.code != 108
@events[key] = Sprite.new(self.viewport)
@events[key].z = self.z + 2
if event.list.parameters[0].include?("event")
@events[key].bitmap = RPG::Cache.picture("event")
elsif event.list.parameters[0].include?("enemy")
@events[key].bitmap = RPG::Cache.picture("enemy")
elsif event.list.parameters[0].include?("teleport")
@events[key].bitmap = RPG::Cache.picture("teleport")
elsif event.list.parameters[0].include?("chest")
@events[key].bitmap = RPG::Cache.picture("chest")
elsif event.list.parameters[0].include?("npc")
@events[key].bitmap = RPG::Cache.picture("npc")
elsif event.list.parameters[0].include?("savepoint")
@events[key].bitmap = RPG::Cache.picture("savepoint")
end
end
end
end
#--------------
# ● dispose
#--------------
def dispose
@player.dispose
for event in @events.values
event.dispose
end
super
end
#--------------
# ● update
#--------------
def update
super
@player.x = $game_player.real_x * 3 / 64 - 5
@player.y = $game_player.real_y * 3 / 64 - 4
@player.src_rect.x = ($game_player.direction / 2 - 1) * 15
for key in @events.keys
event = @events[key]
mapevent = $game_map.events[key]
event.x = mapevent.real_x * 3 / 64
event.y = mapevent.real_y * 3 / 64
end
end
end
______
# MOG_Window Map Name V1.0
#_______________________________________________________________________________
# By Moghunter
#_______________________________________________________________________________
if true # True = Enable / False = Disable (Script)
module MOG
#Font Name.
MPFONT = "Arial"
#Fade ON/OFF(True - False).
MPNMFD = false
#Fade Time.
MPNMTM = 500
#Window Position.
# 0 = Upper Left.
# 1 = Lower Left.
# 2 = Upper Right.
# 3 = Lower Right.
MPNMPS = 2
# Disable Window Switch.
WM_SWITCH_VIS_DISABLE = 500
end
#_________________________________________________
$mogscript = {} if $mogscript == nil
$mogscript["mpmapname"] = true
###############
# Game_System #
###############
class Game_System
attr_accessor :fdtm
attr_accessor :mpnm_x
attr_accessor :mpnm_y
alias mog24_initialize initialize
def initialize
mog24_initialize
@fdtm = MOG::MPNMTM
if MOG::MPNMPS == 0
@mpnm_x = -300
@mpnm_y = 0
elsif MOG::MPNMPS == 1
@mpnm_x = -300
@mpnm_y = 380
elsif MOG::MPNMPS == 2
@mpnm_x = 640
@mpnm_y = 0
else
@mpnm_x = 640
@mpnm_y = 380
end
end
def mpnm_x
return @mpnm_x
end
def mpnm_y
return @mpnm_y
end
def fdtm
if @fdtm <= 0
@fdtm = 0
end
return @fdtm
end
end
############
# Game_Map #
############
class Game_Map
attr_reader :map_id
def mpname
$mpname = load_data("Data/MapInfos.rxdata")
$mpname[@map_id].name
end
end
###############
# Window Base #
###############
class Window_Base < Window
def draw_mpname(x,y)
mapic = RPG::Cache.picture("")
cw = mapic.width
ch = mapic.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch + 65, mapic, src_rect)
self.contents.font.name = MOG::MPFONT
self.contents.font.size = 16
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 4, y + -8, 160, 60, $game_map.mpname.to_s,1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 4, y + -8, 160, 60, $game_map.mpname.to_s,1)
end
end
##########
# Mpname #
##########
class Mpname < Window_Base
def initialize
super($game_system.mpnm_x, $game_system.mpnm_y, 160, 60)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
refresh
end
def refresh
self.contents.clear
draw_mpname(10,0)
end
end
#############
# Scene_Map #
#############
class Scene_Map
alias mog24_main main
def main
@mpnm = Mpname.new
@mpnm.contents_opacity = $game_system.fdtm
if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == false
@mpnm.visible = true
else
@mpnm.visible = false
end
mog24_main
@mpnm.dispose
end
alias mog24_update update
def update
mog24_update
$game_system.mpnm_x = @mpnm.x
$game_system.mpnm_y = @mpnm.y
if $game_switches[MOG::WM_SWITCH_VIS_DISABLE] == false
@mpnm.visible = true
else
@mpnm.visible = false
end
if MOG::MPNMPS == 0 or MOG::MPNMPS == 1
if @mpnm.x < 0
@mpnm.x += 8
elsif @mpnm.x >= 0
@mpnm.x = 0
end
else
if @mpnm.x > 400
@mpnm.x -= 8
elsif @mpnm.x <= 400
@mpnm.x = 400
end
end
@mpnm.contents_opacity = $game_system.fdtm
if MOG::MPNMFD == true
$game_system.fdtm -= 3
end
end
alias mog24_transfer_player transfer_player
def transfer_player
mog24_transfer_player
if MOG::MPNMPS == 0
$game_system.mpnm_x = -300
$game_system.mpnm_y = 0
elsif MOG::MPNMPS == 1
$game_system.mpnm_x = -300
$game_system.mpnm_y = 380
elsif MOG::MPNMPS == 2
$game_system.mpnm_x = 640
$game_system.mpnm_y = 0
else
$game_system.mpnm_x = 640
$game_system.mpnm_y = 380
end
@mpnm.y = $game_system.mpnm_y
@mpnm.x = $game_system.mpnm_x
$game_system.fdtm = MOG::MPNMTM
@mpnm.refresh
end
end
end
Share this post
Link to post
Share on other sites