Scripts de nivel + Flags

Bueno aquí les voy a explicar un poco sobre los scripts de nivel y los flags.
Antes de empezar los scripts de nivel son scripts que se ejecutan cuando el personaje entra al mapa y lo pisa por decirlo de una forma mas simple.

Aquí explicare lo mas básico, ustedes tienen que ser creativos a la hora de usar estos scripts.

Bueno sin mas demora aqui voy a explicar.

Antes que nada abrimos el Advance Map:


Ahora cargamos el rom, en mi caso utilizaré el rom de Pokémon Ruby en Inglés:



Ahora pues seleccionamos un mapa, en mi caso seria este:



Ahora pues hacemos lo siguiente, presten atención, seleccionamos: Ver Eventos y aumentamos en 1 el que dice: Cantidad de Scripts (en este mapa esta en 9, aumentarlo en 1 seria 10):



Ahora le damos a cambiar eventos y nos aparecerá una S en color verde en la esquina superior izquierda (<---)
Como podemos ver en esta imagen:

Movemos el Script a donde queremos que se active.

Ahora aumentamos en 1 la Cantidad de Gente (este será el que activara el flag, no aparecerá en el mapa y es una forma mas facil de utilizarlas, al menos para mi... sin afectar nada en el mapa)

Pasará esto:


El cuadro negro es el cuadro del script que estoy haciendo (para no confundir) y el de cuadro rojo es del nuevo personaje que tendrá el Flag, ahora pues hacemos esto con este personaje:

http://i.imgur.com/rw3HE3G.png <--- url de imagen por si no ven bien.
El cuadro negro es el personaje (en sprite) recuerden ponerlo asi para verlo.
El texto en rojo es el mini del personaje (en ruby es el 4).
Y el tipo de movimiento oculto (para que no se vea en el mapa)

Ahora al mini del personaje le ponemos un ID que gracias a esto se activara la flag, en ruby parece ser que esta libre desde el 1200 a 3000, aunque es en hexadecimal pero aqui vamos a usar algo para que comprendan

Asi que vamos a ponerle un ID de: 1202 para no complicarles mucho xD


Ahora si, vamos a trabajar en el script de nivel, lo seleccionamos y ahora hacemos esto:

VarNumber recomiendo poner 4000, ya que si no tiene nada pues nunca se les va a activar el script de nivel.
Ahora usamos el free space finder para buscar un offset y ubicar el que encontramos en el Script Offset.
(Nota: este tutorial no va a explicar como funciona el Free Space Finder, asumi que ya deben saber utilizarlo, si no ver otro de los tutoriales de como utilizar el free space finder)
Aunque aqui hay un tutorial para el FSF: http://www.cpokemon.com/foro/threads/19152-Tutorial-Free-Space-Finder

Copiamos ese script y lo pegamos en donde indique:



Ahora le damos a Open Script:
Y hacemos esto:

Ahora le explicare el codigo, pues el #org 0x6B0D28 viene siendo el script principal (el que copiamos con el FSF arriba salio).
Ahora lo que interesa el checkflag lo que hace es verificar el Flag 1202 (en este caso el ID de la persona que creamos, recuerdan?)
el if 0x1 goto significa que Si el flag esta activado llama a 0x6B0DBC (este es otro script que deben buscarlo en FSF y pegarlo aqui), si no esta activada entonces sigue a la siguiente linea:
call 0x6B0DF0 (llama a esa direccion)
release (libera al mini)
end (termina el script)

Para entender un poco mejor la funcion seria algo asi:
#org 0xScript
checkflag 0xFlag
if 0x1 goto 0xScript2
call 0xScript3
release
end

Script en este caso lo puse como el offset que buscaron en el FSF.

Ahora compilamos el archivo (en los engranajes que tiene el XSE)
y cerramos.

Ahora le damos a la x y si dice guardar: no.


Volvemos a darle en Open Script:
Y nos saldrá esto:


Ahora en el que esta seleccionado (en este caso #org 0x6B0DBC o Script2)
Es el que llamara el flag si esta activada, lo unico que ponemos es:
release
end

Para que nunca mas se vuelva a activar cuando volvemos a pisar esa zona:

Ahora en el otro es cuando llama cuando la flag no esta esta activa, pues lo que haré en este caso es que cuando pise la zona donde quiero que me salga un mensaje diciendo: Ahora que recuerdo Jean me enseño a usar script de nivel.

Y bueno voy a hacerlo asi:

Lock pues sirve para como decirlo "congelar" el personaje y los que estan alrededor
ahora el msgbox es para texto
el callstd 0x6 para texto normal
Y ahora lo nuevo:
setflag 0x1202 (Activa la flag 1202, en este caso activa el ID 1202 del personaje aquel, y la proxima vez que pisen el flag estara activado, y como al activarse solo hace: release end, entonces no pasara nada, entienden? )
release
end
para salir de este script.

Ahora compilamos y cerramos damos a la x y ahora a hacer el texto:


Y ahora pues a compilar de nuevo, guardar el rom, y pues abrir en emulador a ver si sirve, en mi caso pues pasó esto al pisar ese lugar:

Y pues al quitar ese texto y volver a pisar ese lugar, no ocurrirá nada:


Ahora les toca a ustedes ser mas creativos, ya saben agregar applymovements, msgbox, cambios de camaras, cualquier otra cosa, este es algo básico para que lo utilicen!!

Espero que les haya servido que lo hice lo mas simple posible para enseñarles a utilizar estos flags, solo queda de su parte para modificarlo a su gusto en el hackrom.

Saludos!!
Spoiler



Spoiler






Smile!










#Creyente de Karla