This does not work. This is not specific enough. I've broken my game twice attempting this. You need to either make this even clearer to understand, or make a video tutorial, because I'm not getting this at all...Hey guys, I've finally made an ACTUAL* BW2 repel system for emerald.
Okay, before I start off, you're gonna have to credit Darthatron, and Phenom2122, and if you want, Le Pug, Tcoppy, and I.
Anyways, follow the tutorial here, https://www.pokecommunity.com/showthread.php?t=281573 and do the Emerald part in another post instead.
Once you have that done, you're going to have to make this script for all of them:
For Repel:
For Super Repel:Code:#dynamic 0xE40000 #org @start compare 0x40e9 0x1 if 0x4 goto @no removeitem 0x56 0x1 setvar 0x4021 0x64 setvar 0x40E9 0x1 sound 0x2F msgbox 0x8E4D3B9 MSG_SIGN '"[player] used a Repel." end #org @no msgbox @nope MSG_SIGN end
For Max Repel:Code:#dynamic 0xE40000 #org @start compare 0x40e9 0x1 if 0x4 goto @no removeitem 0x53 0x1 setvar 0x4021 0xC8 setvar 0x40E9 0x2 sound 0x2F msgbox 0x8E4D278 MSG_SIGN '"[player] used a Super Repel." end #org @no msgbox @nope MSG_SIGN end #org @nope = But the effects of a Repel\nlingered from earlier.
Change the offsets for the dialogue or it won't work.Code:#dynamic 0xE40000 #org @start compare 0x40e9 0x1 if 0x4 goto @no removeitem 0x54 0x1 setvar 0x4021 0xFA setvar 0x40E9 0x3 sound 0x2F msgbox 0x8E4D2F5 MSG_SIGN '"[player] used a Max Repel." end #org @no msgbox @nope MSG_SIGN end #org @nope = But the effects of a Repel\nlingered from earlier.
You can also change the second variable, to whichever you want/is safe, but you'll need to change it later.
Then, make a script with this:
After you're done with that, go to 0x2A4B2A and replace the script there with "goto and 0x(the offset for that script).Code:#dynamic 0xE40000 #org @start msgbox @wore MSG_SIGN compare 0x40E9 1 if 0x1 goto @repel compare 0x40E9 2 if 0x1 goto @super compare 0x40E9 3 if 0x1 goto @max end #org @repel checkitem 0x56 1 compare 0x800d 1 if 0x4 goto @yesrepel setvar 0x40e9 0 closeonkeypress end #org @yesrepel msgbox @use 0x5 compare LASTRESULT 1 if 0x1 goto @userepel setvar 0x40e9 0 closeonkeypress end #org @userepel removeitem 0x56 0x1 setvar 0x4021 0x64 setvar 0x40E9 0x1 sound 0x2F msgbox 0x8E4D3B9 MSG_SIGN '"[player] used a Repel." end #org @super checkitem 0x53 1 compare 0x800d 1 if 0x4 goto @yessuper setvar 0x40e9 0 closeonkeypress end #org @yessuper msgbox @use 0x5 compare LASTRESULT 1 if 0x1 goto @usesuper setvar 0x40e9 0 closeonkeypress end #org @usesuper removeitem 0x53 0x1 setvar 0x4021 0xC8 setvar 0x40E9 0x2 sound 0x2F msgbox 0x8E4D278 MSG_SIGN '"[player] used a Super Repel." end #org @max checkitem 0x54 1 compare 0x800d 1 if 0x4 goto @yesmax setvar 0x40e9 0 closeonkeypress end #org @yesmax msgbox @use 0x5 compare LASTRESULT 1 if 0x1 goto @usemax setvar 0x40e9 0 closeonkeypress end #org @usemax removeitem 0x54 0x1 setvar 0x4021 0xFA setvar 0x40E9 0x3 sound 0x2F msgbox 0x8E4D2F5 MSG_SIGN '"[player] used a Max Repel." end #org @wore = The Repel's effect wore off[.] #org @use = Use another?
It hasn't been tested much, but it should work. If you find any bugs, write them here.
*The only difference is that the screen goes to the Overworld when using it. Sorry about that, but I really don't know any other way to do it.
This does not work. This is not specific enough. I've broken my game twice attempting this. You need to either make this even clearer to understand, or make a video tutorial, because I'm not getting this at all...
Well if its not working,
I can try to help you out, by mine method would be a lot shorter and different than it...
I can do something like
"asking if to use or not to use repel after the expiration of repel,
and if you select yes "multioption box will appear with "REPEL", "SUPER REPEL" and "MAX REPEL" as option and work accordingly upon your choice, but if you select none, or select "NO" in previous option, nothing will happen i.e. game will continue without execution of repel.... :)
I have already dont it in FR now the only thing would be to change some bytes in the previous script I made and find some pointer (Which is already found in some of the earlier posts) :)
Now If you want me to do this, I can make a go, but make sure to make a reply to this thread to notify me :)
I don't quite understand why, but now my Repels last almost nothing.-Snip-
I don't quite understand why, but now my Repels last almost nothing.
I made every single modification twice, this is the script I've inserted once compiled at the offset 0x71BBA0.
Just look at this: https://i.imgur.com/05JY5i5.gifv
Did you added any other thing into it?
Because I applied this mod, and no problem happened. Repel is still giving exact amount of steps.
Oh, one thing again, Can you repost the script code please? (the hastebin had 30 day expiry)
Anyways, follow the tutorial here, https://www.pokecommunity.com/threads/281573 and do the Emerald part in another post instead.
checkflag 0x3e9
if 0x1 goto (offset of original code for this repel)
setflag 0x3e9
goto (offset of original code for this repel + 11)
Someone can make a updated tutorial for it? its very hard... i think everybodys trying to figure it, its not simple.
It's actually pretty simple. But you can use TL's Quick Enhancer or Hex Helper Double OH! to implement it.
For emerald:
Alright, so with the help of Le Pug and Touched, I've made a very, very ratchet system for it. The repel's effect wore off script offset is at 2A4B2A, so you can repoint it or just goto @pointer it...
Anyways, of course, this would be much better with a multichoice, but just for testing I did yes/no boxes. Anyways, here it is, you don't need to credit us or anything..
#dynamic 0xE40000
#org @start
lockall
msgbox @woreoff 0x6
msgbox @1 0x5
compare 0x800D 0x1
if 0x1 goto @Repel
msgbox @2 0x5
compare 0x800D 0x1
if 0x1 goto @Super
msgbox @3 0x5
compare 0x800D 0x1
if 0x1 goto @Max
releaseall
end
#org @Repel
checkitem 0x56 0x1
compare 0x800D 0x1
if 0x4 goto @rp
msgbox @notenough 0x6
releaseall
end
#org @notenough
= You don't have enough.
#org @rp
sound 0x2F
msgbox @usedr MSG_SIGN
removeitem 0x56 0x1
setvar 0x4021 100
release
end
#org @usedr
= [player] used a Repel.
#org @1
= Use a Repel?
#org @2
= Use a Super Repel?
#org @3
= Use a Max Repel?
#org @Super
checkitem 0x53 0x1
compare 0x800D 0x1
if 0x4 goto @sp
msgbox @notenough 0x6
releaseall
end
#org @sp
sound 0x2F
msgbox @useds MSG_SIGN
removeitem 0x53 0x1
setvar 0x4021 200
releaseall
end
#org @useds
= [player] used a Super Repel.
#org @Max
checkitem 0x54 0x1
compare 0x800D 0x1
if 0x4 goto @mp
msgbox @notenough 0x6
releaseall
end
#org @mp
sound 0x2F
msgbox @usedm MSG_SIGN
removeitem 0x54 0x1
setvar 0x4021 250
release
end
#org @usedm
= [player] used a Max Repel.
#org @woreoff
= The Repel's effect wore off[.]
@The_learner
What are the offsets to put the the BW2 Repel system in Emerald? All I see is scripts. I see the offsets for Fire Red, but not for Emerald. May you or someone post a quick step by step guide with easier understanding?
Hmmm... anyone have this completely ruin the effect of repel? It just lets me use it infinitely but it no longer repels and I never get an end message.
Edit: I swear I mess everything up the first time on everything I add... I got it working! Works great.