qna_rh
Thread Id: 7913
Thread Name: [Pokémon FR inglés] error script
#0
JuKrai 13647
¡Hola! Queria saber si me pudieran ayudar con esto:
Es que yo le doy a un script la flag para que se active el menu de los pokemon justo cuando te dan un pokemon (Givepokemon).
la cosa es que no solo se pone el menu de Pokémon si no el de:
Pokémon
Pokédex
y el del safari...
miren:


Script:

'---------------
#org 0x1BB9C1
faceplayer
checkflag 0xA00
checkflag 0x828
msgbox 0x871A6A0 MSG_KEEPOPEN '"OAK: ¡[player]!\n¿Qué haces tu por..."
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
setflag 0xA00
setflag 0x800
warp 0x4 0x3 0x0 0x0 0x0
end


'---------
' Strings
'---------
#org 0x71A6A0
= OAK: ¡[player]!\n¿Qué haces tu por aquí?\lNo deverías andar por esta cueva\les muy peligroso ya que hay unos\lhombres malvados intentandose\lapoderar del pokémon que surca\llos cielos de esta región.\ltoma este pokémon es de mi amigo\lserbal de la región de Shinnoh.\lVen, te enseñaré algo.

¡Gracias!
#1
Kurama 12395
mmmmmm....
seria mas facil si es que mostraras
el script
#2
JuKrai 13647
Ok, edito el post.
#3
eing 12479
El script que has colocado, siempre que se ejecute, se repetirá hasta la saciedad. Es decir te podrán dar 56486468586 pokes, ya que se repetirá siempre.

Pon una condicion despues de la comprobación.
Es decir
checkflag 0xflag // comprueba si la flag que hayas colocado está activada
if 0x1 goto 0xoffset // Si está activada, irá a otro offset(donde habrá otro script, por ejemplo un msgbox deseandote buena suerte...
??? <-- continua el script

(lo que va detrás de los "//" son comentarios mios...)

Así que tu script debería quedar así...

'---------------
#org 0x1BB9C1
faceplayer
msgbox 0x871A6A0 MSG_KEEPOPEN '"OAK: ¡[player]!\n¿Qué haces tu por..."
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
setflag 0x828
warp 0x4 0x3 0x0 0x0 0x0
end


'---------
' Strings
'---------
#org 0x71A6A0
= OAK: ¡[player]!\n¿Qué haces tu por aquí?\lNo deverías andar por esta cueva\les muy peligroso ya que hay unos\lhombres malvados intentandose\lapoderar del pokémon que surca\llos cielos de esta región.\ltoma este pokémon es de mi amigo\lserbal de la región de Shinnoh.\lVen, te enseñaré algo.


tu script deberia quedar así, sin checkflag ni nada, puesto que luego hay un warp, y al asignarle una variable (que se comporta en este caso como flag) al mini, este desaparecerá i dará como imposible que el script se vuelva a ejecutar.
Ah, y has de mirarte bien cual es la flag que activa el givepokemon, en rubí es la 0x800, en fr creo que es la 0x828 pero no estoy muy seguro.
#4
#|renj!~ 12998
el script tiene cosas innecesarias y un error. te los marco en el script

Script:

'---------------
#org 0x1BB9C1
lock (solo para complementar)
faceplayer
checkflag 0xA00 (innecesario chekear todas las flags)
checkflag 0x828
msgbox 0x871A6A0 MSG_KEEPOPEN '"OAK: ¡[player]!\n¿Qué haces tu por..."
closeonkeypress (para qe no te quede abierto la caja de mensaje)
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
setflag 0xA00
setflag 0x800 (esta no es la flag del menu pkmn, NO EN FR, es la 828) osea setflag 0x828
warp 0x4 0x3 0x0 0x0 0x0
end

cn esos cambios ya deberia quedar bien :)
#5
JuKrai 13647
Gracias x.hack.x, pero como ago para que no vuelva aparecer el mini?
#6
eing 12479
Para que no vuelva a aparecer el mini, le tienes que asignar la variable al mini del mapa.
Es decir en eventos buscas el mini del script, y en "id.people" le pones la flag, en este caso 828.
#7
Loony Boo♪ 12263
Iniciado por eing-ftw

El script que has colocado, siempre que se ejecute, se repetirá hasta la saciedad. Es decir te podrán dar 56486468586 pokes, ya que se repetirá siempre.

Pon una condicion despues de la comprobación.
Es decir
[quote]checkflag 0xflag // comprueba si la flag que hayas colocado está activada
if 0x1 goto 0xoffset // Si está activada, irá a otro offset(donde habrá otro script, por ejemplo un msgbox deseandote buena suerte...
??? <-- continua el script

(lo que va detrás de los "//" son comentarios mios...)

Así que tu script debería quedar así...

'---------------
#org 0x1BB9C1
lock
faceplayer
msgbox 0x871A6A0 0x6 '"OAK: ¡[player]!\n¿Qué haces tu por..."
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
setflag 0x828
warp 0x4 0x3 0x0 0x0 0x0
release
end


'---------
' Strings
'---------
#org 0x71A6A0
= OAK: ¡[player]!\n¿Qué haces tu por aquí?\lNo deverías andar por esta cueva\les muy peligroso ya que hay unos\lhombres malvados intentandose\lapoderar del pokémon que surca\llos cielos de esta región.\ltoma este pokémon es de mi amigo\lserbal de la región de Shinnoh.\lVen, te enseñaré algo.


tu script deberia quedar así, sin checkflag ni nada, puesto que luego hay un warp, y al asignarle una variable (que se comporta en este caso como flag) al mini, este desaparecerá i dará como imposible que el script se vuelva a ejecutar.
Ah, y has de mirarte bien cual es la flag que activa el givepokemon, en rubí es la 0x800, en fr creo que es la 0x828 pero no estoy muy seguro.[/quote]

Bueno, puse 0x6 por tener mejor manejo con los números que con el tipo especificado en letras, no os olvidéis de lock y release, hay que cuidar bien los scripts y mantener una estructura limpia y bien establecida.

Saludos.