Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[VXACE] [Aporte] Script Mini-Mapa (Ahora con Demo)

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker VX ACE [VXACE] [Aporte] Script Mini-Mapa (Ahora con Demo)

Mensaje por ElNachGames el 2018-02-14, 07:01

¡Hola gente! Quiero hacer un aporte de un script (aclaro que no se si alguien ya lo hizo) de un mini-mapa.
Espero que lo disfruten y me den apoyo, por cierto si no conocen como cambiar los colores solo usen photoshop o cualquier otro editor o en sitios web donde te deje provar el variar los valores de RGB.

Creditos a Azraven.
Ver.Español Traducido por ElNachGames:
Código:

#==============================================================================#
#                          **Azraven Minimap**                                 #
#------------------------------------------------------------------------------#
#  ** Autor: Azraven                                                           #
#  ** Versión: 1.5b                                                            #
#  ** Fecha: 24/12/2012                                                        #                                              
#------------------------------------------------------------------------------#  
#  - Descripción:                                                              #
#     Este script agrega un mapa de mapa circular en el juego.                 #
#  - Utilización:                                                              #
#     Pegue este script en la sección "Secuencias de comandos adicionales".    #                    #
#==============================================================================#
# - Historial                                                                  #
#    24/12/2012 - Inicio y terminación de la versión 1.0b                      #
#    04/03/2013 - Versión 1.5b Corrección de errores y adición de nuevas       #
#                 funciones.                                                   #
#               * Corrección de un error en el que no verificaba correctamente #
#                 el error de determinados azulejos.                           #
#               * Corrección de un error en el que los azulejos de hierba      #
#                 (arbusto) presentados como bloqueo.                          #
#               * Corrección de un error en el que los azulejos de bloqueo     #
#                 colocados sobre azulejos de hierba era mrepresentados        #
#                 como pasables.                                               #
#               * Código mejorado.                                             #
#               + Añadido la función de mostrar los vehiculos.                 #
#               + Añadido la función de mostrar los seguidores.                #
#               + Añadido la función para utilizar ID de Región para           #
#                 ocultar áreas pasables.                                      #
#    14/06/2014 * Bug relacionado con el comando "Borrar evento temporal"      #
#                 corregido.                                                   #
#               * Limpieza en el código.                                       #
#------------------------------------------------------------------------------#
module Azraven
module MiniMap
  #--------------------------------------------------------------------------#
  # CONFIGURACIÓN                                                            #
  #--------------------------------------------------------------------------#
  #Tamaño del azulejo del mini mapa, recomendamos no utilizar valores menores
  #que 3.
  TileSize = 8
  #--------------------------------------------------------------------------
  #Ajuste de la centralización del mini mapa, depende del tamaño del azulejo.
  MapOffset = -4
  #--------------------------------------------------------------------------
  #Define el color del jugador en el mapa.
  PlayerColor = Color.new(255,0,0)
  #--------------------------------------------------------------------------
  #Muestra los seguidores.
  ShowFollowers = true
  #--------------------------------------------------------------------------
  #Define el color de los seguidores en el mapa.
  FollowerColor = Color.new(0,128,255)
  #--------------------------------------------------------------------------
  #Define si mostrar los vehiculos en el mapa.
  ShowVehicles = true
  #--------------------------------------------------------------------------
  #Define el color del barco.
  BoatColor = Color.new(255,0,255)
  #--------------------------------------------------------------------------
  #Define el color de la nave.
  ShipColor = Color.new(255,0,255)
  #--------------------------------------------------------------------------
  #Define el color del avión.
  AirshipColor = Color.new(255,0,255)
  #--------------------------------------------------------------------------
  #Define el color de los objetos mostrados en el mapa.
  #Objetos son NPCs, puertas, teleportes, baúles y lo que más el usuario pueda
  #imaginar.
  #Para agregar un nuevo objeto utilice la siguiente sintaxis dentro de las
  #   {}:   "tag" => Color.new(R,G,B,A)
  #Donde tag es el comentario que será adiocinado a tal evento.
  #Separe cada objeto por "," sin las comillas.
  ObjectColor = {"npc" => Color.new(0,255,0),
                "teleport" => Color.new(150,50,50),
                "chest" => Color.new(100,100,100)}
  #--------------------------------------------------------------------------
  #Define el color de contorno de los objetos y del jugador.
  BorderColor = Color.new(0,0,0)
  #--------------------------------------------------------------------------
  #Opacidad de los objetos mostrados en el mapa.
  ObjectLayerOpacity = 255
  #--------------------------------------------------------------------------
  #Posición del mapa en la pantalla.
  #1 = Canto superior izquierdo.
  #2 = Canto superior derecho.
  #3 = Canto iuperior izquierdo.
  #4 = Canto superior derecho.
  MiniMapCorner = 2
  #--------------------------------------------------------------------------
  #Define si determinada región mostrará como bloqueada en el mini mapa.
  #Util para no revelar "pasajes secretos".
  UseHideRegion = true
  #--------------------------------------------------------------------------
  #Id de la región en caso de que UseHideRegion es true
  HideRegionId = 5
  #--------------------------------------------------------------------------
  #Color del área inmovilizable del mapa.
  MapColor = Color.new(200,150,150)
  #--------------------------------------------------------------------------
  #Color del contorno del área impasible del mapa.
  MapBorderColor = Color.new(50,50,50)
  #--------------------------------------------------------------------------
  #Nombre del archivo de imagen del borde del mapa mini en la
  #carpeta Graphics/System.
  BorderName = "Border"
  #--------------------------------------------------------------------------
  #Define si utilizará una textura al fondo.
  UseBGTexture = true
  #--------------------------------------------------------------------------
  #Nombre del archivo de imagen de la textura utilizado
  #de fondo del mini mapa en la carpeta Graphics/System.
  #Nota: La imagen debe estar con los colores invertidos.
  BackTextureName = "OldPaper"
  #--------------------------------------------------------------------------
  #Color de relleno del fondo si no se utiliza una textura.
  BGColor = Color.new( 100, 100, 100)
  #--------------------------------------------------------------------------
  #Opción de rellenar con un color el área externa del mapa.
  ClearOutsideArea = true
  #--------------------------------------------------------------------------
  #Color utilizado para rellenar el área externa del mapa.
  ClearOutsideColor = Color.new(0,0,0)
  #--------------------------------------------------------------------------
  #Opción de dermarcar los límites del mapa.
  OutlineMapArea = true
  #--------------------------------------------------------------------------
  #Color de la demarcación de los límites del mapa.
  OutlineMapColor = Color.new(0,0,0)
  #--------------------------------------------------------------------------
  #Id del interruptor que habilita/deshabilita el mini mapa.
  EnableSwitchId = 1
  #--------------------------------------------------------------------------#
  # FIN DE LA CONFIGURACIÓN.                                                 #
  #--------------------------------------------------------------------------#
  MiniMapCoords = {1 => [0,0,112,112],
                   2 => [Graphics.width - 112,0,112,112],
                   3 => [0,Graphics.height - 112,112,112],
                   4 => [Graphics.width - 112,Graphics.height - 112,112,112]}
                   
end
end
#==============================================================================#
#  ** Clase Color
#==============================================================================#
class Color
#-----------------------------------------------------------------------------
# * Invierte el valor de los colores
#-----------------------------------------------------------------------------
def invert
  r = 255 - self.red
  g = 255 - self.green
  b = 255 - self.blue
  a = self.alpha
  self.set(r, g, b, a)
end
end


#==============================================================================#
#  ** Clase Mini Map
#==============================================================================#
class MiniMap

include Azraven::MiniMap

def initialize(viewport)
  @viewport = viewport
  @playercolor = PlayerColor.dup.invert
  @followercolor = FollowerColor.dup.invert
  @boatcolor = BoatColor.dup.invert
  @shipcolor = ShipColor.dup.invert
  @airshipcolor = AirshipColor.dup.invert
  @objectcolor = ObjectColor.dup
  @objectcolor.each_pair do |key, value|
    @objectcolor[key] = value.dup.invert
  end
  @bordercolor = BorderColor.dup.invert
  @mapcolor = MapColor.dup.invert
  @mapbordercolor = MapBorderColor.dup.invert
  @clearoutsidecolor = ClearOutsideColor.dup.invert
  @outlinemapcolor = OutlineMapColor.dup.invert
  refresh
end

def refresh
  @map_id = $game_map.map_id
  @backmask = Sprite.new(@viewport)
  @backmask.bitmap = Cache::system("Back_96")
  @backmask.x = @backmask.y = 8
  @backtile = Sprite.new(@viewport)
  @backtile.blend_type = 2
  @backtile.z = 1
  @backtile.x = @backtile.y = -100
  @map = Sprite.new(@viewport)
  @map.z = 2
  @map.blend_type = 2
  @object_layer = Sprite.new(@viewport)
  @object_layer.z = 3
  @object_layer.blend_type = 2
  @object_layer.bitmap = Bitmap.new($game_map.width*TileSize + 112,
                                   $game_map.height*TileSize + 112)
  @object_layer.opacity = ObjectLayerOpacity
  @border = Sprite.new(@viewport)
  @border.bitmap = Cache::system(BorderName)
  @border.z = 4
  @border.opacity = 255
  @mask = Cache::system("Mask")
  draw_back
  draw_map
end

def visible?
  $game_switches[EnableSwitchId]
end

def draw_map
 
  front = make_map_bitmap(@mapcolor)
  border = make_map_bitmap(@mapbordercolor)
 
  result = Bitmap.new($game_map.width*TileSize + 112,
                      $game_map.height*TileSize+ 112)
                     
  result.blt(-1, 0, border, border.rect)
  result.blt(1, 0, border, border.rect)
  result.blt(0, -1, border, border.rect)
  result.blt(0, 1, border, border.rect)
  result.blt(0, 0, front, front.rect)
 
  @mapbitmap = result
end

def draw_back
  bitmap = Bitmap.new($game_map.width*TileSize+112,
                     $game_map.height*TileSize+112)
  if UseBGTexture
    bit = Cache::system(BackTextureName)
    bitmap.stretch_blt(bitmap.rect, bit, bit.rect)
  else
    bitmap.fill_rect(bitmap.rect, BGColor)
  end
  if ClearOutsideArea
    bitmap.fill_rect(0,0,bitmap.width, 56, @clearoutsidecolor)
    bitmap.fill_rect(0,0,56, bitmap.height, @clearoutsidecolor)
    bitmap.fill_rect(0,bitmap.height-56,bitmap.width, 56, @clearoutsidecolor)
    bitmap.fill_rect(bitmap.width-56,0,56, bitmap.height, @clearoutsidecolor)
  elsif OutlineMapArea
    bitmap.fill_rect(56,55,bitmap.width-112,1,@outlinemapcolor)
    bitmap.fill_rect(55,56,1,bitmap.height-112,@outlinemapcolor)
    bitmap.fill_rect(bitmap.width-56,55,1,bitmap.height-112,@outlinemapcolor)
    bitmap.fill_rect(56,bitmap.height-56,bitmap.width-112,1,@outlinemapcolor)
  end
  @backtilebitmap = bitmap
end

def draw_object_layer
  for event in $game_map.events.values
    unless event.list.nil?
      for item in event.list
        if item.code == 108 or item.code == 408
          if @objectcolor.has_key?(item.parameters[0])
            draw_object(event.real_x*TileSize+56,
            event.real_y*TileSize+56,
            @objectcolor[item.parameters[0]])
          end
        end
      end
    end
  end
  if ShowFollowers
    unless $game_player.vehicle
      $game_player.followers.each do |follower|
        draw_object(follower.real_x*TileSize+56,
                    follower.real_y*TileSize+56,
                    @followercolor) if follower.visible?
      end
    end
  end
  if ShowVehicles
    unless $game_map.airship.transparent
      draw_object($game_map.airship.real_x*TileSize+56,
              $game_map.airship.real_y*TileSize+56,
              @airshipcolor)
    end
    unless $game_map.ship.transparent
      draw_object($game_map.ship.real_x*TileSize+56,
              $game_map.ship.real_y*TileSize+56,
              @shipcolor)
    end
    unless $game_map.boat.transparent
      draw_object($game_map.boat.real_x*TileSize+56,
              $game_map.boat.real_y*TileSize+56,
              @boatcolor)
    end        
  end
  draw_object($game_player.real_x*TileSize+56,
              $game_player.real_y*TileSize+56,
              @playercolor)
end

def draw_object(x, y, color)
  @object_layer.bitmap.fill_rect(x, y, TileSize, TileSize, @bordercolor)
  @object_layer.bitmap.fill_rect(x+1, y+1, TileSize-2, TileSize-2, color)
  @object_layer.bitmap.clear_rect(x,y,1,1)
  @object_layer.bitmap.clear_rect(x,y+TileSize-1,1,1)
  @object_layer.bitmap.clear_rect(x+TileSize-1,y,1,1)
  @object_layer.bitmap.clear_rect(x+TileSize-1,y+TileSize-1,1,1)
end
       
def make_map_bitmap(color)
  bitmap = Bitmap.new($game_map.width*TileSize + 112,
                     $game_map.height*TileSize + 112)
  for x in 0..$game_map.width - 1
    for y in 0..$game_map.height - 1
      if $game_map.airship_land_ok?(x, y) || $game_map.bush?(x, y)
        if UseHideRegion
          bitmap.fill_rect(x*TileSize+56,
                           y*TileSize+56,
                           TileSize, TileSize,
                           color) if $game_map.region_id(x, y) == HideRegionId
        else
           next                  
        end
        if $game_map.bush?(x, y)
          unless $game_map.passable?(x, y, 4)
             bitmap.fill_rect(x*TileSize+56, y*TileSize+56, TileSize, TileSize, color)
          end
        end
        next
      end
      bitmap.fill_rect(x*TileSize+56, y*TileSize+56, TileSize, TileSize, color)
    end
  end
  bitmap
end

def update_object_layer
 @object_layer.bitmap.clear
 draw_object_layer
end

def dispose
  @backmask.dispose
  @backtile.dispose
  @map.dispose
  @object_layer.dispose
  @border.dispose
end

def update
  if @map_id != $game_map.map_id
    dispose
    @map_id = $game_map.map_id
    refresh
  end
  @backmask.visible = visible?
  @backtile.visible = visible?
  @map.visible = visible?
  @object_layer.visible = visible?
  @border.visible = visible?
  if visible?
    @map.bitmap = @mapbitmap.dup
    @backtile.bitmap = @backtilebitmap.dup
    sx = $game_player.real_x * (TileSize * -1) + MapOffset
    sy = $game_player.real_y * (TileSize * -1) + MapOffset
    update_object_layer
    @map.x = @backtile.x = @object_layer.x = sx
    @map.y = @backtile.y = @object_layer.y = sy
    @backtile.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect)
    @map.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect)
    @object_layer.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect)
  end
end
end
#==============================================================================#
#** Clase Spriteset_Map
#==============================================================================#
class Spriteset_Map

alias azraven_mini_map_init initialize
alias azraven_mini_map_updt update
alias azraven_mini_map_disp dispose

include Azraven::MiniMap

def initialize
  create_minimap
  azraven_mini_map_init
end

def create_minimap
  viewport = Viewport.new(Graphics.width - 112,0,112,112)
  viewport.rect.set(MiniMapCoords[MiniMapCorner][0],
                    MiniMapCoords[MiniMapCorner][1],
                    MiniMapCoords[MiniMapCorner][2],
                    MiniMapCoords[MiniMapCorner][3])
  viewport.z = 500
  @minimapa = MiniMap.new(viewport)
end

def dispose
  azraven_mini_map_disp
  @minimapa.dispose
end

def update
  azraven_mini_map_updt
  @minimapa.update
end
end
#==============================================================================#
# ** Fin del script
#==============================================================================#

Ver.Original en Portugues:
Código:

#==============================================================================#
#                          **Azraven Minimap**                                 #
#------------------------------------------------------------------------------#
#  ** Autor: Azraven                                                           #
#  ** Versão: 1.5b                                                             #
#  ** Data: 24/12/2012                                                         #
#------------------------------------------------------------------------------#  
#  - Descrição:                                                                #
#     Este script adiciona um mini mapa circular no jogo.                      #
#  - Utilização:                                                               #
#     Cole este script na seção "Scripts Adicionais".                          #
#==============================================================================#
#  - Histórico                                                                 #
#    24/12/2012 - Início e término da versão 1.0b                              #
#    04/03/2013 - Versão 1.5b Correção de bugs e adição de novas funções.      #
#               * Correção de um bug em que não verificava corretamente o      #
#                 de determinados tiles.                                       #
#               * Correção de um bug em que tiles de grama (bush) eram         #
#                 apresentados como bloqueio.                                  #
#               * Correção de um bug em que tiles de bloqueio posicionados     #
#                 sobre tiles de grama era mrepresentados como passáveis.      #
#               * Código melhorado.                                            #
#               + Adicionado a função de mostrar os veiculos.                  #
#               + Adicionado a função de mostrar os seguidores.                #
#               + Adicionado a função para utilizar IDs de Região para         #
#                 ocultar áreas passáveis.                                     #
#    14/06/2014 * Bug relacionado ao comando "Apagar Evento Temporário"        #
#                 corrigido.                                                   #
#               * Limpeza no código.                                           #
#------------------------------------------------------------------------------#
module Azraven
module MiniMap
  #--------------------------------------------------------------------------#
  # CONFIGURAÇÂO                                                             #
  #--------------------------------------------------------------------------#
  #Tamanho do tile do mini mapa, recomendável não usar valores menores que 3.
  TileSize = 8
  #--------------------------------------------------------------------------#
  #Ajuste do centralizamento do mini mapa, depende do tamanho do tile.
  MapOffset = -4
  #--------------------------------------------------------------------------#
  #Define a cor do jogador no mapa.
  PlayerColor = Color.new(255,0,0)
  #--------------------------------------------------------------------------#
  #Mostra os seguidores.
  ShowFollowers = false
  #--------------------------------------------------------------------------#
  #Define a cor dos seguidores no mapa.
  FollowerColor = Color.new(0,128,255)
  #--------------------------------------------------------------------------#
  #Define se irá mostrar os veiculos no map.
  ShowVehicles = true
  #--------------------------------------------------------------------------#
  #Define a cor do barco.
  BoatColor = Color.new(255,0,255)
  #--------------------------------------------------------------------------#
  #Define a cor do navio.
  ShipColor = Color.new(255,0,255)
  #--------------------------------------------------------------------------#
  #Define a cor do aeronave.
  AirshipColor = Color.new(255,0,255)
  #--------------------------------------------------------------------------#
  #Define a cor dos objetos mostrados no mapa.
  #Objetos são NPCs, portas, teleportes, baús e o que mais o usuário puder
  #imaginar.
  #Para adicionar um novo objeto use a seguinte sintaxe dentro das {}:
  #     "tag" => Color.new(R,G,B,A)
  #Onde tag é o comentário que será adiocinado a tal evento.
  #Separe cada objeto por "," sem as aspas.
  ObjectColor = {"npc" => Color.new(0,255,0),
                "teleport" => Color.new(150,50,50),
                "chest" => Color.new(100,100,100)}
  #--------------------------------------------------------------------------#
  #Define a cor de contorno dos objetos e do jogador.
  BorderColor = Color.new(0,0,0)
  #--------------------------------------------------------------------------#
  #Opacidade dos objetos mostrados no mapa.
  ObjectLayerOpacity = 255
  #--------------------------------------------------------------------------#
  #Posição do mapa na tela.
  #1 = Canto superior esquerdo.
  #2 = Canto superior direito.
  #3 = Canto inferior esquerdo.
  #4 = Canto superior direito.
  MiniMapCorner = 2
  #--------------------------------------------------------------------------#
  #Define se determinada região mostrará como bloqueada no mini mapa.
  #Util pra não revelar "passagens secretas".
  UseHideRegion = true
  #--------------------------------------------------------------------------#
  #Id da região caso UseHideRegion for true.
  HideRegionId = 1
  #--------------------------------------------------------------------------#
  #Cor do da área impassável do mapa.
  MapColor = Color.new(200,150,150)
  #--------------------------------------------------------------------------#
  #Cor do contorno da área impassável do mapa.
  MapBorderColor = Color.new(50,50,50)
  #--------------------------------------------------------------------------#
  #Nome do arquivo de imagem da borda do mini mapa na pasta Graphics/System.
  BorderName = "Border"
  #--------------------------------------------------------------------------#
  #Define se irá utilizar uam textura ao fundo.
  UseBGTexture = true
  #--------------------------------------------------------------------------#
  #Nome do arquivo de imagem da textura usada ao
  #fundo do mini mapa na pasta Graphics/System.
  #Obs.: A imagem deve estar com as cores invertidas.
  BackTextureName = "OldPaper"
  #--------------------------------------------------------------------------#
  #Cor de preenchimento do fundo caso nã oseja utilizado uma textura.
  BGColor = Color.new( 100, 100, 100)
  #--------------------------------------------------------------------------#
  #Opção de preencher com uma cor a área externa do mapa.
  ClearOutsideArea = true
  #--------------------------------------------------------------------------#
  #Cor utilizada para preencher a área externa do mapa.
  ClearOutsideColor = Color.new(0,0,0)
  #--------------------------------------------------------------------------#
  #Opção de dermarcar os limites do mapa.
  OutlineMapArea = true
  #--------------------------------------------------------------------------#
  #Cor da demarcação dos limites do mapa.
  OutlineMapColor = Color.new(0,0,0)
  #--------------------------------------------------------------------------#
  #Id do switch que habilita/desabilita o mini mapa.
  EnableSwitchId = 1
  #--------------------------------------------------------------------------#
  # FIM DA CONFIGURAÇÂO.                                                     #
  #--------------------------------------------------------------------------#
  MiniMapCoords = {1 => [0,0,112,112],
                   2 => [Graphics.width - 112,0,112,112],
                   3 => [0,Graphics.height - 112,112,112],
                   4 => [Graphics.width - 112,Graphics.height - 112,112,112]}
                   
end
end
#==============================================================================#
# ** Classe Color
#==============================================================================#
class Color
#-----------------------------------------------------------------------------
# * Inverte o valor das cores
#-----------------------------------------------------------------------------
def invert
  r = 255 - self.red
  g = 255 - self.green
  b = 255 - self.blue
  a = self.alpha
  self.set(r, g, b, a)
end
end


#==============================================================================#
# ** Classe Mini Map
#==============================================================================#
class MiniMap

include Azraven::MiniMap

def initialize(viewport)
  @viewport = viewport
  @playercolor = PlayerColor.dup.invert
  @followercolor = FollowerColor.dup.invert
  @boatcolor = BoatColor.dup.invert
  @shipcolor = ShipColor.dup.invert
  @airshipcolor = AirshipColor.dup.invert
  @objectcolor = ObjectColor.dup
  @objectcolor.each_pair do |key, value|
    @objectcolor[key] = value.dup.invert
  end
  @bordercolor = BorderColor.dup.invert
  @mapcolor = MapColor.dup.invert
  @mapbordercolor = MapBorderColor.dup.invert
  @clearoutsidecolor = ClearOutsideColor.dup.invert
  @outlinemapcolor = OutlineMapColor.dup.invert
  refresh
end

def refresh
  @map_id = $game_map.map_id
  @backmask = Sprite.new(@viewport)
  @backmask.bitmap = Cache::system("Back_96")
  @backmask.x = @backmask.y = 8
  @backtile = Sprite.new(@viewport)
  @backtile.blend_type = 2
  @backtile.z = 1
  @backtile.x = @backtile.y = -100
  @map = Sprite.new(@viewport)
  @map.z = 2
  @map.blend_type = 2
  @object_layer = Sprite.new(@viewport)
  @object_layer.z = 3
  @object_layer.blend_type = 2
  @object_layer.bitmap = Bitmap.new($game_map.width*TileSize + 112,
                                   $game_map.height*TileSize + 112)
  @object_layer.opacity = ObjectLayerOpacity
  @border = Sprite.new(@viewport)
  @border.bitmap = Cache::system(BorderName)
  @border.z = 4
  @border.opacity = 255
  @mask = Cache::system("Mask")
  draw_back
  draw_map
end

def visible?
  $game_switches[EnableSwitchId]
end

def draw_map
 
  front = make_map_bitmap(@mapcolor)
  border = make_map_bitmap(@mapbordercolor)
 
  result = Bitmap.new($game_map.width*TileSize + 112,
                      $game_map.height*TileSize+ 112)
                     
  result.blt(-1, 0, border, border.rect)
  result.blt(1, 0, border, border.rect)
  result.blt(0, -1, border, border.rect)
  result.blt(0, 1, border, border.rect)
  result.blt(0, 0, front, front.rect)
 
  @mapbitmap = result
end

def draw_back
  bitmap = Bitmap.new($game_map.width*TileSize+112,
                     $game_map.height*TileSize+112)
  if UseBGTexture
    bit = Cache::system(BackTextureName)
    bitmap.stretch_blt(bitmap.rect, bit, bit.rect)
  else
    bitmap.fill_rect(bitmap.rect, BGColor)
  end
  if ClearOutsideArea
    bitmap.fill_rect(0,0,bitmap.width, 56, @clearoutsidecolor)
    bitmap.fill_rect(0,0,56, bitmap.height, @clearoutsidecolor)
    bitmap.fill_rect(0,bitmap.height-56,bitmap.width, 56, @clearoutsidecolor)
    bitmap.fill_rect(bitmap.width-56,0,56, bitmap.height, @clearoutsidecolor)
  elsif OutlineMapArea
    bitmap.fill_rect(56,55,bitmap.width-112,1,@outlinemapcolor)
    bitmap.fill_rect(55,56,1,bitmap.height-112,@outlinemapcolor)
    bitmap.fill_rect(bitmap.width-56,55,1,bitmap.height-112,@outlinemapcolor)
    bitmap.fill_rect(56,bitmap.height-56,bitmap.width-112,1,@outlinemapcolor)
  end
  @backtilebitmap = bitmap
end

def draw_object_layer
  for event in $game_map.events.values
    unless event.list.nil?
      for item in event.list
        if item.code == 108 or item.code == 408
          if @objectcolor.has_key?(item.parameters[0])
            draw_object(event.real_x*TileSize+56,
            event.real_y*TileSize+56,
            @objectcolor[item.parameters[0]])
          end
        end
      end
    end
  end
  if ShowFollowers
    unless $game_player.vehicle
      $game_player.followers.each do |follower|
        draw_object(follower.real_x*TileSize+56,
                    follower.real_y*TileSize+56,
                    @followercolor) if follower.visible?
      end
    end
  end
  if ShowVehicles
    unless $game_map.airship.transparent
      draw_object($game_map.airship.real_x*TileSize+56,
              $game_map.airship.real_y*TileSize+56,
              @airshipcolor)
    end
    unless $game_map.ship.transparent
      draw_object($game_map.ship.real_x*TileSize+56,
              $game_map.ship.real_y*TileSize+56,
              @shipcolor)
    end
    unless $game_map.boat.transparent
      draw_object($game_map.boat.real_x*TileSize+56,
              $game_map.boat.real_y*TileSize+56,
              @boatcolor)
    end        
  end
  draw_object($game_player.real_x*TileSize+56,
              $game_player.real_y*TileSize+56,
              @playercolor)
end

def draw_object(x, y, color)
  @object_layer.bitmap.fill_rect(x, y, TileSize, TileSize, @bordercolor)
  @object_layer.bitmap.fill_rect(x+1, y+1, TileSize-2, TileSize-2, color)
  @object_layer.bitmap.clear_rect(x,y,1,1)
  @object_layer.bitmap.clear_rect(x,y+TileSize-1,1,1)
  @object_layer.bitmap.clear_rect(x+TileSize-1,y,1,1)
  @object_layer.bitmap.clear_rect(x+TileSize-1,y+TileSize-1,1,1)
end
       
def make_map_bitmap(color)
  bitmap = Bitmap.new($game_map.width*TileSize + 112,
                     $game_map.height*TileSize + 112)
  for x in 0..$game_map.width - 1
    for y in 0..$game_map.height - 1
      if $game_map.airship_land_ok?(x, y) || $game_map.bush?(x, y)
        if UseHideRegion
          bitmap.fill_rect(x*TileSize+56,
                           y*TileSize+56,
                           TileSize, TileSize,
                           color) if $game_map.region_id(x, y) == HideRegionId
        else
           next                  
        end
        if $game_map.bush?(x, y)
          unless $game_map.passable?(x, y, 4)
             bitmap.fill_rect(x*TileSize+56, y*TileSize+56, TileSize, TileSize, color)
          end
        end
        next
      end
      bitmap.fill_rect(x*TileSize+56, y*TileSize+56, TileSize, TileSize, color)
    end
  end
  bitmap
end

def update_object_layer
 @object_layer.bitmap.clear
 draw_object_layer
end

def dispose
  @backmask.dispose
  @backtile.dispose
  @map.dispose
  @object_layer.dispose
  @border.dispose
end

def update
  if @map_id != $game_map.map_id
    dispose
    @map_id = $game_map.map_id
    refresh
  end
  @backmask.visible = visible?
  @backtile.visible = visible?
  @map.visible = visible?
  @object_layer.visible = visible?
  @border.visible = visible?
  if visible?
    @map.bitmap = @mapbitmap.dup
    @backtile.bitmap = @backtilebitmap.dup
    sx = $game_player.real_x * (TileSize * -1) + MapOffset
    sy = $game_player.real_y * (TileSize * -1) + MapOffset
    update_object_layer
    @map.x = @backtile.x = @object_layer.x = sx
    @map.y = @backtile.y = @object_layer.y = sy
    @backtile.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect)
    @map.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect)
    @object_layer.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect)
  end
end
end
#==============================================================================#
# ** Classe Spriteset_Map
#==============================================================================#
class Spriteset_Map

alias azraven_mini_map_init initialize
alias azraven_mini_map_updt update
alias azraven_mini_map_disp dispose

include Azraven::MiniMap

def initialize
  create_minimap
  azraven_mini_map_init
end

def create_minimap
  viewport = Viewport.new(Graphics.width - 112,0,112,112)
  viewport.rect.set(MiniMapCoords[MiniMapCorner][0],
                    MiniMapCoords[MiniMapCorner][1],
                    MiniMapCoords[MiniMapCorner][2],
                    MiniMapCoords[MiniMapCorner][3])
  viewport.z = 500
  @minimapa = MiniMap.new(viewport)
end

def dispose
  azraven_mini_map_disp
  @minimapa.dispose
end

def update
  azraven_mini_map_updt
  @minimapa.update
end
end
#==============================================================================#
# ** Fim do Script
#==============================================================================#


Requiere: En Graphics\System.
Nombre de archivo: Back_96.png


Nombre de archivo: OldPaper.png


Nombre de archivo: Mask.png


Nombre de archivo: Border.png


Ejemplo
Captura:

Cómo hacer que el mapa aparezca?
Fácil, solo van al script modifican la id del interruptor que por defecto está en ID1, si usan el interruptor 20, pues cada vez que se active dicho interruptor en el juego, el mapa sera visible en la parte superior derecha(esto se puede cambier, estan todas las instrucciones así que leanlo)
Ej.1:

Cómo hacer que los eventos aparezcan?
Pues hay que ponerles al inicio del evento y de cada una de sus páginas un "comentario"
Ya saben, abren la ventana Comandos de Eventos > Pág.1 > Comentarios...
Hay escriben lo que ustedes hayan seteado, que por defecto viene npc, teleport, chest (Ustedes pueden agregar más definiendoles nuevos colores segun como está explicado en la versión en español)
Con eso ya apareceria el evento en el mapa.
Ej.2:
Comentario

Y trae una característica más, y esto relacionado con las regiones. Si queres ocultar pasadisos secretos, se púede hacer solo ve a la partede script donde seteas la id o el numero de Región que queres usar, por defecto viene el 1, pero yo por hay que necesito el 1, 2 y 3 para otras cosas pues lo seteo en región 10, entonces luego voy al mapa paso de modificar mapeado o eventos, al modo de modificar regiones y pinto con la id 10 todo el pasadizo secreto que quiero que no sea visible a la hora de jugar.
Cómo se verá esto?
Pues en el mini-mapa se vera como terreno no pisable/pasable, etc.

Demo:
Pincha aquí para descargar la demo
Enlace directo copien y pegen si no quiren que lo de arriba los lleve a adfly que esta lleno de virus de popus actualmente: http://www.mediafire.com/file/bb95q355e6i972g/SheolShadeMiniMap.exe

Dejen sus comentarios de que les parece!


Última edición por ElNachGames el 2018-02-15, 14:40, editado 4 veces
avatar
ElNachGames
Iniciado
Iniciado

0/3

Créditos 27

Gracias : 6

Volver arriba Ir abajo

RPG Maker VX ACE Re: [VXACE] [Aporte] Script Mini-Mapa (Ahora con Demo)

Mensaje por shinonome_uqum el 2018-02-15, 03:41

gracias compañero, esto me servirá mucho para mis proyectos
Very Happy Very Happy

Ahora que lo veo bien, tengo un problema, cada vez que lo pongo en rpg maker el archivo back me sale como un cuadro, me encantaría que me ayudaras a arreglarlo
avatar
shinonome_uqum
Iniciado
Iniciado

0/3

Créditos 46

Gracias : 3

Volver arriba Ir abajo

RPG Maker VX ACE Re: [VXACE] [Aporte] Script Mini-Mapa (Ahora con Demo)

Mensaje por ElNachGames el 2018-02-15, 14:18

Pasa una captura, para ver como se ve, todos los archivos tienen que estar en la misma carpeta y con los respectivos nombres que mostre arriba de cada uno, y en formato png.

Edit: Ya esta hay un error en los nombres de black y mask, estaban al revez, nombralos como aparece en el post de arriba y veras como se soluciona.
avatar
ElNachGames
Iniciado
Iniciado

0/3

Créditos 27

Gracias : 6

Volver arriba Ir abajo

RPG Maker VX ACE Re: [VXACE] [Aporte] Script Mini-Mapa (Ahora con Demo)

Mensaje por Neonwind el 2018-02-19, 23:24

Justo lo que buscaba!!!
Gracias amigo, me será muy útil. Aplauso Baila Baila
También le cambiaré el nombre a las imágenes para evitar el
problema que tuvo el compañero de arriba.
avatar
Neonwind
Iniciado
Iniciado

0/3

Créditos 5

Gracias : 2

Volver arriba Ir abajo

RPG Maker VX ACE Re: [VXACE] [Aporte] Script Mini-Mapa (Ahora con Demo)

Mensaje por RinerV el 2018-03-31, 18:32

Me aparece adentro del minimapa un cuadro negro que lo cubre todo. Porfavor ayudame
avatar
RinerV
Iniciado
Iniciado

0/3

Créditos 15

Gracias : 3

Volver arriba Ir abajo

RPG Maker VX ACE Re: [VXACE] [Aporte] Script Mini-Mapa (Ahora con Demo)

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.