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
- Abre el mapa en el editor de RPG Maker XP.
- Haz doble clic en la casilla donde quieras colocar el objeto para crear un nuevo evento.
- 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:
- Gráfico:
Object ball(la Poké Ball visible en el suelo). - Condición: Ninguna (o la que desees, como un interruptor de progreso).
- Contenido: Un comando de Script con
pbItemBall(:OBJETO). - Después del script, añade un comando Control de Self Switch: [A] = ON.
Página 2: Objeto ya recogido
Esta página se activa después de que el jugador recoja el objeto, haciendo que desaparezca:
- Condición: Self Switch A está ON.
- Gráfico: Ninguno (vacío).
- Contenido: Vacío (sin comandos).
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:
- Crea un nuevo evento en la casilla donde estará el objeto oculto.
- El evento no debe tener gráfico (invisible).
- La condición de activación debe ser "Acción".
Página 1: Objeto oculto disponible
# Script para objeto oculto:
pbItemBall(:NUGGET)
- Gráfico: Ninguno.
- Trigger: Acción.
- Después del script, Control de Self Switch: [A] = ON.
Página 2: Objeto oculto ya recogido
- Condición: Self Switch A está ON.
- Gráfico: Ninguno.
- Contenido: Vacío.
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:
- No tienen gráfico visible.
- Contienen un script con
pbItemBall. - Su Self Switch A no está activado (aún no se ha recogido).
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
- Usa nombres descriptivos para los eventos de objetos (ej: "Item - Super Pocion") para identificarlos fácilmente en el editor.
- Siempre usa
pbItemBallen lugar de$bag.addpara objetos del mapa, ya que incluye la comprobación de espacio en la mochila y los mensajes adecuados. - Si
pbItemBalldevuelvefalse(mochila llena), el Self Switch no se enciende, por lo que el objeto seguirá disponible. Esto es el comportamiento deseado. - Los objetos ocultos son una buena forma de recompensar la exploración exhaustiva del jugador.
- Evita colocar demasiados objetos ocultos en un área pequeña; puede resultar confuso para el jugador con el Buscaobjetos.
- Puedes combinar condiciones (interruptores del juego) con las páginas del evento para que ciertos objetos solo aparezcan después de eventos de la historia.
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)