Removing a trigger from a map

Upon playing through the base of Sterling Silver so I get a feel of what I'm gonna be working on, I came across an error, that when you walk into the Ruins, your rival comes up to you as he would do in Burned Tower and demands to battle, though his sprite is invisible. How might I change it so that doesn't happen? I've been looking around and if I go to the map header, I know if I switch some bytes around or delete some, it would stop, but I'm not exactly sure.

I'm working on Sterling Silver: Cry of Celebi, if you have any questions, suggestions, or comments, feel free to email me

Re: Removing a trigger from a map

That part is called from the script header, not a trigger event on the map. If you change the map script pointer in Johtomap to be the same as the Event pointer, it won't load any scripts when the map starts so that event won't happen.

Re: Removing a trigger from a map

Mhm alright, so if I take 108E2C (map script) and I flip around the 2C and the 8E (I remember you had to do that) and look it up in GoldFinger, and then I replace the bytes with F792 (end of event data), it'll stop the event?

I'm working on Sterling Silver: Cry of Celebi, if you have any questions, suggestions, or comments, feel free to email me

Re: Removing a trigger from a map

I think you're overthinking what I said. Open the map in Johtomap, goto map properties, copy the address it lists for "event data", paste it in the box labeled "map script" and hit "apply changes". This will tell the game to look for the script header in the same place it is already looking for events.

Why this works is that:-At the start of the event data for every map is x00 x00-When the game reads this as a script header, it sees "No type 1 scripts, No type 2 scripts"-The game doesn't load any scripts when you load the map.

Simple as that. To clarify again with a picture:

EDIT: Or alternately, you can go to the offset that is already listing for the script header, and have it so the scripts point to a byte that is x90 so it will end the script without doing anything, like RED said.

Re: Removing a trigger from a map

Mateo wrote:

Why this works is that:-At the start of the event data for every map is x00 x00

Well, the event data pointer can point to any kind of a structure, not just two 00's ;)But that's correct, Gamefreak programmed the game in such programming language that when it was assembled into GBC processor language, the event data was constructed like this having two bytes before it as filler data. And this filler data is obviously 00's because the game was assembled from a language using symbolic (or "dynamic") addresses.

Kinda felt like saying this, don't think I meant to "needle" you in any way, that was not the idea :)