noedit: as for your play-sound-when-empty, add a new sound datablock by opening up support_eshields, and copy-pasting the code at the top and renaming it to the name you want it to be.
then locate this part of the code:
if(%obj.dmshield < 0){
%obj.dmshield = 0;
}
and then add this after %obj.dmshield = 0;
serverPlay3D("name of sound datablock with or without quotes", %obj.getPosition());