View Single Post
  #7201    
Old August 15th, 2012 (2:42 AM). Edited August 15th, 2012 by Yoshi-kun.
Yoshi-kun Yoshi-kun is offline
 
Join Date: Jul 2012
Gender: Female
Posts: 8

Okay, so I'm working with the script that determines your starter and your rival's starter in Fire Red. What I've found is that all three of the Pokeballs on Oak's desk have different offsets despite having the exact same script. If you start messing around without giving them all the same offset it goes completely haywire. After I did that, I got this script:

Code:
'---------------
#org 0x169DAE
lock
faceplayer
setvar 0x4001 0x2
setvar 0x4002 0x4
setvar 0x4003 0x7
setvar 0x4004 0x6
compare 0x4055 0x3
if 0x4 goto 0x8169DE4
compare 0x4055 0x2
if 0x1 goto 0x8169BE1
msgbox 0x871A5DF MSG_KEEPOPEN '"Those are Poké Balls.Oh look! It's..."
release
end

'--------------- #org 0x169DE4 msgbox 0x818EA45 MSG_KEEPOPEN '"That's PROF. OAK's last POKéMON." release end

'--------------- #org 0x169BE1 applymovement 0x4 0x81A75EF waitmovement 0x0 showpokepic 0x4002 0xA 0x3 textcolor 0x0 compare 0x4001 0x0 if 0x1 goto 0x8169C14 compare 0x4001 0x1 if 0x1 goto 0x8169C33 compare 0x4001 0x2 if 0x1 goto 0x8169C52 end

'--------------- #org 0x169C14 msgbox 0x818E272 MSG_YESNO '"I see! BULBASAUR is your choice.\n..." compare LASTRESULT 0x1 if 0x1 goto 0x8169C74 compare LASTRESULT 0x0 if 0x1 goto 0x8169C71 end

'--------------- #org 0x169C33 msgbox 0x818E207 MSG_YESNO '"Hm! SQUIRTLE is your choice.\nIt's..." compare LASTRESULT 0x1 if 0x1 goto 0x8169C74 compare LASTRESULT 0x0 if 0x1 goto 0x8169C71 end

'--------------- #org 0x169C52 msgbox 0x818E194 MSG_YESNO '"Ah! CHARMANDER is your choice.\nYo..." compare LASTRESULT 0x1 if 0x1 goto 0x8169C74 compare LASTRESULT 0x0 if 0x1 goto 0x8169C71 end

'--------------- #org 0x169C74 hidepokepic hidesprite LASTTALKED msgbox 0x818E2E5 MSG_KEEPOPEN '"This POKéMON is really quite\nener..." call 0x81A6675 setflag 0x828 setflag 0x291 givepokemon 0x4002 0x5 0x0 0x0 0x0 0x0 copyvar 0x4031 0x4001 bufferpokemon 0x0 0x4002 preparemsg 0x818E30D '"[player] received the [buffer1]\nf..." waitmsg fanfare 0x13E waitfanfare msgbox 0x81A56A7 MSG_YESNO '"Do you want to give a nickname to\..." compare LASTRESULT 0x1 if 0x1 goto 0x8169CCC compare LASTRESULT 0x0 if 0x1 goto 0x8169CDC end

'--------------- #org 0x169C71 hidepokepic release end

'--------------- #org 0x1A6675 copyvar 0x8012 0x8013 return

'--------------- #org 0x169CCC setvar 0x8004 0x0 call 0x81A74EB goto 0x8169CDC

'--------------- #org 0x169CDC closeonkeypress compare 0x4001 0x1 if 0x1 goto 0x8169CFF compare 0x4001 0x2 if 0x1 goto 0x8169D1F compare 0x4001 0x0 if 0x1 goto 0x8169D0F end

'--------------- #org 0x1A74EB fadescreen 0x1 special 0x9E waitstate return

'--------------- #org 0x169CFF applymovement 0x8 0x8169D62 waitmovement 0x0 goto 0x8169D2F

'--------------- #org 0x169D1F applymovement 0x8 0x8169D72 waitmovement 0x0 goto 0x8169D2F

'--------------- #org 0x169D0F applymovement 0x8 0x8169D6B waitmovement 0x0 goto 0x8169D2F

'--------------- #org 0x169D2F textcolor 0x0 msgbox 0x818DD34 MSG_KEEPOPEN '"[rival]: I'll take this one, then!" hidesprite 0x4004 textcolor 0x3 bufferpokemon 0x0 0x4003 preparemsg 0x818DD52 '"[rival] received the [buffer1]\nfr..." waitmsg fanfare 0x13E waitfanfare setvar 0x4055 0x3 checkflag 0x83E if 0x1 call 0x8169D5C release end

'--------------- #org 0x169D5C setvar 0x4070 0x1 return

'--------- ' Strings '--------- #org 0x71A5DF = Those are Poké Balls.

#org 0x18EA45 = That's PROF. OAK's last POKéMON.

#org 0x18E272 = I see! BULBASAUR is your choice.\nIt's very easy to raise.\pSo, [player], you want to go with\nthe GRASS POKéMON BULBASAUR?

#org 0x18E207 = Hm! SQUIRTLE is your choice.\nIt's one worth raising.\pSo, [player], you've decided on the\nWATER POKéMON SQUIRTLE?

#org 0x18E194 = Ah! CHARMANDER is your choice.\nYou should raise it patiently.\pSo, [player], you're claiming the\nFIRE POKéMON CHARMANDER?

#org 0x18E2E5 = This POKéMON is really quite\nenergetic!

#org 0x18E30D = [player] received the [buffer1]\nfrom PROF. OAK!

#org 0x1A56A7 = Do you want to give a nickname to\nthis [buffer1]?

#org 0x18DD34 = [rival]: I'll take this one, then!

#org 0x18DD52 = [rival] received the [buffer1]\nfrom PROF. OAK!

'----------- ' Movements '----------- #org 0x1A75EF #raw 0x3 'Face Right #raw 0xFE 'End of Movements

#org 0x169D62 #raw 0x10 'Step Down (Normal) #raw 0x10 'Step Down (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x11 'Step Up (Normal) #raw 0xFE 'End of Movements

#org 0x169D72 #raw 0x10 'Step Down (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x2E 'Face Up (Delayed) #raw 0xFE 'End of Movements

#org 0x169D6B #raw 0x10 'Step Down (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x13 'Step Right (Normal) #raw 0x2E 'Face Up (Delayed) #raw 0xFE 'End of Movements

The numbers in bold are the important ones.

0x0 = Bulbasaur
0x1 = Squirtle
0x2 = Charmander

By switching them around from their natural order as shown above, I was able to make it where the Rival always goes for the Poke Ball that contains the Pokemon that weak to yours. If you pick Charmander, your Rival will walk in front of Bulbasaur's Poke Ball.

However the problem is that the text still reads that he received Squirtle. And Squirtle's Poke Ball disappears. I keep looking at the code, I can't figure out how to change that because the text command says that Rival received [buffer1] or in A-Text I think it's labeled as \v[&H02]. That's a general command, how do I change it?

For that matter the command hidesprite appears in the Rival's code, but it doesn't seem to label which sprite it's going to hide. How do I change this?

Basically, how do I change the name of the Pokemon that the Rival receives and which Poke Ball sprite disappears from the table?