Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[XP] Map System : El script más fácil de mapa en menú

Ver el tema anterior Ver el tema siguiente Ir abajo

[XP] Map System : El script más fácil de mapa en menú

Mensaje por Wecoc el 2014-07-27, 15:15

¡Fast scripting! xD

Éste script muestra un mapa con un cursor en el menú o en la escena que quieras. Ese cursor tendrá una posición según el mapa del juego en el que estés. Y ya, es el script más fácil posible de éste tipo.

Código:
#==============================================================================
# ** Map System : El script más fácil de mapa
#==============================================================================

module Map_Menu
  BACK =  "Map Back"  # Gráfico (picture) de fondo
  PLAYER = "Map Point"  # Gráfico (picture) de puntero
 
  # Posición del puntero en el mapa según el ID del mapa actual.
  # ID mapa => [x, y]
 
  IDS = {1 => [32, 32],
        2 => [32, 48]}
 
  IDS.default = [0, 0] # Si un mapa no tiene descritas las coordenadas, valen 0
end

class Window_Base < Window
 
  # DIBUJAR EL MAPA
 
  def draw_map(x, y)
    # Dibujar fondo
    map_id = $game_map.map_id
    map_bitmap = RPG::Cache.picture(Map_Menu::BACK)
    src_rect = Rect.new(0, 0, map_bitmap.width, map_bitmap.height)
    self.contents.blt(x, y, map_bitmap, src_rect)
    # Dibujar puntero (jugador) según el mapa
    point_bitmap = RPG::Cache.picture(Map_Menu::PLAYER)
    point_x, point_y = *Map_Menu::IDS[map_id]
    point_x -= point_bitmap.width / 2
    point_y -= point_bitmap.height / 2
    src_rect = Rect.new(0, 0, point_bitmap.width, point_bitmap.height)
    self.contents.blt(x + point_x, y + point_y, point_bitmap, src_rect)
  end
 
end

#==============================================================================
# ** Ejemplo del Map System en Scene_Status
#==============================================================================

class Window_Status < Window_Base
  def refresh
    self.contents.clear
    draw_map(100, 100)
  end
end



Requiere una Picture de fondo del tamaño que se quiera (por defecto le puse Map Back de nombre), y otra picture del tamaño que se quiera también para el puntero del jugador (Map Point de nombre).

Para poner el mapa en cualquier ventana solo hay que usar draw_map(x, y) cambiando esos x, y por la posición a la que se quiera el mapa.

Configurarlo también es fácil, como todo lo demás. Se hace justo al principio, donde pone IDS = {
Justo detrás hay una série de números que significan

ID de mapa => {x en el plano, y en el plano}

Y así se va llenando esa parte.

Podéis usarlo y modificarlo sin darme créditos.

Cito algunas modificaciones que se podrían hacer:

- Más de una coordenada para los mapas grandes (típico). Sería cuestión de hacer una comprobación de coordenada en mapa a parte de la comprobación del mapa, pero no es muy difícil añadirlo tampoco.

- Visor simple de puntos importantes. Si hay alguna otra cosa destacable, como por ejemplo dónde ir para continuar el juego, o para misiones, pues se podría poner también un punto para cualquiera de esas cosas, controlando su visibilidad según un interruptor.

- Visor complejo de puntos importantes. Igual, pero con la opción de seleccionar cada punto para ver qué son. Te moverías con el cursor por los puntos e iría saliendo al lado una descripción de éstos.


Última edición por Wecoc el 2014-07-27, 15:27, editado 1 vez
avatar
Wecoc
Administrador
Administrador



Créditos 12203

Gracias : 632

Volver arriba Ir abajo

Re: [XP] Map System : El script más fácil de mapa en menú

Mensaje por Pancho Sanchez el 2014-07-27, 15:26

Vaya.... no creí que lo hicieras tan, pero tan rapido :3
Bueno, estoy de viejas, digo de viaje...
.__.
Así que no podré probar cosas nuevas hasta no se cuando, pero puedo estar aquí compartiendo, por lo cual ahora no podré probar el script :(
Tengo ganas de verlo... se ve bueno... tal vez demasiado....
Pues si puedes les das unas screenshots o imagenes... solo para darme una idea, si puedes claro, tambien para que la gente se de una idea.

Igual será fantastico, como casi todos tus scripts.
Saludos!!!
avatar
Pancho Sanchez
Soñador
Soñador

0/3

Créditos 125

Gracias : 6

Volver arriba Ir abajo

Re: [XP] Map System : El script más fácil de mapa en menú

Mensaje por Yey el 2014-07-27, 15:41

Wow, me encanta la idea.
Se podría poner que el mapa se mostrase solo si el jugador mira por ejemplo un cartel? Solo por curiosidad xD

Admiro como podéis hacer scripts tan deprisa *o*
avatar
Yey
Iniciado
Iniciado

0/3

Créditos 22

Gracias : 2

Volver arriba Ir abajo

Re: [XP] Map System : El script más fácil de mapa en menú

Mensaje por Wecoc el 2014-07-28, 09:51

El mapa se puede mostrar en cualquier ventana, así que se podría hacer que se mostrara al mostrar cartel pero requeriría una llamada de script desde el evento, es un poco complejo.
Pero poder se puede xD

Sería algo así, con el viejo truco del mensaje invisible (?)

[line]> Opciones de mensaje: No mostrar
> Llamar script: $map_window = Window_Base.new(100, 0, 640, 280)
$map_window.opacity = 0
$map_window.draw_map(32, 32)
> Mostrar mensaje: ""
> Llamar script: $map_window.dispose
$map_window = nil
> Opciones de mensaje: Mostrar
[/line]
avatar
Wecoc
Administrador
Administrador



Créditos 12203

Gracias : 632

Volver arriba Ir abajo

Re: [XP] Map System : El script más fácil de mapa en menú

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.