Registrarse

Problema script hidesprite

Estado
Cerrado para nuevas respuestas.

kristianangel89

Nuevo creador
Hola he intentado de todo pero no se porque no puedo lograr que tras la batalla salvaje, el pokémon (ow o mini) desaparezca!

Por favor ayuda que esta mal, por cierto ya puse en el advance map en el id la misma flag y nada

'---------------
#org 0x965891
lock
faceplayer
checksound
cry 0x302 0x2
checkflag 0x7000
msgbox 0x89658B4 MSG_NORMAL '"Meew!"
wildbattle 0x302 0x46 0x0
hidesprite 0x139
setflag 0x7000
release
end


'---------
' Strings
'---------
#org 0x9658B4
= Yveltaaaal!
 
Última edición por un moderador:

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Buenas, ¿cómo va?

Mi primer consejo es que donde sea que aprendiste a hacer scripts lo olvides ya mismo y busques un tutorial decente e_e

Ahora marquemos qué tiene de malo tu script:

'---------------
#org 0x965891
lock
faceplayer
checksound
cry 0x302 0x2
checkflag 0x7000
msgbox 0x89658B4 MSG_NORMAL '"Meew!"
wildbattle 0x302 0x46 0x0
hidesprite 0x139
setflag 0x7000

release
end


'---------
' Strings
'---------
#org 0x9658B4
= Yveltaaaal!
Y vamos a explicar parte a parte qué hay de malo en esas líneas:

  1. checksound: No entiendo qué intentas hacer con él, es totalmente inútil como lo planteas.
  2. checkflag 0x7000: En primer lugar, las flags seguras son, por regla general, entre la $100 y la $2FF, de ninguna manera la $7000. Por otro lado, usas el checkflag pero no planteas una condición, por lo que directamente sobra el comando.
  3. hidesprite 0x139: ¿Sabes que $139 equivale a 313 en decimal? Me parece imposible que tengas 313 overworlds en tu mapa. Ahí debes poner el número de mini que tiene aquél que quieres que desaparezca en el mapa.
  4. setflag 0x7000: Primero, igual que antes no uses jamás flags tan exageradamente grandes. En segundo lugar, la flag que pones aquí es lo que va en el "id" del mini en A-Map, revisa estar configurándolo bien.

Bueno, saludos. Si no me he explicado bien o si te surgen otras dudas, me preguntas ;)
 

kristianangel89

Nuevo creador
Respuesta: Re: Problema script hidesprite

Buenas, ¿cómo va?

Mi primer consejo es que donde sea que aprendiste a hacer scripts lo olvides ya mismo y busques un tutorial decente e_e

Ahora marquemos qué tiene de malo tu script:



Y vamos a explicar parte a parte qué hay de malo en esas líneas:

  1. checksound: No entiendo qué intentas hacer con él, es totalmente inútil como lo planteas.
  2. checkflag 0x7000: En primer lugar, las flags seguras son, por regla general, entre la $100 y la $2FF, de ninguna manera la $7000. Por otro lado, usas el checkflag pero no planteas una condición, por lo que directamente sobra el comando.
  3. hidesprite 0x139: ¿Sabes que $139 equivale a 313 en decimal? Me parece imposible que tengas 313 overworlds en tu mapa. Ahí debes poner el número de mini que tiene aquél que quieres que desaparezca en el mapa.
  4. setflag 0x7000: Primero, igual que antes no uses jamás flags tan exageradamente grandes. En segundo lugar, la flag que pones aquí es lo que va en el "id" del mini en A-Map, revisa estar configurándolo bien.

Bueno, saludos. Si no me he explicado bien o si te surgen otras dudas, me preguntas ;)
Tienes toda la razón haciendo correcciones quedaría algo así, pero aún no logro que desaparezca tras la batalla, supongo que el error esta en la parte de la condición que dices que falta?

'---------------
#org 0x965891
lock
faceplayer
cry 0x302 0x2
checkflag 0x2FF
msgbox 0x89658B4 MSG_NORMAL '"Yveltaaaal!"
wildbattle 0x302 0x46 0x0
hidesprite 0x8B
setflag 0x2FF
release
end


'---------
' Strings
'---------
#org 0x9658B4
= Yveltaaaal!
 

L!no

GBA Developer
Respuesta: Re: Problema script hidesprite

Tienes toda la razón haciendo correcciones quedaría algo así, pero aún no logro que desaparezca tras la batalla, supongo que el error esta en la parte de la condición que dices que falta?

'---------------
#org 0x965891
lock
faceplayer
cry 0x302 0x2
checkflag 0x2FF
msgbox 0x89658B4 MSG_NORMAL '"Yveltaaaal!"
wildbattle 0x302 0x46 0x0
hidesprite 0x8B
setflag 0x2FF
release
end


'---------
' Strings
'---------
#org 0x9658B4
= Yveltaaaal!
Te sigue faltando la puta condición!!!
Revisa este tema:
https://whackahack.com/foro/t-42542/megatutorial-scripting-desde-cero-finalizado
Y luego vuelve
EDIT:
Código:
#org @main
lock
faceplayer
checkflag 0x2FF
if 0x1 goto @finalizar
cry 0x302 0x2
msgbox 0x89658B4 MSG_NORMAL '"Yveltaaaal!"
wildbattle 0x302 0x46 0x0
hidesprite 0x8B
setflag 0x2FF
release
end

#org @finalizar
release
end

'---------
' Strings
'---------
#org 0x9658B4
= Yveltaaaal!
prueba con este y dime
 
Última edición:

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Re: Respuesta: Re: Problema script hidesprite

Tienes toda la razón haciendo correcciones quedaría algo así, pero aún no logro que desaparezca tras la batalla, supongo que el error esta en la parte de la condición que dices que falta?

'---------------
#org 0x965891
lock
faceplayer
cry 0x302 0x2
checkflag 0x2FF
msgbox 0x89658B4 MSG_NORMAL '"Yveltaaaal!"
wildbattle 0x302 0x46 0x0
hidesprite 0x8B
setflag 0x2FF
release
end


'---------
' Strings
'---------
#org 0x9658B4
= Yveltaaaal!
No entiendo qué haces con las flags.
Lo de la condición, me refiero a que cuando haces un check debe ir seguido de un if para formar la estructura condicional.

Ejemplo dijo:
checkflag 0x200
if 0x1 goto @estaactivada 'si está activada
release 'esto se ejecuta si no está activada
end

#org @estaactivada
release
end
En fin, lo que creo es que estás haciendo mal el script.
Me sigue pareciendo imposible que tengas 139 minis en el mapa.

A ver, en el hidesprite debes poner lo que sale aquí:


Y en segundo lugar, al usar un hidesprite se hace una setflag luego (sin checkflag, salvo que sea necesaria por otro motivo). ¿Qué flag usas? Casi cualquiera entre $100 y $2FF.
Peeeero, para que funcione, debes poner el número de flag aquí:


Por ejemplo, si yo quisiera ocultar ese mini, usando por ejemplo la flag $2FF, tendría que poner, primero, 02FF en ese campo (People ID) y luego asignarle un script más o menos así:

Ejemplo dijo:
#dynamic 0x800000
#org @start
lock
msgbox @meocultare 2
hidesprite 1
setflag 0x2FF
release
end

#org @meocultare
= Voy a esconderme. Chau.
Es un ejemplo básico, puedes hacerlo más complejo (en tu caso, con wildbattle).

Saludos, espero haber explicado mejor ahora ;)
 
Hola he intentado de todo pero no se porque no puedo lograr que tras la batalla salvaje, el pokémon (ow o mini) desaparezca!

Por favor ayuda que esta mal, por cierto ya puse en el advance map en el id la misma flag y nada

'---------------
#org 0x965891
lock
faceplayer
checksound
cry 0x302 0x2
checkflag 0x7000
msgbox 0x89658B4 MSG_NORMAL '"Meew!"
wildbattle 0x302 0x46 0x0
hidesprite 0x139
setflag 0x7000
release
end


'---------
' Strings
'---------
#org 0x9658B4
= Yveltaaaal!
Hola amigo, bueno, como te dijo aron, no hay tantos minis, por lo que verifica bien, aquello, no entiendo porque pones algunos comandos innecesarios como son:
Código:
checksound
checkflag 0x7000
Si se supone, que el mini va a desaparecer...

No se si es mi impresión pero ese script, lo copiaste del juego mismo? si es así te recomiendo hacerlo por ti mismo, ademas es un script, sencillo, por lo que una leída de tutoriales, creo que lo captaras rápido, te hice un ejemplo de lo que querías hacer o eso creo que querías hacer

[/IMG]

-Primero: Lo que hice es añadir, un mini, y cambie su sprite a Mew.

-Segundo: Colocar una flag, que no hayas usado, como mi rom es nueva, puse la 200

pd: Las flags disponibles son:
Desde la 0x200 hasta la 0x29F
Desde la 0x500 hasta la 0x79F
Desde la 0x1000 hasta la 0x109F

También recuerda que después de la 0x209 no va la 0x210, sino la 0x20A dicho por: @Javi4315♪

-Tercero: El script lol
Código:
#dynamic 0x800000

#org @ini
lock
faceplayer
cry 0x302 0x2
msgbox @mew 0x6
pause 0x10
wildbattle 0x97 0x46 0x0
setflag 0x200                        <<<<<<<Activo la flag>>>>
hidesprite 0x8                       <<<<<<<Es el numero de gente, en mi caso es 8>>>
release
end

#org @mew
= Yveltaaaal!
Te recuerdo, que es para Fire red, cambie el wildbattle, para que batalle con Mew. y también que hasta que no lo derrotes, o captures, el Mew no desparecerá, ya que no se ejecutarían los comandos que siguen...

Y por ultimo, te recomiendo que leas, este tutorial, ya que te explicara con ejemplos y te explicara el porque de las cosas

https://whackahack.com/foro/t-16885/macrotutorial-gba-hacking-desde-0-8-9-entrega

Para aprender, hay que leer así que, Animo! espero haberte ayudado.

M.H.B.P

Pd: Por cierto, @Darth Nihilus si vas ayudar hazlo con PACIENCIA o de lo contrario ni siquiera comentes...
 
Estado
Cerrado para nuevas respuestas.
Arriba