Ive got an issue with things not really moving towards the mouse very accurately. They will move in the general direction but not where the mouse is aiming, forcing players to aim really low. Is there a better way to send something towards where the player is aiming?
local script:
function Keys(key)
local Key = key:lower()
if key == "z" then
script.ZMove:FireServer(mouse.Hit)
end
if key == "x" then
script.XMove:FireServer(mouse.Hit)
end
if key == "c" then
script.CMove:FireServer(mouse.Hit)
end
if key == "b" then
script.BMove:FireServer(mouse.Hit)
end
if key == "v" then
script.VMove:FireServer(mouse.Hit)
end
end
(this isnt the whole script but it's the relevant parts)
server script:
local Lance1 = game.ReplicatedStorage.Fruits.FlameStuff.FireLance:Clone()
Lance1.CFrame = Player.Character.HumanoidRootPart.CFrame*CFrame.new(1,0,0)
Lance1.Parent = Player.Character.AttackFolder
local Lance2 = game.ReplicatedStorage.Fruits.FlameStuff.FireLance2:Clone()
Lance2.CFrame = Player.Character.HumanoidRootPart.CFrame*CFrame.new(-1,0,0)
Lance2.Parent = Player.Character.AttackFolder
Lance1.MeleeDamage.Disabled = false
Lance2.MeleeDamage.Disabled = false
local BV = Instance.new("BodyVelocity")
BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
BV.Velocity = mousehit.LookVector*80
BV.Parent = Lance1
local BV2 = BV:Clone()
BV2.Parent = Lance2
(again not the whole script, but the relevant parts)
Thanks for reading

3 comments
also yes ik KeyDown is deprecated. I'm changing that soon
oh by the way you dont have to do 5 conditionals for local script you can just say if key == "z" or "x" or "c" or "b" or "v" then fire server
no, you have to restate the entire if statement. doing what you said will check if the string "x" is truthy, not if it satisfies the previous conditions