Cualquier videojuego actual es como una película interactiva, y por lo tanto tiene un guión. Pero al referirnos a la interactividad, el guión de cada evento cobra más importancia, porque dependerá de las demás acciones, si ya se han ejecutado para, sobretodo, conseguir coherencia en la historia. Además muchas de esas acciones deberán ser ejecutadas una sola vez, por lo que la cosa se complica. En esta guía se muestra solamente un punto de partida para crear scripts más o menos decentes, puesto que es una materia muy difícil de aprender y muy difícil de enseñar. Así, mostraré scripts desarrollados de las cosas más solicitadas por la gente, y daré nociones básicas para que puedas crear scripts buenos. Ten en cuenta que esto se trata de lógica, de leer las opciones que tienes y encadenarlas coherentemente. Ah, por cierto: estaré usando Rubikon Scripted y Elitemap, de Kyofu Kawa. Ambos están incluidos en Elitemap 3.6.
La creación de scripts se basa en consultar fuentes de información. Con Elitemap 3.6, estas son las fuentes de información que podemos aplicar a los guiones:
Bien. Ahora es la hora de empezar a escribir. Actúa con lógica y piensa siempre qué estás haciendo, y cuando acabes un guión leelo e intenta seguirlo. Hay algunos comandos que no están bien programados, y por ello a veces debes escribir #raw [hexa del comando] si ves que aunque coincide con el ejemplo de commands.html el programa te da error (por ejemplo, una vez no me funcionaba el comando waitfanfare y escribí #raw 32. Aquí va lo básico:
Además, mientras compilas te darás cuentas que necesitarás usar flags o variables, básicamente las primeras. Las flags son valores asignados a cada evento que puede estar activada (1) o desactivada (0). Cualquier otro valor inhabilitará el evento. Actívalas o desactívalas con clearflag o setflag (yo necesité escribir a continuación #raw 0x01 para un setflag, ¡aviso!) El estado de un flag no afecta al evento, pero sí puedes utilizarlo con checkflag para mirar este valor y hacer cosas dependiendo si está activada o no. Además puedes cambiar el valor por defecto del evento o el número del flag en ELITEMAP. Observa este ejemplo:
#org 0x[offset script principal] jingle ‘básicamente esto no hace ná, pero queda bonito que haya algo antes de todo. checkflag 0x[flag del evento] ‘comprobar el estado del flag. if 0x1 call 0x[Sansacabó] ‘si está activada, ir a Sansacabó goto 0x[offset núcleo] ‘si no, ir al núcleo end #org 0x[offset núcleo] release ‘muchas veces el personaje se bloquea, así sigue caminando ‘[núcleo del evento, incluye aquí la acción que quieras que se ejecute] setflag 0x[flag del evento] ‘activa la flag #raw 0x1 ‘lo que decía antes] end ‘se acabó #org 0x[Sansacabó] release end
Ten en cuenta que las flags tienen cuatro dígitos y las direcciones (offsets), seis.
Entonces, este evento lo que hace es que la primera vez que se ejecute el script, ocurra lo que escribas en núcleo, y al activarse la bandera, cuando se vuelva a ejecutar, como el evento comprueba el estado de la bandera, las siguientes veces no ocurrirá nada.
#org 0x[offset script principal] message 0x[offset texto] ‘se puede escribir con el commando “=”, pero conviene mucho más hacerlo manualmente con editor hexadecimal boxset BOXSET_YESNO ‘o 0x05, ambas formas están aceptadas. Hace que se pregunte SI/NO if B_NO goto 0x[offset script no] ‘si se responde que no, ir al script de "no" goto 0x[offset script sí] ‘si se responde que sí, ir al script sí. Puedes escribirlo aquí directamente, pero personalmente prefiero mandarlo a otro script.
#org 0x[offset script principal] #include stdpoke.rbh ‘si no lo includes, en vez de PKMN_JIRACHI debes escribir 409, y personalmente no estoy muy seguro de esto. También puedes escribir antes “#define PKMN_JIRACHI 409”, al fin y al cabo esto es lo que necesitamos del stdpoke.rbh. checkflag 0x[FLAG] if 0x1 goto 0x[offset ya activada] cry PKMN_JIRACHI message 0x[offset texto] ‘Ej: JIRACHI: ¡raaaaaaashi! boxset 0x6 ‘cerrarse la ventana al pulsar A wildbattle PKMN_JIRACHI 70 3 End #org 0x[offset ya activada] release ‘si ya ocurrió el evento solo release end
Como puedes comprobar, los guiones son complicados de explicar. Se aprende mucho más probándolo tú mismo, así que actua con sapiencia y paciencia... y todo lo que acabe en –encia y no te preocupes si no te sale.
Tutorial escrito por Baro.
Web diseñada por Serg!o. Alojada por SupportivHost
Pokémon y todos sus respectivos nombres son marcas registradas y © de Nintendo Nintendo 1996-2010.
Para más información véase el aviso legal.