Herramientas de usuario

Herramientas del sitio


Barra lateral

ayuda:rgss:gamesystem

Game_System e Interpreter

Estos son dos scripts de gran importancia en el RPG Maker XP y en el VX (en este el segundo script pasa a llamarse Game_Interpreter). Su principal función es la de inicializar setters y getters, permitir el uso de flags, calcular datos, algunos son visibles otros no, e interpretar los datos que provea el desarrollador. Se considera que Interpreter es como un script child o hijo de Game_System, especialmente en el VX.

Game_System

En Game_System encontrarás cosas como un flag para hacer visible al cronómetro, y si es visible lo deja correr en un conteo regresivo. También incluye la interpretación de los eventos en el mapa y las batallas, la activación o desactivación del menú o del guardado de la partida, la posición de la ventana de conversación, el uso o la exclusión del uso de la ventana en dicha circunstancia, la cantidad de guardados y un número mágico, que en realidad es un número aleatorio que le permite al juego correr la partida guardada o a veces se percata de que un archivo fue alterado y lo da por corrupto.

Otras cosas que incluye son métodos para el manejo del Audio llamando al módulo de Audio que está oculto, el uso de windowskin o lo que le da forma a las ventanas y el cursor rectangular y un método de una actualización constante del cronómetro.

Una curiosidad inherente a Game_System es que cualquier alteración que incluya el uso de gráficos como una ventana con cierta información puede conllevar al no guardado de una partida y que dicha partida se cree, pero se finalice antes de tiempo y se la considere corrupta. En caso de tener esa necesidad de crear un método de naturaleza más gráfica, es mejor crear un script Game_ nuevo, con otro nombre.

Interpreter (o Game_Interpeter en VX)

Este está dividido en 7 scripts con el mismo nombre en XP o odjunto en el script Game_Interpeter en VX, es el encargado de interpretar los datos que suministra el desarrollador y esto va desde el audio hasta el windowskin, desde el llamado de una tienda de objetos hasta el uso de un panorama.

En resumen, es el que recopila los parámetros que se definieron en todo evento y evento común. También incluye cosas como métodos para el movimiento de los personajes o el llamado a estos métodos presentes en otros scripts de tipo Game_. Incluso es el que permite llamar a los scripts Scene_Battle para iniciar una batalla y definir después de su finalización cuáles otras cosas se pueden ganar los jugadores, para bien o para mal, de acuerdo con el resultado (ganar, perder, escapar).

Un dato curioso de esto es que el RPG Maker podría seguir corriendo sin la existencia del Interpreter y Game_Interpeter, pero forzaría a todos los usuarios a aprender mucho del RGSS 1 y 2 para codificar todo ellos mismos. De todas maneras no es tan recomendable su borrado o movida a otro sitio por no ser algo realmente práctico.

De hecho el Interpreter es un script al que se le puede modificar, en este caso quiere decir que se le pueden agregar más métodos. Un ejemplo de la necesidad de agregarle más de estos se halla en el espacio que tiene la ventana de comando de llamado a script. En ocasiones uno desea hacer un llamado que quepa en dicha ventana y se ve forzado a revisar en qué partes pueden presionar Enter o Retorno para que en dos o más líneas se halle toda la información que necesitan incluir en todo llamado. Si hacen uso del Interpreter ese problema se puede resolver.

Uno puede crear métodos que se vayan a usar en la ventana de llamado a script y que ocupen menos espacio que el llamado que se iba a digitar originalmente. Ejemplo en XP:

class Interpreter
  def turn_switches_off
    for n in 1..5000
      $game_switches[n] = false
    end
  end
end

En la ventana de comando de llamado a script solo iría esto:

turn_switches_off

Y con solo eso apagaríamos todos los interruptores del juego por el motivo que queramos.

No es la única opción, pues también se pueden usar equivalencias que hagan de variables locales para reducir la extensión del llamado al script, pero no siempre es funcional.

Otra opción es crear arrays o hashes que contengan ya una larga lista de valores numéricos o de texto que equivalgan a los valores que deberíamos incluir en un llamado a script y así se puede ahorrar espacio en dicha ventana.

Si no se desea utilizar o crear métodos para el Interpreter Nº o Game_Interpeter, se puede crear un módulo (module El_nombre_que_gustes) cuyos métodos empiecen así:

def self.mi_metodo
ayuda/rgss/gamesystem.txt · Última modificación: 2013/07/01 00:37 (editor externo)