Use a func_nobuild, but be aware that players not being able to build somewhere for unclear reasons is really frustrating. You'll have to find some way to justify it. For example, not being able to build on a steep roof is alright, or maybe in shallow water, but that might not be what you want to do.