scripts_extract y scripts_combine
La Base de Sky guarda todo su código Ruby dentro de un único archivo binario (Data/Scripts.rxdata). Ese formato es cómodo para el juego, pero pésimo para editar y para trabajar con Git: no se puede ver un cambio línea por línea ni resolver conflictos. Los scripts scripts_extract.rb y scripts_combine.rb resuelven eso convirtiendo ese binario en carpetas de archivos .rb legibles, y de vuelta.
¿Para qué sirve?
Sirve para desarrollar y contribuir a la base trabajando con los scripts como archivos de texto normales:
- Editar el código con un editor decente (VS Code) en lugar del editor de scripts de RPG Maker XP.
- Versionar los scripts con Git: ver diffs, hacer commits, crear merge requests.
- Comparar cambios entre versiones y resolver conflictos.
Si solo quieres jugar o crear tu fangame sin tocar el código base, no necesitas estas herramientas. Están pensadas para quien modifica los scripts de la base o quiere contribuir al proyecto.
Instalar Ruby
Ambos scripts están escritos en Ruby, así que necesitas tener Ruby instalado en tu sistema para poder ejecutarlos. La base usa Ruby 3.x; cualquier versión 3.1 o superior funciona. Para comprobar si ya lo tienes, abre una terminal y ejecuta:
ruby -v
Si muestra algo como ruby 3.3.0, ya está instalado y puedes saltar a Cómo usarlos. Si dice "comando no encontrado", instálalo según tu sistema operativo.
Windows
- Ve a rubyinstaller.org/downloads.
- Descarga la versión recomendada Ruby+Devkit (la que aparece en negrita, ej. Ruby+Devkit 3.3.x (x64)).
- Ejecuta el instalador. Deja marcada la opción "Add Ruby executables to your PATH".
- Al final del instalador, cuando pregunte por
ridk install, acepta y pulsa Enter para instalar el toolchain (opción 3, MSYS2 y MINGW). - Abre una nueva ventana de PowerShell o CMD y verifica con
ruby -v.
Linux
Instala Ruby con el gestor de paquetes de tu distribución:
# Debian / Ubuntu / derivadas
sudo apt update && sudo apt install ruby-full
# Arch / Manjaro / CachyOS
sudo pacman -S ruby
# Fedora
sudo dnf install ruby
# openSUSE
sudo zypper install ruby
Verifica con ruby -v. Si tu distro trae una versión muy antigua, considera usar rbenv o RVM para instalar Ruby 3.x.
macOS
macOS trae una versión de Ruby preinstalada, pero suele ser vieja. Lo recomendable es instalar una versión moderna con Homebrew:
# Instalar Homebrew (si no lo tienes)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Instalar Ruby
brew install ruby
Tras instalarlo, cierra y reabre la terminal y verifica con ruby -v. Homebrew puede pedirte añadir Ruby al PATH; sigue las instrucciones que muestra al terminar.
Cómo funciona
Son dos scripts complementarios que operan sobre la carpeta Data/ del proyecto:
| Script | Qué hace |
|---|---|
scripts_extract.rb |
Lee Data/Scripts.rxdata y lo descomprime en la carpeta Data/Scripts/ como archivos .rb organizados en subcarpetas numeradas (ej. 001_SectionName/001_ScriptName.rb). Guarda una copia de seguridad en Data/ScriptsBackup.rxdata y reemplaza Scripts.rxdata por un loader que hace que el juego cargue los scripts desde la carpeta. |
scripts_combine.rb |
Operación inversa: recorre la carpeta Data/Scripts/, recomprime todos los .rb de vuelta en un único Data/Scripts.rxdata y borra la carpeta Data/Scripts/. Se usa para empaquetar antes de distribuir. |
scripts_extract.rb una vez tras clonar el proyecto. A partir de ahí el juego lee los scripts desde Data/Scripts/, editas los .rb directamente y Git detecta cada cambio. Solo usas scripts_combine.rb cuando necesitas volver a un único Scripts.rxdata (por ejemplo para una release).
Cómo usarlos
Con Ruby instalado, abre una terminal dentro de la carpeta del juego (la que contiene Game.exe, scripts_extract.rb y la carpeta Data/) y ejecuta:
# Pasar de Scripts.rxdata a carpeta editable Data/Scripts/
ruby scripts_extract.rb
# Volver de la carpeta Data/Scripts/ a un único Scripts.rxdata
ruby scripts_combine.rb
cd. La Base de Sky incluye un archivo Scripts.code-workspace para abrir el proyecto directamente en VS Code.
Advertencias
scripts_combine.rbborra la carpetaData/Scripts/al terminar. Asegúrate de tener tus cambios commiteados en Git antes de combinar.- Como protección,
scripts_combine.rbse niega a ejecutarse siScripts.rxdataya contiene 10 o más scripts (para no pisar datos existentes por error). - No borres
Data/ScriptsBackup.rxdata: es la copia de seguridad que genera la extracción. - Ejecuta siempre los scripts desde la carpeta raíz del juego; usan rutas relativas a
Data/.