I have this cannon that is SUPPOSED to start an "animation" that is supposed to look like a shell casing fading in and then fading out once its inside the breech. This said feature is from crazyman32's cannon model. Code below

function anim(origin)
	for i = 1,0,-0.1 do
		for _,v in pairs(script.Parent.SwabAnim:GetChildren()) do
			v.Transparency = i
		end
		for _,v in pairs(origin) do
			v.Transparency = (1-i)
		end
		wait()
	end
	for _,v in pairs(script.Parent.SwabAnim:GetChildren()) do
		v.Transparency = 0
	end
	for i = 0,7,0.25 do
		for _,v in pairs(script.Parent.SwabAnim:GetChildren()) do
			v.Mesh.Offset = Vector3.new(0,i,0)
		end
		wait()
	end
	for loop = 1,3 do
		for i = 7,5,-0.25 do
			for _,v in pairs(script.Parent.SwabAnim:GetChildren()) do
				v.Mesh.Offset = Vector3.new(0,i,0)
			end
			wait()
		end
		for i = 5,7,0.25 do
			for _,v in pairs(script.Parent.SwabAnim:GetChildren()) do
				v.Mesh.Offset = Vector3.new(0,i,0)
			end
			wait()
		end
	end
	for i = 5,7,0.25 do
		for _,v in pairs(script.Parent.SwabAnim:GetChildren()) do
			v.Mesh.Offset = Vector3.new(0,i,0)
		end
		wait()
	end
	for _,v in pairs(script.Parent.SwabAnim:GetChildren()) do
		v.Transparency = 1
		v.Mesh.Offset = Vector3.new(0,0,0)
	end
	for i = 5,7,0.25 do
		for _,v in pairs(script.Parent.SwabAnim:GetChildren()) do
			v.Transparency = i
		end
		for _,v in pairs(origin) do
			v.Transparency = (1-i)
		end
		wait()
	end
end

I have the script in a 'Frame' and the the model 'SwabAnim' in the same parent. A few times the output returned "attempt to call a nil value" and most times no error is reported.