Registrarse

El mini no se mueve fuera de la pantalla

Estado
Cerrado para nuevas respuestas.

Markuzz Kaizuka

Usuario de platino
El problem es este:

eh intentado usar applymovement,movesprites y otros mas con este
mini y nada que ver......

pero note que si muevo el mini dentro del rango de la pantalla(lo que se ve en la pantalla del emulador) si se mueve es algo asi como que si me ves me muevo y si no me ves no me muevo eh editado una infinidad de veces este
scrip y nada asi esta la ultima modificacion.

#dynamic 0x2702AE

#org @normal
checkflag 0x204
if 0x1 goto @campor
release
end

#org @campor
movesprite 0xA 0x24 0x19
applymovement 0xA @mova
pause 0x60
msgbox @men 0x6
applymovement 0xA @mova2
msgbox @mens 0x6
trainerbattle 0x3 0x3A 0x0 @cahci
msgbox @mensa 0x6
applymovement 0xA @more
movesprite 0xA 0x31 0x1A
clearflag 0x204
release
end

#org @men
= [green_fr]Vaya vaya, pero que tenemos aqui?\npero si eres el campeòn de ALCANIA\lje je...\lSoy LEO campeòn de ALLUVIA,\lgusto en conocerte..\lQue genial no?\lOye, que tal si echamos un\lcombate?\lGenial!!

#org @mens
= [green_fr]Listo?...\nPues.......\lA DARLE!!!!

#org @cahci
= Pero que tal?....\nSi tu fuerza es ABRUMADORA!!

#org @mensa
= Dicen por ahi que no tienes mucha\nexperiencia con POKÈMON pero,no se\lnota... ok tengo que irme a buscar\lmas POKEMON, supongo que nos\lveremos en la primera ronda del\ltorneo,recuerda es en Ciudad\lTitanio... Ok nos vemos!!


#org @mova
#raw 0x1E 'Paso Arriba (Rápido)
#raw 0x1E 'Paso Arriba (Rápido)
#raw 0x1E 'Paso Arriba (Rápido)
#raw 0x1E 'Paso Arriba (Rápido)
#raw 0x1 'Face Up
#raw 0x66 'Happy (^_^)
#raw 0xFE 'End of Movements

#org @mova2
#raw 0x10 'Step Down (Normal)
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements

#org @more
#raw 0x1D 'Paso Abajo (Rápido)
#raw 0x1D 'Paso Abajo (Rápido)
#raw 0x1D 'Paso Abajo (Rápido)
#raw 0x1D 'Paso Abajo (Rápido)
#raw 0x1D 'Paso Abajo (Rápido)
#raw 0xFE 'End of Movements

Todo lo demas esta bien lo unico es el mini ese.

Espero que puedan ayudarme.....:heart::heart:
 

Inferno

Miembro insignia
Miembro insignia
Si lo he entendido bien tu problema es que un mini no se desplaza si no está en el rango de visión del jugador.
Con el comando applymovement te debería de funcionar sin problema ninguno. Estas usando un script de gatillo?
 

Adke

weeeh
Después de cada applymovement tienes que poner un waitmovement, te recomendaría mirarte algún tutorial de scripts, te vendrá muy bien para evitar fallos como este ^^
 

Inferno

Miembro insignia
Miembro insignia
Pues el script en si tiene varios fallos. Me resulta extraño que no uses variables, a menos que la variable que defina ese script este en otro este evento se te repetirá cada vez que pises ahí.
Luego veo un release sin haber un lock previo (que en este tipo de scripts no se ponen, en caso de que necesites parar TODOS los minis debes usar un lockall y un releaseall).
Pero bueno, si dices que el mini no se te mueve debes asegurarte primero que estás poniendo bien su número de gente en hexadecimal en los comando applymovement y movesprite.
Como te dijo Adke es mejor que uses el waitmovement después de cada applymovement, pues de otro modo haces que los eventos continúen y puede ser el causante del error.
Comprueba esas dos cosas y me comentas.
 

Markuzz Kaizuka

Usuario de platino
La kosa es que eso de las variables ñeeee todavia no lo entiendo muuuuy bien que digamos y uso flags el release estoy consiente de que no se coloca en este caso porque es un scrip y a veces lo coloco como relleno y sip estoy seguro que puse bien el nro de gente es 10 pero como hexadecimal:A
voy a probar lo que me dijiste del waitmovement a ver si porfin se mueve el condenado.
 

Markuzz Kaizuka

Usuario de platino
Pues el script en si tiene varios fallos. Me resulta extraño que no uses variables, a menos que la variable que defina ese script este en otro este evento se te repetirá cada vez que pises ahí.
Luego veo un release sin haber un lock previo (que en este tipo de scripts no se ponen, en caso de que necesites parar TODOS los minis debes usar un lockall y un releaseall).
Pero bueno, si dices que el mini no se te mueve debes asegurarte primero que estás poniendo bien su número de gente en hexadecimal en los comando applymovement y movesprite.
Como te dijo Adke es mejor que uses el waitmovement después de cada applymovement, pues de otro modo haces que los eventos continúen y puede ser el causante del error.
Comprueba esas dos cosas y me comentas.
Pues......... no sirvio el waitmovement, que mas puedo intentar?
 

Markuzz Kaizuka

Usuario de platino
Hazlo por medio de variables de nuevo y seguramente te salga mejor, te dejo una mini explicación que hice a otro usuario del foro: https://whackahack.com/foro/t-50205/alguien-me-ayuda-scrips-gatillo
Pero recuerda que en este foro existen muchos tutoriales sobre el tema.
A partir de que línea te empieza a fallar?
Ese es el problema no es que de cierto punto ya no funciona sino que los applymovement
y los movesprites no se ejecutan todo lo demas esta perfecto lo unico es que no no se mueve el mini.

ya probe con variables y nada........ el scripting es divertido pero a veces es un dolor de cabeza....
 
Última edición:

Inferno

Miembro insignia
Miembro insignia
Bueno, pues yo te aconsejo que hagas lo siguiente, le asignas una flag al mini (ponerle en Advance Map donde pone People ID una flag, por ejemplo la 0x2FF). Luego en un script alterno, puede ser en cualquiera otro script, pero anterior a ese, le complementas un setflag 0x2FF. Esto hará que el mini este oculto cuando llegues al mapa del script de gatillo.
Lo siguiente que puedes hacer sería complementar el script que tu tenías con otros comandos. Te lo dejo por aquí con una breve explicación. (Lo he probado y funciona).
Código:
#dynamic 0x800000

'---------------
#org @start
setvar 0x4FFF 0x1 (Con este comando doy a la variable 4FFF el valor 1, y en el AM tengo configurado que este script de gatillo se ejecute cuando esta variable sea 0, por lo que no se va a repetir)
movesprite2 0xA 0x24 0x1C (Este comando es igual que el movesprite solo que hace una posición permanente, lo que te permite que se mueva sin que este en el rango de visión del player)
pause 0x25 (Lo suelo poner después de un movesprite, pero es opcional)
showsprite 0xA (Este comando lo que hace es mostrar el sprite, ya que hasta este momento estaba oculto gracias a la flag)
applymovement 0xA @move1
waitmovement 0xA
pause 0x60
msgbox @texto1 MSG_NORMAL '"[green_fr]Vaya vaya, pero que tene..."
waitmsg (Este comando hace que no se siga ejecutando el script hasta que el mensaje no halla acabado)
applymovement 0xA @move2
waitmovement 0xA
msgbox @texto2 MSG_NORMAL '"[green_fr]Listo?...\nPues.......\l..."
waitmsg
trainerbattle 0x3 0x3A 0x0 @texto3
msgbox @texto4 MSG_NORMAL '"Dicen por ahi que no tienes mucha\..."
waitmsg
applymovement 0xA @move3
waitmovement 0xA
fadescreen 0x1 (Esto se suele hacer por estética, lo que hace es poner la pantalla en negro)
hidesprite 0xA (Hace lo contrario al showsprite, con esto y con la flag activada del otro script asignada al mini te permitirá que este mini no se vuelva a mostrar)
fadescreen 0x0 (Devuelve la pantalla a su normalidad)
end


'---------
' Strings
'---------
#org @texto1
= [green_fr]Vaya vaya, pero que tenemos aqui?\npero si eres el campeòn de ALCANIA\lje je...\lSoy LEO campeòn de ALLUVIA,\lgusto en conocerte..\lQue genial no?\lOye, que tal si echamos un\lcombate?\lGenial!!

#org @texto2
= [green_fr]Listo?...\nPues.......\lA DARLE!!!!

#org @texto3
= Pero que tal?....\nSi tu fuerza es ABRUMADORA!!

#org @texto4
= Dicen por ahi que no tienes mucha\nexperiencia con POKÈMON pero,no se\lnota... ok tengo que irme a buscar\lmas POKEMON, supongo que nos\lveremos en la primera ronda del\ltorneo,recuerda es en Ciudad\lTitanio... Ok nos vemos!!


'-----------
' Movements
'-----------
#org @move1
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1 'Face Up
#raw 0x66 'Happy (^_^)
#raw 0xFE 'End of Movements

#org @move2
#raw 0x10 'Step Down (Normal)
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements

#org @move3
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0xFE 'End of Movements

Te recomiendo mucho pasarte por la sección de tutoriales GBA, ahí tienes diversos tutoriales de scripting.
Siento como que no me he sabido explicar muy bien, pero bueno, si tienes alguna duda puedes avisarme.
Suerte!! :D
 
Última edición:

Markuzz Kaizuka

Usuario de platino
Bueno, pues yo te aconsejo que hagas lo siguiente, le asignas una flag al mini (ponerle en Advance Map donde pone People ID una flag, por ejemplo la 0x2FF). Luego en un script alterno, puede ser en cualquiera otro script, pero anterior a ese, le complementas un setflag 0x2FF. Esto hará que el mini este oculto cuando llegues al mapa del script de gatillo.
Lo siguiente que puedes hacer sería complementar el script que tu tenías con otros comandos. Te lo dejo por aquí con una breve explicación. (Lo he probado y funciona).
Código:
#dynamic 0x800000

'---------------
#org @start
setvar 0x4FFF 0x1 (Con este comando doy a la variable 4FFF el valor 1, y en el AM tengo configurado que este script de gatillo se ejecute cuando esta variable sea 0, por lo que no se va a repetir)
movesprite2 0xA 0x24 0x1C (Este comando es igual que el movesprite solo que hace una posición permanente, lo que te permite que se mueva sin que este en el rango de visión del player)
pause 0x25 (Lo suelo poner después de un movesprite, pero es opcional)
showsprite 0xA (Este comando lo que hace es mostrar el sprite, ya que hasta este momento estaba oculto gracias a la flag)
applymovement 0xA @move1
waitmovement 0xA
pause 0x60
msgbox @texto1 MSG_NORMAL '"[green_fr]Vaya vaya, pero que tene..."
waitmsg (Este comando hace que no se siga ejecutando el script hasta que el mensaje no halla acabado)
applymovement 0xA @move2
waitmovement 0xA
msgbox @texto2 MSG_NORMAL '"[green_fr]Listo?...\nPues.......\l..."
waitmsg
trainerbattle 0x3 0x3A 0x0 @texto3
msgbox @texto4 MSG_NORMAL '"Dicen por ahi que no tienes mucha\..."
waitmsg
applymovement 0xA @move3
waitmovement 0xA
fadescreen 0x1 (Esto se suele hacer por estética, lo que hace es poner la pantalla en negro)
hidesprite 0xA (Hace lo contrario al showsprite, con esto y con la flag activada del otro script asignada al mini te permitirá que este mini no se vuelva a mostrar)
fadescreen 0x0 (Devuelve la pantalla a su normalidad)
end


'---------
' Strings
'---------
#org @texto1
= [green_fr]Vaya vaya, pero que tenemos aqui?\npero si eres el campeòn de ALCANIA\lje je...\lSoy LEO campeòn de ALLUVIA,\lgusto en conocerte..\lQue genial no?\lOye, que tal si echamos un\lcombate?\lGenial!!

#org @texto2
= [green_fr]Listo?...\nPues.......\lA DARLE!!!!

#org @texto3
= Pero que tal?....\nSi tu fuerza es ABRUMADORA!!

#org @texto4
= Dicen por ahi que no tienes mucha\nexperiencia con POKÈMON pero,no se\lnota... ok tengo que irme a buscar\lmas POKEMON, supongo que nos\lveremos en la primera ronda del\ltorneo,recuerda es en Ciudad\lTitanio... Ok nos vemos!!


'-----------
' Movements
'-----------
#org @move1
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1 'Face Up
#raw 0x66 'Happy (^_^)
#raw 0xFE 'End of Movements

#org @move2
#raw 0x10 'Step Down (Normal)
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements

#org @move3
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0xFE 'End of Movements

Te recomiendo mucho pasarte por la sección de tutoriales GBA, ahí tienes diversos tutoriales de scripting.
Siento como que no me he sabido explicar muy bien, pero bueno, si tienes alguna duda puedes avisarme.
Suerte!! :D
Gracias por la ayuda
si me sirvio.
 
Estado
Cerrado para nuevas respuestas.
Arriba