qna_rh
Thread Id: 11065
Thread Name: Problema en un Script de Nivel
verán, estoy haciendo un script de nivel en el FireRed. Sigo paso a paso todo el temario, entonces llego al punto de probarlo.
Inicio el vba, accedo a la partida, y cuando entro sale a la perfeccion.
Yo le puse que el heroe dijera: Probandooo
Pero cuando lo dice, aparece esto:
El script:
'---------------
#org 0x800200
msgbox 0x880020F MSG_FACE '"Probandoooo!!"
setvar 0x40FF 0x1
end
'---------
' Strings
'---------
#org 0x80020F
= Probandoooo!!
Haber si alguien sabe decirme en qué he fallado
Sí, bueno, creo que sé dónde está el error.
A ver, cuando marcas la opción de script de nivel y lo decompilas (para luego volverlo a compilar y que funcione correctamente), fíjate si hay en las primeras lineas esto: "raw 0xFFFF". Si lo hay, cámbialo a "raw 0x0" y debería funcionar ;D
No D: lo unico que hay para descompilar es:
'---------------
#org 0x71A8AC
return
Yo tambien tenia el mismo problema con un script de nivel, pero cuando hago lo que dices primero script de nivel y luego descompilar y cambio el 0xFFFF por 0x0, lo compilo, cierro el XSE, lo vuelvo a abrir y me sale esto en el XSE:
#org 0x(offset)
end
no me lo deja compilar sabes la solucion?
saludos
Pero supongo que al "volverlo a abrir" estáis marcando de nuevo la opción de scripts de nivel ¿Verdad?
Si no XSE interpreta el script como uno normal y lee los primeros bytes como si fueran comandos normales, por decirlo de alguna forma. Aseguraos de que la marcáis.
Ah, xD.
Vale, descompilo, le doy a marcar, lo compilo, y cierro.
Lo vuelvo a abrir pero no sale marcado y aparece esto:
'---------------
#org 0x71A8AC
#raw 0x3
#raw pointer 0x8168CAE
#raw 0x4
#raw pointer 0x8168CBE
#raw 0x2
#raw pointer 0x81526D0
#raw 0x0
'---------------
#org 0x168CBE
#raw word 0x4056
#raw word 0x0
#raw pointer 0x8168CC8
#raw word 0x0
'---------------
#org 0x1526D0
#raw word 0x40FF
#raw word 0x0
#raw pointer 0x8800200
#raw word 0x6802
'---------------
#org 0x168CAE
compare 0x4056 0x0
if 0x1 call 0x8168CBA
end
'---------------
#org 0x168CC8
spriteface 0xFF 0x2
setvar 0x4056 0x1
end
'---------------
#org 0x800200
msgbox 0x880020F MSG_FACE '"Probandoooo!!"
setvar 0x40FF 0x1
end
'---------------
#org 0x168CBA
sethealingplace 0x1
return
'---------
' Strings
'---------
#org 0x80020F
= Probandoooo!!
Pero ni rastro del 0xFFFF
EDITO: Para probar esto, le puse en el offset al script el de Header Script (Ctrl + H).
Entonces dice Probandooooo!! pero cuando cierro no se mueve
Pues, supuestamente, el script está bien... Es muy raro que no funcione.
Prueba con una variable nueva a ver si va a ser por eso...
Aunque no sé, lo veo extraño.
¿Has cambiado algo en ese script?
PD: Me he equivocado (creo) con lo de #raw 0xFFFF, creo que es #raw word 0xFFFF xDD
le e puesto release y end al final pero tampoco va, se me queda la pantalla congelada.
Dice: probandooo!! pulso la "z" y ahi se keda el juego.
Ahora le e puesto la var 5000 pero se queda repitiendo Probandooo!! Probandoooo!!....
Ke lio TT
EDITO: Una cosilla que se me viene a la mente, ¿no es necesario usar pokescript? porke no lo he usado :p
Pues me sigue pasando lo mismo, este es el script que he hecho yo:
'---------------
#org 0x71AA42
lock
checkflag 0x1001
applymovement 0x1 0x871AAA6
waitmovement 0x1
pause 0x80
msgbox 0x871AB0A MSG_NORMAL '"Mama: Ah, hijo ya te has\ndesperta..."
applymovement MOVE_PLAYER 0x871AB6E
waitmovement 0x0
pause 0x80
msgbox 0x871ABD2 MSG_NORMAL '" p : Que quieres mamá?\nMamá: El p..."
setflag 0x1001
setvar 0x4100 0x2
release
end
'---------
' Strings
'---------
#org 0x71AB0A
= Mama: Ah, hijo ya te has\ndespertado?\lVen aqui un momento.
#org 0x71ABD2
= p : Que quieres mamá?\nMamá: El profesor te ha dejado\lestos Pokémon para que empieces tu\laventura.\l[player]: Que guay mi primer Pokémon, y\lpuedo elegir el que quiera?\lMamá: Si, pero solo uno de los dos.\lAnda coje uno. Anda coje uno.
'-----------
' Movements
'-----------
#org 0x71AAA6
#raw 0x62 'Exclamation Mark (!)
#raw 0x3 'Face Right
#raw 0xFE 'End of Movements
#org 0x71AB6E
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
y este cundo pongo script de nivel y luego lo descompilo:
'---------------
#org 0x71A2C8
#raw 0x2
#raw pointer 0x871A2F3
#raw 0x0
'---------------
#org 0x71A2F3
#raw word 0x1001
#raw word 0x0
#raw pointer 0x871AA42
#raw word 0x0 (aqui estava el FFFF)
'---------------
#org 0x71AA42
lock
checkflag 0x1001
applymovement 0x1 0x871AAA6
waitmovement 0x1
pause 0x80
msgbox 0x871AB0A MSG_NORMAL '"Mama: Ah, hijo ya te has\ndesperta..."
applymovement MOVE_PLAYER 0x871AB6E
waitmovement 0x0
pause 0x80
msgbox 0x871ABD2 MSG_NORMAL '" p : Que quieres mamá?\nMamá: El p..."
setflag 0x1001
setvar 0x4100 0x2
release
end
'---------
' Strings
'---------
#org 0x71AB0A
= Mama: Ah, hijo ya te has\ndespertado?\lVen aqui un momento.
#org 0x71ABD2
= p : Que quieres mamá?\nMamá: El profesor te ha dejado\lestos Pokémon para que empieces tu\laventura.\l[player]: Que guay mi primer Pokémon, y\lpuedo elegir el que quiera?\lMamá: Si, pero solo uno de los dos.\lAnda coje uno. Anda coje uno.
'-----------
' Movements
'-----------
#org 0x71AAA6
#raw 0x62 'Exclamation Mark (!)
#raw 0x3 'Face Right
#raw 0xFE 'End of Movements
#org 0x71AB6E
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
pero lo compilo y me desaparecen los codigos, solo me quedo el primer offset y el end.
Iniciado por DjDinho
le e puesto release y end al final pero tampoco va, se me queda la pantalla congelada.
Dice: probandooo!! pulso la "z" y ahi se keda el juego.
Ahora le e puesto la var 5000 pero se queda repitiendo Probandooo!! Probandoooo!!....
Ke lio TT
EDITO: Una cosilla que se me viene a la mente, ¿no es necesario usar pokescript? porke no lo he usado :p
Nah, no es necesario para nada usar pokescript. La variable 5000 no la utilices, utiliza de la 40FF hacia abajo. Obviamente también tienes que cambiar el setvar con la nueva variable, ya que sino, pues se seguirá repitiendo. Mira eso a ver. Sobre lo del release y end, ¿A tu script o cuando decompilas el de nivel? Si lo has hecho en el segundo, ha sido una mala idea... xD
Iniciado por FR@NKKeY
Pues me sigue pasando lo mismo, este es el script que he hecho yo:
[quote]'---------------
#org 0x71AA42
lock
checkflag 0x1001
applymovement 0x1 0x871AAA6
waitmovement 0x1
pause 0x80
msgbox 0x871AB0A MSG_NORMAL '"Mama: Ah, hijo ya te has\ndesperta..."
applymovement MOVE_PLAYER 0x871AB6E
waitmovement 0x0
pause 0x80
msgbox 0x871ABD2 MSG_NORMAL '" p : Que quieres mamá?\nMamá: El p..."
setflag 0x1001
setvar 0x4100 0x2
release
end
'---------
' Strings
'---------
#org 0x71AB0A
= Mama: Ah, hijo ya te has\ndespertado?\lVen aqui un momento.
#org 0x71ABD2
= p : Que quieres mamá?\nMamá: El profesor te ha dejado\lestos Pokémon para que empieces tu\laventura.\l[player]: Que guay mi primer Pokémon, y\lpuedo elegir el que quiera?\lMamá: Si, pero solo uno de los dos.\lAnda coje uno. Anda coje uno.
'-----------
' Movements
'-----------
#org 0x71AAA6
#raw 0x62 'Exclamation Mark (!)
#raw 0x3 'Face Right
#raw 0xFE 'End of Movements
#org 0x71AB6E
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
y este cundo pongo script de nivel y luego lo descompilo:
'---------------
#org 0x71A2C8
#raw 0x2
#raw pointer 0x871A2F3
#raw 0x0
'---------------
#org 0x71A2F3
#raw word 0x1001
#raw word 0x0
#raw pointer 0x871AA42
#raw word 0x0 (aqui estava el FFFF)
'---------------
#org 0x71AA42
lock
checkflag 0x1001
applymovement 0x1 0x871AAA6
waitmovement 0x1
pause 0x80
msgbox 0x871AB0A MSG_NORMAL '"Mama: Ah, hijo ya te has\ndesperta..."
applymovement MOVE_PLAYER 0x871AB6E
waitmovement 0x0
pause 0x80
msgbox 0x871ABD2 MSG_NORMAL '" p : Que quieres mamá?\nMamá: El p..."
setflag 0x1001
setvar 0x4100 0x2
release
end
'---------
' Strings
'---------
#org 0x71AB0A
= Mama: Ah, hijo ya te has\ndespertado?\lVen aqui un momento.
#org 0x71ABD2
= p : Que quieres mamá?\nMamá: El profesor te ha dejado\lestos Pokémon para que empieces tu\laventura.\l[player]: Que guay mi primer Pokémon, y\lpuedo elegir el que quiera?\lMamá: Si, pero solo uno de los dos.\lAnda coje uno. Anda coje uno.
'-----------
' Movements
'-----------
#org 0x71AAA6
#raw 0x62 'Exclamation Mark (!)
#raw 0x3 'Face Right
#raw 0xFE 'End of Movements
#org 0x71AB6E
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements
pero lo compilo y me desaparecen los codigos, solo me quedo el primer offset y el end.[/quote]
Que raro, ¿Pero seguro que cuando lo vuelves a decompilar marcas la opción de script de nivel?
Bueno, a parte de eso, ¿Has probado no obstante si en el juego funciona?
Si, he pulsado el boton de script de nivel y en el juego no me ocurre nada T_T
Seguro que si soluciono esto ya me funcionara por fin el script de nivel.
Pues la verdad es que es muy extraño...
Mm... ¿Has seguido bien todos los pasos?
¿La variable tiene el valor adecuado para que se ejecute el script?
A parte de eso, quizás sea la flag, aunque no estoy seguro. Prueba a utilizar las flag a partir de la 0x200. Además, un checkflag en tu script no tiene sentido, no hay un if después que te envíe a otro offset si la flag está activada.
Bueno, no sé, mírate el tutorial otra vez y asegúrate de haber seguido todos los pasos de forma correcta. Y cambia la flag por si acaso ;D
Para que no salgan las letras chinas, u se repita el script hasta la saciedad, tienes que hacer dos cosas..
1)Poner un servar 0xvariableasignadaalevento 0xactual+1
2)Ir a la direccion que te asigna automaticamente el AM para los scripts de nivel, y cambiar los "FF" por "00". (Hazlo con un editor hexadecimal)
3)Si quieres tambien, pon un checkflag 0xflag if 0x1 goto 0xnada, para asi sepas de sobras que no se repite el evento.
Gracias, ya se utilizar los scrips de nivel. :blush: