Registrarse

[RH - Scripting] Problema al ocultar un mini

juli2006

Usuario habitual
Hola, estoy haciendo un proyecto y se me genero un problema.
Se habla con un mini y luego se realiza una batalla, hasta aquí todo funciona, pero luego necesito ocultar este mini por lo que uso el siguiente código
Código:
#dynamic 0x900000

'---------------
#org @start
lock
faceplayer
wildbattle 0xD0 0x15 0x0
fadescreen 0x1
hidesprite 0x15
setflag 0xD2
pause 0x30
fadescreen 0x0
release
end
El fadescreen funciona y el setflag también, ya que cuando se sale del mapa el mini se oculta, lo que falla es el hidesprite y no se a que se debe.
Si alguien me pudiera ayudar se lo agradecería
 

Lunos

Enfrentando a La Organización
Miembro insignia
Hola, estoy haciendo un proyecto y se me genero un problema.
Se habla con un mini y luego se realiza una batalla, hasta aquí todo funciona, pero luego necesito ocultar este mini por lo que uso el siguiente código
Código:
#dynamic 0x900000

'---------------
#org @start
lock
faceplayer
wildbattle 0xD0 0x15 0x0
fadescreen 0x1
hidesprite 0x15
setflag 0xD2
pause 0x30
fadescreen 0x0
release
end
El fadescreen funciona y el setflag también, ya que cuando se sale del mapa el mini se oculta, lo que falla es el hidesprite y no se a que se debe.
Si alguien me pudiera ayudar se lo agradecería
Tenés que asignarle una flag a ese mini en su campo "Person ID" dentro de Advance Map. Cualquier flag sin usar servirá.
La flag de un NPC determina su visibilidad, y hidesprite activa dicha flag tras remover al NPC del mapa.
 
Última edición:

juli2006

Usuario habitual
Tenés que asignarle una flag a ese mini en su campo "Person ID" dentro de Advance Map. Cualquier flag sin usar servirá.
La flag de un NPC determina su visibilidad, y hidesprite activa dicha flag tras remover al NPC del mapa.
Lo de las flags lo entiendo pero no estaría entendiendo lo que quisiste decir en la parte de hidesprite, podrías detallarlo un poco mas?gracias.
 

Lunos

Enfrentando a La Organización
Miembro insignia
Lo de las flags lo entiendo pero no estaría entendiendo lo que quisiste decir en la parte de hidesprite, podrías detallarlo un poco mas?gracias.
No, no creo que pueda.
Lo que tú conoces como hidesprite es un macro o atajo a una función de codigo.
Dicha función de codigo se encarga de activar la flag que le asignes a un NPC, y posteriormente lo remueve del mapa.
https://github.com/pret/pokefirered/blob/master/asm/macros/event.inc#L558-L562
https://github.com/pret/pokefirered/blob/master/src/scrcmd.c#L1039-L1043
https://github.com/pret/pokefirered/blob/master/src/event_object_movement.c#L1519-L1524

Con la flag del NPC activada, dicho NPC no volverá a aparecer cuando cargues el mapa donde se encuentra ubicado.
No sé que otra cosa necesite una explicación.
Necesitás asignarle una flag al NPC en su campo "Person ID" dentro de Advance Map, dicha flag controla su visibilidad.
Cuando el juego ejecute el hidesprite dentro de tu script, la flag del NPC se activará y el NPC será removido del mapa, es así de sencillo.
 

juli2006

Usuario habitual
No, no creo que pueda.
Lo que tú conoces como hidesprite es un macro o atajo a una función de codigo.
Dicha función de codigo se encarga de activar la flag que le asignes a un NPC, y posteriormente lo remueve del mapa.
https://github.com/pret/pokefirered/blob/master/asm/macros/event.inc#L558-L562
https://github.com/pret/pokefirered/blob/master/src/scrcmd.c#L1039-L1043
https://github.com/pret/pokefirered/blob/master/src/event_object_movement.c#L1519-L1524

Con la flag del NPC activada, dicho NPC no volverá a aparecer cuando cargues el mapa donde se encuentra ubicado.
No sé que otra cosa necesite una explicación.
Necesitás asignarle una flag al NPC en su campo "Person ID" dentro de Advance Map, dicha flag controla su visibilidad.
Cuando el juego ejecute el hidesprite dentro de tu script, la flag del NPC se activará y el NPC será removido del mapa, es así de sencillo.
Ya encontre el error y lo pude solucionar, muchas gracias!
 
Arriba