qna_rh
Thread Id: 9356
Thread Name: Como hago un script de movimientos
#0
Fily5 12594
Hola a todos alguien me puede explicar como hacer un scripts de movimientos como por ejemplo que quieras pasar a un lado y te diga ¡no pases por aquí! y te hagas para atras.

POR FAVOR no me hagan un lio de letras y numeros y palabras que me cuesta entenderlo así, sólo me dan un ejemplo y me explican como es.

POSDATA: Me pueden explicar los pasos por PokeScript o con XSE (me da =) y tambien cómo se hacen los movimientos en el XSE que cuando estuve editando un script del pokemon rubi los movimientos eran algo asi:

-----------
' Movements
'-----------
#org 0x1A3A97
#raw 4E 'Face Left
#raw FE 'End of Movements

Pero no entiendo xD
#1
Ray Laé Àlfori 0
Bueno... no soy una experta en scripts, pero como lo que pides sí que sé hacerlo, te lo explicaré xD

Para hacer un script de movimiento, tienes que poner un "applymovement" en el lugar del script donde quieres que se produzca el movimiento. Un ejemplo muy básico sería éste (usando dynamic: si no sabes lo que es, mírate algún tutorial sobre eso, porque es muy práctico):

#dynamic 0x800000

#org @inicio
lock
msgbox @nopases MSG_NORMAL
applymovement MOVE_PLAYER @movimientos
waitmovement 0x0
release
end


Ésta sería la parte principal del script. Como puedes ver, hay un msgbox y un applymovement: el msgbox sería para que te dijeran "¡No pases!" y el applimovement, para que te movieras hacia atrás. En este caso, como quieres mover el jugador, tienes que poner "applymovement MOVE_PLAYER", pero sería distinto si quisieras mover cualquier otro mini. Detrás del applymovement, como ves, siempre tienes que poner un waitmovement.

Pero esto es sólo la base del script. Ahora falta indicarle al juego 1) Qué texto tiene que mostrar con el msgbox y 2) Qué movimientos exactos tiene que hacer el jugador. Eso tienes que añadirlo debajo del script:

#dynamic 0x800000

#org @inicio
lock
msgbox @nopases 0x6
applymovement MOVE_PLAYER @movimientos
waitmovement 0x0
release
end

#org @movimientos
#raw 0x?
#raw 0xFE

#org @nopases
= ¡Ey, deténte! ¡No pases!


Fíjate en el @movimientos. Cada uno de esos "#raw" indica un movimiento diferente y puedes poner tantos como quieras: arriba rápido, arriba poco a poco, a la derecha lento, a la izquierda, abajo, signo de exclamación/interrogación, etc. Lo único que tiene que haber siempre al final es un "#raw 0xFE", que indica que terminan los movimientos. Si no lo hicieras, el script no funcionaría.

Cada movimiento está representado por un número hexagesimal: por eso te he puesto un interrogante, porque ahí tienes que poner el número que corresponda al movimiento que tú necesitas. Por ejemplo, si pusieras esto de aquí, serían dos pasos lentos hacia la derecha y un paso lento hacia abajo:

#org @movimientos
#raw 0x7
#raw 0x7
#raw 0x4
#raw 0xFE


Y te estarás preguntando: ¿cómo sé yo qué número corresponde a cada movimiento? Pues mucha gente ha elaborado sus propias listas con los movimientos posibles. Los números cambian con cada versión: yo trabajo con Rubí inglés, así que los números que te he puesto antes (0x7 y 0x4) corresponden a ese juego. Si quieres la lista completa de movimientos para Ruby, erre- la ha posteado en este mismo foro: http://wahackforo.com/t-Aporte-C%C3%B3digos-PKM-Ruby-Movs-Flags-Especiales-etc Si trabajas con otra ROM, tendrás que investigarlo tú mismo: seguro que encuentras una lista por ahí ^^ O, si no, basta con mirarlo en los scripts que ya trae el juego.

Por cierto... el ejemplo que te he puesto es usando la última versión del XSE. Asegúrate de que lo tienes actualizado, porque los applymovements y msgboxes se ven diferentes que en versiones más antiguas ;)

Espero haberte ayudado (que alguien me corrija si he dicho alguna burrada, pero creo que no xD) Si aún así, no entiendes mi explicación, te recomiendo un tutorial muy bueno de Diegoisawesome que hay en Pokecommunity, y que explica extensamente cómo hacer scripts con XSE.

Saludos ^^
#2
Javi4315♪ 13374
A ver, lo que ha dicho (espara que copie el nick xDD) Ray Laé Àlfori es correcto. Pero querría añadir algo más. Dices que si quieres cambiar un movimiento, cómo lo haces ¿No? Pues así. Mira los movimientos de este script:

#org 0x8116A0
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements


Si quieres cambiar alguno, sólo tienes que hacer esto:

#org 0x8116A0
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements


Quitas lo que te he puesto en tachado (del movimiento que quieras, obviamente) y pones el nuevo movimiento:

#org 0x8116A0
#raw 0x13
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0xFE 'End of Movements


Y ya está xD. Pero te aviso de que sólo puedes editar los movimientos, si quieres añadir más entonces tienes que compilar de nuevo.

También he visto que quieres que eso suceda cuando pasas por un sitio y no cuando hablas con una persona. Eso lo debes hacer con scripts de gatillo (En tutoriales hay uno sobre eso).

En fin, parece que no estás muy metido en los scripts ahora mismo xD. Y hacer un gatillo, bueno, no es difícil, pero tienes que meter variables y demás, así que yo te recomiendo que empieces desde abajo, no quieras correr. Antes de hacer un gatillo o un nivel, deberías aprender a compilar correctamente. También ir poco a poco para asegurar una sintaxis correcta en el futuro. Así que lo que yo te recomiendo es que te pases por la zona de tutoriales y, por lo pronto, te leas el tutorial de iniciación de Rey boo, muy bueno ;D

Bueno, si te surge alguna duda más o algo, postea ;P

Saludos!!