Registrarse

[Rutina] FR| ASM| Salto en cualquier dirección.

Invert

why so serious?
Esta vez traigo algo pequeño.
Para aquellos a los que nos hemos visto en una situación como esta:


Hice una rutina simple para eso.

Rutina:

00 0E 7F 28 05 D0 04 4A A1 00 89 18 09 68 03 4A 10 47 03 4A 10 47 00 00 5C 70 3A 08 33 81 06 08 49 81 06 08

Solo copian y pegan en un offset vacío.
Luego se van a este offset:068129
Y pegan esto: 4A 10 47 xx xx xx 08.
En los xx irá la dirección de su rutina +1 permutada.

¿Cómo se usa?

Seguramente habran visto estos comportamientos de tiles:

3A salto arriba
3B salto abajo
38 salto a la derecha
39 salto a la izquierda

Pues, ahora solo deben usar el comportamiento #7F, este reemplazará a los 4 anteriores.
 
Última edición por un moderador:

Cheve

MoonLover~
Miembro de honor
Entonces con ésto saltará en la dirección que estemos mirando? :eek:

______

Wuju! Aportazo para no romperse tanto la cabeza con esos minijuegos de saltos. ¡Gracias! :D
 
Última edición:

Foxz.

Foxz.
jajaja cabronaso, creí que seria otro tipo de ejemplo, bueno, como te dije, es un aportazo que simplifica mucho ese tipo de situaciones, ¡No al getplayerpos!
 

FEL!X

ᴛᴜ ᴀᴍɪɢᴏ ᴇʟ ᴇsᴘᴀᴅᴀᴄʜíɴ
Usuario de Oro
3A salto arriba
3B salto abajo
38 salto a la derecha
39 salto a la izquierda

Pues, ahora solo deben usar el comportamiento #7F, este reemplazará a los 4 anteriores.
Aaah cuando me lo dijiste pensé «Será una rutina a la cual llamar» veo que no nos entendimos xD. ¡Si es un comportamiento está de puta madre! Yo tiraba de usar un gatillo con setmaptile. Ahora eso se acabó. Gracias por todo colega. ¡Yeah! Es algo que sí o sí utilizaré.

Un abrazo Invert.

PD: Eso si, ¿Cómo lo verías dos rutinas con el mismo propósito pero que solo fueran para un solo eje? Es decir, comportamiento de salto izquierda/derecha y otro de abajo/arriba ya que en muchas veces solo queremos que sea en único eje. (Erase aquí un interesado ;))
 

Sayer301!

UnityLord!
Miembro de honor
Yo estoy un poco en la misma duda que @FEL!X es decir si yo estoy en una roca en la que tengo que saltar hacia la izquierda o hacia abajo, significa tu rutina que podría saltar a la derecha y quedarme encima del agua? Siendo así no molaria nada la verdad ya que podría tirarme al agua y liarla parda XD
 

Cheve

MoonLover~
Miembro de honor
Yo estoy un poco en la misma duda que @FEL!X es decir si yo estoy en una roca en la que tengo que saltar hacia la izquierda o hacia abajo, significa tu rutina que podría saltar a la derecha y quedarme encima del agua? Siendo así no molaria nada la verdad ya que podría tirarme al agua y liarla parda XD
...
Compare Faceplayer Face_LEFT
if 0x1 call @salto
Compare Faceplayer Face_DOWN
if 0x1 call @salto
...



#org @salto
applymovement @movsalto
end


#org @movsalto
#raw 0x7F
#raw 0xFE


De esa forma solo saltará mirando Izq o Abajo, por dar un ejemplo C:
 

Sayer301!

UnityLord!
Miembro de honor
...
Compare Faceplayer Face_LEFT
if 0x1 call @salto
Compare Faceplayer Face_DOWN
if 0x1 call @salto
...



#org @salto
applymovement @movsalto
end


#org @movsalto
#raw 0x7F
#raw 0xFE


De esa forma solo saltará mirando Izq o Abajo, por dar un ejemplo C:
Pero eso sería con scripting, la idea es que la rutina hace eso por ti asignandole los comportamientos que menciona Pabel antes en uno solo.
 

Cheve

MoonLover~
Miembro de honor
Pero eso sería con scripting, la idea es que la rutina hace eso por ti asignandole los comportamientos que menciona Pabel antes en uno solo.
El tema es que antes se tenía un movimiento para estar mirando a la Derecha, otro para estar mirando a la Izq, etc. Ahora es uno para donde estes mirando, por lo menos así lo entendí xD
 

jiangzhengwenjz

Usuario mítico
Re: Respuesta: FR| ASM| Salto en cualquier dirección.

Yo estoy un poco en la misma duda que @FEL!X es decir si yo estoy en una roca en la que tengo que saltar hacia la izquierda o hacia abajo, significa tu rutina que podría saltar a la derecha y quedarme encima del agua? Siendo así no molaria nada la verdad ya que podría tirarme al agua y liarla parda XD
I guess this can only be used in some specific maps like this:
________
| x x x x |
| x x x x |
| x x x x |
|---------|
Your case will require modification and extension of the routine (for new behavior bytes), but the main algorithm needn't be changed. (Not sure with other methods, but this one should be the simplest)
 

FEL!X

ᴛᴜ ᴀᴍɪɢᴏ ᴇʟ ᴇsᴘᴀᴅᴀᴄʜíɴ
Usuario de Oro
...
Compare Faceplayer Face_LEFT
if 0x1 call @salto
Compare Faceplayer Face_DOWN
if 0x1 call @salto
...



#org @salto
applymovement @movsalto
end


#org @movsalto
#raw 0x7F
#raw 0xFE


De esa forma solo saltará mirando Izq o Abajo, por dar un ejemplo C:
Ya lo sabemos Cheve pero el tema que propongo es hacerlo como Invert para hacerlo más sencillo y de paso ahorrarse unos bytes a la larga.

En lugar de hacer un gatillo al lado de cada salto con setmaptile con comportamiento pues hacer directamente bloques que tengan varios comportamientos como lo que ha hecho invert pero también para ejes X y Y por separado. Eso facilita las cosas y la verdad es que bastante.

Véase los saltos entre las rocas del Verde Hierba de Sayer, son bloques con comportamiento y gatillos que los cambian con un setmaptile. La idea es dejar de usar el gatillo con setmaptile para pasar a usar directamente bloques con dirección personalizada y así facilitarlo todo.

Un abrazo :blush:
 

Dani_SR_17

¡Pokémon LionHeart!
Un gran aporte se mire como se mire, por mucho que estén diciendo.
¿Qué no esta completo? Bueno, es cierto que es mejorable, pero lo general lo hace bien, y con eso me renta.

Aunque personalmente no vaya a usarlo porque tengo mi propio sistema para todo el asunto me mola mucho.
 

Invert

why so serious?
Aaah cuando me lo dijiste pensé «Será una rutina a la cual llamar» veo que no nos entendimos xD. ¡Si es un comportamiento está de puta madre! Yo tiraba de usar un gatillo con setmaptile. Ahora eso se acabó. Gracias por todo colega. ¡Yeah! Es algo que sí o sí utilizaré.

Un abrazo Invert.

PD: Eso si, ¿Cómo lo verías dos rutinas con el mismo propósito pero que solo fueran para un solo eje? Es decir, comportamiento de salto izquierda/derecha y otro de abajo/arriba ya que en muchas veces solo queremos que sea en único eje. (Erase aquí un interesado ;))
Realmente no te he pillado del todo.
Pero según lo que he entendido, solo es saber poner el comportamiento, o mezclarlo con los que ya están.
Pero no sé, como te digo, no te he pillado del todo.
 

Dani_SR_17

¡Pokémon LionHeart!
Realmente no te he pillado del todo.
Pero según lo que he entendido, solo es saber poner el comportamiento, o mezclarlo con los que ya están.
Pero no sé, como te digo, no te he pillado del todo.
El se refiere, a que en la rom tienes:
- Saltar izquierda
- Saltar derecha
- Saltar arriba
- Saltar abajo

Tu has añadido:
- Saltar a todos lados

El quisiera:
- Saltar izquierda o derecha
- Saltar arriba o abajo

Por ejemplo, aunque realmente creo que combinando los 5 primeros ya tienes las posibilidades, voy a pensarlo un poco xD
@Invert ejemplo práctico de lo que dice @FEL!X:

En 1 vale tu rutina, puesto que por arriba y por abajo no puedes saltar, así que dpm, por los lados va perfe.
Ahora bien, en 2 la cosa falla, ya que arriba tienes una piedra a la que no puedes saltar (esta rota), si vas por el camino de abajo, y en 2 pones saltar desde todos los lados podrías saltar perfectamente a la piedra rota.
En ese caso, es donde el solo poder saltar a derecha o a izquierda va de lujo.
Pero claro, un comportamiento para cada situación..., van a ser unos poquitos.
 
Última edición:

Invert

why so serious?
El se refiere, a que en la rom tienes:
- Saltar izquierda
- Saltar derecha
- Saltar arriba
- Saltar abajo

Tu has añadido:
- Saltar a todos lados

El quisiera:
- Saltar izquierda o derecha
- Saltar arriba o abajo

Por ejemplo, aunque realmente creo que combinando los 5 primeros ya tienes las posibilidades, voy a pensarlo un poco xD
@Invert ejemplo práctico de lo que dice @FEL!X:

En 1 vale tu rutina, puesto que por arriba y por abajo no puedes saltar, así que dpm, por los lados va perfe.
Ahora bien, en 2 la cosa falla, ya que arriba tienes una piedra a la que no puedes saltar (esta rota), si vas por el camino de abajo, y en 2 pones saltar desde todos los lados podrías saltar perfectamente a la piedra rota.
En ese caso, es donde el solo poder saltar a derecha o a izquierda va de lujo.
Pero claro, un comportamiento para cada situación..., van a ser unos poquitos.
Vale, entiendo.
Pues no sabría decirte como hacer lo de los 2 saltos por comportamientos.
 

Sayer301!

UnityLord!
Miembro de honor
A ver que igual no me he explicado bien, pero si yo usase esa rutina y me encontrase en esta situación:



Ese montañero podría saltar a la izquierda y llegar al borde, saltar a la derecha y llegar a la roca, saltar hacia abajo y llegar a la roca, o saltar hacia arriba y quedarse en mitad del agua. Y eso sería un error garrafal!

A no ser que alguno me lo hayáis explicado ya y no lo haya entendido. Esta rutina tiene sus pros, pero tambien sus grandes contras!
 

Laquin

Usuario mítico
A ver que igual no me he explicado bien, pero si yo usase esa rutina y me encontrase en esta situación:



Ese montañero podría saltar a la izquierda y llegar al borde, saltar a la derecha y llegar a la roca, saltar hacia abajo y llegar a la roca, o saltar hacia arriba y quedarse en mitad del agua. Y eso sería un error garrafal!

A no ser que alguno me lo hayáis explicado ya y no lo haya entendido. Esta rutina tiene sus pros, pero tambien sus grandes contras!
Lo puedes hacer como ya te ha dicho @Cheve xD



Muy buena rutina, ni idea de si la voy a usar o no, pero no me arrepentiría de ello ;)
 

Gold

Porrero a tiempo parcial
Miembro insignia
No estoy seguro si la voy a usar, pero me parece muy buena idea la de tu rutina, aunque siempre es bueno poner el código sin compilar de la rutina, asi tambien no fomentas tanta vagancia, igual +repu y +gracias c:
 

FEL!X

ᴛᴜ ᴀᴍɪɢᴏ ᴇʟ ᴇsᴘᴀᴅᴀᴄʜíɴ
Usuario de Oro
El se refiere, a que en la rom tienes:
- Saltar izquierda
- Saltar derecha
- Saltar arriba
- Saltar abajo

Tu has añadido:
- Saltar a todos lados

El quisiera:
- Saltar izquierda o derecha
- Saltar arriba o abajo
Vale, entiendo.
Pues no sabría decirte como hacer lo de los 2 saltos por comportamientos.
A ver que igual no me he explicado bien, pero si yo usase esa rutina y me encontrase en esta situación:



Ese montañero podría saltar a la izquierda y llegar al borde, saltar a la derecha y llegar a la roca, saltar hacia abajo y llegar a la roca, o saltar hacia arriba y quedarse en mitad del agua. Y eso sería un error garrafal!

A no ser que alguno me lo hayáis explicado ya y no lo haya entendido. Esta rutina tiene sus pros, pero tambien sus grandes contras!
Precisamente por casos como éstos se necesita una rutina de salto en un único eje X o Y. Imagínate que te encuentras en una zona con muchos riscos y un buen puzle de saltos. Quedaría mal que la situación mostrada por Sayer se repitiera constantemente.

A ver, la rutina es buena, pero se tiene que tener en cuenta esta parte. Si se puede, sacamos rutinas de único eje; si no se puede, pues agregamos un script de gatillo cuando cojamos la ruta que plantea Sayer y hacemos que el bloque de direcciones cambie a uno normal sin salto y, en caso de que salgamos de la ruta anterior, pues que el bloque cambie al multisalto original. Es decir, dependiendo de que ruta de saltos cojamos, el bloque que hace quedar mal el evento es cambiado por uno u otro mediante un gatillo con setmaptile.

A ver, por scripts que no sea, pero si fuera posible; estaría bien :p

Un abrazo :blush:

Aclaro: En el ejemplo que nos plantea Sayer meteríamos dos gatillo de setmaptile. Uno en la roca del medio diferente que haría que el bloque superior no tuviera salto y otra en la roca dónde se sitúa el montañero para que el bloque si tuviera multisalto.
 
Arriba