Registrarse

Tengo un evento en bucle, ¿que hago?

Estado
Cerrado para nuevas respuestas.
Hola soy nuevo en el rom hacking y querría saber como finalizar un evento de givepokemon y giveitem, para que al hablar de nuevo con esa persona no me siga dando el objeto o el pokemon.
Gracias
 

montegom

Like no one ever was
Si no te queda claro pasame el script y te lo modifico pero seria despues del lock y faceplayer poner checkflag 0x500 y antes del end poner setflag 0x500.

Despues del checkflag 0x500 pones otra linea que seria if 0x1 goto @inicio2, creas @inicio2 y pones end.

#dynamic offset 0x800000
#org @inicio
faceplayer
lock
checkflag 0x5000 (comprueba si la flag 5000 esta activada)
If 0x1 goto @inicio2 (si lo esta te lleva a inicio2)
(Tu script aqui)
setflag 0x5000 (activa la flag 5000)
end

#org @inicio2
(Lo que quieres que pase la segunda vez que hablais)
end
 

Javi4315

Babyface
Miembro de honor
Si no te queda claro pasame el script y te lo modifico pero seria despues del lock y faceplayer poner checkflag 0x500 y antes del end poner setflag 0x500.

Despues del checkflag 0x500 pones otra linea que seria if 0x1 goto @inicio2, creas @inicio2 y pones end.

#dynamic offset 0x800000
#org @inicio
faceplayer
lock
checkflag 0x5000 (comprueba si la flag 5000 esta activada)
If 0x1 goto @inicio2 (si lo esta te lleva a inicio2)
(Tu script aqui)
setflag 0x5000 (activa la flag 5000)
end

#org @inicio2
(Lo que quieres que pase la segunda vez que hablais)
end
Es exactamente eso. Pero la 0x5000 no es una flag, es una variable. Utiliza flags entre la 0x200 y la 0x2FF. Hay más que podrías usar, pero para cuando gastes esas flags ya habrás llegado a aprender cuáles.
 

H.B.P

Emperador Kaktiácero
Miembro de honor
Tal y como te dijeron arriba, puedes activar una flag para evitar que vuelva a repetirse. No obstante, si prefieres otras alternativas, puedes hacer que el script compruebe cierto valor de una variable y que, en base a él, te haga o no la entrega (comandos compare, setvar, addvar, etc.) o incluso puedes hacer que el script compruebe que tienes dicho objeto (en caso de que sea un objeto clave).
 

Bugrhak

A long time ago I used to call myself "Subzero".
Sumado a lo que dicen los de arriba (básicamente está todo dicho),para no "gastar" una flag y si es el primer pokémon, puedes comprobar si flag que activa el menú pokémon está encendida, ya que lo lógico es que cuando te den el primer pokémon, activen esa flag.

Dependiendo que rom base uses, el numero de la flag es uno u otro. Lo puedes consultar en uno de los archivos "std" que vienen con el XSE que es el editor de scripts más usado.
 
Estado
Cerrado para nuevas respuestas.
Arriba