local player = game.Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local mouse = player:GetMouse() script.Parent.Activated:Connect(function() local hit = mouse.Hit local arrow = game.ReplicatedStorage.Arrow:Clone() local velocity = Instance.new('BodyVelocity', arrow) arrow.Parent = workspace arrow.CFrame = script.Parent.Handle.CFrame*CFrame.new(character.HumanoidRootPart.CFrame.lookVector*2) arrow.CFrame = CFrame.new(arrow.Position, hit.p) arrow.BodyVelocity.velocity = arrow.CFrame.lookVector*320 arrow.Touched:Connect(function(touch) if touch.Name == 'Handle' then return end if touch.Parent == player.Character then return end arrow:Destroy() end) end)
Just wanting to get basic thoughts?? Ways I could improve what I’ve currently got. How it would be affected by FE (FE box is ticked, and seems to work when I test, but just worried about in the future when it comes time to doing damage to players, etc.)
Also want to know if BodyVelocity is the best way to go about this? As it works nice and easily, but I’d like to eventually implement a natural drop (like how a normal arrow would work) and not just have the arrow fly completely across the map without any gravity effect.