I think you would need to use raycasts for your guns here, check if whatever the ray hits is from a player’s character, if it is then you fire the shot player’s client and pass along the part that is from the shot player’s character. From there you should have a LocalScript that listens for an event like that and then make changes to the GUI accordingly.
Here are some sources that I think would be useful for you:
You can find tutorials on Youtube about these topics too if you think videos are easier to understand
I already have this doubt too. If I were you, I would create a health value for each body part and then just display it on this GUI, that you can create with Frames.