Registrarse

[ROM Hacking] Pregunta/respuesta rápida

Estado
Cerrado para nuevas respuestas.
Respuesta: Consultorio de dudas de ROM Hacking

Hola!! :)

Queria saber que tan dificil seria implementar el sistema de repartir experiencia de Ruby Omega y Zafiro Alfa en V Generacion, (especificamente Pokemon Black and White ) donde el atacante gana el 100% de la exp y el resto del equipo el 50% cada uno.

Se que involucraria cambiar la mecanica del objeto. pero me gustaria saber si realmente es posible y como. Muchas Gracias!!:awesome:
 

seocuenta

Baneado
Respuesta: Consultorio de dudas de ROM Hacking

casualmente vengo a preguntar lo mismo que Ilan. Es decir, en general lo de repartir experiencia, cuál dificil sería implementarlo en los más nuevos? Gracias
 
Hola, soy nuevo esto pero quisiera saber cual es el codigo se tiene que poner para que otro sprite pueda volar o teletransportarse, por su atencion muchas gracias

También tengo otra duda, cual es el comando especial para poder hacer que un sprite que no sea el protagonista salga volando, al terminar el combate
 
tengo dos preguntas super rapidas:

la primera tiene que ver con el special 0x16f el cual sirve para entregar la dex nacional en fire red. al ponerla al princicpio del juego es genial pero se salta gran parte del final (primera ronda de liga y etc) como se puede hacer para que ya no se salte esa parte?? se puede quitar alguna var o algun if para que no siga haciendo eso?

lo otro tiene que ver con tipo ??? de los hackroms... se puede añadir pokemones (fakemon obviamente) que tengan ese tipo ??? y que puedan ser capturables sin que haya problemas? badd egg o etc...

espero atento sus respuestas..

gracias de antemano
 
tengo una duda.
1) se acuerda que en pokemon Crystal hay un hombre que te puede teletransportar hasta tu casa?
como se hace eso en pokemon ruby?
 

Gold

Porrero a tiempo parcial
Miembro insignia
Pues se hace con un warpmuted, sabiendo el número de mapa y banco de mapa a donde vas a teletransportarte, ahorita edito con la estructura del script que tenes que hacer
 

Cheve

MoonLover~
Miembro de honor
tengo una duda.
1) se acuerda que en pokemon Crystal hay un hombre que te puede teletransportar hasta tu casa?
como se hace eso en pokemon ruby?
Tambien puedes usar un Warpteleport, que te elevará en el aire girando y te dejará caer, puedes escribir "warpteleport" en XSE, presionar F1 y te saldran todos los parámetros necesarios para ese comando :)
 

Gold

Porrero a tiempo parcial
Miembro insignia
El método de teletransportación en GSC se hace con warpmuted, no con warpteleport, para que funcione tenés que crear un warp en el sitio donde vas a ser teletransportado, después haces un script normal, valiendote de la msgbox tipo 0x5, el script quedaría asi:
Código:
#dynamic 0x800000
#org @inicio
lock
faceplayer
msgbox @frase 0x5
compare LASTRESULT 0x1
if 0x1 goto @inicio2
if 0x0 goto @inicio3
release
end

#org @inicio2
msgbox @frase2 0x6
end

#org @inicio3
msgbox @frase3 0x6
warpmuted 0x3 0x2 0x1 0x6 0xC
end

#org @frase
Aquí iría el texto donde estaría la caja.

#org @frase2
Esto es si dices que Sí

#org @frase3
Esto es si dices que No
La estructura del warpmuted es:

Código:
warpmuted 0x(No. de Banco de Mapa) 0x(No. de Mapa) 0x(No. de Warp del mapa destino) 0x(Pocisión X) 0x(Pocisión Y)
 
El método de teletransportación en GSC se hace con warpmuted, no con warpteleport, para que funcione tenés que crear un warp en el sitio donde vas a ser teletransportado, después haces un script normal, valiendote de la msgbox tipo 0x5, el script quedaría asi:
Código:
#dynamic 0x800000
#org @inicio
lock
faceplayer
msgbox @frase 0x5
compare LASTRESULT 0x1
if 0x1 goto @inicio2
if 0x0 goto @inicio3
release
end

#org @inicio2
msgbox @frase2 0x6
end

#org @inicio3
msgbox @frase3 0x6
warpmuted 0x3 0x2 0x1 0x6 0xC
end

#org @frase
Aquí iría el texto donde estaría la caja.

#org @frase2
Esto es si dices que Sí

#org @frase3
Esto es si dices que No
La estructura del warpmuted es:

Código:
warpmuted 0x(No. de Banco de Mapa) 0x(No. de Mapa) 0x(No. de Warp del mapa destino) 0x(Pocisión X) 0x(Pocisión Y)
gracias DonNeo es que quisiera hacer algo como estilo que te digan
"no eres muy fuerte aun debes ir a entrenar" y te mande a otro lado a "entrenar"

ya lo pobre y me corrio de maravilla.
 
Duda existencial algo rara la cual seguramente tiene una fácil solución pero mi mente no llega a comprender.

Bueno, pues resulta que quería repuntear un texto que tiene como puntero 6E 5A 41 08 y el offset donde está lo que quiero poner es el D0 (00 00 00 D0 supongo que es sólo lo último) así quedando D0 08. Y como pueden observar, se queda corto.

¿Cómo lo pondría? ¿Pongo 0 para cubrir? Si es así, ¿al principio o al final?

Espero que podáis ayudarme.
 

Kaiser de Emperana

Called in hand
Duda existencial algo rara la cual seguramente tiene una fácil solución pero mi mente no llega a comprender.

Bueno, pues resulta que quería repuntear un texto que tiene como puntero 6E 5A 41 08 y el offset donde está lo que quiero poner es el D0 (00 00 00 D0 supongo que es sólo lo último) así quedando D0 08. Y como pueden observar, se queda corto.

¿Cómo lo pondría? ¿Pongo 0 para cubrir? Si es así, ¿al principio o al final?

Espero que podáis ayudarme.
Los punteros siempre tienen que ser de 4 bytes. Si están en la memoria "normal" de la ROM tienen por encabezado 08, y si están en la memoria expandida 09.
Por ejemplo, si repunteaste el texto a 800000, equivale a 08800000. Y si lo repunteaste a 1200000 equivale a 09200000.

La cosa es que en el puntero los bytes "se acomodan al revés". Por ejemplo si tenes repunteaste el texto a 87A248, completo sería 08 87 A2 48. Pero al cambiar el puntero los bytes van al revés, o sea, 48 A2 87 08.

Según entendí, vos querés repuntear a D00000, así que en la ROM tendrías que escribir 00 00 D0 08.
 

Loz

_______
Duda existencial algo rara la cual seguramente tiene una fácil solución pero mi mente no llega a comprender.

Bueno, pues resulta que quería repuntear un texto que tiene como puntero 6E 5A 41 08 y el offset donde está lo que quiero poner es el D0 (00 00 00 D0 supongo que es sólo lo último) así quedando D0 08. Y como pueden observar, se queda corto.

¿Cómo lo pondría? ¿Pongo 0 para cubrir? Si es así, ¿al principio o al final?

Espero que podáis ayudarme.
Bueno @Kraimon , lo que entendí es que tienes un texto en el offset 415A6E y su puntero es 6E5A4108 y el offset donde colocaste cosas es D0.

Si abres ese archivo en un editor hexadecimal y te vas a ese offset veras que el editor te muestra el offset algo así ‘000000D0’, si es un juego normal de Pokémon de GBA solo se tome en cuenta la parte de color azul y de color rojo por lo que el puntero te quedaría algo así ‘D0 00 00 08’, lo que te comenta @Kaiser de Emperana está bien hasta cierto punto, lo que está un poquito mal es la representación del puntero ’00 00 D0 08’.

Debo decir que yo nunca he visto ningún diálogo en el offset 'D0' de un juego de Pokémon, a no ser que el archivo que estes editando sea de otra cosa.
 
estoy haciendo un hackrom de pokemon un poco bestia y tengo pensado en que cuando un pokemon sea debilitado, se activase el mismo proceso que cuando lo liberas con el pc cuando sus PS lleguen a 0.
Podria alguien guiarme en este proceso, que es lo que tengo que aprender?
 
Hace tiempo que no hago Scripts similares, asi que espero que se entienda.
Si yo hago un Script de Trainerbattle, en el que un Mini aparezca y te rete a una batalla (Con setflag y showsprite, claro. Un Script de Gatillo)... ¿Que pasará con ese mini si pierdo la batalla?, ¿Seguirá oculto o esta vez sería visible?.

#dynamic 0x800000

#org @inicio
lockall
msgbox @pelea 0x6
setflag 0x<Flag>
showsprite 0x<Persona>
applymovement 0x<Persona> @move1
waitmovement 0x<Persona>
msgbox @msg1 0x6
trainerbattle 0x 0x 0x @def
[. . .]

Pregunto esto puesto que si pongo los comando setflag y showsprite antes del Trainerbattle, lo normal es que este Minisprite aparezca y se quede en el mapa... Pero, ¿que pasa si pierdo esa TB?, al salir del Centro Pokémon, ¿El minisprite seguiría ahí?. Si es así, ¿de que manera puedo hacer que eso no pase?.
De antemano, gracias.
 

Cheve

MoonLover~
Miembro de honor
Hace tiempo que no hago Scripts similares, asi que espero que se entienda.
Si yo hago un Script de Trainerbattle, en el que un Mini aparezca y te rete a una batalla (Con setflag y showsprite, claro. Un Script de Gatillo)... ¿Que pasará con ese mini si pierdo la batalla?, ¿Seguirá oculto o esta vez sería visible?.

#dynamic 0x800000

#org @inicio
lockall
msgbox @pelea 0x6
setflag 0x<Flag>
showsprite 0x<Persona>
applymovement 0x<Persona> @move1
waitmovement 0x<Persona>
msgbox @msg1 0x6
trainerbattle 0x 0x 0x @def
[. . .]

Pregunto esto puesto que si pongo los comando setflag y showsprite antes del Trainerbattle, lo normal es que este Minisprite aparezca y se quede en el mapa... Pero, ¿que pasa si pierdo esa TB?, al salir del Centro Pokémon, ¿El minisprite seguiría ahí?. Si es así, ¿de que manera puedo hacer que eso no pase?.
De antemano, gracias.

- Si el mini no está escondido, el showsprite sobra.

- El Setflag hará que el mini desaparezca, no que aparezca.

Aclarado ésto, lo que tienes antes del "trainerbattle" se ejecutará pase lo que pase.
Conclusión:
Con ese setflag, luego de la batalla, ganes o pierdas, no se mostrará el mini.
 

Corbitto

espantaviejas
Respuesta: [Scripting] Pregunta/respuesta rápida

una duda rápida, mi rom en algunas partes donde estaban llenas de ff se lleno de 00, alguien sabe por que pasa esto y si lo puedo cambiar a ff sin dañar algo. hace mucho que no muevo el rom y no recuerdo lo ultimo que hice.
 
Una duda:

¿Cómo puedo configurar una batalla donde puedo perder sin ser enviado al Centro Pokemon, como en la primera batalla contra Gary en el laboratorio?

Y aprovechando el espacio: puede configurar una batalla que ser detenido después de un cierto punto? Quiero que el jugador Batalla contra ciertos entrenador y debido al hecho de que es imposible ganar, la lucha se detiene antes de que alguien gane o pierda.

ROM Base: Rojo Fuego
 
Estado
Cerrado para nuevas respuestas.
Arriba