Having to always put a question mark in the title is a bit annoying. Anyways...
I haven't tried raycasting in a while, and now that I've gotten back to it I seem to have forgotten how raycasting works. In the code below look is the LookVector of the LocalPlayer's camera. For context, the camera is locked in first person. Whenever I try to raycast, it always intersects the baseplate no matter what ( even when I look at the sky ). After doing a bit of testing I found out that the camera's LookVector is always the same, and I don't understand why. Shouldn't it change when I look in two different points?
local event = game.ReplicatedStorage.Events.Shoot event.OnServerEvent:Connect(function(player,look) print("server recieved") print(look) local pos = player.Character.Head.CFrame.Position local ray = Ray.new(pos,look*100) local ignore = player.Character local hit = workspace:FindPartOnRay(ray,ignore) if not hit then return end print(hit.Name) print(hit.Parent.Name) local hum = 0 if not hit.Parent ~= game.Workspace and hit.Parent:FindFirstChild("Humanoid") then hum = hit.Parent.Humanoid end if hum ~= 0 then print("humanoid detected") if hit.Name == "Head" then hum:TakeDamage(100) print("damage dealt") else hum:TakeDamage(40) print("damage dealt") end end end)
How else should I raycast in the direction the camera is facing at if LookVector itself doesn't seem to work?