Secciones de Scripts

Esta página explica cómo están organizados los scripts en Pokémon Essentials v21.1, cómo funciona el sistema de carga de scripts y dónde añadir código personalizado de forma segura.

Organización de scripts en RPG Maker XP

En RPG Maker XP, los scripts se organizan en secciones dentro del editor de scripts (accesible con F11). Cada sección tiene un nombre y contiene código Ruby que se ejecuta en orden de arriba a abajo al iniciar el juego.

Sin embargo, Pokémon Essentials v21.1 ya no usa directamente el editor de scripts de RPG Maker XP para la mayor parte del código. En su lugar, los scripts se almacenan como archivos .rb individuales en la carpeta Data/Scripts/ del proyecto.

Estructura de scripts principales

Los scripts de Essentials están organizados en carpetas temáticas dentro de Data/Scripts/:

Carpeta Contenido
000_Essentials setup/ Configuración inicial del sistema, carga de módulos
001_Technical/ Clases técnicas, extensiones de Ruby, utilidades base
002_Settings/ Constantes de configuración del juego
003_GameData/ Definiciones de datos del juego (especies, movimientos, etc.)
004_Game classes/ Clases principales del juego (Game_Player, Game_Map, etc.)
005_Sprites/ Clases de sprites y renderizado visual
006_Map/ Scripts relacionados con el mapa y la exploración
007_Objects and windows/ Ventanas y objetos de interfaz
008_Pokemon/ Clase Pokemon, evolución, huevos
009_Items/ Sistema de objetos y mochila
010_Battle/ Sistema de combate completo
011_UI/ Pantallas de interfaz (resumen, Pokédex, PC, etc.)
012_Overworld/ Eventos del mundo, NPCs, encuentros
013_Compiler/ Compilador de archivos PBS
014_Debug/ Herramientas de depuración
099_Main/ Script principal que inicia el juego

Sistema de plugins y orden de carga

Los plugins se almacenan en la carpeta Plugins/ del proyecto. Cada plugin es una carpeta que contiene sus propios archivos .rb y un archivo de metadatos.

El orden de carga es el siguiente:

  1. Scripts base de RPG Maker XP (internos del engine).
  2. Scripts de Essentials (carpeta Data/Scripts/) en orden numérico.
  3. Plugins (carpeta Plugins/) según sus dependencias declaradas.

Cada plugin tiene un archivo meta.txt que define:

Name       = Mi Plugin
Version    = 1.0.0
Essentials = 21.1
Requires   = OtroPlugin,1.0.0
Website    = https://ejemplo.com
Credits    = Autor

Consulta la página de Plugins para más detalles sobre cómo crear y gestionar plugins.

Dónde añadir scripts personalizados

Hay varias formas recomendadas de añadir código personalizado a tu proyecto:

1. Crear un plugin (recomendado)

La forma más limpia de añadir funcionalidad es creando un plugin propio:

  1. Crea una carpeta en Plugins/ con el nombre de tu plugin.
  2. Añade un archivo meta.txt con la información del plugin.
  3. Crea los archivos .rb con tu código.
# Plugins/MiPlugin/meta.txt
Name       = MiPlugin
Version    = 1.0.0
Essentials = 21.1
Credits    = Tu Nombre

# Plugins/MiPlugin/001_mi_script.rb
module MiPlugin
  def self.mi_funcion
    pbMessage("¡Hola desde mi plugin!")
  end
end

2. Usar el editor de scripts de RPG Maker XP

Puedes añadir secciones de script directamente en el editor de scripts (F11), pero es menos recomendable porque:

Compatibilidad de scripts

Al añadir scripts personalizados o plugins de terceros, ten en cuenta:

# Ejemplo de alias seguro para modificar un método existente
class PokemonParty
  alias mi_plugin_pbStartScreen pbStartScreen

  def pbStartScreen
    mi_plugin_pbStartScreen  # Llama al método original
    # Añade tu código personalizado aquí
    pbMessage("Pantalla de equipo abierta.")
  end
end

Nunca modifiques los scripts base directamente

¡Importante! Nunca modifiques directamente los archivos en Data/Scripts/. Si lo haces:
  • Perderás tus cambios al actualizar Essentials o La Base de Sky.
  • Será extremadamente difícil rastrear qué ha cambiado.
  • Otros plugins podrían dejar de funcionar.
En su lugar, usa siempre el sistema de plugins para extender o modificar la funcionalidad existente.