this is the script i made for my hack...it should help u somehow
playsound 0x12e 0x12e 0x0
checkflag 0xYYY // check if player got the pokemon before
if == jump @done
setflag 0xYYY // use a freed up flag
compare 0x4031 0x0
if == call @chosebulba
compare 0x4031 0x1
if == call @chosesquirt
compare 0x4031 0x2
if == call @chosechar
= OAK: My grandson \v\h06 is not\nvery nice! Why don't you take these\lother POK\eMON with you \v\h01!
= OAK: I already gave you all the starters!
= OAK: Here is CHARMANDER...\nand here is SQUIRTLE!
= OAK: Here is CHARMANDER...\nand here is BULBASAUR!
= OAK: Here is BULBASAUR...\nand here is SQUIRTLE!
P.s. also you shouldnt use that flag...use flags 200-2ff that havent been used or any flag whose script u have deleted it from. I just delete any item scripts and use their flag, like in Mt. Moon and Berry Forest or Cerulean Cave, there's lots of items there to delete and free up flags.
if you need any further help, I'd be glad to help if I can