I have this gun that uses a 2 script system to fire a projectile so it works in FE. in script 1 a Local script
--//LOCAL SCRIPT\\--
local tool = script.Parent
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local handle = tool:WaitForChild("Handle")
local remote = tool:WaitForChild("Shoot")
--//Events\\--
tool.Activated:Connect(function()
print("Bang")
remote:FireServer(mouse.hit.p)
end)
In script 2 a server script
--//Server Script\--
Handle=script.Parent:WaitForChild("Handle")
--//Server Script\\--
--FE Thing--
script.Parent.Shoot.OnServerEvent:Connect(function(player,Area)
--FE Thing--
local Bullet = Instance.new("Part",workspace)
Bullet.Name= "Bullet"
Bullet.CanCollide= false
Bullet.Shape = "Block"
Bullet.Material = "Neon"
Bullet.BrickColor = BrickColor.new ("Bright yellow")--Colour--
Bullet.Size=Vector3.new (0.1,0.1,2)--Size--
Bullet.CFrame = Handle.CFrame*CFrame.new(0,0,0)--Where--
local Velo = Instance.new ("BodyVelocity",Bullet)
Velo.velocity = Bullet.CFrame.lookVector*300--Speed of Bullet--
Velo.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
end)
I'm not sure why but when it fires the projectile it pauses for a brief second then moves. This makes it so you have to lead your shots more and sometimes at close range the bullet doesn't even damage people but just phases right through them.
I just want to know why it is does this and how do I stop it

3 comments
Use raycasting instead of body velocity.
well, maybe the reason it isnt doing damage is that you never programmed it to
lol