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/. La Base de Sky extiende esta estructura con carpetas adicionales:

Carpeta Contenido
000_Essentials setup/ Configuración inicial del sistema, carga de módulos
001_Settings/ Constantes de configuración: 002_Settings.rb (Essentials) y 004_Settings_Extra_Base.rb (Sky)
018_Objects and windows/ Ventanas, mensajes, ChoiceImage (012_Messages.rb)
039_Battle triggering/ Inicio de batallas, BATTLE_RULES hash, setBattleRule
041_Items/ Efectos de objetos, PokéRadar, Itemfinder
046_Trainers and player/ Clase Trainer: first_able_pokemon?, give_status_party_pokemon
048_UI/ Pantallas de interfaz: opciones paginadas (020_UI_Options_v22.rb), recordador mejorado (028_Better_Move_Relearner.rb), mostrar especie (034_UI_Mostrar_Especie.rb)
051_Minigames/ Mining, Triple Triad, Voltorb Flip, Slot Machine
054_Battle Frontier/ Battle Tower, Battle Factory: pbBattleChallenge, pbBattleChallengeBattle
058_Utilities/ Utilidades varias, Ruby Standard Library
060_Debug/ Debug menu, Event Reporting, posicionador de sprites
069_MUI/ Modular UI: Enhanced Pokémon UI, Pokedex Data Page, IV/EV Summary (22 archivos)
099_Main/ Script principal que inicia el juego
Nota: En la distribución compilada de La Base de Sky, los plugins integrados están dentro de Data/Scripts/ con numeración propia (069_MUI, 060_Debug, etc.). La carpeta Plugins/ se reserva para plugins externos que el usuario instale manualmente.

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.