Registrarse

[RH - Scripting] Fire Red-El tile no cambia

Estado
Cerrado para nuevas respuestas.

Yainish

Usuario de platino
Seré breve:
Hice un script...
#dynamic 0x800000

'---------------
#org @start
sound 0x4B
setvar 0x8004 0x2
setvar 0x8005 0x2
setvar 0x8006 0x16
setvar 0x8007 0x3
special 0x136
applymovement MOVE_PLAYER @move1
waitmovement 0xFF
msgbox @string1 MSG_NORMAL '"[green_fr][player]: [blue_fr]Por p..."
fadescreen 0x1
setmaptile 0xC 0x25 0x9F 0x1
fadescreen 0x0
end


'---------
' Strings
'---------
#org @string1
= [green_fr][player]: [blue_fr]Por poco...


'-----------
' Movements
'-----------
#org @move1
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
...en el que todo ocurre correctamente (el terremoto, sonido, etc.) excepto el setmaptile que tiene un error. Y es que las coordenadas y el permiso de movimiento salen bien pero sigue estando el mismo tile. ¿Por qué?
:ninja::ninja::ninja::ninja::ninja::ninja::ninja:​
 

Sayer301!

UnityLord!
Miembro de honor
Si no me equivoco es por el fadescreen, ya que refrescas el mapa y por conclusion se vuelve a poner lo que estaba en origen, si no me equivoco, la solucion esta en hacer un script de nivel que haga el setmaptile y activarlo cuando actives el fadescreen con una flag.
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Te propongo un método más sencillo que el de Sayer:

Código:
#dynamic 0x800000

'---------------
#org @start
sound 0x4B
setvar 0x8004 0x2
setvar 0x8005 0x2
setvar 0x8006 0x16
setvar 0x8007 0x3
special 0x136
applymovement MOVE_PLAYER @move1
waitmovement 0xFF
msgbox @string1 MSG_NORMAL '"[green_fr][player]: [blue_fr]Por p..."
setmaptile 0x10 0x10 0x3 0xC
special 0x8E
end


'---------
' Strings
'---------
#org @string1
= [green_fr][player]: [blue_fr]Por poco...


'-----------
' Movements
'-----------
#org @move1
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
Simplemente pon un special para refrescar el mapa después del setmaptile. NO te olvides de hacer un script de nivel que haga ese setmaptile automático. En ese caso añadele un setvat 0x(la var que quieras) 0x1 al script de antes y haz que el script de nivel, tipo 02, se active solo si la variable antes mencionada tiene el valor uno.

Con eso creo que bastaría ;)
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Yo mismo testee que el script funcionaba perfectamente. Puede que le hiciera alguna modificación ya que no cumplía bien los parámetros. Pero el método funciona perfectamente. Si me explicas que es lo que no te alejes bien te ayudaré.
 

darkeon75

ROM Hacker
El tile no se cambia porque se te olvidó añadir el special que se usa para los setmaptiles, el special es el 8E.

Tu script tendría que quedar así:
#dynamic 0x800000

'---------------
#org @start
sound 0x4B
setvar 0x8004 0x2
setvar 0x8005 0x2
setvar 0x8006 0x16
setvar 0x8007 0x3
special 0x136
applymovement MOVE_PLAYER @move1
waitmovement 0xFF
msgbox @string1 MSG_NORMAL '"[green_fr][player]: [blue_fr]Por p..."
fadescreen 0x1
setmaptile 0xC 0x25 0x9F 0x1
special 0x8E
fadescreen 0x0
end


'---------
' Strings
'---------
#org @string1
= [green_fr][player]: [blue_fr]Por poco...


'-----------
' Movements
'-----------
#org @move1
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
 
Estado
Cerrado para nuevas respuestas.
Arriba