Registrarse

[DUDA]Almacenamiento de localización.

Estado
Cerrado para nuevas respuestas.

Sayer301!

UnityLord!
Miembro de honor
Estaba preguntandome si hay alguna de almacenar el punto concreto en el que te encuentras para usarlo luego mas tarde, como se que me explico como el culo, pondré un ejemplo práctico.

Imaginar que al boton L (A en el PC) le asigno un script, que es un warp que me lleva a un centro pokémon, cuando lo pulsas !Flash! al centro Pokemon.

Allí se ejecuta un script de nivel que te cura a tus pokémon, pero cuando quiero hacer que vuelva al punto desde donde se teletransportó. ¿Cómo lo haría?



Por otra parte y complicando mas al asunto, si no sabéis responder a esta, con la otra me vale.
¿Y si el centro pokemon al que vamos, tuviese mas salas, y a ellas se accediese por Warp? ¿Luego como podría volver al punto de origen?

Gracias a todos.

Si no me he explicado bien decirmelo, me intentaré explicar mejor.
 

Dani_SR_17

¡Pokémon LionHeart!
Que yo recuerde, hay un special que tras usar un warp y entrar en otra zona, te devuelve a ese warp.
En plan, entras en un edificio, usas el special y apareces en donde entraste.

No estoy muy seguro, mañana te lo miro mejor, pero revisa los scripts de los intercambios y los combates por cable link, que solo hay 1 sala para ellos, y puedes ir desde cualquier CP.
 

Panda

Still alive
Sayer301 dijo:
¿Y si el centro pokemon al que vamos, tuviese mas salas, y a ellas se accediese por Warp? ¿Luego como podría volver al punto de origen?
Hiciese una sala con varios warps, osea un tile de no se que pero que este en el piso, haya varios y le pones los diferentes destinos y que todas lleven luego al punto de origen; no es necesario un script, todo se puede con el A-Map.

Si no me explique bien, pues la verdad no sabria como explicarlo de otra forma.
 
Hace siglos que no toco scripting de GBA pero como traduje parte del tutorial de scripting de diegoisawesome recurdo que en una parte hablaban de un script para obtener la posición del jugador, hice una busqueda optimizada en google y tadá:

Código:
getplayerpos [xxxx] [yyyy]
xxxx: Variable for x position
yyyy: Variable for y position
 

Jon.

Usuario mítico
Pues... supongo que con ASM, ya que cuando guardamos la partida. y luego la cargamos aparecemos donde estábamos.

Pues te puedo decir que uses el comando
Setwarpplace

Edit: para saber como se usa ese comando pudes ver los ascensores de FR.

O también puedes guardar el valor del getplayer en alguna variable. aunque no recuerdo si eso funcióna así. xDD
 

Sayer301!

UnityLord!
Miembro de honor
Que yo recuerde, hay un special que tras usar un warp y entrar en otra zona, te devuelve a ese warp.
En plan, entras en un edificio, usas el special y apareces en donde entraste.

No estoy muy seguro, mañana te lo miro mejor, pero revisa los scripts de los intercambios y los combates por cable link, que solo hay 1 sala para ellos, y puedes ir desde cualquier CP.
Me gusta esta idea, buscaré a ver que encuentro, gracias, luego te cuento que ha salido.


Hiciese una sala con varios warps, osea un tile de no se que pero que este en el piso, haya varios y le pones los diferentes destinos y que todas lleven luego al punto de origen; no es necesario un script, todo se puede con el A-Map.

Si no me explique bien, pues la verdad no sabria como explicarlo de otra forma.
nono, la gracia no sería ir a un punto con warp a otro, si no que te tiene que mandar justo desde donde te fuiste, que debería ser cuando quisieras en cualquier momento y lugar.

Hace siglos que no toco scripting de GBA pero como traduje parte del tutorial de scripting de diegoisawesome recurdo que en una parte hablaban de un script para obtener la posición del jugador, hice una busqueda optimizada en google y tadá:

Código:
getplayerpos [xxxx] [yyyy]
xxxx: Variable for x position
yyyy: Variable for y position
Esto me soluciona el caso de las posiciones X e Y, pero no el del nº de mapa y el nº de banco, ya que me podría mandar a esa posición pero no al mapa adecuado.
 

Naren Jr.

Puto amo
Usuario de Platino
:c a mi se me acaba de ocurrir algo para saber desde que warp entraste puedes colocar un script de gatillo en el warp que al pisarlo le sume 1 a una varible o cualquier cantidad y luego que llegues a ese mapa con un compare revises que var sumo y que te lleve al warp donde esta esa suma uwu no se así lo haría yo D:
 

eing

Miembro de honor
Miembro de honor
Combina el getplayer pos, con una busqueda del mapa en el que te encuentras con el search for cheats.
Hecho esto, copias los valores en variables y configuras el wap con variables y ya esta xD
 

Sayer301!

UnityLord!
Miembro de honor
Combina el getplayer pos, con una busqueda del mapa en el que te encuentras con el search for cheats.
Hecho esto, copias los valores en variables y configuras el wap con variables y ya esta xD
Lo del Search for cheats me lo sueltas mucho y todavia no he aprendido a diferenciar nada dentro de el XD, pero bueno, me las apañaré para eso.

El caso es que discutiendo con gente guarruza por skype he llegado a la duda...
¿El warp me reconocerá las variables como variables y no como valores de parámetro? Imagino que habrá que modificar algo para que lo cuente como variable y no como parámetro, ¿que habria que hacer?
 

Javi4315

Babyface
Miembro de honor
Hay un cierto valor, no puedo concretar cuál, pero creo recordar que ronda el 0x3800, a partir del cuál, los comandos lo reconocen como variable y, por tanto, aplican el valor que contiene la variable. Siempre que el parámetro no sea de 1 byte, entonces no podrás meter una variable.

Sobre el banco y el mapa, como te han dicho, lo puedes sacar de la ram.
 

RedMort

Aprendiendo Decomp
Comandos Scripts | Whack a Hack! - Tutorial-gba

"special 0x9 -->Vuelves por el ultimo warp al que entraste (se pone tal cual)"

Creo que es esto a lo que se refiere Dani.
Eso es algo que siempre he visto pero que a la hora de buscar no lo encontraba.
No tengo ni idea de como va, ni de si te devuelve a la misma posicion, pero espero que algo aporte xD
 

Sayer301!

UnityLord!
Miembro de honor
Bien, recibido todo, me gustan las respuestas en general, bien pues suponiendo que ya tenga la pos X e Y solucionada, el nº de warp no me hace falta, para el banco y el mapa, podría usar la RAM, pero yo no controlo de eso, me acaba de estar Eing dando unas clases de algo que no sabría ni como llamar, y bueno, me he enterado de como saber que unos bytes cambien y tal, pero poco mas.

El caso es que si no encuentro método factible, que creo que no podré, haré scripts de nivel en todos los mapas cambiando 2 variables que predeterminen el banco y mapa.


Gracias por todo, alguna solucion para eso y reabro, solo decirmelo por perfil.
 

Javi4315

Babyface
Miembro de honor
A ver. Estos datos son los que te sirven:

-2031DB4: Banco del mapa anterior (1 byte)
-2031DB5: Número del mapa anterior (1 byte)
-2031DBC: Banco del mapa actual (1 byte)
-2031DBD: Número del mapa actual (1 byte)

Los dos primeros guardan el banco y el número del mapa anterior. Es decir, si estás en pueblo paleta y sube a la ruta 1, ahí encontrarás los datos de pueblo paleta, que es el mapa anterior en el que estuviste.

Los dos segundos muestran el mapa en el que estás en ese momento. Si estás en la ruta 1, te muestra los datos de la ruta 1.

No obstante, los parámetros del banco y el mapa en los warps, son bytes, por lo tanto, no puedes usar variables en ellos.

EDITO: Dime exactamente qué quieres conseguir y te hago una rutina.
 
Estado
Cerrado para nuevas respuestas.
Arriba