Registrarse

Ayuda script nivel

Estado
Cerrado para nuevas respuestas.
Mi duda es si puedo jugar con estos parámetros para jugar dos veces con un mismo script de nivel 02, el mapa al que envía ese warp tiene asignado otro para que al finalizar el script de allí regrese a este. El problema es que al regresar y estar la flag activa no va a ese pointer, ni sucede nada vamos, como si no hubiese script de nivel, y si no me equivoco al hacer un subvar y quitar el valor de la variable el script debería repetirse. No?

Script de muestra:

Código:
#dynamic 0x800000

#org @start
setvar 0x4013 0x1
checkflag 0x201
if 0x1 goto @2
msgbox @text 0x2
waitmsg
subvar 0x4013 0x1
warp 0x3 0x0 0xFF 0x02 0x05
end

@2
applymovement 0xFF @mov
waitmovement 0xFF
msgbox @text2 0x2
end
 

Bugrhak

A long time ago I used to call myself "Subzero".
Ahí te lo dejo corregido:


Código:
#dynamic 0x800000
#org @start
setvar 0x4013 0x1
checkflag 0x201
if 0x1 goto @2
msgbox @text 0x6
waitmsg
subvar 0x4013 0x1
warp 0x3 0x0 0xFF 0x02 0x05
end

#org @2
applymovement 0xFF @mov
waitmovement 0xFF
msgbox @text2 0x6
waitmsg
end

#org @text
= [texto]

#org @text2
= [texto]
Explicación:
Lo único que hice fue añadir el "#org" en "@2" pripiamente dicho. También agregué el puntero donde escribirá el texto (me sorprende que lo hayas podido compilar sin eso) por ultimo, si es un msgbox de habla normal, el tipo suele ser 0x6 y mas en un script de nivel (también lo he puesto).
 
Última edición:
Ahí te lo dejo corregido:


Código:
#dynamic 0x800000
#org @start
setvar 0x4013 0x1
checkflag 0x201
if 0x1 goto @2
msgbox @text 0x6
waitmsg
subvar 0x4013 0x1
warp 0x3 0x0 0xFF 0x02 0x05
end

#org @2
applymovement 0xFF @mov
waitmovement 0xFF
msgbox @text2 0x2
end

#org @text
= [texto]
Explicación:
Lo único que hice fue añadir el "#org" en "@2" pripiamente dicho. También agregué el puntero donde escribirá el texto (me sorprende que lo hayas podido compilar sin eso) por ultimo, si es un msgbox de habla normal, el tipo suele ser 0x6 y mas en un script de nivel (también lo he puesto).
Perdón, eso lo tenía bien, pero como era un script bastante largo puse a mano esa parte y no me di cuenta de esos fallos, pero el script lo tengo como tú (menos el tipo de msgbox que lo pongo siempre 0x2), aún así no funciona. Fallo mío.
 

Bugrhak

A long time ago I used to call myself "Subzero".
Perdón, eso lo tenía bien, pero como era un script bastante largo puse a mano esa parte y no me di cuenta de esos fallos, pero el script lo tengo como tú (menos el tipo de msgbox que lo pongo siempre 0x2), aún así no funciona. Fallo mío.
¿O sea que lo que has puesto solo es un fragmento?

Creo yo que con mas razón debes poner el script completo aquí. Eso ayudaría MUCHISIMO.
Por otra parte,el msgbox de tipo 0x2 se usa especialmente para cuando hablas con una persona y su particularidad es que no necesitas poner ni lock ni faceplayer. El de tipo 0x6 es un mensaje normal y sin "efectos" por así decirlo. Por lo ya dicho no se pone uno de tipo 0x2 ya que no tienes un npc al que darle las dos funciones que vienen ligadas al tipo de msg...
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
¿El script se ejecuta cuando la variable 4013 tiene valor 0?
¿Así está configurado en A-Map?

Si no es así, cambia el setvar por un addvar.
 
Probaré a cambiar el tipo de msgbox. En cuanto al valor es 0 el que tiene, así que tiene que ser subvar. La verdad no entiendo porque no se ejecuta. Puede deberse a que tuve que modificar algunas veces ese script y volverlo a insertar? Porque a veces eso me trae algún que otro fallo.
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Probaré a cambiar el tipo de msgbox. En cuanto al valor es 0 el que tiene, así que tiene que ser subvar. La verdad no entiendo porque no se ejecuta. Puede deberse a que tuve que modificar algunas veces ese script y volverlo a insertar? Porque a veces eso me trae algún que otro fallo.
Igual no entiendo por qué le pones valor 1 y luego lo restas.
Prueba borrar todo eso y directamente poner un setvar o un addvar en @2
 
Igual no entiendo por qué le pones valor 1 y luego lo restas.
Prueba borrar todo eso y directamente poner un setvar o un addvar en @2
Porque como voy a resetear ese mapa yendo a otro y luego regresar a ese, si le resto el valor a la variable el script de nivel se debería de repetir y como la flag estaría activa en vez de repetir lo mismo iría al otro pointer. No se puede hacer así? No entiendo la forma en la que me dices usando un set o add var.
 
Estado
Cerrado para nuevas respuestas.
Arriba