Objetos en el Mapa

Los objetos del mapa son aquellos que el jugador puede encontrar y recoger mientras explora el mundo. Existen dos tipos principales: los objetos visibles (Item Balls) que aparecen como Poké Balls en el suelo, y los objetos ocultos que solo pueden encontrarse con el Buscaobjetos (ItemFinder/Dowsing Machine). Ambos se configuran como eventos en RPG Maker.

Item Balls (Objetos visibles)

Las Item Balls son los objetos visibles en el mapa que aparecen como una Poké Ball en el suelo. El jugador puede interactuar con ellas para recoger el objeto. Una vez recogidas, desaparecen permanentemente.

Cómo crear una Item Ball en RPG Maker

  1. Abre el mapa en el editor de RPG Maker XP.
  2. Haz doble clic en la casilla donde quieras colocar el objeto para crear un nuevo evento.
  3. Configura el evento de la siguiente manera:
Propiedad del evento Valor
Nombre Cualquiera (ej: "Item - Poción")
Gráfico Elige el gráfico de la Poké Ball del suelo: Object ball (en la carpeta Graphics/Characters/)
Condición de activación Acción (presionar botón de interacción)
Páginas 2 páginas

Página 1: Objeto disponible

Esta es la página principal donde el jugador recoge el objeto:

# Contenido del Script en Página 1:
pbItemBall(:POTION)

Para dar varias unidades del mismo objeto:

pbItemBall(:ULTRABALL, 3)

Configuración de la Página 1:

Página 2: Objeto ya recogido

Esta página se activa después de que el jugador recoja el objeto, haciendo que desaparezca:

De esta forma, cuando el jugador recoge el objeto, el Self Switch A se enciende y el evento pasa a la Página 2, que no tiene gráfico ni contenido, por lo que el objeto desaparece del mapa.

Estructura completa del evento

◆ Evento: Item Ball
├─ Página 1
│   Condición: (ninguna)
│   Gráfico: Object ball
│   Trigger: Acción
│   Contenido:
│     ◆ Script: pbItemBall(:POTION)
│     ◆ Control Self Switch: [A] = ON
│
└─ Página 2
    Condición: Self Switch [A] == ON
    Gráfico: (ninguno)
    Contenido: (vacío)

Self Switches para objetos recogidos

Los Self Switches son interruptores locales de un evento. Cada evento tiene 4 Self Switches (A, B, C, D). Se usan para que el juego "recuerde" que un objeto ya fue recogido en ese punto del mapa.

Self Switch Uso común
A El más usado para marcar objetos recogidos.
B Se puede usar para un segundo estado (ej: objeto que cambia).
C Disponible para lógica adicional.
D Disponible para lógica adicional.

Los Self Switches se guardan automáticamente con la partida del jugador, por lo que el estado de cada objeto se conserva entre sesiones.

Objetos ocultos (Hidden Items)

Los objetos ocultos son invisibles en el mapa y solo pueden detectarse usando el Buscaobjetos (ItemFinder) o la Máquina Zahorí (Dowsing Machine). Cuando el jugador usa este objeto cerca de un objeto oculto, se le indica la dirección.

Cómo crear un objeto oculto

Un objeto oculto se configura de forma similar a una Item Ball, pero con diferencias clave:

  1. Crea un nuevo evento en la casilla donde estará el objeto oculto.
  2. El evento no debe tener gráfico (invisible).
  3. La condición de activación debe ser "Acción".

Página 1: Objeto oculto disponible

# Script para objeto oculto:
pbItemBall(:NUGGET)

Página 2: Objeto oculto ya recogido

Detectar objetos ocultos

El Buscaobjetos es un objeto clave que, al usarlo en el campo, detecta si hay objetos ocultos cercanos. Funciona automáticamente para eventos que:

El juego calcula la distancia entre el jugador y los eventos con objetos ocultos, y muestra una señal sonora o visual cuando está cerca.

Objetos que reaparecen

Algunos objetos pueden reaparecer después de cierto tiempo o al cumplir una condición. Esto es útil para objetos recolectables como bayas o ítems regenerables.

Método 1: Usar un interruptor global

Puedes usar un interruptor (Switch) que se active al avanzar en la historia o tras ciertos eventos:

◆ Evento: Objeto regenerable
├─ Página 1
│   Condición: Switch [50: ResetObjetos] == OFF
│   Gráfico: Object ball
│   Trigger: Acción
│   Contenido:
│     ◆ Script: pbItemBall(:POTION)
│     ◆ Control Self Switch: [A] = ON
│
├─ Página 2
│   Condición: Self Switch [A] == ON, Switch [50] == OFF
│   Gráfico: (ninguno)
│   Contenido: (vacío)
│
└─ Página 3
    Condición: Switch [50: ResetObjetos] == ON
    Gráfico: Object ball
    Trigger: Acción
    Contenido:
      ◆ Script: pbItemBall(:POTION)
      ◆ Control Self Switch: [A] = ON
      ◆ Control Switch: [50] = OFF

Método 2: Resetear Self Switch por script

Puedes resetear el Self Switch de un evento específico para que el objeto reaparezca:

# Resetear el Self Switch A del evento 5 en el mapa 10
# Esto hará que el objeto vuelva a aparecer
$game_self_switches[[10, 5, "A"]] = false
$game_map.need_refresh = true

Donde 10 es el ID del mapa, 5 es el ID del evento, y "A" es el Self Switch.

Método 3: Objetos diarios

Para objetos que reaparecen cada día del juego, puedes usar variables de tiempo:

# En el script del evento:
today = pbGetTimeNow.to_i / 86400  # Día actual
if $game_variables[50] != today
  # El objeto no ha sido recogido hoy
  if pbItemBall(:POTION)
    $game_variables[50] = today  # Marcar como recogido hoy
  end
else
  pbMessage(_INTL("No hay nada aquí."))
end

Configuración del gráfico Object Ball

El gráfico de la Poké Ball del suelo debe estar en:

Graphics/Characters/Object ball.png

Este gráfico suele tener un formato de charset estándar con la Poké Ball como un personaje. Se puede personalizar para usar diferentes gráficos según el tipo de objeto o crear sprites únicos para objetos especiales.

Consejos y buenas prácticas

Objetos con condiciones de aparición

Puedes hacer que un objeto solo aparezca si se cumple una condición, como tener una medalla o haber avanzado en la historia:

◆ Evento: Item Ball condicional
├─ Página 1 (inactiva)
│   Condición: (ninguna, pero vacía)
│   Gráfico: (ninguno)
│   Contenido: (vacío)
│
├─ Página 2 (objeto aparece tras obtener medalla)
│   Condición: Switch [20: Medalla3] == ON
│   Gráfico: Object ball
│   Trigger: Acción
│   Contenido:
│     ◆ Script: pbItemBall(:THUNDERSTONE)
│     ◆ Control Self Switch: [A] = ON
│
└─ Página 3 (ya recogido)
    Condición: Self Switch [A] == ON
    Gráfico: (ninguno)
    Contenido: (vacío)