Registrarse

DUDA Con el compare y el if goto

Estado
Cerrado para nuevas respuestas.
Hola, mi duda es por que cuando intento utilizar el compare y el if goto para que vaya al inicio2 hace otra cosa totalmente diferente, no se si me explico bien.
Se supone que el una persona, antes de agarrar el pokemon diga: Agarra el pokemon, y cuando ya lo agarre diga Que buen pokemon, pero no lo hace y en su lugar me da un objeto llamado ???????? xD
Cual es el problema? Aca dejo el Script

#dynamic 0x800000
'---------------
#org @start
lock
faceplayer
compare 0x7000 0x1
if 0x1 goto @snippet1
msgbox @String1 MSG_NORMAL '"Anda, ¡Agarra el pokemon que esta\..."
release
end

'---------------
#org @snippet1
msgbox @String2 0x1 '"Espero que te guste ese SNORLAX."
release
end


'---------
' Strings
'---------
#org @String1
= Anda, ¡Agarra el pokemon que esta\nsobre la mesa!

#org @String2
= Espero que te guste ese SNORLAX.

Otra duda que tengo es porque al colocar una "gente" en un lugar, al emular aparece en otro xD
Se supone que debe tapar una cueva y la persona al emular esta arriba de una casa
PD: Soy extremadamente novato
 

BandeDollio

Extintor-Sama
El primer problema se debe a que haces un compare del 0x7000 pero nunca llegas a hacer un set para que tenga el valor 1.
En el segundo caso deberías comprobar que el mapa en cuestión no tenga ningún script de nivel que tú no hayas puesto.
 
El de setvar si lo hago en otro script, cual podria ser el problema?, en este:

#dynamic 0x800000

'---------------
#org @start
msgbox @String1 MSG_NORMAL '"¡Recibiste SNORLAX del Profesor!"
givepokemon 0x8F 0x32 0x0 0x0 0x0 0x0
setflag 0x828
setvar 0x7000 0x1
hidesprite 0x201
release
end


'---------
' Strings
'---------
#org @String1
= ¡Recibiste SNORLAX del Profesor!

Los script de nivel pueden no aparecer en la ventana de "Eventos"?
 

BandeDollio

Extintor-Sama
Los scripts de nivel aparecen en el cabezal con el nombre de map script.
En lo otro no encuentro el error, prueba a usar flags en vez de variables.
 

Berserker1523

2-Intentando discernir qué es lo más importante...
@poke0523 En el segundo Script que pasaste tienes "#org @String 1" debes poner el nombre del pinter sin espacios así: @String1 tal vez eso pueda hacer parte del error. Además no debes poner "release" si antes no pusiste un lock. Lo mismo para el primer Script: tienes @String 2" en vez de @String2" y "@snippet 1" por "@snippet1".

Edit1000: Que hay un pro usuario que se llama "String" JAJAJAJAJAJA. Ya veo.

pd: El nombre que le pongas a los "@" no importa, solo es un nombre, no ayuda a funcionar el script (luego verás que puedes poner direcciones offset, creo).
@poke0523 toma fotos al error porfa, y otra cosa es que el "hidesprite" hace que desaparezca el mini, pero no para siempre, si cambias de pantalla y vuelves, aparecerá. Por eso debes asignarle al mini una flag desde A-Map y en un script hacer setflag a esa para que desaparezca hasta que se vuelva a desactivar la flag.
 
Última edición:
Al copiarlo parece ser que se puso el espacio, al comprobar el script estaba sin ello
En el primero aparece igual, con espacio

Los scripts de nivel aparecen en el cabezal con el nombre de map script.
En lo otro no encuentro el error, prueba a usar flags en vez de variables.
Gracias, Ya pude solucionar el problema de la gente al borrar el script de nivel, TY :D
Pero sigo con el problema del compare y el if, que no continua el script :(
 

Inferno

Miembro insignia
Miembro insignia
Re: Respuesta: DUDA Con el compare y el if goto

Al copiarlo parece ser que se puso el espacio, al comprobar el script estaba sin ello
En el primero aparece igual, con espacio


Gracias, Ya pude solucionar el problema de la gente al borrar el script de nivel, TY :D
Pero sigo con el problema del compare y el if, que no continua el script :(
Veo un error en el tipo de msgbox aquí:

Código:
#org @snippet1
msgbox    [MENTION=29127]String[/MENTION] 2 [B]0x1[/B] '"Espero que te guste ese SNORLAX."
release
end
El msgbox 0x1 se usa para que una persona te de un objeto, prueba a usar el de tipo 0x6.

Sobre lo del mini que está donde no debería, está bien que lo hayas resuelto borrando el script y ya, pero estoy bastante seguro que no sabes que es lo que hacía que pasara eso, así que me paso a explicártelo muy brevemente:

Existe un comando llamado movesprite, y el cual consta de los siguientes parámetros:
Código:
Movesprite 0x(persona) 0x(coordenada x) 0x(coordenada y)
Este comando lo que hace es situar a un mini, el cual eliges tu según su número de gente, en unas coordenadas indicadas. En ocasiones este comando, o su variante el movesprite2*, suelen venir ya en algunos mapas de la ROM en modo de script de nivel, por eso si tu mini tiene el mismo número de gente que el que el que estaba asignado en el script este sufrirá los efectos de dicho script.

*La diferencia entre un movesprite y un movesprite2 es que el primero se puede utilizar el los scripts de nivel del tipo 02 y 04 y el segundo en los de tipo 0x y 05.
 
Última edición:
Respuesta: Re: Respuesta: DUDA Con el compare y el if goto

Veo un error en el tipo de msgbox aquí:

Código:
#org @snippet1
msgbox [MENTION=29127]String[/MENTION] 2 [B]0x1[/B] '"Espero que te guste ese SNORLAX."
release
end
El msgbox 0x1 se usa para que una persona te de un objeto, prueba a usar el de tipo 0x6.
Graaacias, lo peor de todo es que si lo sabia, solo que se me paso xD
Muchas Gracias n.n
 
Estado
Cerrado para nuevas respuestas.
Arriba