Just so you know I'm not the most experienced of scripters. I'm currently using a gun script made back in 2013(not my own) which from what I can tell moves a part along a raycast beam using C-Frame like
function MoveBullet(Bullet)
while Bullet.Transparency < 0.9 and Bullet do
local ray = Ray.new(Bullet.CFrame.p, (Bullet.CFrame.lookVector).unit*BulletSpeed/10)
local hit, position = game.Workspace:FindPartOnRay(ray, Player.Character, false, true)
local toIgnore = script.Parent.Parent:GetChildren()
while hit and not hit.CanCollide and Check(hit) == "Ignore" do
table.insert(toIgnore, hit)
hit, position = game.Workspace:FindPartOnRayWithIgnoreList(ray, toIgnore)
end
if hit then
Hit(position, Bullet, hit)
Bullet.Transparency = 1
elseif not hit then
for i = 1,10 do
wait(0.01)
Bullet.CFrame = Bullet.CFrame + Bullet.CFrame.lookVector*BulletSpeed/100
end
end
end
end
As I said before I'm not the best at understanding what I presume to be complex code so I'm not even sure if I'm showing the correct part. Back to the main point, I've recently seen other gun scripts which fire projectiles in a similar fashion but the animation of the bullet is much more smooth than that of the scripts I use. I'm mainly wondering if there is a different alternative to this which would be more smooth and possibly lag less in large quantities.
Some examples of the 'smoother' projectiles are: https://www.roblox.com/games/600987158/Glacier-Development https://www.roblox.com/games/707512466/Alderaan
