Registrarse

Problema con script de nivel

Estado
Cerrado para nuevas respuestas.

Adke

weeeh
Tengo puesto un script de nivel 05 pero al entrar al mapa se me queda la pantalla en negro y hasta el sonido se para. No entiendo cual es el problema u.u

El script en cuestión es este:
Código:
#dynamic 0x800000

#org @start
countpokemon
compare 0x800D 0x3
if 0x2 goto @demasiados
end

#org @demasiados
msgbox @algo 0x6
special 0x3C
waitstate
goto @start

#org @algo
= Solo puedes llevar 3 pokémon en el\nequipo.
Básicamente lo que hace es comprobar si tienes más de 3 pokes en el equipo y si los tienes te abre la pestaña del pc para dejarlos.
He probado con todos los tipos de script de nivel y no funciona D:

A ver si alguien puede solucionarlo ^^
 
Última edición:
M

Miembro eliminado 28262

Invitado
Pués ya te lo dijeron premoh
usa un script de nivel 04, ya que el 05 y el 03 dicho en terminos más simplistas son para cosas básicas y no ejecutan ningún otro comando, en especial los msgbox.

Creo que no está de más recordarte que tienes que aplicar una variable antes y por si tienes problemas con el tipico map script aquí te dejo la solución:

Jo7a dijo:
Vete al cabezal del mapa, pulsa ctrl + H y se abrirá la vista profesional del cabezal.
En la parte de arriba verás varios offsets, copia el offset que esta en la casilla "map script offset" y abrelo en XSE.

Una vez abierto (verás que solo es un "org" y un "end") activa la casilla de "script de nivel" arriba a la derecha del XSE. Carga de nuevo el script y verás que aparecen muchos comandos raros, y mas abajo, tu script de nivel.

Busca un comando que pone: "#raw 0xFFFF", deberia estar en la parte de arriba mas o menos. Cambia el "FFFF" por un 0 (#raw 0x0), compila el script y listo, problema solucionado.

Edit: Recuerda repetir esto mismo cada vez que hagas un script de nivel 02 en un mapa
.

Espero te sirva
Saludos y Buenas vibras!! ^^

Bles!!
 
Última edición por un moderador:

Adke

weeeh
@xabier2012 @~LT. SAGE

Sigue pasando lo mismo. He modificado un poco el script para la variable pero se queda la pantalla en negro igualmente.

Código:
#dynamic 0x800000

#org @start
compare 0x4FF5 0x1
if 0x0 goto @contar
end

#org @contar
countpokemon
compare 0x800D 0x3
if 0x2 goto @demasiados
end

#org @demasiados
msgbox @algo 0x6
special 0x3C
waitstate
goto @contar

#org @algo
= Solo puedes llevar 3 pokémon en el\nequipo.
 

Xabier2012

Usuario mítico
@xabier2012 @~LT. SAGE

Sigue pasando lo mismo. He modificado un poco el script para la variable pero se queda la pantalla en negro igualmente.

Código:
#dynamic 0x800000

#org @start
compare 0x4FF5 0x1
if 0x0 goto @contar
end

#org @contar
countpokemon
compare 0x800D 0x3
if 0x2 goto @demasiados
end

#org @demasiados
msgbox @algo 0x6
special 0x3C
waitstate
goto @contar

#org @algo
= Solo puedes llevar 3 pokémon en el\nequipo.
Sí, perdón. Me he equivocado. El tipo correcto es el 02, el 04 es más restrictivo en cuanto a comandos. Si con ese no te funciona es que el problema está en otro lado.
 

Adke

weeeh
Sí, perdón. Me he equivocado. El tipo correcto es el 02, el 04 es más restrictivo en cuanto a comandos. Si con ese no te funciona es que el problema está en otro lado.
Ahora ya me funciona el script, pero no me deja moverme, se queda pillado y en teoría no se queda en bucle.
 

Xabier2012

Usuario mítico
¿En qué momento se queda bloqueado? Puede ser que el special 0x3C te esté dando problemas. Y ¿Por qué haces un compare 0x4FF5 si después no modificas la var? Danos detallitos
 

Adke

weeeh
Se bloquea nada más entrar al mapa. El compare no sirve para nada, ya lo he quitado.

El special no creo que sea el problema, cuando tienes menos de 3 pokes no se carga y aún así se bloquea.
 

Xabier2012

Usuario mítico
Entonces ahora tienes algo así:
Código:
#dynamic 0x800000

#org @start
countpokemon
compare 0x800D 0x3
if 0x2 goto @demasiados
setvar 0x???? 0x1?
end

#org @demasiados
msgbox @algo 0x6
special 0x3C
waitstate
goto @start

#org @algo
= Solo puedes llevar 3 pokémon en el\nequipo.
Fíjate que te he añadido un setvar si tienes 3 pokes porque sino el script sería infinito, pon la var que activar el script y cámbiale el valor. De todas formas si ni siquiera de ejecuta el msgbox el problema croe que está en otro lado. Si accedes al mapa mediante un warp de un script ese puede ser un posible problema. Sigo necesitando más datos y detalles.
 

Adke

weeeh
Lo que quiero es que en cualquier momento si tienes más de 3 pokemon te salte el script. Por eso en un inicio lo puse como tipo 05.
Si pongo el setvar no se volvería a cargar el script hasta que se resteara la variable.

No sé si me explico ^^'
 

Xabier2012

Usuario mítico
Pero en ese caso el script va a estar siempre iniciándose, comprobando pokes, y ejecutando end. Así todo el rato, y por eso no te mueves, estás en un script infinito. Haz el setvar y lo mejor es que antes de llegar a dicha zona pongas un script de gatillo volvindo a poner la var a su valor inicial para que se inicie el script de nivel. Eso son 3 comandos, y como si tienes que hacer 10 casillas de scripts, pones el mismo offset y sin problemas.
 

Adke

weeeh
No hay una variable que se resetee cada cierto tiempo? Me suena haber leído sobre ello. Eso debería solucionar el problema.

EDIT: Ya está solucionado :D además del script de nivel 02 con el setvar puse uno 05 que reseteara la variable a 0 y así funciona perfectamente.
 
Última edición:
Estado
Cerrado para nuevas respuestas.
Arriba