25151-GBA_|_Scripting_|_\[TUTORIAL]_¡Pon_varios_scripts_de_nivel!
#12
Javi4315♪ 13374
Iniciado por Sayer D. Flow!
Pues a mi no me ha quedado tan claro como al resto. A ver, mi duda surge por lo que esta en rojo.

Me explico, si en el script original el script de tipo 02 ya tenia su estructura (del existente), ¿Porque la modificas? Es decir, no deberías ser algo asi?
#org 0x16545A
#raw 0x3
#raw pointer 0x8165465
#raw 0x2
#raw pointer 0x81654CE
#raw 0x2
#raw pointer @S02
#raw 0x0

Si no es así no entiendo el porqué se borra la estructura anterior, ¿Se podrían meter todos los que te de la gana si repunteas la estructura de cada tipo de script de nivel? (Se que pones que solo en el 02 y el 04, pero aun así no me ha quedado muy claro porque)

Aunque te enfades con Boo yo sigo pensando que tus aportes son geniales y que este metodo aunque no lo parezca si que ahorra vars, como minimo una si querías hacerlo así. Muy buena man, esto puede dar unas ideas y unos resultados cojonudos y cosas que no se podrían hacer tan facilmente en un solo script. Eres un champion y espero que me expliques eso XDD
Paz!


No va así. Hay una estructura y una subestructura. La primera estructura (la que queda sin repointear) es la que guarda los tipos de scripts que hay en el mapa y los offsets de la subestructura (en caso de que sean de tipo 02 o 04) o el offset del propio script si es de otro tipo.

En otros tipos de scripts, es ilógico poner más de uno porque son scripts que se ejecutan siempre, entonces sólo tienes que tener uno funcionando. Pero con los de tipo 02 y 04 es distinto ya que son como scripts de gatillo pero a nivel de todo el mapa. Además de que necesitan ser configurados con una variable y un valor. Por eso tienen una subestructura (@S02). En esa subestructura están los parámetros del script de nivel y es donde podemos meter más.

#org @S02
#raw word 0x4050
#raw word 0x2
#raw pointer 0x81654D8
#raw word 0x0


Esta es la configuración de nuestro script de nivel. Si queremos meter uno más, lo que tenemos que hacer es configurar otro:

#org @S02
#raw word 0x4050
#raw word 0x2
#raw pointer 0x81654D8
#raw word 0x(variable del nuevo script)
#raw word 0x(valor del nuevo script)
#raw pointer 0x(offset del nuevo script)
#raw word 0x0