Yep, you can. Here's a little script I wrote. Put the script in your mission file and put this in the init field:
guy addeventhandler ["dammaged", {[_this select 0,_this select 1,_this select 2,MAXDAMMAGE] exec "BPV.sqs"}]
Note- Maxdammage is the amount of dammage the vest can take before its penetrated.
----------------------------------------------------------------------------------------------------------------------------
; Script By - 8BAll (Adam); E-mail -admd89@netscape.net
;Syntax-
;guy addeventhandler ["dammaged", {[_this select 0,_this select 1,_this select 2,MAXDAMMAGE] exec "BPV.sqs"}]
;What it all means...
;"guy addeventhandler ["dammaged", = add's the eventhandler "dammaged" to the unit "guy"
;_this select 0 = gets the name of the unit that was dammaged.(In this case the unit named "guy"
;_this select 1 = get part of body dammaged
;_this select 2 = get amount of dammage
;MAXDAMMAGE = Put a value from 0 to 1. This is the max amount of dammage the vest can take.
; Define your variables
_unit = _this select 0
_body = _this select 1
_dammage = _this select 2
_maxdammage = _this select 3
;If unit is in vehicle exit
? vehicle _unit != _unit : exit
;If the bullet hit something other then the chest exit
? _body != "telo" : exit
;If dammage is greater then the max dammage exit
? _dammage >= _maxdammage : exit
;Have the unit's dammage go back to the dammage he was before as if the "vest" stopped the bullet
_olddam = (getdammage _unit) - _dammage
_unit setdammage _olddam
exit
----------------------------------------------------------------------------------------------------------------------------
All that does is detect if the bullet hit the chest. That way the bullet can still hit the head and any where else on the body and cause guy to die.