It states that the handle is not apart of the tool although it is and I made sure there was no misspells and there weren't
local gun = script.Parent local gun_sound = script.Parent.Handle["gun shot 1"] local ReplicatedStorage = game:GetService("ReplicatedStorage") local remoteEvent = ReplicatedStorage:WaitForChild('ShotEvent') gun.Equipped:Connect(function(mouse) mouse.Button1Down:Connect(function() remoteEvent:FireServer(gun.Handle.Position, mouse.Hit.p) gun_sound:Play() print("worked local") end) end)
Try putting the script in the handle and then doing Script.Parent instead of Script.Parent.Handle
If you're sure the script is parented to the tool, and so is the Handle without misspellings, my best guess would be that the Handle hasn't loaded in yet and the script is already trying to define it.
Instead of using
local gun_sound = script.Parent.Handle["gun shot 1"]
trying using :WaitForChild
so you wait for the Handle to load in before proceeding.