I’ve set up a projectile module and every function works fine except except for the :Finish() function. I’ve printed out every value and it identifies all of them as nil.
Projectile.new()
local self = setmetatable({}, Projectile)
self.ProjectilePart = projectilePart
self.ProjectileMover = projectileMover
self.ProjectileFinished = projectileDone
game:GetService('ReplicatedStorage').Projectile:FireAllClients(projectilePart, Projectile.Player, tick())
projectileDone.Changed:Connect(function(finalVal)
if finalVal == true then
FinishedFunction()
end
end)
delay(Lifetime, function()
Projectile:Finish()
Projectile:Destroy()
end)
Projectile:Finish()
self.ProjectileFinished.Value = true
The projectile ignores its lifetime
Output