Open level trashes all code that comes after it, because… it was living in the level that just got unloaded
The way to do it, is to set a flag in the save game, then call open level, and the new level then checks that flag ( from the save game ). If it’s set then the level you just opened does the stuff you wanted to do.
Does that make sense?