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:
- Scripts base de RPG Maker XP (internos del engine).
- Scripts de Essentials (carpeta
Data/Scripts/) en orden numérico. - 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:
- Crea una carpeta en
Plugins/con el nombre de tu plugin. - Añade un archivo
meta.txtcon la información del plugin. - Crea los archivos
.rbcon 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:
- Dificulta la actualización de Essentials.
- No se beneficia del sistema de dependencias de plugins.
- Es más propenso a conflictos.
Compatibilidad de scripts
Al añadir scripts personalizados o plugins de terceros, ten en cuenta:
- Versión de Essentials: Asegúrate de que el script sea compatible con la versión 21.1 que usa La Base de Sky.
- Conflictos entre plugins: Dos plugins que modifiquen la misma función pueden ser incompatibles. Revisa las notas de compatibilidad de cada plugin.
- Alias de métodos: Si necesitas modificar un método existente, usa
aliasen lugar de reescribirlo completamente para mantener la compatibilidad.
# 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
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.