Sure here it is:
If the player presses the shoot gun button, it calculates muzzle rotation and then starts firing. If they let go of the button, it stops firing.
It then goes into an timeline where the an event to spawn the projectile using the muzzle as its spawn point and is called every 0.1 seconds. The spawned projectile is run on the server and then mulitcasted to all clients.
(I had my own code for doing this part but decided to follow the tutorial anyway - didn’t seem to change anything)
Then the projectile has a capsule collider on it, if it hits anything it destroys itself.
If the players mesh hitbox hits anything it asks if its a projectile, if it is it should play the kill event. The kill event is run on the server first and then multicasts to all clients.
Except, the only player this works for is the server. The client can still not kill anything and the projectiles do not replicate to other clients.