- 44
- Posts
- 13
- Years
- Seen Feb 16, 2018
I have a problem too it's extremely weird, I got the script to show up but when I select the yes option it resets
I warn you better to use this tutorial. I found a way better without hacking the bagroutine this badly to expand the repel. You just have to take a look on JPANs dokomentation and understand how it works. I just give one tip, write a script with setvar 0x4020 0xA and Repel will work 10 Steps. With this information you just need to insert your routine before the repel expires.
And this is defently better than mess up the hole bag-system.
Does anyone have some sort of UPS file with this feature that i could patch on to my Emerald rom? I'm not really good with hex and i understand literally none of this. Could anyone help me out here?
.. Well why not share what you know? If you're going to claim that this way is wrong and there is a better way, why not share it here?
This is for Fire Red like most things, it hasn't been ported to Emerald (yet).
Sorry, sorry. I shall respect Darthatron's wishes and learn. Could anyone be willing to help me out?
080830CA: 0C 48 EB F7 4C FA 01 06 00 29 16 D0 41 1E 0C 06 0D 0A 07 48 EB F7 51 FA 00 2C 0E D1 03 4C 25 80 05 48 E6 F7 FA FC 01 20 08 E0 30 AD 03 02
08083119: 06
080A19A5: 06
080A19F6: 1C
080A19F8: 11
080A19FC: 0F
080A1A0E: 21 88 09 02 41 40
080A1A1E: 34 4B 28 21 71 43 5B 18 D9 79 30 1C 02 22 17 4B FF F7 49 FB C7 F7 85 FF 70 BD 20 40 00 00 FF FF 00 00 30 AD 03 02
080A1A5A: 00 00 00 00
080A1A68: 00 00 00 00
081BFB66: 00 00 00 B5 04 48 50 21 00 F0 01 F8 00 BD 00 4A 10 47 1D 74 07 08 99 19 0A 08 00 00 00 00 00 00
Get hold of HxD hex editor. Its a nice user friendly hex editor to start with and to get you familiar with things. In the first post where it says this:
I'll take the first line as an example.Code:080830CA: 0C 48 EB F7 4C FA 01 06 00 29 16 D0 41 1E 0C 06 0D 0A 07 48 EB F7 51 FA 00 2C 0E D1 03 4C 25 80 05 48 E6 F7 FA FC 01 20 08 E0 30 AD 03 02 08083119: 06 080A19A5: 06 080A19F6: 1C 080A19F8: 11 080A19FC: 0F 080A1A0E: 21 88 09 02 41 40 080A1A1E: 34 4B 28 21 71 43 5B 18 D9 79 30 1C 02 22 17 4B FF F7 49 FB C7 F7 85 FF 70 BD 20 40 00 00 FF FF 00 00 30 AD 03 02 080A1A5A: 00 00 00 00 080A1A68: 00 00 00 00 081BFB66: 00 00 00 B5 04 48 50 21 00 F0 01 F8 00 BD 00 4A 10 47 1D 74 07 08 99 19 0A 08 00 00 00 00 00 00
080830CA is an offset in the rom. At the top of HxD click search to open a drop down menu and choose goto (or just press Crtl+G), then in the box that opens enter that offset. You will immediately jump to that position in the rom. Lets read the first line again. It gives you the offset and then a bunch of hex numbers. You need to enter these numbers right where you were taken to with goto, exactly where the cursor is, enter those values, overwriting the existing ones. You can also copy and paste with Ctrl+B (don't use Ctrl+V as this will increase the rom size).
Next offset is 08083119. Use goto or Ctrl+G to get to that offset in the rom. Do the same thing, overwrite all the bytes. Do this for all of these entries.
Then you compile that script that was provided taking note of its offset as Darthatron says. Xse will give you the option to copy this offset, do it and paste it somewhere.
On the final step you have to replace a pointer at 08083100. Once again use goto in HxD to get to that address. Look at the first four bytes that you see. It will be ?? ?? ?? 08. I'm not sure what the exact values will be but that fourth byte should be '08'. That means it is a pointer. Take the pointer that you copied from Xse earlier and reverse it. For eg. if your pointer was 01 02 03, you must make it 03 02 01. Enter these values where I put '??' so that at 08083100 your values will be 03 02 01 08 (or whatever your offset is).
I hope this helps you :)
My apologies, remove the first '08' from the front of your pointer and it should work. That 08 has to do with the location in the rom as a game, hxd is not a rom editor.
Thanks. I added all of the bytes however, i'm not sure about the compiled script part. What should i do there because i'm confused.
Well you could compile it with XSE, I suggest you download it and look through some of the tutorials on this site. But I see that a compiled version of the script has already been provided. So you're going to need HxD again. Where he says
"Here's a compiled version of the script for anyone having problems:"
You need to copy and paste these hex numbers into free space in your rom. Anywhere there are enough 'FF' bytes. There is a tool on this forum somewhere for finding free space but in this case it is such a small amount of bytes that we don't need it.
So once you've copied this into a FF byte area of your choice, put the cursor at the beginning of your new values. Look in the bottom left corner of HxD, that will tell you your current address in the rom. Write that number down somewhere.
Now for the final step go to 083100. Here you will need to enter that number that you wrote down earlier. However, it needs to reverse.
Just as an example, say your number was E01414. First, split it into bytes so that it looks like E0 14 14. Now put those in reverse order 14 14 E0.
Those are the numbers that you enter at 083100, your own numbers of course. Make sure the very next byte is '08'.
That should be it.
Cool! anyway will this work for emerald too?
Well you could compile it with XSE, I suggest you download it and look through some of the tutorials on this site. But I see that a compiled version of the script has already been provided. So you're going to need HxD again. Where he says
"Here's a compiled version of the script for anyone having problems:"
You need to copy and paste these hex numbers into free space in your rom. Anywhere there are enough 'FF' bytes. There is a tool on this forum somewhere for finding free space but in this case it is such a small amount of bytes that we don't need it.
So once you've copied this into a FF byte area of your choice, put the cursor at the beginning of your new values. Look in the bottom left corner of HxD, that will tell you your current address in the rom. Write that number down somewhere.
Now for the final step go to 083100. Here you will need to enter that number that you wrote down earlier. However, it needs to reverse.
Just as an example, say your number was E01414. First, split it into bytes so that it looks like E0 14 14. Now put those in reverse order 14 14 E0.
Those are the numbers that you enter at 083100, your own numbers of course. Make sure the very next byte is '08'.
That should be it.