Registrarse

[ROM Hacking] Pregunta/respuesta rápida

Estado
Cerrado para nuevas respuestas.

Omega

For endless fight
Miembro del equipo
Moderador/a

Yainish

Usuario de platino
Mi duda es: ¿Por qué un script de gatillo tan simple se cogela?


#dynamic 0x800000
'---------------
#org @start
setvar 0x4000 0x1
end


Configuración en AM:
Desconocido: 0003
Var Number:4001
Var value:0000
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Re: Respuesta: [ROM Hacking] Pregunta/respuesta rápida

Mi duda es: ¿Por qué un script de gatillo tan simple se cogela?


#dynamic 0x800000
'---------------
#org @start
setvar 0x4000 0x1
end


Configuración en AM:
Desconocido: 0003
Var Number:4001
Var value:0000
No lo se con certeza, pero por lo que veo la variable que has usado en el script es la 4000 y en los datos has puesto la 4001. No se si será eso. De todos modos no vasta con hacer el script, tienes que declararlo como un script de gatillo.

Hay varios buenos tutoriales sobre estos scripts por estos lares. Te aconsejo mirarlos, si no es que el problema es el que te he dicho.
 
Quisiera saber como hacer para que el prota en vez de aparecer en Pueblo Paleta aparezca en otro punto del mapa osea cambiar el punto de inicio????
 

FelixTheCat

Profesional de WaH
★Witzer★;420514 dijo:
Ultima pregunta que tengo como puedo hacer para que el prota empieze con un equipo determinado????
Una forma seria hacer 'givepokemon' en un script de nivel, entonces cuando entras al mapa, o apareces, se te den los pokémon que seleccionaste. Eso o un script de gatillo, un poste o mini obligatorio, etc, etc.
 
Hola nesesito ayuda!!
Soy nuevo en el hacking y acabo de editar con yape a los starters (bulbasaur/charmander/squirtle) pero estaba usando una base de pokemon ruby. quisiera saber si alguna forma de hacer que esos pokes que edite salgan como inciales
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Re: Respuesta: [ROM Hacking] Pregunta/respuesta rápida

Hola nesesito ayuda!!
Soy nuevo en el hacking y acabo de editar con yape a los starters (bulbasaur/charmander/squirtle) pero estaba usando una base de pokemon ruby. quisiera saber si alguna forma de hacer que esos pokes que edite salgan como inciales
En el parámetro de givepokemon de cada script tienes que editar el único givepokemon (buscalo con control f) que hay por cada script. Solo edita el número del primer 0x al número de tu pokemon.

Si usas el script original vas a tener que cambiar muchas osas para que quede bien. Te recomiendo que lo hagas tu mismo desde ero, es más sencillo.
 

CrisMaster

Usuario de platino
¡Hola! Necesito ayuda con este script de givepokemon:
#dynamic 0x800000

'---------------
#org @start
lock
faceplayer
checkflag 0x246
if 0x1 goto @snippet1
msgbox @string1 MSG_KEEPOPEN '"¡Oh! ¡Hola! Parece ser que eres\nu..."
setvar 0x4001 0x83
givepokemon 0x11B 0x5 0x61 0x0 0x0 0x0
compare LASTRESULT 0x0
if 0x1 goto @snippet2
compare LASTRESULT 0x1
if 0x1 goto @snippet3
compare LASTRESULT 0x2
if 0x1 goto @snippet4
release
end

'---------------
#org @snippet1
msgbox @string2 MSG_KEEPOPEN '"¡Espero que lo cuides bien!"
release
end

'---------------
#org @snippet2
textcolor 0x3
fanfare 0x101
preparemsg @string3 '"¡[player] obtuvo a TREECKO!"
waitmsg
waitfanfare
bufferpokemon 0x0 0x83
msgbox @string4 MSG_YESNO '"¿Te gustaría ponerle un nombre a\n..."
compare LASTRESULT 0x0
if 0x1 goto @snippet5
call @snippet6
call @snippet7
goto @snippet5

'---------------
#org @snippet3
textcolor 0x3
fanfare 0x101
preparemsg @string3 '"¡[player] obtuvo a TREECKO!"
waitmsg
waitfanfare
bufferpokemon 0x0 0x83
msgbox @string4 MSG_YESNO '"¿Te gustaría ponerle un nombre a\n..."
compare LASTRESULT 0x0
if 0x1 goto @snippet8
call @snippet9
goto @snippet8

'---------------
#org @snippet4
textcolor 0x3
msgbox @string5 MSG_KEEPOPEN '"There's no more room for POKéMON!\..."
release
end

'---------------
#org @snippet5
textcolor 0x0
msgbox @string6 MSG_KEEPOPEN '"TREECKO es un POKÉMON muy veloz y\..."
setflag 0x246
release
end

'---------------
#org @snippet6
countpokemon
subvar LASTRESULT 0x1
copyvar 0x8004 LASTRESULT
return

'---------------
#org @snippet7
fadescreen 0x1
special 0x9E
waitstate
return

'---------------
#org @snippet8
call @snippet10
goto @snippet5

'---------------
#org @snippet9
fadescreen 0x1
special 0x166
waitstate
lock
faceplayer
return

'---------------
#org @snippet10
bufferboxname 0x0 0x4037
bufferpokemon 0x1 0x4001
checkflag 0x834
if 0x0 call @snippet11
checkflag 0x834
if 0x1 call @snippet12
return

'---------------
#org @snippet11
special2 LASTRESULT 0x165
compare LASTRESULT 0x1
if 0x1 goto @snippet13
msgbox @string7 MSG_KEEPOPEN '"[buffer2] was transferred to\nSome..."
return

'---------------
#org @snippet12
special2 LASTRESULT 0x165
compare LASTRESULT 0x1
if 0x1 goto @snippet14
msgbox @string8 MSG_KEEPOPEN '"[buffer2] was transferred to\nBILL..."
return

'---------------
#org @snippet13
special2 LASTRESULT 0x18A
bufferboxname 0x2 LASTRESULT
msgbox @string9 MSG_KEEPOPEN '"BOX ["][buffer3]" on\nSomeone's PC..."
return

'---------------
#org @snippet14
special2 LASTRESULT 0x18A
bufferboxname 0x2 LASTRESULT
msgbox @string10 MSG_KEEPOPEN '"BOX ["][buffer3]" on\nBILL'S PC wa..."
return


'---------
' Strings
'---------
#org @string1
= ¡Oh! ¡Hola! Parece ser que eres\nun entrenador prometedor. ¿Qué tal\lsi te regalo este raro POKÉMON?

#org @string2
= ¡Espero que lo cuides bien!

#org @string3
= ¡[player] obtuvo a MUDKIP!

#org @string4
= ¿Te gustaría ponerle un nombre\na MUDKIP?

#org @string5
= There's no more room for POKéMON!\pThe POKéMON BOXES are full and\ncan't accept any more!

#org @string6
= ¡MUDKIP es un POKÉMON tranquilo y\nrelajado! ¡úsalo adecuadamente!

#org @string7
= [buffer2] was transferred to\nSomeone's PC.\pIt was placed in \nBOX ["][buffer1]."

#org @string8
= [buffer2] was transferred to\nBILL'S PC.\pIt was placed in \nBOX ["][buffer1]."

#org @string9
= BOX ["][buffer3]" on\nSomeone's PC was full.\p[buffer2] was transferred to\nBOX ["][buffer1]."

#org @string10
= BOX ["][buffer3]" on\nBILL'S PC was full.\p[buffer2] was transferred to\nBOX ["][buffer1]."

Funciona, pero el problema está en que no sé cómo hacer que la persona que te lo entregue te pregunte y te deje responder si lo quieres o no, ya que el hablarle te da sí o sí al mono xD. (Sí, usé como base un script de givepokemon ya establecido en el juego :p )
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Re: Respuesta: [ROM Hacking] Pregunta/respuesta rápida

¡Hola! Necesito ayuda con este script de givepokemon:
#dynamic 0x800000

'---------------
#org @start
lock
faceplayer
checkflag 0x246
if 0x1 goto @snippet1
msgbox @string1 MSG_KEEPOPEN '"¡Oh! ¡Hola! Parece ser que eres\nu..."
setvar 0x4001 0x83
givepokemon 0x11B 0x5 0x61 0x0 0x0 0x0
compare LASTRESULT 0x0
if 0x1 goto @snippet2
compare LASTRESULT 0x1
if 0x1 goto @snippet3
compare LASTRESULT 0x2
if 0x1 goto @snippet4
release
end

'---------------
#org @snippet1
msgbox @string2 MSG_KEEPOPEN '"¡Espero que lo cuides bien!"
release
end

'---------------
#org @snippet2
textcolor 0x3
fanfare 0x101
preparemsg @string3 '"¡[player] obtuvo a TREECKO!"
waitmsg
waitfanfare
bufferpokemon 0x0 0x83
msgbox @string4 MSG_YESNO '"¿Te gustaría ponerle un nombre a\n..."
compare LASTRESULT 0x0
if 0x1 goto @snippet5
call @snippet6
call @snippet7
goto @snippet5

'---------------
#org @snippet3
textcolor 0x3
fanfare 0x101
preparemsg @string3 '"¡[player] obtuvo a TREECKO!"
waitmsg
waitfanfare
bufferpokemon 0x0 0x83
msgbox @string4 MSG_YESNO '"¿Te gustaría ponerle un nombre a\n..."
compare LASTRESULT 0x0
if 0x1 goto @snippet8
call @snippet9
goto @snippet8

'---------------
#org @snippet4
textcolor 0x3
msgbox @string5 MSG_KEEPOPEN '"There's no more room for POKéMON!\..."
release
end

'---------------
#org @snippet5
textcolor 0x0
msgbox @string6 MSG_KEEPOPEN '"TREECKO es un POKÉMON muy veloz y\..."
setflag 0x246
release
end

'---------------
#org @snippet6
countpokemon
subvar LASTRESULT 0x1
copyvar 0x8004 LASTRESULT
return

'---------------
#org @snippet7
fadescreen 0x1
special 0x9E
waitstate
return

'---------------
#org @snippet8
call @snippet10
goto @snippet5

'---------------
#org @snippet9
fadescreen 0x1
special 0x166
waitstate
lock
faceplayer
return

'---------------
#org @snippet10
bufferboxname 0x0 0x4037
bufferpokemon 0x1 0x4001
checkflag 0x834
if 0x0 call @snippet11
checkflag 0x834
if 0x1 call @snippet12
return

'---------------
#org @snippet11
special2 LASTRESULT 0x165
compare LASTRESULT 0x1
if 0x1 goto @snippet13
msgbox @string7 MSG_KEEPOPEN '"[buffer2] was transferred to\nSome..."
return

'---------------
#org @snippet12
special2 LASTRESULT 0x165
compare LASTRESULT 0x1
if 0x1 goto @snippet14
msgbox @string8 MSG_KEEPOPEN '"[buffer2] was transferred to\nBILL..."
return

'---------------
#org @snippet13
special2 LASTRESULT 0x18A
bufferboxname 0x2 LASTRESULT
msgbox @string9 MSG_KEEPOPEN '"BOX ["][buffer3]" on\nSomeone's PC..."
return

'---------------
#org @snippet14
special2 LASTRESULT 0x18A
bufferboxname 0x2 LASTRESULT
msgbox @string10 MSG_KEEPOPEN '"BOX ["][buffer3]" on\nBILL'S PC wa..."
return


'---------
' Strings
'---------
#org @string1
= ¡Oh! ¡Hola! Parece ser que eres\nun entrenador prometedor. ¿Qué tal\lsi te regalo este raro POKÉMON?

#org @string2
= ¡Espero que lo cuides bien!

#org @string3
= ¡[player] obtuvo a MUDKIP!

#org @string4
= ¿Te gustaría ponerle un nombre\na MUDKIP?

#org @string5
= There's no more room for POKéMON!\pThe POKéMON BOXES are full and\ncan't accept any more!

#org @string6
= ¡MUDKIP es un POKÉMON tranquilo y\nrelajado! ¡úsalo adecuadamente!

#org @string7
= [buffer2] was transferred to\nSomeone's PC.\pIt was placed in \nBOX ["][buffer1]."

#org @string8
= [buffer2] was transferred to\nBILL'S PC.\pIt was placed in \nBOX ["][buffer1]."

#org @string9
= BOX ["][buffer3]" on\nSomeone's PC was full.\p[buffer2] was transferred to\nBOX ["][buffer1]."

#org @string10
= BOX ["][buffer3]" on\nBILL'S PC was full.\p[buffer2] was transferred to\nBOX ["][buffer1]."

Funciona, pero el problema está en que no sé cómo hacer que la persona que te lo entregue te pregunte y te deje responder si lo quieres o no, ya que el hablarle te da sí o sí al mono xD. (Sí, usé como base un script de givepokemon ya establecido en el juego :p )
Código:
#dynamic 0x800000

'---------------
#org @start
lock
faceplayer
copyvar 0x4000 LASTRESULT
checkflag 0x246
if 0x1 goto @snippet1
msgbox @string1 MSG_KEEPOPEN '"¡Oh! ¡Hola! Parece ser que eres\nu..."
setvar 0x4001 0x83
msgbox @string2 MSG_YESNO '"Quieres este Pokemon?"
compare LASTRESULT 0x1
if 0x0 goto @snippet2
givepokemon 0x11B 0x5 0x61 0x0 0x0 0x0
compare 0x4000 0x0
if 0x1 goto @snippet3
compare 0x4000 0x1
if 0x1 goto @snippet4
compare 0x4000 0x2
if 0x1 goto @snippet5
release
end

'---------------
#org @snippet1
msgbox @string3 MSG_KEEPOPEN '"¡Espero que lo cuides bien!"
release
end

'---------------
#org @snippet2
msgbox @string4 MSG_NORMAL '"eo que no..."
release
end

'---------------
#org @snippet3
textcolor 0x3
fanfare 0x101
preparemsg @string5 '"¡[player] obtuvo a MUDKIP!"
waitmsg
waitfanfare
bufferpokemon 0x0 0x83
msgbox @string6 MSG_YESNO '"¿Te gustaría ponerle un nombre\na ..."
compare 0x4000 0x0
if 0x1 goto @snippet6
call @snippet7
call @snippet8
goto @snippet6

'---------------
#org @snippet4
textcolor 0x3
fanfare 0x101
preparemsg @string5 '"¡[player] obtuvo a MUDKIP!"
waitmsg
waitfanfare
bufferpokemon 0x0 0x83
msgbox @string6 MSG_YESNO '"¿Te gustaría ponerle un nombre\na ..."
compare 0x4000 0x0
if 0x1 goto @snippet9
call @snippet10
goto @snippet9

'---------------
#org @snippet5
textcolor 0x3
msgbox @string7 MSG_KEEPOPEN '"There's no more room for POKéMON!\..."
release
end

'---------------
#org @snippet6
textcolor 0x0
msgbox @string8 MSG_KEEPOPEN '"¡MUDKIP es un POKÉMON tranquilo y\..."
setflag 0x246
release
end

'---------------
#org @snippet7
countpokemon
subvar 0x4000 0x1
copyvar 0x8004 0x4000
return

'---------------
#org @snippet8
fadescreen 0x1
special 0x9E
waitstate
return

'---------------
#org @snippet9
call @snippet11
goto @snippet6

'---------------
#org @snippet10
fadescreen 0x1
special 0x166
waitstate
lock
faceplayer
return

'---------------
#org @snippet11
bufferboxname 0x0 0x4037
bufferpokemon 0x1 0x4001
checkflag 0x834
if 0x0 call @snippet12
checkflag 0x834
if 0x1 call @snippet13
return

'---------------
#org @snippet12
special2 0x4000 0x165
compare 0x4000 0x1
if 0x1 goto @snippet14
msgbox @string9 MSG_KEEPOPEN '"[buffer2] was transferred to\nSome..."
return

'---------------
#org @snippet13
special2 0x4000 0x165
compare 0x4000 0x1
if 0x1 goto @snippet15
msgbox @string10 MSG_KEEPOPEN '"[buffer2] was transferred to\nBILL..."
return

'---------------
#org @snippet14
special2 0x4000 0x18A
bufferboxname 0x2 0x4000
msgbox @string11 MSG_KEEPOPEN '"BOX ["][buffer3]" on\nSomeone's PC..."
return

'---------------
#org @snippet15
special2 0x4000 0x18A
bufferboxname 0x2 0x4000
msgbox @string12 MSG_KEEPOPEN '"BOX ["][buffer3]" on\nBILL'S PC wa..."
return


'---------
' Strings
'---------
#org @string1
= ¡Oh! ¡Hola! Parece ser que eres\nun entrenador prometedor. ¿Qué tal\lsi te regalo este raro POKÉMON?

#org @string2
= Quieres este Pokemon?

#org @string3
= ¡Espero que lo cuides bien!

#org @string4
= eo que no...

#org @string5
= ¡[player] obtuvo a MUDKIP!

#org @string6
= ¿Te gustaría ponerle un nombre\na MUDKIP?

#org @string7
= There's no more room for POKéMON!\pThe POKéMON BOXES are full and\ncan't accept any more!

#org @string8
= ¡MUDKIP es un POKÉMON tranquilo y\nrelajado! ¡úsalo adecuadamente!

#org @string9
= [buffer2] was transferred to\nSomeone's PC.\pIt was placed in \nBOX ["][buffer1]."

#org @string10
= [buffer2] was transferred to\nBILL'S PC.\pIt was placed in \nBOX ["][buffer1]."

#org @string11
= BOX ["][buffer3]" on\nSomeone's PC was full.\p[buffer2] was transferred to\nBOX ["][buffer1]."

#org @string12
= BOX ["][buffer3]" on\nBILL'S PC was full.\p[buffer2] was transferred to\nBOX ["][buffer1]."
Vaya avería le hecho al script original, he tenido que copiar el valor de LASTRESULT en una variable segura porque sino no se puede usar el yes/no y luego el compare, porque modifica precisamente esa variable.

Si ya has usado la var 0x4000 usa otra, y cambia cada 0x4000 por la var que tu quieras.

Pero bueno, now it works.
 
La verdad no se si lo pregunte ya pero, ¿alguien tiene un .ini de la rom de Mr. Dollsteack para la versión actual de PGE (3.8/3.8.1) (aunque esta bien para la 3.6 o 3.7)?
Gracias
T
 

Leviatan

Antisocial
Respuesta: Re: [ROM Hacking] Pregunta/respuesta rápida

La verdad no se si lo pregunte ya pero, ¿alguien tiene un .ini de la rom de Mr. Dollsteack para la versión actual de PGE (3.8/3.8.1) (aunque esta bien para la 3.6 o 3.7)?
Gracias
T
Mmm... no tengo la ini pero podrias modificar la que viene usando aoffset https://mega.nz/#!6t1BQCZZ!fT8NEhYrUZB-Esw7F3KxscrPMlzHmU0QIctoB_3qhok

existe tutoriales como este->https://whackahack.com/foro/t-45563/gba-recuperar-compatibilidad-advanced-series

que te pueden a ayudar a modificar las inis para hacerlas compatibles con la mayoria de las herramientas
espero haber ayudado

-Erubei
 

L!no

GBA Developer
si nadie te contesta es porque la duda es mas compleja de lo que parece. asi que vayamos por partes.
¿hay datos del pokenav? probablemente si.
¿son usables? no. son residuales.
¿podrian arreglarse? teoricamente, si.
¿seria facil? definitivamente no.
¿cual seria la forma mas facil? ASM.
no se ASM. ¿hay otra forma? si. se llama C.
¿que es C? deberias saberlo. C es un lenguaje simple, que es bastante universal. ( ojo, que sea bastante uniersal no quiere decir que funcione en lo que sea. no esperes que funcione en circuitos del minecraft. ) muchos de los lenguajes modernos descienden del C, algunos ejemplos son PYTHON, C++, objetive C, turboC y C#.
¿y como meto eso en mi ROM? Hay un post de kaiser sobre eso. ahora edito con el link. @Tomitron06

EDIT:https://r.tapatalk.com/shareLink?url=https://wahackforo.com/showthread.php?t=51510&share_tid=51510&share_fid=43596&share_type=t


Aprendiendo a romhackear en C

Enviado desde mi SM-G531M mediante Tapatalk
 
Última edición:

lishark

mucha idea poco hackeo/a mi padre lo mato miutu
tengo un problema al entrar en una puerta(con warp ya establecido)en vez de enviarme al mapa correspondiente se reinicia el juego(me he asegurado de que todo este parejo incluso cambie cambie el tile que iba a usar para el warp por otro por si acaso pero nada)
 

Eddie

U Got Woomy
No se si ya lo pregunte en este post pero,quiero saber como editar el fondo y todo lo demás de los datos del equipo lo mismo con el equipo pokemon

algunos ejemplos son los parches de menú pkmn BW y datos pokemon BW
 
Estado
Cerrado para nuevas respuestas.
Arriba