Autor Tema: [Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials  (Leído 29257 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Scatman

  • Profesor Pokémon
  • *
  • Mensajes: 1429
  • Karma: +1/-1
    • Ver Perfil
    • Email
  • FC - 3DS: 5155-3592-9495

  • Total Badges: 27
    Badges: (View All)
    Nivel 5 Quinto aniversario Usuario de Windows

    Este es un manual casi completo para utilizar el RPG maker XP, espero que os sirva para aprender a usar este programa tan bueno…


    1. ¿Qué es RPG Maker XP?

    RPG Maker XP es un software creado mediante ruby (un lenguaje de programación japonés orientado a objetos 100%) que nos permitirá crear y personalizar un RPG (Rol Playable Game) a nuestro gusto. Esta nueva versión tiene integrada una nueva función, que, a pesar de su complejidad respecto a las anteriores, permite al usuario personalizar sus proyectos aun más. Se trata de RGSS (Ruby Game Scripting System) y servirá para que, teniendo nociones básicas sobre el funcionamiento de Ruby, se pueda personalizar aun más el proyecto deseado.


    2. Introducción

    Este tutorial está orientado al uso y perfeccionamiento del mismo del programa. Se explicará cada una de las secciones detalladamente, y en ellas se incluirá un ejemplo si se ha considerado necesario. Espero que este turorial sea efectivo…


    3. Uso de RPG Maker XP

    El RPG Maker XP es un programa muy sencillo de utilizar que funcionará mediante el ratón, y, para introducir claves numéricas, mensajes o nombres, mediante el teclado.

    Su uso se explicará detalladamente en este tutorial.


    4. Herramientas básicas en RPG Maker XP

    En RPG Maker XP, hay una serie de herramientas básicas que se mostrarán en la barra de tareas que se muestra en el programa, en el margen superior.

    Las herramientas son las siguientes:

    Spoiler: mostrar
    Archivo (referente a nuestro proyecto)

       Nuevo proyecto (Ctrl.+ N)
       Abrir proyecto (Ctrl.+ O)
       Cerrar proyecto
       Guardar proyecto (Ctrl.+ S)
       Crear instalación
       Salir

    Edición (referente a modificaciones)
     
       Deshacer (Ctrl.+ Z)
       Cortar (Ctrl.+ X)
       Copiar (Ctrl.+ C)
       Pegar (Ctrl.+ V)
       Eliminar (Delete)

    Ver (referente a las capas)

       Capa actual o inferior (F2)
       Todas las capas (F3)
       Oscurecer otras capas (F4)

    Modo ( Mapas )

       Capa 1 ( F5 ): Capa superficial del mapa. La más baja de todas.
       Capa 2 ( F6 ): Actúa sobre la capa 1 y bajo la capa 3.
       Capa 3 ( F7 ): Actúa sobre el resto de las capas.
       Eventos ( F8 ): Sirve para incluir eventos en el mapa.

    Dibujar (herramientas para crear los mapas)

    Escala: (referente al tamaño con el que se verá el mapa, sólo mientras se crea el juego)

    Herramientas (fundamentales del programa)
       
       Base de datos (F9)
       Gestor de archivos (F10)
       Editor de Scripts (F11)
       Prueba de sonido
       Opciones

    Juego

       Probar juego (F12)
       Cambiar título
       Selector de RTP
       Abrir carpeta del juego

    Ayuda



    5. Herramientas fundamentales en RPG Maker XP

    - Base de datos: Es donde almacenamos los diferentes datos fijos del juego. No funciona por eventos.
    - Gestor de archivos: Sirve para exportar/importar/eliminar archivos en el programa.
    - Editor de Scripts: Sirve para crear o editar Scripts.
    - Prueba de sonido: Sirve para probar los determinados archivos de música y sonido (BGM/BGS/ME/SE).

    La base de datos es una de las herramientas más básicas y a su vez fundamentales del programa. Su uso es muy sencillo. Voy a proceder a explicar las distintas partes de la base de datos:

    Spoiler: mostrar

    Personajes: Sirve para crear los distintos personajes (se establece la experiencia    que necesitan para subir su nivel, su nivel inicial, su nivel máximo, sus parámetros mínimos y máximos, curvas de parámetros, nombre, profesión, gráficos y equipamiento inicial).

    Profesiones: Las clases que tendrán nuestros personajes. Se establece el nombre de la profesión, que armas y armaduras que podrán llevar (espadas cortas, arco, armadura ligera…), estados que pueden tener/sufrir (veneno, silencio, freno…), la efectividad de atributos (si son vulnerables a Fuego, débiles a Hielo…), la posición que tendrán en batalla y las habilidades que se pueden aprender con cada profesión.

    Habilidades: Las aptitudes que nuestros personajes podrán realizar. Elegiremos su nombre, su icono, su explicación, sus atributos, si produce/cambia un estado, su gasto PM, su poder, su área de efecto…

    Objetos: Mismo patrón que Habilidades.

    Armamento: Mismo patrón que Habilidades.

    Protectores: Mismo patrón que Habilidades.

    Enemigos: Mismo patrón que Habilidades.

    Grupos de enemigos: Sirve para ordenar a los enemigos en la pantalla donde se realizara la batalla y para probar la batalla.

    Estados: Mismo patrón que Habilidades.

    Tile Sets: Son los gráficos que se usarán en el mapeo del juego. Aquí se crean los distintos gráficos que se usarán en el juego (nombre, gráficos, autotiles que usará, panorama, niebla, fondo de pantalla y propiedades).

    Eventos comunes: Para serles sincero, no se nada hacerca de estos…

    Sistema: En esta opción se configurarán los diferentes datos del sistema.

    NOTA: En la base de datos, en la mayoría de sus partes, hay un botón que indica “número máximo”. Este botón sirve para aumentar la cantidad máxima de lo que se está personalizando en dicha parte.



    6. Mapa

    Para crear o modificar un mapa haremos clic con el botón secundario en la carpeta del juego o sobre un mapa ya existente.

    Una vez hecho esto, le damos a Crear nuevo mapa (Ins) o si preferimos modificar el existente le damos a Propiedades del mapa (Space). Aparecerá una nueva ventana que nos permitirá configurar las propiedades del mapa.

    Las opciones que incluye son las siguientes:

        Nombre del mapa
        Tile Set: Como será el suelo del mapa
        Dimensiones
        Sonido/música de ambiente
        Grupos de enemigos que aparecerán en él (y nº de pasos para el encuentro).

    Le daríamos a Aceptar y ya tendríamos nuestro mapa.


    7. Eventos

    Los eventos son comandos utilizados para programar en RPG Maker.

    En los mapas, hay una cuarta capa en la que se pueden configurar un número muy elevado de eventos. Una vez situados en dicha capa, haremos doble clic sobre el Tile (cuadro) para que se muestre la ventana de eventos.

    Dentro de una ventana de eventos, podemos encontrar diversos elementos claves para la programación:
    Spoiler: mostrar
    Condiciones de aparición: Interruptores, Interruptores locales y Variables. Se estudiarán con posterioridad.

    Opciones: Esto nos permitirá configurar el evento. Son totalmente combinables.

    • Animación al moverse: Permite que al moverse se mueva de forma “real”, no sea una imagen congelada.
    • Dirección fija: El evento se moverá en una única dirección.
    • Sobre el personaje: Sirve para que el evento tenga mayor prioridad que el personaje (pasa por encima de él).
    • Animación parado: Sirve para que cuando el evento no esté en movimiento, aun así se muestre animado.
    • Atravesable: En este modo, el personaje u otros eventos pasarán por encima del evento que estamos configurando.

    Movimiento autónomo del evento: Sirve para establecer el movimiento, la frecuencia y la velocidad con los que se moverá el evento

    Detonante de inicio: Condiciones que deben darse para que se inicie el evento. Son las siguientes:

    • Pulsar aceptar: Al pulsar “intro”, “barra espaciadora” o la tecla “C”, se inicia el evento.
    • Toparse con el héroe: El evento se inicia cuando el personaje entra en contacto con dicho evento.
    • Colisionar: El evento se activa cuando entra en contacto con otro evento.
    • Inicio automático: El evento se inicia de manera automática y se sobrepone a otros eventos con distintas condiciones de inicio.
    • Proceso paralelo: El evento se inicia de manera automática sin entorpecer ni interferir en el funcionamiento de otros eventos (esta opción es a menudo usada para sustituir un inicio automático).

    Gráfico: Es el gráfico que va a tener el evento.

    Contenidos del evento: Es la parte fundamental de los eventos así como la que más importancia tiene. La explicaremos exhaustivamente más tarde.

    Herramientas de cada página de eventos:
    • Nueva página
    • Copiar página
    • Pegar página
    • Borrar página
    • Vaciar página
    [/spoiler]

    7.1 Contenidos del evento

    Para introducir un comando hacemos doble clic en la franja azul que aparece en el recuadro denominado “Contenidos del evento”. Nos aparecerá una ventana nueva con varias opciones divididas en tres páginas (1, 2, 3). Ahora procederemos a explicar punto por punto la multitud de opciones que nos da cada página.

    Primera página:
    Spoiler: mostrar
    Están agrupados en varios grupos:

    Primer grupo:

    • Mostrar mensaje: Esta opción hará aparecer un cuadro de texto en el que se podrá introducir un mensaje que queremos mostrar. Usado de manera adecuada, usando este comando, podemos simular un diálogo entre dos o más personajes.


    • Mostrar elecciones: Te permite introducir entre 1 y 4 elecciones (que pueden servir como respuesta a una pregunta, como acertijo, etc.). A la derecha de la ventana que aparecerá cuando introduzcamos este comando, se puede elegir una condición que se dará si, en vez de elegir una de las elecciones incluidas en el comando, se cancela (mediante el botón B, Esc., etc.).

    • Proceso de entrada numérica: Sirve para que, durante el juego, el jugador pueda introducir un número que luego se guardará en la variable designada. (Las variables se estudiarán más adelante). Esto puede servir para inventar un sistema de contraseña, etc.

    • Opciones de mensaje: Comando utilizado para cambiar la configuración del mensaje (el lugar en el que se mostrará el texto y la transparencia de la ventana).

    • Asignar teclas: Este comando permite que se guarde el valor numérico de las teclas que son pulsadas (el valor numérico viene indicado en la ventana de este comando) en una variable designada. Su complejidad es grande, pero, a pesar de ello es un comando muy útil en muchos casos. Puede ayudar a crear menús personalizados, SBP (Sistema de Batalla Personalizado), etc. si se combina adecuadamente con “condiciones y efectos”.

    • Esperar: Cuando se realiza este comando, todas los demás eventos y los comandos de los mismos esperan durante determinado tiempo (el indicado en el comando). 20 frames son aproximadamente un segundo.

    • Poner anotación: Como su nombre indica, sirve para poner una nota que no influirá para nada en el juego. Simplemente puede ser usada como recordatorio, etc.

    Segundo grupo:

    • Condiciones y efectos: Este es un comando muy amplio usado de múltiples maneras. Su función básica es la introducción de otro comando, cuando se cumpla una condición (un ejemplo de ello, es que consigas un objeto, y, a consecuencia de eso, te salga un mensaje al llegar a tal lugar).

      Las condiciones no se reducen solo a la posesión de cierto objeto, si no que se pueden aplicar a muchos campos. Dichos campos son:

      • Si un interruptor está activado o desactivado (los interruptores se explicarán con posterioridad).
         
      • Si una variable tiene un valor determinado.

      • Si un interruptor local está activado o desactivado.

      • Si un temporizador ha alcanzado determinada cifra temporal.

      • Si un personaje está en el grupo, tiene determinado nombre, ha aprendido cierta habilidad, lleva equipada
        determinada arma, lleva equipado determinado protector, se encuentra en determinado estado.

      • Si un enemigo ha desaparecido o se encuentra en determinado estado.

      • Si un Sprite (un gráfico, ya sea de personaje, o de enemigo, pero, en el mapa) mira a una dirección concreta.

      • Si posees cierta cantidad de dinero (mayor o menor).

      • Si posees cierto objeto.

      • Si posees cierta arma.

      • Si posees cierto protector.

      • Si se pulsa cierta tecla (las opciones vienen indicadas).

      • Si se cumple una condición mediante script (esto se explicará más adelante).

      NOTA: Todas estas condiciones, pueden tener excepción (la pestaña que aparece en la esquina inferior izquierda de la ventana) que actuará si la condición no se cumple.

    • Comenzar Ciclo: Crea un “bucle” que repite automáticamente los comandos que se comprenden entre “Comenzar ciclo” y “fin de ciclo”. Esos comandos no dejan de repetirse hasta que no se incluye el siguiente comando “romper ciclo”.

    • Romper Ciclo: Comando encargado de evitar la continuación de un ciclo. En el momento en el que en un ciclo existe un “romper ciclo”, ese ciclo deja de funcionar.

    • Parar proceso de evento: Sirve para detener el resto de acciones que se están llevando a cabo en el mismo evento.

    • Borrar evento temporalmente: Mientras se permanezca en el mismo mapa (y no se haya dado otra condición que lo cambie o lo impida) el evento “desaparece” de dicho mapa, se borra temporalmente, puesto que una vez se vuelva a entrar en ese mapa, o realizar esa secuencia, el evento volverá.

    • Llamar evento común: Realiza la acción de llamar un evento común de la base de datos, que tuviese como condición llamar. Esto puede servir para crear escenas y otro tipo de interrupciones temporales en la parte jugable de un proyecto.

    • Elegir etiqueta: Permite “etiquetar” un evento para poder llegar hacia él fácilmente con el comando “ir a etiqueta” o trabajar con él con dicho comando.

    • Ir a etiqueta: Permite llegar hacia el evento que designes que haya sido etiquetado así.

    Tercer grupo

    • Operaciones de interruptor: Sirve para trabajar con interruptores. Puedes hacerlo tanto con un uno individual como con un grupo entero.

    • Operaciones de variables: Sirve para trabajar con variables. Esta opción es un poco más compleja y se estudiará más adelante, junto con las variables.

    • Operaciones de interruptor local: Al igual que las operaciones de interruptor, sirve para trabajar con interruptores locales, los cuales tienen opciones más limitadas.

    • Operaciones de tiempo: Sirve para iniciar o para algún temporizador.

    • Cambiar dinero: Comando utilizado para cambiar la cantidad de dinero que posee el jugador. Puede aumentarse o disminuirse en un valor fijo o en uno aleatorio.

    • Cambiar objetos: Tiene la misma explicación que el anterior, aunque esta vez con objetos que posee el jugador.

    • Cambiar armamento: Tiene la misma explicación que el anterior, aunque esta vez con las armas que posee el jugador.

    • Cambiar protector: Tiene la misma explicación que el anterior, aunque esta vez con protectores que posee el jugador.

    • Cambiar grupo: Comando que sirve para quitar o añadir un miembro del grupo (de los personajes creados en la base de datos).

    Cuarto grupo

    • Cambia skin del sistema: Sirve para cambiar los gráficos base de mensajes y ventanas que usa el sistema.

    • Cambiar música de batalla: No requiere explicación.

    • Cambiar música de victoria: Ídem.

    • Cambiar permisos de guardado: Este comando puede ser utilizado para prohibir que se pueda guardar la partida en un determinado momento del juego, o para quitar esa prohibición.

    • Cambiar permisos de menú: Este comando permite prohibir el acceso al menú en determinado momento del juego, o quitar dicha prohibición.

    • Cambiar permisos de encuentros: Este comando permite prohibir el encuentro con grupos de enemigos, o eliminar dicha prohibición.
    [/spoiler]

    Segunda página:
    Spoiler: mostrar

    Primer grupo

    • Teletransportar: Este evento sirve para “mover” al personaje de un punto o de un mapa, a otro diferente, o incluso al mismo, en diferente posición. El punto al que queremos teletransportar nuestro personaje, puede ser elegido directamente o por medio de una variable.

    • Elegir posición de evento: Permite mover un evento a la posición que queramos.

    • Scroll de mapa: Sirve para mover la pantalla en la dirección que queramos y a la velocidad establecida. Los demás eventos seguirán haciendo sus acciones.

    • Cambiar gráficos de mapa: Sirve para modificar los gráficos (no tile sets, si no panoramas, gráficos de niebla y de fondo de batalla) que usa el mapa elegido.

    • Cambiar tono de niebla: No requiere explicación.

    • Cambiar opacidad de niebla: No requiere explicación.

    • Mostrar animación de mapa: Permite que se muestre una de las animaciones creadas (o predeterminadas) de la base de datos en un lugar del mapa.

    • Cambiar transparencia: Sirve para cambiar si se verá el personaje o de lo contrario no lo hará.

    • Mover evento: Este es un comando muy extenso que permite mover un evento, de tile en tile (por cuadros), en la dirección que queramos, a la velocidad que queramos, y con muchas opciones personalizables (no me voy a exceder mucho en este comando, ya que es muy sencillo a pesar de su amplitud).

    • Esperar a fin de movimiento: Todos los demás eventos y/o acciones se anulan mientras se está ejecutando el movimiento de el/los evento/s.

    Segundo grupo

    • Preparar transición: Comando utilizado para preparar un cambio de pantalla.

    • Ejecutar transición: Acompañado de un “preparar transición”, ejecuta un cambio de pantalla usando los gráficos de transición elegidos.

    • Cambiar tono de pantalla: Cambia el tono con el que se verá la pantalla en ese momento. Los valores 0 indican un color total. Se pueden ajustar a gusto del usuario los tres colores primarios, y, si se aumenta el campo “gris” el tono de pantalla se ira volviendo gris según el valor que se haya indicado (255 convertirá el tono en un color monocromo).

    • Flash de pantalla: Emite un flash en la pantalla del que podrás configurar el color y la duración del destello.

    • Sacudir pantalla: Simula un efecto de “terremoto” en el que se podrá variar la intensidad, la velocidad y la duración.

    Tercer grupo

    • Mostrar imagen: Este comando no requiere explicación. Las imágenes que se muestren, estarán incluidas en el directorio “Pictures” de la carpeta del proyecto que se está creando.

    • Mover imagen: Sirve para cambiar de posición una imagen que se ha mostrado con el comando anterior. También se puede cambiar de tamaño, opacidad, etc.

    • Rotar imagen: Hace lo que su nombre indica, rota una imagen.

    • Cambiar tono de imagen: Este comando funciona igual que “cambiar tono de pantalla”, aunque solo influirá en la imagen elegida.

    • Borrar imagen: Hace desaparecer una imagen mostrada con el comando “mostrar imagen”.

    • Opciones de clima: Este curioso comando, permite simular efectos climáticos de la realidad reflejados en un proyecto. Entre sus opciones están lluvia, tormenta y nieve, de las cuales se puede modificar la duración y la intensidad del efecto de clima.

    Cuarto grupo

    • Reproducir música: Permite reproducir un archivo de música BGM.

    • Decrecer música: Hace un degradado en la música BGM que se está reproduciendo, hasta llegar a hacer desaparecer dicha música.

    • Reproducir sonido: Permite reproducir un archivo de sonido BGS.

    • Decrecer sonido: Hace un degradado en el sonido BGS que se está reproduciendo, hasta llegar a hacer desaparecer dicho sonido.

    • Memorizar música/sonido: Permite memorizar la música y/o el sonido que se están reproduciendo para luego ejecutarlos más tarde.

    • Reproducir memorizados: Este comando permite reproducir la música y/o el sonido que se habían memorizado con anterioridad.

    • Reproducir efecto musical: Permite reproducir un archivo de música ME.

    • Reproducir efecto sonoro: Permite reproducir un archivo de música SE.

    • Parar efecto sonoro: Detiene el efecto sonoro que se está reproduciendo.
    [/spoiler]

    Tercera página:
    Spoiler: mostrar

    Primer grupo

    • Combatir: Permite crear un encuentro no aleatorio con un grupo enemigo que se haya elegido. Con este comando, se pueden determinar las condiciones de escape o de derrota o victoria. Este comando es a menudo muy usado.

    • Insertar tienda: Comando con una función útil, que permite crear una simulación de una tienda, en la que se venderán/comprarán los objetos que hayas creado o personalizado en la base de datos. Los artículos que estarán en venta se podrán elegir en la ventana que se muestra al elegir este comando.

    • Poner nombre a personaje: No necesita explicación.

    Segundo grupo

    • Cambiar PV: Comando que sirve para reducir/aumentar el PV (Puntos de Vida) de un personaje del grupo, o de todos a la vez. Se puede aumentar con una constante, o el valor que aumente, puede depender de una variable.

    • Cambiar PM: Comando que sirve para reducir/aumentar el PM (Puntos de Magia) de un personaje del grupo, o de todos a la vez. Se puede aumentar con una constante, o el valor que aumente, puede depender de una variable.

    • Cambiar estado: Cambia el estado en el que se encuentra uno de los personajes (o el grupo completo). Puede añadirse ese estado, o eliminarse.

    • Curar todo: Este comando permite curar completamente (restaurar todo el PV, el PM y el estado) a un personaje o a todo el grupo.

    • Cambiar experiencia: Permite añadir o quitar experiencia a uno de los personajes.

    • Cambiar nivel: Aumenta o disminuye el nivel de uno o varios personajes.

    • Cambiar parámetros: Permite aumentar o disminuir cualquier parámetro (PV, PM, etc.) a un personaje. Al igual que los casos anteriores, puede definirse por una constante, o por el uso de una variable.

    • Cambiar habilidades: Permite enseñar o hacer olvidar una habilidad (que se definió anteriormente en la base de datos) a un personaje.

    • Cambiar equipamiento: Permite cambiar el equipamiento (ya sean armas, protectores, u otro tipo de objetos) que posee un personaje.

    • Cambiar nombre personaje: No requiere explicación.

    • Cambiar profesión: No requiere explicación.

    • Cambiar gráfico de personaje: Permite cambiar tanto el gráfico de personaje (el utilizado en los mapas), como el gráfico de batalla de un personaje.

    Tercer grupo

    • Cambiar PV enemigo: Permite variar el valor del PV de un enemigo contra el que estás batallando (la batalla debe ser iniciada mediante “combatir” en el mismo evento).

    • Cambiar PM enemigo: Permite variar el valor del PM de un enemigo contra el que estás batallando (la batalla debe ser iniciada mediante “combatir” en el mismo evento).

    • Cambiar estado enemigo: Permite causar o curar un estado a un enemigo contra el que estás batallando (la batalla debe ser iniciada mediante “combatir” en el mismo evento).

    • Curar todo a enemigo: Este comando sirve para restaurar completamente a un enemigo (o a todos).

    • Aparición enemiga: Hace aparecer a un enemigo.

    • Transformación enemiga: Permite que se transforme uno de los enemigos contra el que se está batallando, en otro de la base de datos.

    • Mostrar animación (batalla): Comando que permite hacer aparecer una animación en la batalla sobre cualquier objetivo, según se utilice.

    • Recibir daño.

    • Forzar acción: Obliga a un enemigo o a un personaje a realizar una acción que se considera aleatoria o al gusto del jugador. (Ejemplo, si un personaje es controlado por el jugador, hará lo que este le mande, sin embargo, de esta manera, solo realizará la acción que se fuerce.)

    • Parar batalla: Detiene una batalla.

    Cuarto grupo

    • Llamar a menú: Hace que aparezca el menú del juego.

    • Llamar menú Guardar: Hace que aparezca el menú de guardar del juego.

    • Fin del juego

    • Volver a pantalla de título

    • Llamar script: Este comando sirve, combinado con RGSS, para personalizar el juego. Su explicación se podrá ver junto a la de la sección de RGSS, pues prácticamente forma parte de esa función.
    [/spoiler]


    7.2 Interruptores

    En RPG Maker existen unos métodos de programación llamados interruptores. Estos son fundamentales para el uso correcto y la creación de un proyecto. Vamos a proceder a explicar los interruptores:

    Los interruptores, son un tipo de variable “boolean” que solo pueden adquirir dos valores: ON/OFF.

    Para manipular un interruptor (activarlo o desactivarlo) introduciremos el comando de la primera página “operaciones de interruptor”.

    NOTA: Los interruptores pueden servir como condición de activación de un evento o comando.

    Explicaré su funcionamiento mediante el uso de un ejemplo:

    Supongamos que hemos creado una casa y, mediante un evento, una puerta. Si prosiguiésemos las acciones normales, sin introducir ningún interruptor, a pesar de que lográsemos simular el efecto de abrir la puerta, este evento se repetiría eternamente. Para cortar este efecto, bastaría con utilizar interruptores.

    Los interruptores son un recurso amplio y a la vez sencillo que nos da opción a muchas posibilidades en RPG maker. Ya crearé algún ejemplo de interruptores y variables, que ahora ando algo atareado.

    • 7.2.1 Interruptores locales

      Esta nueva función que lleva integrada RPG maker XP, es muy similar a la de interruptores, salvo en algunas cosas.

      Un interruptor local funciona de igual manera que uno normal, excepto porque el local SOLO actuará en el evento en el que se le manipula. Sin embargo, sus opciones de valores no se limitan a dos, si no a cuatro (A/B/C/D). Por lo demás, su funcionamiento es igual al de los interruptores normales.


    7.3 Variables

    Existen otros tipos de métodos para programar en RPG Maker. Uno de ellos, son las variables.

    Las variables son, como los interruptores, “contenedores” de valores que pueden cambiar. Sin embargo, las variables no tienen solo dos valores posibles, sino que tienen la capacidad de contener valores entre -9999 y 9999.

    Bueno, esto es todo lo que se, espero que os ayude en vuestro proyecto.

    Si hay alguna duda, no dudeis a preguntar, os las resolveremos, o si os faltan recursos, puede que os los demos.


    Si alguien desa ayudarme que se inscriba enviándome un MP, no atenderé peticiones en el tema, solo dudas.
    Spoiler: Ayudantes • mostrar
    Müll
    Resist

    [/list]
    « Última modificación: 30 de Junio de 2013, 01:26:20 am por Müll »


    Antes Müll
    DJ, rom-hacker, etc.


    Scatman

    • Profesor Pokémon
    • *
    • Mensajes: 1429
    • Karma: +1/-1
      • Ver Perfil
      • Email
    • FC - 3DS: 5155-3592-9495

    • Total Badges: 27
      Badges: (View All)
      Nivel 5 Quinto aniversario Usuario de Windows
    Re:[Tutorial]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #1 en: 17 de Junio de 2013, 04:13:06 am »
                 

    ¿Qué es pokémon Essentials?
    Pokémon Essentials, llamado pokestarter de aquí en adelante, es un engine programado en RGSS en
    base a Rpg Maker XP creado por Poccil y Flameguru. Que sirve para crear juegos de pokémon
    totalmente personalizables de manera muy fácil.

    Los creadores son de habla inglesa y como es lógico su creación también.
    Pero se puede traducir muy fácilmente extrayendo los textos desde el editor del pokestarter, una vez
    extraidos se traducen con el bloc de notas, se compilan y listo.

    ¿Qué cosas puedo hacer con él?
    Basicamente podrás crear un juego de pokémon en todos los sentidos de forma muy simple y sin
    necesidad de scripts.
    Podrás crear tus propios pokémon o editar los existente, cambiar los gráficos por otros de tu agrado,
    inventar una historia y desarrollarla en el juego.
    Y si además sabes programar en RGSS (Rubí Game Scripting System) podrás hacer casi cualquier cosa
    que se te antoje siempre que esté dentro de los límites de lo posible y que el propio Rpg Maker lo pueda
    procesar.

    ¿Cómo empiezo a crear?
    Muy sencillo, todas las cosas comunes se pueden hacer desde el Rpg Maker, para ello habrá que abrir el
    archivo game.rxproj. Esto generalmente se usa para editar mapeados y eventos.
    Los detalles técnicos como el nombre de los pokémon, objetos etc.. se hace editando los archivos de la
    carpeta PBS con el bloc de notas o cualquier otro editor de texto plano.
    Tambien incluye un editor propio para aspectos más complejos como compilar datos, editar los metadatos etc…

    Los mensajes salen un tanto sosos…
    Los puedes mejorar mediante comandos o scripts, aunque esto último es mas complicado.
    Aquí dejo algunos comandos para poner en al insertar textos en el juego para mejorar la visualización:
     \ PN - Muestra el nombre del jugador.
     \ G - Muestra una ventana que muestra el dinero actual del jugador.
     \ Pm - Muestra de dinero actual del jugador en el mensaje.
     \ V [n] - Muestra el valor de número variable n.
     \ F [X] - X Muestra la foto de la cara, cerca del mensaje. La imagen debe ser especificado en la gráfica / Fotos /
    carpeta.
     \ C [n] - Muestra el texto que sigue en el número de color n.
    0 = Negro, 4 = cian
    1 = azul, 5 = magenta
    2 = Rojo, 6 = Amarillo
    3 = Verde, 7 = gris ; 8 = Blanco.
     \ [Xxxxyyyy] - Muestra el texto en el color base y XXXX AAAA color de la sombra. Cada color es un 15
    hexadecimal-bit RGB color. Ejemplos:
    O \ [043c3aff] - Red
    O \ [06644bd2] - Green
    O \ [65467b14] - Blue
    O \ [318c675a] - Gray
     \ 1 - Detiene el mensaje. Esto generalmente no es necesario si se desea una pausa dentro de un mensaje.
     \ N - Provoca un salto de línea.
     \ B - los colores diálogo masculino.
     \ R - los colores diálogo Mujer.
     \ Se [X] - Reproduce el efecto de sonido (SE) denominado X.
     \ Me [X] - Reproduce el efecto de la música (ME), llamado X.
     \ \ - Muestra el carácter de barra invertida "\".
     \ W [X] - Muestra el mensaje en el windowskin X. Si este campo está en blanco, el sistema de mensaje no
    mostrará un windowskin.
     \ Signo [X] - Muestra el mensaje en forma de un signo y en la windowskin X. Si este campo está en blanco, el
    sistema de mensaje no mostrará un windowskin.
     <b> ... </ b> - Formatea el texto en negrita.
     <o=X> ... </> o - Cambios en la opacidad del texto. X puede ser 0 (completamente transparente) a 255
    (completamente opaco).
     <i> ... </ i> - Formatea el texto en cursiva.
     <u> ... </ u> - Subraya el texto.

     <c=RRGGBBAA> ... </ c> - Muestra el texto que sigue en el color RGB especificado (similar a cómo los colores
    se dan en HTML, excepto sin el símbolo "#"). El "AA" es opcional y especifica la opacidad hexadecimal del color y
    puede variar desde 00 (totalmente transparente) a FF (completamente opaco).
     <c3=RRGGBBAA,RRGGBBAA> ... </ c3> - Muestra el texto que sigue en los colores especificados RGB
    (similar a cómo los colores se dan en HTML, excepto sin el símbolo "#"). El "AA" es opcional y especifica la
    opacidad hexadecimal del color y puede variar desde 00 (totalmente transparente) a FF (completamente opaco). El
    primer color es el color base y el segundo color es el color de la sombra.
     <s> ... </ s> - Dibuja una línea de ponches sobre el texto.
     <outln> ... </ outln> - Muestra el texto en formato de esquema.
     <r> - Haga alinea el texto hasta el siguiente salto de línea.
     <br> - Provoca un salto de línea.
     <fn=X> ... </ fn> - Formatos del texto en la fuente especificada, Arial o si la fuente no existe.
     <fs=X> ... </ fs> - Cambia el tamaño de la fuente a X.
     <AC> ... </ ac> - Centros de texto. Causas de los saltos de línea antes y después del texto.
     <AL> ... </ AL> - Izquierda alinea el texto. Causas de los saltos de línea antes y después del texto.
     <ar> ... </ ar> - Haga alinea el texto. Causas de los saltos de línea antes y después del texto.
     <icon=X> - Muestra el icono X (en Gráficos / Iconos /).
     '- Se convierten en "'".
     <- Se convierten en "<".
     > - Se convierten en ">".
     & - Se convierten en "&".
     "- Se convierten en doble comilla.
     \ L [n] - Cambia el número de líneas en el cuadro de texto para las líneas N.
     \ Wu - Muestra el cuadro de texto en la parte superior de la pantalla.
     \ WM - Muestra el cuadro de texto en el centro de la pantalla.
     \ Wd - Muestra el cuadro de texto en la parte inferior de la pantalla.
     \ Mueve op - la ventana hacia la pantalla, ya que se abre.
     \ [X cl] - Mueve la ventana fuera de la pantalla cuando ésta se cierre. La X "[]" es opcional, donde X es el archivo
    de sonido para reproducir como la ventana se cierra.
    ¿TERRENOS?
    En el juego según la designación de terreno que le demos a cada tile (sprite) actuará de una forma u
    otra.
    Aquí os dejo la descripción de cada terreno:
    las etiquetas de los terrenos se pueden configurar mediante el "RPG MAKER XP" o el "editor.exe" aqui la lista de
    lso terrenos:
    Etiqueta/Nombre/Descripción
    1: travesaños : en esta etiqueta solo debe estar disponible una dirección para que el jugador pueda saltar.
    2: Grass : Hierba
    3: Sand : Arena
    4: Rocky ground : suelo rocoso
    5: Deep water: aguas profundas
    6: Agua Se Refleja (los eventos se reflejan)
    7: Normal water : Agua normal
    8: Waterfall : Catarata (cascada)
    9: Crest of waterfall : Cresta de cascada
    10: Tall grass 1: El césped alto
    11: Underwater grass : Hierba Subacuática
    12: Ice (hielo deslizante)
    13: Neutral (se usa generalmente para puentes)

    Puente Atravesable por Abajo y Arriba
    Para que el puente sea atravesable tenemos que poner al puente con etiqueta 13 en el editor.exe del essentials en
    "SET TERRAIN TAGS" y listo el puente es atravesable.

    ¿COMO AÑADO UNA TIENDA?
    Crea un eveneto en el que pongas llamar script y copias el siguiente:
    pbPokemonMart([
    PBItems::XXX,
    PBItems::YYY,
    PBItems::ZZZ])
    donde "XXX , YYY y ZZZ" son los objetos disponibles en la tienda
    La lista de objetos se encuentra en la carpeta PBS de tu juego, si abres el texto "items.txt" verás todos los objetos.
    Gris: Numero Del Objeto
    Rojo : Nombre Interno Del Objeto(el que pondrás en la lista).
    Azul : El nombre que aparecerá en la tienda al jugar el juego.
    Verde : Precio Del Objeto.
    Amarillo : Descripción del objeto en la tienda.


    Los gráficos y mapas no me gustan….
    Siempre puedes poner los tuyos, para ello utiliza una plantilla con cuadros de 32X32 como esta:
    Spoiler: mostrar


    Cada cuadrado es un tile, por lo tanto solo hay que usar cualquier herramienta de diseño gráfico
    convencional como paint, gimp, photoshop etc… para recortar los tiles de otra imagen y colocarlos
    cuadro por cuadro.


    QUIERO UN CENTRO POKÉMON, UNA GUARDERÍA, UN
    GIMNASIO…..
    Todo eso es muy sencillo de hacer y para ello solo tendrás que mirar en los mapas de prueba del
    pokestarter, copiar los scripts y ponerlos en otro evento ya que para esas cosas siempre se usa el mismo
    script y no hace falta explicaciones por mi parte.


    ¡¡¡YA TENGO ACABADO EL JUEGO!!! ¿AHORA QUÉ?
    Pues bien si eres uno de los pocos mortales que han acabado una creación, lo ideal sería postearlo en
    algún foro para que la gente opine sobre tu juego, de sugerencias, reporte fallos etc…
    Nunca tu juego será 100% perfecto pero siempre puedes seguir mejorándolo







    Antes Müll
    DJ, rom-hacker, etc.


    Pichi

    • Usuario de honor
    • Erudito Pokémon
    • *
    • Mensajes: 4565
    • Karma: +19/-0
    • Con esfuerzo, todo es posible.
      • Ver Perfil
      • PkmM7
    • FC - 3DS: 0731-5060-0041

    • Total Badges: 44
      Badges: (View All)
      Séptimo aniversario Sexto aniversario Quinto aniversario
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #2 en: 17 de Junio de 2013, 08:52:16 am »
    Dudas xD:

    ¿Cómo inserto cinemáticas a lo largo del juego?¿Cuales tienen que ser sus medidas?¿En qué formato?

    Atte. Pichi

    Scatman

    • Profesor Pokémon
    • *
    • Mensajes: 1429
    • Karma: +1/-1
      • Ver Perfil
      • Email
    • FC - 3DS: 5155-3592-9495

    • Total Badges: 27
      Badges: (View All)
      Nivel 5 Quinto aniversario Usuario de Windows
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #3 en: 17 de Junio de 2013, 04:53:04 pm »
    Spoiler: mostrar
       
    Código: [Seleccionar]
    class Scene_Movie

        def initialize(movie)
           @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
           @movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"
           main
        end

        def main

           game_name = "\0" * 256
           @readini.call('Game','Title','',game_name,255,".\\Game.ini")
           game_name.delete!("\0")
           @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
           @temp = @wnd.call(0,0,nil,game_name).to_s
           movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
           movie.call("open \""+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)
           @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')
         
           @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
           @width = @detector.call(0)
           if @width == 640
             fullscreen
             Graphics.update
             sleep(1)
             Graphics.update
             sleep(1)
             Graphics.update
             sleep(1)
           end
         
           status = " " * 255
           movie.call("play FILE",0,0,0)
           loop do
            sleep(0.1)
            @message.call(@temp.to_i,11,0,0)
            Graphics.update
            @message.call(@temp.to_i,11,1,0)
            Input.update
            movie.call("status FILE mode",status,255,0)
            true_status = status.unpack("aaaa")
            if true_status.to_s != "play"
              break
            end
            if Input.trigger?(Input::B)
              Input.update
              break
            end
           end
           movie.call("close FILE",0,0,0)
           bail
        end

        def bail
           if @width == 640
             fullscreen
           end
          end
        end

        def fullscreen()

        $full.call(18,0,0,0)
        $full.call(13,0,0,0)
        $full.call(18,0,2,0)
        $full.call(13,0,2,0)
        end
        $full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','')
    [/spoiler]

    Lo primero de todo inserta este script arriba de "Main".
    Pon los videos en una carpeta llamada "Movies" (creala si no está) en la carpeta raiz de tu juego.

    El uso es muchísimo más fácil que antes. Para ejecutarlo sólo debes poner esto:

    Scene_Movie.new("nombrevideo") sin la extensión.

    Además podéis poner un video antes de la pantalla de título. Sólo id a MAIN y colocar el código de antes ANTEs (o sea, encima) de "$scene = Scene_Title.new" y ya está!

    COmo guinda final se pueden saltar los videos pulsando el botón del menú (aunque también se puede quitar esa posibilidad cortando un trozo del script)

    Espero que te sirva.

    Atención: El script no te permite colocar el video en el centro de la pantalla ni ejecutarlo a pantalla completa (si está a pantalla completa te envia a modo ventana para ejecutarlo directamente y luego os devuelve a pantalla completa... podría ser peor. Aunque esto se puede evitar quitando un trozo de script). Se recomienda usar videos de 640*480 que es la resolución del rpg maker xp.
    « Última modificación: 17 de Junio de 2013, 04:56:18 pm por Müll »
    Antes Müll
    DJ, rom-hacker, etc.


    Pichi

    • Usuario de honor
    • Erudito Pokémon
    • *
    • Mensajes: 4565
    • Karma: +19/-0
    • Con esfuerzo, todo es posible.
      • Ver Perfil
      • PkmM7
    • FC - 3DS: 0731-5060-0041

    • Total Badges: 44
      Badges: (View All)
      Séptimo aniversario Sexto aniversario Quinto aniversario
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #4 en: 17 de Junio de 2013, 10:24:41 pm »
    Spoiler: mostrar
       
    Código: [Seleccionar]
    class Scene_Movie

        def initialize(movie)
           @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
           @movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"
           main
        end

        def main

           game_name = "\0" * 256
           @readini.call('Game','Title','',game_name,255,".\\Game.ini")
           game_name.delete!("\0")
           @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
           @temp = @wnd.call(0,0,nil,game_name).to_s
           movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
           movie.call("open \""+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)
           @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')
         
           @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
           @width = @detector.call(0)
           if @width == 640
             fullscreen
             Graphics.update
             sleep(1)
             Graphics.update
             sleep(1)
             Graphics.update
             sleep(1)
           end
         
           status = " " * 255
           movie.call("play FILE",0,0,0)
           loop do
            sleep(0.1)
            @message.call(@temp.to_i,11,0,0)
            Graphics.update
            @message.call(@temp.to_i,11,1,0)
            Input.update
            movie.call("status FILE mode",status,255,0)
            true_status = status.unpack("aaaa")
            if true_status.to_s != "play"
              break
            end
            if Input.trigger?(Input::B)
              Input.update
              break
            end
           end
           movie.call("close FILE",0,0,0)
           bail
        end

        def bail
           if @width == 640
             fullscreen
           end
          end
        end

        def fullscreen()

        $full.call(18,0,0,0)
        $full.call(13,0,0,0)
        $full.call(18,0,2,0)
        $full.call(13,0,2,0)
        end
        $full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','')
    [/spoiler]

    Lo primero de todo inserta este script arriba de "Main".
    Pon los videos en una carpeta llamada "Movies" (creala si no está) en la carpeta raiz de tu juego.

    El uso es muchísimo más fácil que antes. Para ejecutarlo sólo debes poner esto:

    Scene_Movie.new("nombrevideo") sin la extensión.

    Además podéis poner un video antes de la pantalla de título. Sólo id a MAIN y colocar el código de antes ANTEs (o sea, encima) de "$scene = Scene_Title.new" y ya está!

    COmo guinda final se pueden saltar los videos pulsando el botón del menú (aunque también se puede quitar esa posibilidad cortando un trozo del script)

    Espero que te sirva.

    Atención: El script no te permite colocar el video en el centro de la pantalla ni ejecutarlo a pantalla completa (si está a pantalla completa te envia a modo ventana para ejecutarlo directamente y luego os devuelve a pantalla completa... podría ser peor. Aunque esto se puede evitar quitando un trozo de script). Se recomienda usar videos de 640*480 que es la resolución del rpg maker xp.

    Dos dudas más:

    1. Pregunta noob xD: Con la extensión... ¿a que te refieres?
    2. He escuchado, que el script solo funciona con vídeos en formato .avi, ¿eso es cierto?

    Scatman

    • Profesor Pokémon
    • *
    • Mensajes: 1429
    • Karma: +1/-1
      • Ver Perfil
      • Email
    • FC - 3DS: 5155-3592-9495

    • Total Badges: 27
      Badges: (View All)
      Nivel 5 Quinto aniversario Usuario de Windows
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #5 en: 18 de Junio de 2013, 03:37:00 am »
    Dos dudas más:

    1. Pregunta noob xD: Con la extensión... ¿a que te refieres?
    2. He escuchado, que el script solo funciona con vídeos en formato .avi, ¿eso es cierto?
    1. En informática, una extensión de archivo o extensión de fichero, es una cadena de caracteres anexada al nombre de un archivo, usualmente precedida por un punto. Su función principal es diferenciar el contenido del archivo de modo que el sistema operativo disponga el procedimiento necesario para ejecutarlo o interpretarlo, sin embargo, la extensión es solamente parte del nombre del archivo y no representa ningún tipo de obligación respecto a su contenido.
    2. Sí, solo funciona con .avi.
    Antes Müll
    DJ, rom-hacker, etc.


    Brisca

    • Aprendiz de Investigador
    • ****
    • Mensajes: 200
    • Karma: +0/-0
    • Let's Jam!
      • Ver Perfil

    • Total Badges: 22
      Badges: (View All)
      Usuario de Linux Usuario de móvil Profecía
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #6 en: 11 de Julio de 2013, 07:40:27 am »
    Muy buen hilo. Cojo sitio por aquí porque creo que me animaré a hacer algún proyectillo este agosto.

    Gracias por los aportes!
      I think it's time to blow the scene...

    Scatman

    • Profesor Pokémon
    • *
    • Mensajes: 1429
    • Karma: +1/-1
      • Ver Perfil
      • Email
    • FC - 3DS: 5155-3592-9495

    • Total Badges: 27
      Badges: (View All)
      Nivel 5 Quinto aniversario Usuario de Windows
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #7 en: 11 de Julio de 2013, 09:53:56 pm »
    Muy buen hilo. Cojo sitio por aquí porque creo que me animaré a hacer algún proyectillo este agosto.

    Gracias por los aportes!

    De nada hombre, ya sabes, si tienes alguna duda no dudes en postear, te la resolveré enseguida ;)
    Antes Müll
    DJ, rom-hacker, etc.


    tisran

    • Huevo
    • Mensajes: 2
    • Karma: +0/-0
      • Ver Perfil

    • Total Badges: 3
      Badges: (View All)
      Nivel 1 Primer mensaje Primer aniversario
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #8 en: 25 de Agosto de 2013, 07:39:17 am »
    Hola buenas. Queria saber si existe la posibilidad de que el pokemon inicial te siga, y en ese caso, si varia al evolucionar (por ejemplo, mi pokemon inicial es un Eevee y me interesa si pueden aparecer 5 evoluciones de este)

    Xavichu

    • Pokéxperto Omega
    • ****
    • Mensajes: 8552
    • Karma: +17/-1
    • ~No puedes detenerme, soy imparable~
      • Ver Perfil
    • FC - 3DS: 0576-8213-7939

    • Total Badges: 44
      Badges: (View All)
      Octavo aniversario Séptimo aniversario Sexto aniversario
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #9 en: 26 de Agosto de 2013, 09:48:14 am »
    Hola, saludos, tengo una duda, recién hoy día me descargué el Pokémon Essentials, y lo que pasa, es que, cuando pongo el editor me sale esto

    ---------------------------
    Pokemon Essentials
    ---------------------------
    Exception: RuntimeError

    Message: Undefined value MAGNEZONE in PBSpecies

    File PBS/pokemon.txt, section 0, key Evolutions





    Compiler:1595:in `checkEnumField'

    Compiler:1629:in `csvEnumField!'

    Compiler:2424:in `pbCompilePokemonData'

    Compiler:2414:in `each'

    Compiler:2414:in `pbCompilePokemonData'

    Compiler:2411:in `each'

    Compiler:2411:in `pbCompilePokemonData'

    Compiler:3959:in `pbCompileAllData'

    Compiler:4083



    This exception was logged in

    C:\Users\hp\Saved Games/Pokemon Essentials/errorlog.txt.

    Press Ctrl+C to copy this message to the clipboard.
    ---------------------------
    Aceptar   
    ---------------------------


    Y el editor me queda en una pantalla negra, ayuda por favor

    Raguraji

    • Usuario de honor
    • Pokéxperto Omega
    • *
    • Mensajes: 11902
    • Karma: +51/-0
    • Aplasta-Pikachus
      • Ver Perfil
      • http://i45.tinypic.com/awdxk.jpg

    • Total Badges: 54
      Badges: (View All)
      Décimo aniversario Noveno aniversario Octavo aniversario
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #10 en: 26 de Agosto de 2013, 10:36:09 pm »
    Citar
    Message: Undefined value MAGNEZONE in PBSpecies

    File PBS/pokemon.txt, section 0, key Evolutions

    Es como si... eso esté buscando al Pokemon Magnezone en ese archivo y no lo encuentra.
    Yo hice POLE en los PxP Awards 2013. 



    Gracias a Rk00 por la firma de Shulk :)

    Scatman

    • Profesor Pokémon
    • *
    • Mensajes: 1429
    • Karma: +1/-1
      • Ver Perfil
      • Email
    • FC - 3DS: 5155-3592-9495

    • Total Badges: 27
      Badges: (View All)
      Nivel 5 Quinto aniversario Usuario de Windows
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #11 en: 27 de Agosto de 2013, 07:36:36 am »
    @tirsan

    Código: [Seleccionar]
        ##--------------------------------------------
        # Train_Actor
        # TRAIN_ACTOR_TRANSPARENT_SWITCH = false

        TRAIN_ACTOR_TRANSPARENT_SWITCH = true
        TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX = 20

        #Input::DOWN  = 2
        #Input::LEFT  = 4
        #Input::RIGHT = 6
        #Input::UP    = 8

        DOWN_LEFT  = 1
        DOWN_RIGHT = 3
        UP_LEFT    = 7
        UP_RIGHT  = 9
        JUMP      = 5



        class Game_Party_Actor < Game_Character

        def initialize
        super()
        @through = true
        end

        def setup(actor)
        if actor != nil
          @character_name = actor.character_name
          @character_hue = actor.character_hue
        else
          @character_name = ""
          @character_hue = 0
        end
        @opacity = 255
        @blend_type = 0
        end

        def screen_z(height = 0)
        if $game_player.x == @x and $game_player.y == @y
          return $game_player.screen_z(height) - 1
        end
        super(height)
        end
        #--------------------------------------------------------------------------

        def move_down(turn_enabled = true)
        if turn_enabled
          turn_down
        end

        if passable?(@x, @y, Input::DOWN)
          turn_down
          @y += 1
        end
        end
        #--------------------------------------------------------------------------
        def move_left(turn_enabled = true)
        if turn_enabled
          turn_left
        end
        if passable?(@x, @y, Input::LEFT)
          turn_left
          @x -= 1
        end
        end
        #--------------------------------------------------------------------------
        def move_right(turn_enabled = true)
        if turn_enabled
          turn_right
        end
        if passable?(@x, @y, Input::RIGHT)
          turn_right
          @x += 1
        end
        end
        #--------------------------------------------------------------------------
        def move_up(turn_enabled = true)
        if turn_enabled
          turn_up
        end
        if passable?(@x, @y, Input::UP)
          turn_up
          @y -= 1
        end
        end
        #--------------------------------------------------------------------------
        def move_lower_left
        unless @direction_fix
          @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction)
        end

        if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
          (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
          @x -= 1
          @y += 1
        end
        end
        #--------------------------------------------------------------------------

        def move_lower_right
        unless @direction_fix
          @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction)
        end
        if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
          (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
          @x += 1
          @y += 1
        end
        end
        #--------------------------------------------------------------------------

        def move_upper_left
        unless @direction_fix
          @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction)
        end
        if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
          (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
          @x -= 1
          @y -= 1
        end
        end

        #--------------------------------------------------------------------------

        def move_upper_right
        unless @direction_fix
          @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction)
        end
        if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
          (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
          @x += 1
          @y -= 1
        end
        end

        def set_move_speed(move_speed)
        @move_speed = move_speed
        end
        end

        class Spriteset_Map

        def setup_actor_character_sprites?
        return @setup_actor_character_sprites_flag != nil
        end

        def setup_actor_character_sprites(characters)
        if !setup_actor_character_sprites?
          index_game_player = 0
          @character_sprites.each_index do |i|
            if @character_sprites[i].character.instance_of?(Game_Player)
              index_game_player = i
              break
            end
          end

          for character in characters.reverse
            @character_sprites.unshift(
              Sprite_Character.new(@viewport1, character)
            )
          end
          @setup_actor_character_sprites_flag = true
        end
        end
        end

        class Scene_Map

        def setup_actor_character_sprites(characters)
        @spriteset.setup_actor_character_sprites(characters)
        end
        end

        class Game_Party

        def set_transparent_actors(transparent)
        @transparent = transparent
        end
        def setup_actor_character_sprites
        if @characters == nil
          @characters = []
          for i in 1 .. 4
            @characters.push(Game_Party_Actor.new)
          end
        end
        if @actors_chach == nil
          @actors_chach = []
        end
        if @actors_chach != @actors
          @actors_chach = @actors.clone
          for i in 1 .. 4
            @characters[i - 1].setup(actors[i])
          end
        end
        if $scene.instance_of?(Scene_Map)
          $scene.setup_actor_character_sprites(@characters)
        end
        end
        def update_party_actors
        setup_actor_character_sprites
        transparent = $game_player.transparent
        if transparent == false
          if TRAIN_ACTOR_TRANSPARENT_SWITCH
            transparent = $game_switches[TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX]
          else
            transparent = $game_player.transparent
          end
        end

        for character in @characters
          character.transparent = transparent
          character.set_move_speed($game_player.get_move_speed)
          character.update
        end
        end

        def moveto_party_actors( x, y )
        setup_actor_character_sprites
        for character in @characters
          character.moveto( x, y )
        end
        if @move_list == nil
          @move_list = []
        end
        for i in 0 .. 10
          @move_list[i] = nil
        end
        end

        def move_party_actors
        if @move_list == nil
          @move_list = []
          for i in 0 .. 10
            @move_list[i] = nil
          end
        end

        @move_list.each_index do |i|
          if @characters[i] != nil
            case @move_list[i].type
              when Input::DOWN
                @characters[i].move_down(@move_list[i].args[0])
              when Input::LEFT
                @characters[i].move_left(@move_list[i].args[0])
              when Input::RIGHT
                @characters[i].move_right(@move_list[i].args[0])
              when Input::UP
                @characters[i].move_up(@move_list[i].args[0])
              when DOWN_LEFT
                @characters[i].move_lower_left
              when DOWN_RIGHT
                @characters[i].move_lower_right
              when UP_LEFT
                @characters[i].move_upper_left
              when UP_RIGHT
                @characters[i].move_upper_right
              when JUMP
                @characters[i].jump(@move_list[i].args[0],@move_list[i].args[1])
            end
          end
        end
        end

        class Move_List_Element
        def initialize(type,args)
          @type = type
          @args = args
        end

        def type() return @type end
        def args() return @args end
        end

        def add_move_list(type,*args)
        @move_list.unshift(Move_List_Element.new(type,args)).pop
        end

        def move_down_party_actors(turn_enabled = true)
        move_party_actors
        add_move_list(Input::DOWN,turn_enabled)
        end

        def move_left_party_actors(turn_enabled = true)
        move_party_actors
        add_move_list(Input::LEFT,turn_enabled)
        end

        def move_right_party_actors(turn_enabled = true)
        move_party_actors
        add_move_list(Input::RIGHT,turn_enabled)
        end

        def move_up_party_actors(turn_enabled = true)
        move_party_actors
        add_move_list(Input::UP,turn_enabled)
        end

        def move_lower_left_party_actors
        move_party_actors
        add_move_list(DOWN_LEFT)
        end

        def move_lower_right_party_actors
        move_party_actors
        add_move_list(DOWN_RIGHT)
        end

        def move_upper_left_party_actors
        move_party_actors
        add_move_list(UP_LEFT)
        end

        def move_upper_right_party_actors
        move_party_actors
        add_move_list(UP_RIGHT)
        end

        def jump_party_actors(x_plus, y_plus)
        move_party_actors
        add_move_list(JUMP,x_plus, y_plus)
        end
        end



        module Game_Player_Module

        def update
        $game_party.update_party_actors
        super
        end

        def moveto( x, y )
        super
        $game_party.moveto_party_actors( x, y )
        end

        def move_down(turn_enabled = true)
        if passable?(@x, @y, Input::DOWN)
          $game_party.move_down_party_actors(turn_enabled)
        end
        super(turn_enabled)
        end

        def move_left(turn_enabled = true)
        if passable?(@x, @y, Input::LEFT)
          $game_party.move_left_party_actors(turn_enabled)
        end

        super(turn_enabled)
        end

        def move_right(turn_enabled = true)
        if passable?(@x, @y, Input::RIGHT)
          $game_party.move_right_party_actors(turn_enabled)
        end
        super(turn_enabled)
        end

        def move_up(turn_enabled = true)
        if passable?(@x, @y, Input::UP)
          $game_party.move_up_party_actors(turn_enabled)
        end
        super(turn_enabled)
        end

        def move_lower_left
        if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
          (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
          $game_party.move_lower_left_party_actors
        end
        super
        end

        def move_lower_right
        if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
          (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
          $game_party.move_lower_right_party_actors
        end
        super
        end

        def move_upper_left
        if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
          (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
          $game_party.move_upper_left_party_actors
        end
        super
        end

        def move_upper_right
        if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
          (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
          $game_party.move_upper_right_party_actors
        end
        super
        end

        def jump(x_plus, y_plus)
        new_x = @x + x_plus
        new_y = @y + y_plus
        if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
          $game_party.jump_party_actors(x_plus, y_plus)
        end
        super(x_plus, y_plus)
        end

        # -----------------------------------------------

        def get_move_speed
        return @move_speed
        end
        end

        class Game_Player
        include Game_Player_Module
        end

    Pegas este script arriba de main y el pokemon te seguirá. Para ello necesitas los overworlds de TODOS los pokemon, e¿?


    Espero que te haya servido de ayuda y a los que entren y les interese que no se queden con dudas y preguntad.



    @Poke-Xavi, ahora mismo estoy de vacaciones y no dispongo de las herramientas necesarias, asi que cuando llegue, el viernes, me lo recuerdas ;)
    « Última modificación: 27 de Agosto de 2013, 07:46:03 am por Müll »
    Antes Müll
    DJ, rom-hacker, etc.


    tisran

    • Huevo
    • Mensajes: 2
    • Karma: +0/-0
      • Ver Perfil

    • Total Badges: 3
      Badges: (View All)
      Nivel 1 Primer mensaje Primer aniversario
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #12 en: 27 de Agosto de 2013, 12:29:09 pm »
    Muchas gracias por responder!
    Igualmente buscando encontre uno en este foro:

    http://www.pokecommunity.com/showthread.php?t=202478

    tiene la gracia de que puedes hablarle al pokemon, gruñe y tiene animaciones de felicidad o tristeza, aunque aun no se bien como traspasarlo a mi juego xD
    De todas formas, muchisimas gracias, vere cual de los dos script me es mas adecuado ;)

    EDIT:
    Bueno luego de probar con el enlace que coloque, todo muy bien y muy bonito pero tuve un error puesto que cuando esta el script los mapas conectados se demoran muchisimo en cargar y se ve solo un lado negro de la pantalla en donde puedes caminar. Si alguien sabe como solucionarlo seria ideal.

    Por otro lado, el que me paso Müll nose como utilizarlo, lo arriba de main y tengo todos los charas de pokemon, pero me lanza el error

    ---------------------------
    Pokemon: Revelación
    ---------------------------
    Exception: NoMethodError

    Message: undefined method `moveto_party_actors' for nil:NilClass

    pokemon follow:337:in `moveto'

    Game_Player_:232:in `moveto'

    PokemonLoad:320:in `pbStartLoadScreen'

    PokemonLoad:294:in `loop'

    PokemonLoad:396:in `pbStartLoadScreen'

    DebugIntro:6:in `main'

    Main:56:in `mainFunctionDebug'

    Main:31:in `mainFunction'

    Main:31:in `pbCriticalCode'

    Main:31:in `mainFunction'



    This exception was logged in errorlog.txt.
    ___________________________________________________________ ________

    Nose si esto es porque los charas que tengo vienen con otro nombre que el pedido por el script (todos los charas tienen el nombre del respectivo pokemon, no por su numero) o tendré que hacer alguna otra cosa
    « Última modificación: 27 de Agosto de 2013, 01:47:32 pm por tisran »

    Scatman

    • Profesor Pokémon
    • *
    • Mensajes: 1429
    • Karma: +1/-1
      • Ver Perfil
      • Email
    • FC - 3DS: 5155-3592-9495

    • Total Badges: 27
      Badges: (View All)
      Nivel 5 Quinto aniversario Usuario de Windows
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #13 en: 27 de Agosto de 2013, 07:24:50 pm »
    Bueno, tranquilo, yo en mi PC tengo un script que funciona realmente bien,aunque no tienen emociones xD
    Si ves scans de mi proyecto podras comprobarlo.
    Antes Müll
    DJ, rom-hacker, etc.


    Xavichu

    • Pokéxperto Omega
    • ****
    • Mensajes: 8552
    • Karma: +17/-1
    • ~No puedes detenerme, soy imparable~
      • Ver Perfil
    • FC - 3DS: 0576-8213-7939

    • Total Badges: 44
      Badges: (View All)
      Octavo aniversario Séptimo aniversario Sexto aniversario
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #14 en: 01 de Septiembre de 2013, 04:44:36 am »
    @Poke-Xavi, ahora mismo estoy de vacaciones y no dispongo de las herramientas necesarias, asi que cuando llegue, el viernes, me lo recuerdas ;)

    ¿Y ahora?  :unsure:

    Scatman

    • Profesor Pokémon
    • *
    • Mensajes: 1429
    • Karma: +1/-1
      • Ver Perfil
      • Email
    • FC - 3DS: 5155-3592-9495

    • Total Badges: 27
      Badges: (View All)
      Nivel 5 Quinto aniversario Usuario de Windows
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #15 en: 01 de Septiembre de 2013, 08:26:21 pm »
    ¿Y ahora?  :unsure:

    Ahora si.

    Bueno, ese error no lo conozco (por supuesto, no soy un friki del rpg maker) asi que te recomendaria buscar en páginas especializadas o simplemente desargarte otra versión.
    Siento no haberte ayudado, a veces hecho en falta a alguien que me ayude.
    Antes Müll
    DJ, rom-hacker, etc.


    Xavichu

    • Pokéxperto Omega
    • ****
    • Mensajes: 8552
    • Karma: +17/-1
    • ~No puedes detenerme, soy imparable~
      • Ver Perfil
    • FC - 3DS: 0576-8213-7939

    • Total Badges: 44
      Badges: (View All)
      Octavo aniversario Séptimo aniversario Sexto aniversario
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #16 en: 02 de Septiembre de 2013, 02:27:02 am »
    Ahora si.

    Bueno, ese error no lo conozco (por supuesto, no soy un friki del rpg maker) asi que te recomendaria buscar en páginas especializadas o simplemente desargarte otra versión.
    Siento no haberte ayudado, a veces hecho en falta a alguien que me ayude.

    OK, no importa, me estoy descargando otro  :ook:

    EDIT: Por si acaso, ¿cuál versión es mejor?  :unsure:

    Scatman

    • Profesor Pokémon
    • *
    • Mensajes: 1429
    • Karma: +1/-1
      • Ver Perfil
      • Email
    • FC - 3DS: 5155-3592-9495

    • Total Badges: 27
      Badges: (View All)
      Nivel 5 Quinto aniversario Usuario de Windows
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #17 en: 02 de Septiembre de 2013, 03:01:21 am »
    OK, no importa, me estoy descargando otro  :ook:

    EDIT: Por si acaso, ¿cuál versión es mejor?  :unsure:

    La que se ajuste mas a lo que quieras en tu juego, esta el starter kit DS (doble pantalla), el Ultimate 7, etc...
    Antes Müll
    DJ, rom-hacker, etc.


    Alfio

    • Huevo
    • Mensajes: 1
    • Karma: +0/-0
      • Ver Perfil

    • Total Badges: 2
      Badges: (View All)
      Nivel 1 Primer mensaje
    Re:[Tutorial y Centro de dudas]RPG Maker XP(Básico) + Pokemon Essentials
    « Respuesta #18 en: 26 de Julio de 2014, 09:00:50 am »
    Hola! Soy nuevo en el foro y en la edición con RPG Maker. Estoy haciendo mi propio juego y tengo una duda: ¿Cómo hago para que en situaciones específicas aparezca mi pokemon fuera de su pokeball? He visto hackroms en los que, por ejemplo, Pikachu aparece fuera de su pokeball y se enfrenta a un Spearow, como en el animé. Muchas gracias desde ya!