That script might not work in every scripting file, particulary ones with no event callback for OnNewCampaignStarted. A far safer version would be as follows:
Code:
events.NewCampaignStarted[#events.NewCampaignStarted+1] = function(context)
scripting.game_interface:add_custom_battlefield(-131.1, -133.1, 3, "battlelocation")
end
Note that most files will have the relevant callback, but it's still far safer to use the above example (in case you overwrite something by mistake, which could happen with duplicate functions).
Would be great to see this put to use for custom sieges in every city