tuts_gba
Thread Id: 12879
Thread Name: GBA | Otros | ¡Usando DNS En Nuestros Scripts!
#0
Nattramn 24439
Muy bien, en este manual vamos a aprender a usar los bytes de Day Night System para diferenciar el día de la noche en nuestros scripts de XSE. Muy bien, lo que necesitamos es:
• Rom Pokémon (Fr/Lg/R/S/E)
• DNS
• Advance Map
• Xse
Bien, para empezar, abrimos el DNS y nos fijamos en el sistema RTC, veamos los bytes donde esta instalado y las direcciones Hexadecimales.

En este caso haremos que las ventanas y los focos de las lamparas prendan de noche. Esto se logra mediante un script, y dos diferentes tilesets. Noten el byte 0x0300553C. Este byte es donde el RTC fue instalado en el rom, y la información esta organizada de la siguiente manera:
Year[Año](2 Bytes), 00, Month[Mes](1 Byte), Day[Dia](1 Byte), 00, Hour[Hora](1Byte), minute[Minuto](1Byte), Second[Segundo](1Byte).

Teniendo esta información, podemos hacer una enorme variedad de scripts en nuestros hacks, como eventos que solo suceden en ciertos días de la semana, y otras cosas. (Como el script en Ocarina Of Time(Zelda), cuando es de noche y el puente cierra, pero obvio, con menos detalle xd.)

Ahora abran su emulador para verificar esta información, y abran el Memory Viewer y abríra esto:


Con esto podemos ver que la información que mencionamos previamente esta en 300553C, con el orden que había dicho, pero para usar en un script, deberemos coger el nombre que esta en el cuadro azul, y siempre sera el septimo byte en la linea de 300553C, (o la linea en la cual hayan insertado el DNS),. Para saber exactamente cual byte es, solo agreguen 6 a la dirección en la que instalaron el DNS. (Nota, todos los calculos & cosas por el estilo son en Hexadecimal, y para no liarla, recomiendo usar la calculadora windows en modo cientifico, o la de XSE en modo Hex.

Yo ya tengo la dirección que usare, y esa dirección es 3005542. Esta dirección nos ayudara a decir que hora es, y dependiendo de la hora, modificar los tilesets y/o resultados de un script. Listo ahora definen la hora a la cual cambiara a noche, en mi caso 19:00PM, (13 en Hexadecimal), a 4:00 AM (4 hexadecimal). Ahora que tenemos toda esta información, haremos el script!

Ejemplo Del Script

#dynamic 0x900000 'Esto es definir la dirección Hex donde se iniciara el script
copybyte 0x202E8DC 0x3005542 'Este comando esta copiando los bytes del RTC al LASTRESULT
compare LASTRESULT 0x13 'Este comando esta comparando los resultados,
if 0x4 goto @night 'si es igual a 0x4 (4:00AM), ira al script @Night
compare LASTRESULT 0x4 'Este comando esta comparando los resultados,
if 0x3 goto @night 'Si es igual a 0x3, ira al script @Night
goto @day 'Si el ultimo resultado (LASTRESULT) no es igual a 0x4 o 0x3, ira a @day (Día)
end 'Fin Del Script
'Despues de esto insertas tu variable, ya sea un script de dialogo o de setmaptile
#org @night
Setmaptile
……
End

#org @day
Nop
End

Se pueden analizar los comandos & los variables dentro de los scripts.


#1
Ángel Uchiha 12304
Muy muy buen tutorial hermano.
Creo que le servirá muchísimo a los hackers que están empezando a adentrarse a fondo en el mundillo de los scripts. ^^
#2
Hunter Digi Ace 18655
Paladi no hace falta que seas tan borde~

pero es verdad que esta un poco confuso as echo como una mini explicación de lo que es el dns
y en verdad casi no explicas nada de como usarlo en un script, puede que tu veas muy claro que es cada cosa, pero ten en cuenta que para que un tutorial tenga utilidad tiene que ser 100% comprensible, y si puede ser explica todos los pasos por muy simples que sean (de estilo clica aquí copia esto etc..) ya que sin ellos se pueden cometer errores y que dejen de seguir este tutorial XD

por otra parte esta bastante bien ya que tiene imágenes y tal pero lo mas importante es la explicación!
saludos :D
#3
Cheve_X 15014
Bueno, yo lo entendí a la perfección. ^^v

Está muy buena tu Informacion ;)
Deberías aclarar que para hacer que se vean las "Luces" en las ventanas de las casas se usa unos setmaptile en un Script de Lvl ^^v

Salu2!