y do u need the shield constant? pretty sure one doesnt exist, you cannot kill someone with the shield, if you have a shield out get_weapon_id (or w/e) will return your pistol's id.
you can do the register_event curweapon and pick up a shield and see what it prints out for (read_data 1 is it?) read_data(1).