qna_rh
Thread Id: 9643
Thread Name: [Pokemon_ruby_USA]Problema con scripts y comando applymovement
#0
Beykex 16430
Hola otra vez... siento tantas dudas pero es ahora o nunca xD

He estado intentando aprender a hacer scripts de gatillo con applymovement, pero desde el primero que hice lo único que consigo es congelar el juego cuando piso el script.

Bien, es un script de prueba, tal y como sigue:
#org 0x6B1054
checkflag 0x831
if 0x1 goto 0x86B0D48
applymovement 0x20 0x814FF6E
waitmovement 0x0
msgbox 0x86B12D8 MSG_NORMAL '"Platón me dijo que la respuesta a\..."
applymovement 0x20 0x814FF80
setflag 0x831
release
end

'---------------
#org 0x6B0D48
release
end


'---------
' Strings
'---------
#org 0x6B12D8
= Platón me dijo que la respuesta a\ntodo era: "A".


'-----------
' Movements
'-----------
#org 0x14FF6E
#raw 0xA 'Step Left (Normal)
#raw 0xA 'Step Left (Normal)
#raw 0x8 'Step Down (Normal)
#raw 0xA 'Step Left (Normal)
#raw 0xFE 'End of Movements

#org 0x14FF80
#raw 0x2C 'Slide Right
#raw 0x2C 'Slide Right
#raw 0x2C 'Slide Right
#raw 0x2C 'Slide Right
#raw 0x2C 'Slide Right
#raw 0x2C 'Slide Right
#raw 0x2C 'Slide Right
#raw 0xFE 'End of Movements

No sé qué le ocurre. Quizá sea por el waitmovement, pero por lo que sé no debería de congelar el juego (tan sólo mostrar a destiempo el msgbox). O sea tal vez por el primer parámetro del applymovement, que no sé muy bien cómo indicar qué minsprite ha de moverse. ¿Falta algún comando?¿Hay alguno mal, o demás?

Si consigo resolver esto creo que ya podré hacer applymovements. Gracias de antemano y saludos ;)
#1
.:F?an The KilleR:. 13541
es el waitmovement creo, debes ponerlo detras del segundo movimiento y quitarlo de antes del msgbox y luego debes poner este wait:

waimovement 0x(nº del mini en a-map que mas movimiento haga)

Spero haberte ayudado.

Salu2.
#2
Javi4315♪ 13374
Veamos, no he mirado bien tu script, pero le he echado un vistazo rápido y parece que el problema no reside en el propio script.

¿Has configurado el gatillo?

Es decir, cuando seleccionas el gatillo en cuestión en advance map te aparecerá su información en la parte derecha. Ahí tienes que poner una variable y un valor a la variable (este último opcional) a parte del offset del script.

Si no lo has hecho es ahí donde reside el problema. Si eso lo has hecho, pues dímelo a ver si lo soluionamos ;D

EDITO: No creo que sea lo que dice killer, el poner el waitmovement así sólo podría llegar a ocasionar un error en el movimiento, pero no en el propio juego. Al menos, que yo sepa xD.
#3
Beykex 16430
1. Pues tienes razón javi4315, no había puesto nada en los apartados de las variables. Y, sinceramente, no tenía ni idea de que hubiese que hacer eso ó.ò ¿podrías explicármelo, por favor?
2. Y otra cosa también: en Advance Map, los minis (y otros eventos) se listan del 0 al número que sea (15, por ejemplo), o del 1 al que fuese (siguiendo el ejemplo anterior, 16). En el script, ¿qué número uso, aquel que comienza en 0 o el que comienza en 1?
Gracias
#4
Javi4315♪ 13374
Iniciado por Beykex

1. Pues tienes razón javi4315, no había puesto nada en los apartados de las variables. Y, sinceramente, no tenía ni idea de que hubiese que hacer eso ó.ò ¿podrías explicármelo, por favor?
2. Y otra cosa también: en Advance Map, los minis (y otros eventos) se listan del 0 al número que sea (15, por ejemplo), o del 1 al que fuese (siguiendo el ejemplo anterior, 16). En el script, ¿qué número uso, aquel que comienza en 0 o el que comienza en 1?
Gracias


Mira, te dejo un tutorial mío en .pdf sobre scripts de gatillos:

http://www.megaupload.com/?d=H78HWMOH

Ahí viene todo eso de las variables y demás.

Respecto a la segunda, me he liado un poco xD. Vamos a ver, debes usar el que empieza desde el 1. El número que aparece donde pone "No de gente" (o algo así xD). Pero este número debe estár en hex, es decir, si te pone "10", no debes poner "10", sino "A". Para pasar los números a hex puedes utilizar la calculadora de windows ;D
#5
.:F?an The KilleR:. 13541
a partir de 1, y en hex (creo), tienes q ponel 0003 en el primer desconocido y en var number 4050 si es ruby o 5000 si es fire red.

Salu2 y me alegro de que lo hayas solucionado.
#6
Beykex 16430
Es que es eso mismo, a mí me lió entre el apartado "Nº" a secas y el apartado "Nº de gente". Entonces, uso (en hex, obvio) el número que aparece en "Nº de gente". Bien, vale.
Voy a mirar tu tutorial y a ver si consigo hacer bien el script. Si lo consigo, avisaré aquí.

Muchísimas gracias y saludos

Edito: lo conseguí, todo era por el tema de que no lo había configurado. Seguí tu tutorial y lo conseguí sin problemas. Muchas gracias ;)