I think the mixture, in general, is making a C++ project and doing things that span maps and it part of the entire game no matter what map you are on, and then using Lua entity scripts to do things that are map level. For example, switches to opens doors would be map specific and you can create a Lua entity script for that.