Registrarse

Problemas con mi script de nivel

Estado
Cerrado para nuevas respuestas.

Otxo

Little Noobster
Tengo problemas a la hora de poner un script de nivel...

Puse uno como prologo para el hack rom, luego de eso me hace warp (hasta ahí...todo genial)

Pero mi problema es que cuando vuelvo a entrar al area el script vuelve a correr (aun con el cambio de valor de la variable que use al final de todo el script)
Les juro que pase 3 días haciendo el código y no quisiera desecharlo

Use "compare" y al final de todo el codigo use "setvar 0x4000(la variable que use) 0x1" y aun asi sigue poniendome todos los dialogos :(

(Se los dejo para que vean si esta bien)

Pd: los dialogos no son oficiales xd

Código:
#dynamic 0x800000

#org @inicio
compare 0x4050 0x0
if 0x1 goto @codigogeneral
end

#org @codigogeneral
hidesprite 0x4
hidesprite 0x5
lock
fadescreen 0x0
msgbox @intro 0x6
sound 0x15
applymovement 0x3 @mover
waitmovement 0x3
msgbox @d1a 0x6
sound 0x15
applymovement 0xFF @mover2
waitmovement 0xFF
msgbox @d1y 0x6
applymovement 0xFF @mover3
waitmovement 0xFF
applymovement 0x3 @mover4
waitmovement 0x3
showsprite 0x4
showsprite 0x5
special 0x113
applymovement 0x7F @movcam1
waitmovement 0x7F
applymovement 0x4 @movmal1
applymovement 0x5 @movmal2
waitmovement 0x5
msgbox @maldia1 0x6
applymovement 0x5 @movmal3
waitmovement 0x5
msgbox @maldia2 0x6
sound 0x15
applymovement 0x4 @movmal4
waitmovement 0x4
msgbox @maldia3 0x6
sound 0x15
applymovement 0x5 @movmal5
waitmovement 0x5
msgbox @maldia4 0x6
msgbox @maldia5 0x6
msgbox @maldia6 0x6
applymovement 0x7F @movcam2
waitmovement 0x7F
special 0x114
applymovement 0x5 @movmal6
waitmovement 0x5
msgbox @maldia7 0x6
applymovement 0x5 @movmal7
applymovement 0x3 @mover5
waitmovement 0x3
msgbox @d2a 0x6
applymovement 0x5 @movmal8
waitmovement 0x5
sound 0x15
applymovement 0xFF @mover6
waitmovement 0xFF
msgbox @d2y 0x6
msgbox @maldia8 0x6
applymovement 0x5 @movmal9
waitmovement 0x5
sound 0x46
applymovement 0xFF @mover7
waitmovement 0xFF
sound 0x7
pause 0x25
sound 0x15
applymovement 0x3 @mover8
waitmovement 0x3
msgbox @d3a 0x6
applymovement 0x5 @movmal10
waitmovement 0x5
msgbox @maldia9 0x6
applymovement 0x5 @movmal11
applymovement 0x3 @mover9
applymovement 0x4 @movmal12
pause 0x15
msgbox @d4a 0x6
fadescreen 0x1
applymovement 0xFF @mover10
warp 0x4 0x1 0xFF 0x2 0x5
hidesprite 0x4
hidesprite 0x5
hidesprite 0x3
fadescreen 0x0
setvar 0x4050 0x1
end

#org @intro
= [player]: Oye...[rival]\pCuando estoy contigo, me siento el\nhombre más feliz del mundo y...\pBueno...\p¡Ay!\p¡Maldita sea!\nMe da vergüenza decirlo...

#org @mover
#raw 0x4A
#raw 0x66
#raw 0xFE

#org @d1a
= [rival]: Oh, vamos querido...\pSabes que puedes decirme lo que\nquieras.

#org @mover2
#raw 0x62
#raw 0x4
#raw 0x52
#raw 0xFE

#org @d1y
= [player]: ¡Oh!\pEsta bien...

#org @mover3
#raw 0x2F
#raw 0xA
#raw 0x2D
#raw 0x8
#raw 0x30
#raw 0xFE

#org @mover4
#raw 0x2
#raw 0xFE

#org @movcam1
#raw 0x11
#raw 0x11
#raw 0x11
#raw 0x11
#raw 0x11
#raw 0xFE

#org @movmal1
#raw 0x10
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x0
#raw 0xFE

#org @movmal2
#raw 0x10
#raw 0x10
#raw 0x12
#raw 0x12
#raw 0x12
#raw 0x0
#raw 0xFE

#org @maldia1
= ???: Muy bien recluta...\pAhí esta nuestro objetivo.\pNombre de Pila: [rival]\nEdad: 20 años\pSi queremos completar nuestro plan\nsera necesario que la raptemos.

#org @movmal3
#raw 0x2
#raw 0xFE

#org @maldia2
= ???: Pero...jefe...\p¿Por que nuestro plan depende de\nque secuestremos a esa chica?

#org @movmal4
#raw 0x3
#raw 0x65
#raw 0x55
#raw 0x55
#raw 0x55
#raw 0xFE

#org @maldia3
= ???: ¿¡Cuestionas mi autoridad?!

#org @movmal5
#raw 0x62
#raw 0x54
#raw 0xFE

#org @maldia4
= ???: N...n...\pN-no....señor...

#org @maldia5
= ???: Bien...\pAsí me gusta...\pAhora...\n¿Que tal si eres una buena\lrecluta...y me traes a esa chica?

#org @maldia6
= ???: ¡SI SEÑOR!

#org @movcam2
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0xFE

#org @movmal6
#raw 0x1D
#raw 0x1D
#raw 0x1D
#raw 0x4E
#raw 0xFE

#org @maldia7
= ???: ¡Oye Tu!\n¡Vendras conmigo!

#org @movmal7
#raw 0x10
#raw 0xFE

#org @mover5
#raw 0x62
#raw 0x4E
#raw 0xFE

#org @movmal8
#raw 0x2
#raw 0xFE

#org @mover6
#raw 0x65
#raw 0xFE

#org @d2y
= [player]: ¡Oye!\p¿¡QUE DEMONIOS CREES QUE HACES CON\nMI NOVIA?!

#org @maldia8
= ???: ¡No te importa renacuajo!\nSolo vete y no estorbes.

#org @d2a
= [rival]: ¡AY!

#org @movmal9
#raw 0x50
#raw 0xFE

#org @mover7
#raw 0x50
#raw 0x18
#raw 0x64
#raw 0xFE

#org @mover8
#raw 0x2
#raw 0x62
#raw 0x18
#raw 0x1
#raw 0xFE

#org @d3a
= [rival]: ¡¡¡[player]!!!

#org @movmal10
#raw 0x13
#raw 0x0
#raw 0xFE

#org @maldia9
= ???: ¡CALLATE Y CAMINA!

#org @movmal11
#raw 0x10
#raw 0x10
#raw 0x4E
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0xFE

#org @mover9
#raw 0x10
#raw 0x4E
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0x10
#raw 0xFE

#org @d4a
= [rival]: ¡ALGUIEN AYUDEME!\n¡¡¡[player]!!!

#org @movmal12
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0x20
#raw 0xD
#raw 0xD
#raw 0xFE

#org @mover10
#raw 0x0
#raw 0xFE
 

BandeDollio

Extintor-Sama
Leyéndolo así un poco por encima, porque el problema no creo que esté en el la parte del código del centro te diría dos cosas:
En los script de nivel tengo entendido que no hace falta poner ese tipo de condiciones
#org @inicio
compare 0x4050 0x0
if 0x1 goto @codigogeneral
end
dado que el mismo script no se ejecuta si a la variable le pones otro valor del que específicas en el cabezal del mapa.
Otra cosa puede ser eso mismo, que te hayas equivocado al poner el valor que tenga que tener la variable o que en algún momento ese valor vuelva a pasar a 0.
 

Xabier2012

Usuario mítico
Cuando ejecutas el "warp 0x4 0x1 0xFF 0x2 0x5" el código se deja de ejecutar. Siempre que haces un warp, como cambias de mapa, el código se deja de ejecutar, entonces solo tienes que poner el setvar antes de ese warp. Y por cierto, si intentas desaparecer minis, decirte que primero tienes que hacer un setflag 0x(la flag asignada a dichos minis), y luego un hidesprite a todos ellos (si lo quieres hacer a la vez le puedes poner el mismo número de persona y así solo ejecutas una vez el comando hidesprite). Si haces un warp, como la pantalla se refresca, con hacer un setflag bastaría y no necesitas hacer un hidesprite.
 

Cheve

MoonLover~
Miembro de honor
Tienes que mezclar un poco de las dos respuestas que haz recibido:

- Pon el Warp al finalizar el Script

- Usa uno de tipo 0x2 y pon la variable 4050 y en valor 0, usando directamente el offset de @codigogeneral
 
Estado
Cerrado para nuevas respuestas.
Arriba