I have no real experience with either of these so any help is appreciated.
I have created scripts that work if filtering enabled is not on. I now need to rewrite them for filtering enable due to my game being exploited.
Here is what needs to happen in pseudo.
--[[
When the player clicks create a new part.
Set the parts CFrame to the part in the gun called main.
Give the part a parent.
Add the part to game service "debris" to be removed after 2 seconds.
Make the part black.
Scale the part to the smallest size possible.
Give the part a velocity.
When the part hits something check for a humanoid.
If the part finds a humanoid then get the player from character.
respawn the player who was hit.
Add 1 to the shooters kills.
Add 1 to the deaths of the player shot.
--]]
My attempts to do this with filtering enabled respawned the shooter, not the person who was shot.

1 comment
I use respawn instead of killing the player because it is an airsoft game. Later when the player is hit it will play an animation then respawn the player.