Проще всего проверить, что мы на game over экране по instance_exists(GameOverButton).
Логика причин выглядит где-то как
if (GameCont.gameovertext != "") { // пользовательская причина из GameCont.gameovertext } else if (instance_exists(LastFire) && instance_exists(SitDown)) { // THE STRUGGLE IS OVER } else if (GameCont.area == 7 && GameCont.subarea == 3) { if (GameCont.win == 1) { // YOU REACHED THE NUCLEAR THRONE } else { // YOU ALMOST REACHED THE NUCLEAR THRONE } } else if (GameCont.loops > 0) { // THE STRUGGLE CONTINUES } else { // YOU DID NOT REACH THE NUCLEAR THRONE }