Base configurable Roblox Raycast gun with features

Job ID: 32754055

Budget: $15 – $25 USD

I'm building a Roblox game with my son. I would like a configurable raycast gun with features. By features I mean:

1. Raycast ignores all parts/models inside a workspace.RayCastIgnore folder. Inside this folder I will store things like vehicles and anything else I don't want to get hit. The idea is a Player can shoot while driving the vehicle. Raycasting should ignore the vehicle and shoot through the vehicle. Currently I have an older gun system that does exactly what I want (mostly)... but bullets hits the car.
2. When raycast "Hit" a part that is not in the ignore folder. I want to c lone an effect (ie: parts, debris, particles) stored either in replicatedStorage or serverStorage... wherever is correct.
3. When "zombies" touch this "effect" their health is reduced by N value stored in that Effect

I have a working roblox file with the vehicle spawner cloning into the RayCastIgnore folder in workspace.
I have a gun, when shoot and Hit, an explosionCrater effect (welded parts) stored in replicatedStorage and places it at the Hit location. When zombies touch this "effect"', they take damage. Only issue is I don't know how to apply the ignore white list feature as the api used in this gun system is outdated.

The ideal gun system will allow me to programmatically create/c lone the gun into a Players StartPack by passing in the Model/Texture ID and CustomEffect name stored in replicatedStorage

P.S. c lone = klone. Freelancer won't let me submit if I type in C LONE together.
Related categories: Game Development Lua Roblox