![]() |
|
|
|
| |||||||
| Binary ROM Hacking Need a helping hand or just want to talk about binary ROM hacks? Get comments and answers to any ROM Hacking-related problems, questions or thoughts you have here. |
| Go to Page... |
|
|
||||
|
||||
|
Yo people!
I'm currently trying to change Prof. Oak's script for him to give the player the National Dex and the Rainbow Pass just after delivering Oak's Parcel. Unfortunately I'm encountering misfortune after misfortune and mistakes after mistake. I'm starting to get lost honestly, when I think everything is finally fine I find a new part not going as planned... Currently I saw two things: The Oak's Parcel script can be started just by talking to Oak after recieving your starter, without even having the Parcel in the bag. I thought I changed bytes to delete colored text as explained here: https://www.pokecommunity.com/showthread.php?p=8314458#post8314458 but when I first talk to Oak before recieving my starter the text is stil blue... Could maybe someone help me with my script and tell my where and why I did wrong? Here is my script: Spoiler:
'---------------
#dynamic 0x800000 #org @start lock faceplayer checkflag 0x2 if 0x1 goto @snippet1 compare 0x4055 0x9 if 0x1 goto @snippet2 compare 0x4055 0x8 if 0x1 goto @snippet3 goto @snippet4 '--------------- #org @snippet1 msgbox @string1 MSG_KEEPOPEN '"Thank you, [player]!\nSincerely, t..." release end '--------------- #org @snippet2 call @snippet5 checkflag 0x2F4 if 0x1 goto @snippet6 release end '--------------- #org @snippet3 msgbox @string2 MSG_KEEPOPEN '"POKéMON around the world wait for\..." release end '--------------- #org @snippet4 msgbox @string3 MSG_KEEPOPEN '"OAK: Oh, [player]!\nHow is my old ..." textcolor 0x3 fanfare 0x105 preparemsg @string4 '"[player] delivered OAK'S PARCEL." waitmsg waitfanfare removeitem 0x15D 0x1 closeonkeypress pause 0x46 msgbox @string5 MSG_KEEPOPEN '"Ah! \nIt's the custom POKé BALL!\p..." closeonkeypress pause 0x1E msgbox @string6 MSG_KEEPOPEN '"Ah, your timing is perfect,\n[play..." goto @snippet7 '--------------- #org @snippet5 special 0x187 compare LASTRESULT 0x2 if 0x1 goto @snippet8 special 0x188 checkflag 0x2F4 if 0x1 call @snippet9 checkflag 0x2F4 if 0x0 call @snippet10 call @snippet11 return '--------------- #org @snippet6 closeonkeypress pause 0x28 preparemsg @string7 '"Wroooooooaaaaaarrrr!" waitmsg compare PLAYERFACING 0x2 if 0x1 call @snippet12 compare PLAYERFACING 0x1 if 0x1 call @snippet13 compare PLAYERFACING 0x4 compare PLAYERFACING 0x3 if 0x1 call @snippet14 applymovement 0x4 @move1 waitmovement 0x0 closeonkeypress pause 0x46 msgbox @string1 MSG_KEEPOPEN '"Thank you, [player]!\nSincerely, t..." setflag 0x2 release end '--------------- #org @snippet7 msgbox @string8 MSG_KEEPOPEN '"Maybe you already saw or caught\nP..." closeonkeypress compare PLAYERFACING 0x2 if 0x1 call @snippet15 compare PLAYERFACING 0x1 if 0x1 call @snippet16 compare PLAYERFACING 0x4 if 0x1 call @snippet17 compare PLAYERFACING 0x3 if 0x1 call @snippet17 msgbox @string9 MSG_KEEPOPEN '"[rival]: Hey, I heard that!\pGramp..." fadedefault msgbox @string10 MSG_KEEPOPEN '"OAK: I know, I know.\nOf course I ..." compare PLAYERFACING 0x2 if 0x1 call @snippet18 compare PLAYERFACING 0x3 if 0x1 call @snippet19 textcolor 0x3 msgbox @string11 MSG_KEEPOPEN '"PROF. OAK took both POKéDEX\nunits..." closeonkeypress call @snippet20 compare PLAYERFACING 0x2 if 0x1 call @snippet21 compare PLAYERFACING 0x1 if 0x1 call @snippet22 compare PLAYERFACING 0x4 if 0x1 call @snippet23 compare PLAYERFACING 0x3 if 0x1 call @snippet24 showsprite 0x9 showsprite 0xA pause 0x1E msgbox @string12 MSG_KEEPOPEN '"[.] [.] [.] [.] [.] [.]\p[.] [.] ..." closeonkeypress hidesprite 0x9 hidesprite 0xA pause 0x1E compare PLAYERFACING 0x2 if 0x1 call @snippet25 compare PLAYERFACING 0x1 if 0x1 call @snippet26 compare PLAYERFACING 0x4 if 0x1 call @snippet27 compare PLAYERFACING 0x3 if 0x1 call @snippet28 textcolor 0x3 fanfare 0x13E preparemsg @string13 '"[player]'s POKéDEX was upgraded!" waitmsg waitfanfare call @snippet20 special 0x16F msgbox @string14 MSG_KEEPOPEN '"Oh! And have you ever heard of the..." setvar 0x4076 0x5 additem 0x170 0x1 setflag 0x846 textcolor 0x3 fanfare 0x13E preparemsg @string15 '"[player] recieved the RAINBOW PASS..." waitmsg waitfanfare fanfare 0x13E call @snippet29 msgbox @string16 MSG_KEEPOPEN '"With this pass you can take a\nfer..." msgbox @string17 MSG_KEEPOPEN '"Now, [player] and [rival]!\pYou re..." msgbox @string18 MSG_KEEPOPEN '"[rival]: Gramps, calm down.\nDon't..." closeonkeypress playsong 0x13C 0x0 compare PLAYERFACING 0x2 if 0x1 call @snippet30 compare PLAYERFACING 0x1 if 0x1 call @snippet31 compare PLAYERFACING 0x4 if 0x1 call @snippet31 compare PLAYERFACING 0x3 if 0x1 call @snippet31 hidesprite 0x8 fadedefault setvar 0x4055 0x8 releaseall end '--------------- #org @snippet8 release end '--------------- #org @snippet9 msgbox @string19 MSG_KEEPOPEN '"OAK: Ah, welcome!\pTell me, how is..." return '--------------- #org @snippet10 msgbox @string20 MSG_KEEPOPEN '"OAK: Now let's see[.]\nHow is your..." return '--------------- #org @snippet11 setvar 0x8004 0x1F special 0x17E special 0x17D setvar 0x8004 0x0 special2 LASTRESULT 0xD4 copyvar 0x8008 0x8005 copyvar 0x8009 0x8006 copyvar 0x800A LASTRESULT buffernumber 0x0 0x8008 buffernumber 0x1 0x8009 msgbox @string21 MSG_KEEPOPEN '"The amount of progress you've made..." checkflag 0x2FF if 0x0 call @snippet32 call @snippet33 compare 0x800A 0x0 if 0x1 goto @snippet34 setvar 0x8004 0x1 special2 LASTRESULT 0xD4 copyvar 0x8008 0x8005 copyvar 0x8009 0x8006 buffernumber 0x0 0x8008 buffernumber 0x1 0x8009 msgbox @string22 MSG_KEEPOPEN '"And your NATIONAL POKéDEX is:\p[bu..." special2 LASTRESULT 0x1B0 compare LASTRESULT 0x0 if 0x1 goto @snippet35 compare LASTRESULT 0x1 if 0x1 goto @snippet36 end '--------------- #org @snippet12 applymovement 0x4 @move2 waitmovement 0x0 return '--------------- #org @snippet13 applymovement 0x4 @move3 waitmovement 0x0 return '--------------- #org @snippet14 applymovement 0x4 @move4 waitmovement 0x0 return '--------------- #org @snippet15 movesprite2 0x8 0x5 0xA showsprite 0x8 playsong 0x13B 0x0 applymovement MOVE_PLAYER @move5 applymovement 0x8 @move6 waitmovement 0x0 return '--------------- #org @snippet16 movesprite2 0x8 0x6 0xA showsprite 0x8 playsong 0x13B 0x0 applymovement 0x4 @move7 applymovement 0x8 @move6 waitmovement 0x0 return '--------------- #org @snippet17 movesprite2 0x8 0x6 0xA showsprite 0x8 playsong 0x13B 0x0 applymovement 0x4 @move7 applymovement MOVE_PLAYER @move8 applymovement 0x8 @move6 waitmovement 0x0 return '--------------- #org @snippet18 applymovement MOVE_PLAYER @move9 waitmovement 0x0 return '--------------- #org @snippet19 applymovement MOVE_PLAYER @move10 waitmovement 0x0 return '--------------- #org @snippet20 copyvar 0x8012 0x8013 return '--------------- #org @snippet21 applymovement 0x4 @move11 waitmovement 0x0 return '--------------- #org @snippet22 applymovement 0x4 @move12 applymovement MOVE_PLAYER @move13 applymovement 0x8 @move13 waitmovement 0x4 return '--------------- #org @snippet23 applymovement 0x4 @move11 applymovement MOVE_PLAYER @move14 waitmovement 0x4 return '--------------- #org @snippet24 applymovement 0x4 @move11 waitmovement 0x0 return '--------------- #org @snippet25 applymovement 0x4 @move15 waitmovement 0x0 return '--------------- #org @snippet26 applymovement 0x4 @move16 waitmovement 0x0 return '--------------- #org @snippet27 applymovement 0x4 @move15 applymovement MOVE_PLAYER @move17 waitmovement 0x0 return '--------------- #org @snippet28 applymovement 0x4 @move15 waitmovement 0x0 return '--------------- #org @snippet29 copyvar 0x8012 0x8013 return '--------------- #org @snippet30 applymovement MOVE_PLAYER @move8 applymovement 0x8 @move18 waitmovement 0x0 return '--------------- #org @snippet31 applymovement 0x8 @move18 waitmovement 0x0 return '--------------- #org @snippet32 textcolor 0x0 return '--------------- #org @snippet33 copyvar 0x8004 0x8009 special 0xD5 waitmsg compare LASTRESULT 0x0 if 0x1 call @snippet37 compare LASTRESULT 0x1 if 0x1 call @snippet38 waitfanfare waitkeypress return '--------------- #org @snippet34 special 0x17F return '--------------- #org @snippet35 msgbox @string23 MSG_KEEPOPEN '"I'll be looking forward to seeing\..." goto @snippet34 '--------------- #org @snippet36 setflag 0x2F4 msgbox @string24 MSG_KEEPOPEN '"Finally[.]\pYou've finally complet..." goto @snippet34 '--------------- #org @snippet37 fanfare 0x13D return '--------------- #org @snippet38 fanfare 0x103 return '--------- ' Strings '--------- #org @string1 = Thank you, [player]!\nSincerely, thank you!\lYou've made my dream a reality! #org @string2 = POKéMON around the world wait for\nyou, [player]! #org @string3 = OAK: Oh, [player]!\nHow is my old POKéMON?\pWell, it seems to be growing more\nattached to you.\pYou must be talented as a POKéMON\nTRAINER.\pWhat's that?\nYou have something for me? #org @string4 = [player] delivered OAK'S PARCEL. #org @string5 = Ah! \nIt's the custom POKé BALL!\pI had it on order.\nThank you! #org @string6 = Ah, your timing is perfect,\n[player]!\lI need you to listen closely. #org @string7 = Wroooooooaaaaaarrrr! #org @string8 = Maybe you already saw or caught\nPOKéMON that my POKéDEX couldn't\lregister.\lMy friend PROFESSOR ELM just came\lto visit me with his pockets full\lof new data. #org @string9 = [rival]: Hey, I heard that!\pGramps, what's with favoring\n[player] over me all the time?\pI went and collected more POKéMON,\nand faster, too.\pYou should just let me handle\neverything. #org @string10 = OAK: I know, I know.\nOf course I need your help, too.\pNow, I need to see both your\nPOKéDEXES. #org @string11 = PROF. OAK took both POKéDEX\nunits. #org @string12 = [.] [.] [.] [.] [.] [.]\p[.] [.] [.] [.] [.] [.]\p[.]And that's done!\pNow these units can record data on\na lot more POKéMON. #org @string13 = [player]'s POKéDEX was upgraded! #org @string14 = Oh! And have you ever heard of the\nHMs?\pNowadays you don't need to teach\nthem anymore. Just fill your party\pwith different types of POKéMON\nand see what they can do.\pI will give you a RAINBOW PASS as\nwell. #org @string15 = [player] recieved the RAINBOW PASS! #org @string16 = With this pass you can take a\nferry in VERMILION CITY and sail\pacross the SEVII ISLANDS!\pOur POKéMON world is endless, go\nexplore it all! #org @string17 = Now, [player] and [rival]!\pYou really must work towards\nfilling your POKéDEXES.\pI urge you to make them the best\nand the most complete of all time!\pTruly, this is a monumentally great\nundertaking in POKéMON history! #org @string18 = [rival]: Gramps, calm down.\nDon't get so excited.\pI'll get the POKéDEX completed,\ndon't you worry about a thing.\pAnyways, I'm outta here! #org @string19 = OAK: Ah, welcome!\pTell me, how is your POKéDEX\ncoming along?\pWahaha!\pActually, I know how it is, but I\nlove seeing it anyway!\pLet's see[.] #org @string20 = OAK: Now let's see[.]\nHow is your POKéDEX coming along?\pHere, let me take a look. #org @string21 = The amount of progress you've made\non your POKéDEX is:\p[buffer1] POKéMON seen and\n[buffer2] POKéMON owned.\p\c\h06ÁPROF. OAK's rating: #org @string22 = And your NATIONAL POKéDEX is:\p[buffer1] POKéMON seen and\n[buffer2] POKéMON owned. #org @string23 = I'll be looking forward to seeing\nyou fill the NATIONAL POKéDEX! #org @string24 = Finally[.]\pYou've finally completed the\nPOKéDEX!\pIt's magnificent!\nTruly, this is a fantastic feat! '----------- ' Movements '----------- #org @move1 #raw 0x4A 'Face Player #raw 0xFE 'End of Movements #org @move2 #raw 0x25 'Step on the Spot Down (Faster) #raw 0x29 'Step on the Spot Down (Fastest) #raw 0x25 'Step on the Spot Down (Faster) #raw 0x25 'Step on the Spot Down (Faster) #raw 0x29 'Step on the Spot Down (Fastest) #raw 0x25 'Step on the Spot Down (Faster) #raw 0xFE 'End of Movements #org @move3 #raw 0x26 'Step on the Spot Up (Faster) #raw 0x2A 'Step on the Spot Up (Fastest) #raw 0x26 'Step on the Spot Up (Faster) #raw 0x26 'Step on the Spot Up (Faster) #raw 0x2A 'Step on the Spot Up (Fastest) #raw 0x26 'Step on the Spot Up (Faster) #raw 0xFE 'End of Movements #org @move4 #raw 0x28 'Step on the Spot Right (Faster) #raw 0x2C 'Step on the Spot Right (Fastest) #raw 0x28 'Step on the Spot Right (Faster) #raw 0x28 'Step on the Spot Right (Faster) #raw 0x2C 'Step on the Spot Right (Fastest) #raw 0x28 'Step on the Spot Right (Faster) #raw 0xFE 'End of Movements #org @move5 #raw 0x2D 'Face Down (Delayed) #raw 0x1C 'Delay5 #raw 0x1C 'Delay5 #raw 0x1C 'Delay5 #raw 0x1C 'Delay5 #raw 0x1C 'Delay5 #raw 0x1B 'Delay4 #raw 0x2F 'Face Left (Delayed) #raw 0xFE 'End of Movements #org @move6 #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0x11 'Step Up (Normal) #raw 0xFE 'End of Movements #org @move7 #raw 0x2D 'Face Down (Delayed) #raw 0xFE 'End of Movements #org @move8 #raw 0x1A 'Delay3 #raw 0x2D 'Face Down (Delayed) #raw 0xFE 'End of Movements #org @move9 #raw 0x2E 'Face Up (Delayed) #raw 0xFE 'End of Movements #org @move10 #raw 0x2F 'Face Left (Delayed) #raw 0xFE 'End of Movements #org @move11 #raw 0x11 'Step Up (Normal) #raw 0x12 'Step Left (Normal) #raw 0x2E 'Face Up (Delayed) #raw 0x1C 'Delay5 #raw 0x1A 'Delay3 #raw 0xFE 'End of Movements #org @move12 #raw 0x12 'Step Left (Normal) #raw 0x12 'Step Left (Normal) #raw 0x11 'Step Up (Normal) #raw 0x1C 'Delay5 #raw 0x1A 'Delay3 #raw 0xFE 'End of Movements #org @move13 #raw 0x1C 'Delay5 #raw 0x1B 'Delay4 #raw 0x2F 'Face Left (Delayed) #raw 0xFE 'End of Movements #org @move14 #raw 0x1C 'Delay5 #raw 0x1B 'Delay4 #raw 0x2E 'Face Up (Delayed) #raw 0xFE 'End of Movements #org @move15 #raw 0x13 'Step Right (Normal) #raw 0x10 'Step Down (Normal) #raw 0xFE 'End of Movements #org @move16 #raw 0x10 'Step Down (Normal) #raw 0x13 'Step Right (Normal) #raw 0xFE 'End of Movements #org @move17 #raw 0x1C 'Delay5 #raw 0x1B 'Delay4 #raw 0x30 'Face Right (Delayed) #raw 0xFE 'End of Movements #org @move18 #raw 0x10 'Step Down (Normal) #raw 0x10 'Step Down (Normal) #raw 0x10 'Step Down (Normal) #raw 0x10 'Step Down (Normal) #raw 0x10 'Step Down (Normal) #raw 0x10 'Step Down (Normal) #raw 0xFE 'End of Movements And an IPS file for those who want: https://www.mediafire.com/file/181bd6e28ujfq32/22_OAK_script.ips/file The patch is for Fire Red US 1.0 Thank you SO DAMN much if you can help me! |
|
|
||||
|
||||
|
Thanks a lot!
The problem with the gray text thing is that the gender symbols become gray too. Maybe instead of deleting text colouring there is a way to make Oaks's text blue even when edited? |
![]() |
| Quick Reply | |
Join the conversation!Create an account to post a reply in this thread, participate in other discussions, and more! Create a PokéCommunity Account |
|
|
|






