I was finishing up my local script, and I'd thought all of the bugs were squashed, accept that the Water - or wavelike block - wasn't showing up by my hand moving forward, rather in the workspace, in a spot right by the spawn. I've been at this for about thirty minutes, but on the last attempt, I got -
Players.fighterkirbyzx.Backpack.WaterShot.LocalScript:13: attempt to index a nil value
Here's the code-
local Water = game.ReplicatedStorage.Water
local Shooter = script.Parent
local Waterclone = Water:Clone()
local Canshoot = true
local person = game.Players.LocalPlayer
local mouse = person:GetMouse()
local function onclick()
Canshoot = false
Waterclone.Parent = game.Workspace
Waterclone.CFrame = CFrame.new(person:FindFirstChildWhichIsA("RightHand").Position)
Waterclone.Velocity = Vector3.new(0, 0, 0)
wait(.8)
Waterclone:Destroy()
Canshoot = true
end
mouse.Button1Down:Connect(onclick)
Anyone know why?

5 comments
FindFirstChildWhichIsA returns the first object that is of or inherits a given class, or nil if no object of said class exists. RightHand is not a class, but BasePart for example is. Change it to FindFirstChild
ill try, thanks!
You are right, but the output is the same. Atleast i know tho
It doesn’t do damage because its local script. Add RemoteEvent
Elaborate. I know what a Remote event is, but how would i use it there?