I put a building repair script in some of my multiplayer maps. For buildings that are place by me in the editor it is fairly easy. I give each building a name, like hh1, hh2, hh3 etc and then run this:
#start
"_x setdammage 0" foreach [hh2,hh3,hh4,hh5,hh6,hh7,hh8,hh9,hh10,hh11,hh12,hh13,hh14,hh15,hh16,hh17,hh18,hh19,hh20,hh21,hh22,hh23,hh24,hh25,hh26,hh27,hh28]
"_x setdammage 0" foreach [hh29,hh30,hh31,hh32,hh33,hh34,hh35,hh36,hh37,hh38,hh39,hh40,hh41,hh42,hh43,hh44,hh45,hh46,hh47,hh48,hh49,hh50,hh51,hh52,hh53,hh54,hh55]
~2
goto "start"
It works just fine for MP, and doesn't appear to cause any lag. It may be possible to repair island buildings also, but I never seem to have any luck with the nearestbuilding command.