Or just check your damaging code and just do something like
if(Client.Permission == GmPermissionType || Client.Permission == PMPermissionType)
return
Deal Damage code
It's incredibly easy to make gm's invincible but why not make an invincibility option that gms can turn off/on via a cmd or custom skill? That way they can still do pvp or w/e if they wanted to test things out.