¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3793 miembros registrados.
El último usuario registrado es Drreksted.

Nuestros miembros han publicado un total de 82705 mensajes en 11731 argumentos.
Navega con Google Chrome
[DESCARGA]

(XP y VX)(SCRIPT) Mini mapa

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

(XP y VX)(SCRIPT) Mini mapa

Mensaje por jugito08 el 2010-01-29, 22:24

Este script es para que se vea un mini mapa en la esquina de tu juego,muy util.

Código:
    --------------------------------------------------------------------------------
    #==============================================================================
    # ■ Passability Mini Map
    #------------------------------------------------------------------------------
    # made by squall // [mail]squall@rmxp.ch[/mail]
    # 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 = 4 # 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 = 26 # 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 $game_switches[ACTIVATED_ID]
    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(r) and !passable(d)
                map.data[x, y, level] = 0
              elsif !passable(u) and !passable(l) and !passable(r) and passable(d)
                map.data[x, y, level] = 90
              elsif !passable(u) and !passable(l) and !passable(d) and passable(r)
                map.data[x, y, level] = 91
              elsif !passable(u) and !passable(r) and !passable(d) and passable(l)
                map.data[x, y, level] = 93
              elsif !passable(l) and !passable(r) and !passable(d) and passable(u)
                map.data[x, y, level] = 92
              elsif !passable(u) and !passable(d) and passable(r) and passable(l)
                map.data[x, y, level] = 81
              elsif !passable(u) and !passable(r) and passable(d) and passable(l)
                map.data[x, y, level] = 84
              elsif !passable(u) and !passable(l) and passable(d) and passable(r)
                map.data[x, y, level] = 82
              elsif !passable(d) and !passable(r) and passable(l) and passable(u)
                map.data[x, y, level] = 86
              elsif !passable(d) and !passable(l) and passable(r) and passable(u)
                map.data[x, y, level] = 88
              elsif !passable(r) and !passable(l) and passable(d) and passable(u)
                map.data[x, y, level] = 80
              elsif !passable(u) and passable(d) and passable(r) and passable(l)
                map.data[x, y, level] = 68
              elsif !passable(d) and passable(u) and passable(r) and passable(l)
                map.data[x, y, level] = 76
              elsif !passable(r) 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(r)
                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[i].code != 108
          @events[key] = Sprite.new(self.viewport)
          @events[key].z = self.z + 2
          if event.list[i].parameters[0].include?("event")
            @events[key].bitmap = RPG::Cache.picture("event")
          elsif event.list[i].parameters[0].include?("enemy")
            @events[key].bitmap = RPG::Cache.picture("enemy")
          elsif event.list[i].parameters[0].include?("teleport")
            @events[key].bitmap = RPG::Cache.picture("teleport")
          elsif event.list[i].parameters[0].include?("chest")
            @events[key].bitmap = RPG::Cache.picture("chest")
          elsif event.list[i].parameters[0].include?("npc")
            @events[key].bitmap = RPG::Cache.picture("npc")
          elsif event.list[i].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

    --------------------------------------------------------------------------------

Bueno,adios
avatar
jugito08
Iniciado
Iniciado

0/3

Créditos 46

Gracias : 3

http://jugito10.creatuforo.com

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por exellomenos el 2010-03-27, 20:07

No me sirve sale un error que dice "script `mini_mapa` line 424: syntaxerror ocurred"
pd: yo le puse el nombre de mini mapa
avatar
exellomenos
Veterano
Veterano

1/3

Créditos 190

Gracias : 1

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por Arestame el 2010-03-27, 21:35

no será que necesitará gráficos
avatar
Arestame
Aventurero
Aventurero

0/3

Créditos 1518

Gracias : 37

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por exellomenos el 2010-03-27, 22:32

nose me sale ese error no entiendo
avatar
exellomenos
Veterano
Veterano

1/3

Créditos 190

Gracias : 1

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por Dorvin el 2010-03-27, 22:44

Si, sera que necesita graficos me extranyaria muchissimo un script de minimapa sin graficos...
avatar
Dorvin
Veterano
Veterano

0/3

Créditos 325

Gracias : 22

http://thesexydeath.webnode.es/

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por exellomenos el 2010-03-27, 23:14

MMMM PERO QUE GRAFICOS?
avatar
exellomenos
Veterano
Veterano

1/3

Créditos 190

Gracias : 1

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por Arestame el 2010-03-28, 09:31

Unos gráficos que seguramente se les habrá olvidado ponerlos
avatar
Arestame
Aventurero
Aventurero

0/3

Créditos 1518

Gracias : 37

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por exellomenos el 2010-03-28, 19:54

ok pero quien me puede pasar una pagina con el script de mini mapa comleto ...
avatar
exellomenos
Veterano
Veterano

1/3

Créditos 190

Gracias : 1

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por Arestame el 2010-03-29, 07:25

yo me sé un mini mapa al estilo final fantasy (poseriormente lo postearé)
avatar
Arestame
Aventurero
Aventurero

0/3

Créditos 1518

Gracias : 37

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por Emmica el 2012-06-02, 23:38

exellomenos escribió:No me sirve sale un error que dice "script `mini_mapa` line 424: syntaxerror ocurred"
pd: yo le puse el nombre de mini mapa

A ver intenta ponerle un # al principio de la linea 424 ya q eso es error de sintaxis porque no esta comentado, también checa si en la línea 1 no esta ese error...
avatar
Emmica
Iniciado
Iniciado

0/3

Créditos 3

Gracias : 2

http://about.me/Emmica

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por Poka el 2012-06-02, 23:40

exellomenos escribió:ok pero quien me puede pasar una pagina con el script de mini mapa comleto ...

Macho... ZNL tiene un buen script que posteo en Mundo Maker XD
avatar
Poka
Guerrero
Guerrero

0/3

Créditos 2547

Gracias : 83

https://www.youtube.com/user/Pokaranero

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por Wecoc el 2012-06-03, 00:15

Emmica: Veo que eres nueva en el foro. Por favor lee las normas. El necroposting no está permitido, y este tema tiene dos años de antigüedad. Intenta no volver a responder en un tema tan antíguo, o tendré que ponerte warn. Intenta fijarte siempre en las fechas de los posts.

Pokaranero: Macho esto es prácticamente spam, intenta aportar un poco mas en tus mensajes, al menos poniendo el link o algo xD

=======

Podéis encontrar varios scripts de Minimapa si buscais aquí.
avatar
Wecoc
Administrador
Administrador



Créditos 8892

Gracias : 424

Volver arriba Ir abajo

Re: (XP y VX)(SCRIPT) Mini mapa

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

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