по запуску сцен есть команда:
void StartDialogScene(spDialogSceneXDB, sCallback = nil, sSaveName = nil);
1 значение сама сцена (делается в редакторе, точно не скажу руки пока не дошли попробовать
)
2 функция после сцены
3 вроде принудительное автосохранение
вашим условиям может удовлетворить такой пример:
StartDialogScene(Scene01.(format).xdb, HeroTransferFunction, nil);
function HeroTransferFunction()
SetObjectOwner(HeroName, PLAYER_1);
end;
если что не так, пусть более опытные в этом вопросе дополнят