Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 4068 miembros registrados.
El último usuario registrado es Schwarz54.

Nuestros miembros han publicado un total de 84121 mensajes en 11982 argumentos.

[XP][Tutorial] Definir nuevos parámetros

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [XP][Tutorial] Definir nuevos parámetros

Mensaje por Wecoc el 2017-04-06, 18:16

Ésta vez os vengo a explicar un método simple y rápido para definir nuevos parámetros a objetos, armas, clases, etc.
Requiere un script base que nos permita hacerlo y que nos guarde los cambios. Ese script ya lo hice hace un tiempo, es éste:
Data File Save

Pese a ser un script muy raro, es de los que más potencial tienen entre los que he hecho últimamente, y no tendréis que tocarle nada así que no os debe preocupar si no entendéis su código.
Pegad el script encima de main y probad que todo funcione bien. Debería ser compatible con casi todo (mirad la sección de compatibilidad de su topic para más detalles).

Una vez esté todo en órden, podemos disponernos a crear un nuevo parámetro.

Crear un nuevo parámetro

Creamos otro script justo debajo, y aplicaremos la siguiente estructura:



(1) Nombre de la clase por defecto en la que estamos definiendo el nuevo parámetro. Se permiten las siguientes (primera columna):


Actor$data_actors
Class$data_classes
Skill$data_skills
Item$data_items
Weapon$data_weapons
Armor$data_armors
Enemy$data_enemies
Troop$data_troops
State$data_states
(2) Nombre del nuevo método
Para saber los que hay por defecto tendréis que buscarlo en la guía del maker (se abre con el botón Ayuda dentro del editor de scripts)

(3) Valor por defecto. Puede ser un número, una string o lo que sea, y también puede ser una condición más compleja, una fórmula basada en otros parámetros...

En el siguiente ejemplo, se define un nuevo parámetro llamado description_b y que por defecto vale exactamente lo mismo que la descripción del objeto.

Código:
module RPG
  class Item
    define_method(:description_b) { @description }
  end
end

Y ya está, ya lo tenéis definido. De igual forma que antes en los scripts podíais usar item.price o cualquier parámetro definido en la base de datos, también podréis usar item.agi_plus y item.description_b (en éstos ejemplos) y todos los parámetros nuevos que queráis definir.

Como se define dentro de la clase misma eso significa que todos los items tendrán ese valor por defecto.
Pero claro, lo interesante es que cada item tenga su valor personalizado tal como se les define en la base de datos, ¿verdad?

Asignar valor al parámetro por cada objeto

Según qué casos ésta puede ser la parte más tediosa si tenemos una base de datos extensa, pero no hace falta definir valor a todos sinó solo a los que lo tengan distinto al que hemos definido como valor por defecto.

Para hacerlo definiremos los valores personalizados al crear la partida, recordemos que éstos quedan guardados.
Debajo de lo que hemos puesto antes, añadiremos un alias al método de nueva partida, de modo que la cosa quede así:



(1') Eso es para llamar al objeto. En la tabla que he puesto antes podéis ver para cada uno lo que hay que usar.
(ID) Ésto es el ID de cada objeto, es decir su número en la base de datos.
(3') Éste es el nuevo valor que le defines.

Pongo el script de ejemplo también como código, para los perezosos:

Código:
#==============================================================================
# ** [XP] Nuevos parámetros
#==============================================================================

module RPG
  class Item
    define_method(:description_b) { @description }
  end
end

class Scene_Title
  alias new_parameters_game command_new_game unless $@
  def command_new_game
    
    #------------------------------------------------
    # Aquí se definiran todos los valores personalizados
    
    $data_items[1].description_b = "Test"
    
    #------------------------------------------------
    
    new_parameters_game
  end
end

Ya está todo listo. Además lo que hemos puesto ahí para nuestro item podemos ponerlo en un llamar script o donde sea para que su valor cambie a lo largo del juego.
Esos parámetros, por lo tanto, pueden ser dinámicos.

Espero que éste pequeño tutorial os sea de utilidad.
avatar
Wecoc
Administrador
Administrador



Créditos 9129

Gracias : 471

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.