Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Raycast gun shooting in random directions?

I have a raycast gun which I programmed which mostly works, however at times (usually when the large cylinders spawn) the rays veer off into nowehere, not following my mouse, like so:

https://gyazo.com/4f65f58bdfb96e0ef6c39ab0c65d8401

The gun uses a LocalScript, Script and RemoteEvent all in the same part (in the gun). The LocalScript fires the RemoteEvent whenever the mouse key is held down. Here is the code in the LocalScript:

local fire = function(player, mouseLocation)
if player.character ~= tool.Parent then return end

-- find where the mouse is pointing
local rayOrigin = script.Parent.Position
local rayDirection = (mouseLocation.p - script.Parent.Position).Unit * 300

-- cast the ray
raycastParams.FilterDescendantsInstances = {player.character, game.Workspace.corporeal}
local raycastResult = workspace:Raycast(rayOrigin, rayDirection, raycastParams)

-- handle results [Omitted since I think it's irrelevant]

-- create "gunfire"
local shotPosition = hitPos or rayDirection
local shot = Instance.new("Part")
shot.Color = Color3.new(1, 1, 0)
shot.CFrame = CFrame.new(script.Parent.Position:Lerp(shotPosition, 0.5), shotPosition)
shot.Anchored = true
shot.Size = Vector3.new(0.1, 0.1, (script.Parent.Position - shotPosition).magnitude)
shot.CanCollide = false    
shot:SetAttribute("shotPosition", shotPosition)
local bmscript = script.bulletMovement:Clone()
bmscript.Disabled = false
bmscript.Parent = shot

shot.Parent = script.Parent
Debris:AddItem(shot, 0.05)

end

script.Parent.shoot_input.OnServerEvent:Connect(fire)

"corporeal" is a folder in the workspace that contains parts that I want the gun to ignore (the cylinders and balls and stuff are in there)

I have confirmed that the LocalScript always accurately gets the mouse position and passes it; I think the problem is with the raycasting but IDK what it is exactly. Any help would be greatly appreciated

1 answer

This discussion is preserved as it was. New answers, comments, and votes are closed.