miércoles, 24 de agosto de 2016

Plugin - Main Utility para MV

Después de un tiempo de pruebas por fin está listo este nuevo plugin. Este nuevo plugin es una especie de sdk (software development kit, o kit de desarrollo de software en español) con unas cuantas funciones que simplifican la programación.
Dentro de poco voy a publicar también los plugins que he modificado para aprovechar éste con sus nuevas funcionalidades.

Este complemento incluye:
  • Sistema json: Permite añadir nuevos campos o editar los ya existentes de un modo no previsto. Bien usado permite mucha versatilidad.
  • Sistema de rasgos: Permite añadir rasgos (también llamado características) incluso a habilidades y objetos, añadir rasgos durante el juego y grupos de rasgos diferentes.
  • Sistema de interruptores y variables locales: He portado el sistema de interruptores locales de otro plugin y lo he ampliado incluyendo las variables, además de que ahora permite no sólo locales y de mapa sino de personajes y el grupo.
  • Mayor funcionalidad de objetos de javascript: Se ha añadido funcionalidad a algunos objetos propios de javascript en especial al 'array'.
Descarga e instalación:
Como siempre, primero lo descargas del servidor que más te convenga, esperas 5 segundos de publicidad y le das a saltar anuncio.

El mismo está en español e inglés .
Si has optado por pastebin tienes que descargar también los archivos léeme en español e inglés, si has optado por mediafire están incluidos.

Lo segundo es guardarlo con el nombre de archivo "ICFSoft_MainUtility.js" y ponerlo en la carpeta js\plugins del juego. Este no requiere de configuración, todo se realiza mediante notas en las etiquetas.
Todos los detalles los puedes encontrar en el apartado de ayuda del plugin y el archivo léeme (o también preguntarme si tienes alguna duda).
Lo tercero, como suelo indicar, es añadir el autor del plugin (ICF-Soft) en los créditos.

Incompatibilidades:
No se conocen scripts con los que sea incompatible hasta la fecha.

Problemas conocidos:
Por el momento ninguno.

Hacer plugins y probarlos consume mucho tiempo, en especial este. Con tu ayuda podré dedicar más tiempo y hacer más y mejores plugins.
Puedes ayudar desde Patreon. Patreon es una plataforma de crowdfunding en la que la gente puede realizar donaciones mensuales para dar soporte a creadores de distintos y variados contenidos. Cualquier valor que puedas aportar es importante, y puedes dejar de dar soporte cuando quieras.

Y este es el script.
Espero que os guste.

5 comentarios:

  1. Ante todo dartes las gracias por este magnifico script.
    Tengo una duda sobre el comando "remoteswitch mapid eventid x true/false", ¿seria posible asignarle a mapid un valor estandar para que se aplique el cambio en el mapa actual, y de no ser asi podria asignarle el valor de una variable?
    Te agradezco de antemano cualquier comentario.

    ResponderEliminar
    Respuestas
    1. Hola Kaos Propio.
      El comando "remoteswitch mapid eventid x true/false" de momento solo trabaja con valores fijos ya que el RPG Maker de por sí divide el comando en espacios con lo que estropearía cualquier comando que permita fórmulas.
      Las opciones para mapa actual o designado por variable no están implementadas.

      Para efectos más específicos como los que has mencionado puedes usar como alternativa las llamadas a script, pues utilizan código javascript directamente por lo que son más versátiles que los comandos de complemento.
      En este caso "ICF.MainUtility.CustomSwitch(mapid, evid, switchname, value)". Ejemplos:
      Para mapa actual: "ICF.MainUtility.CustomSwitch(this._mapId, 1, 'conocido', false)"
      -Desactiva el interruptor 'conocido' del evento 1 del mapa actual.
      Para mapa especificado por variable: "ICF.MainUtility.CustomSwitch($gameVariables.value(10), 1, 'conocido', true)"
      -Activa el interruptor 'conocido' del evento 1 del mapa designado por la variable 10.

      Espero que te sea útil.
      Un saludo.

      Eliminar
    2. No sabes que util me resulta... muchas gracias

      Eliminar
  2. Hola! Estaba probando este plugin y cuando abro una partida guardada salta el error "Cannot read property 'traits' of undefined", sin embargo cuando hago una partida nueva el error no aparece.
    Te dejo una captura de pantalla de la consola:
    https://i.imgur.com/ExzEygX.jpg
    Sabes que puede estar pasando?
    Desde ya, muchas gracias.

    ResponderEliminar
    Respuestas
    1. Hola.
      Puedes parchearlo editándolo con el block de notas.
      En la línea 846 se encuentra.
      La función tiene que quedar así:
      Game_BattlerBase.prototype.traitObjects = function() {
      if (!this._traitsObject) {
      this._traitsObject = {};
      this._traitsObject.traits = [];
      }
      return ICF.MainUtility.traitObjects.call(this).concat([this._traitsObject]);
      };
      Las versiones de pastebin están ya corregidas.
      La versión 1.02 vendrá solucionado.

      Un saludo.

      Eliminar