Stuck on this fps system for a week, (fixed)

This is mainly just how I am loaded animations

I have been working on an fps system for a while now and im making a better version, and I am roughly following this tutorial Writing an FPS framework (2020).

But I am stuck on loading animations, as they keep coming back as nil. I am sharing my main script for this and along with that I will send my rblx file if needed. fpsplace.rbxl (727.5 KB)

local GunController = {}
GunMT = { __index = GunController }

local ReplicatedStorage = game:GetService("ReplicatedStorage")

function GunController:New(Viewmodel, CurrentGun)
	local self = setmetatable({}, GunMT)

	self.Viewmodel = Viewmodel
	self.Gun = ReplicatedStorage.Storage.Guns:WaitForChild(CurrentGun)
	self.Gun.Parent = self.Viewmodel

	self.AnimationController = self.Viewmodel.AnimationController
	self.Animations = {
		Equip = self.AnimationController:LoadAnimation(self.Gun.Animations.Equip),
		Idle = self.AnimationController:LoadAnimation(self.Gun.Animations.Idle)
	}

	return self
end

function GunController:Equip()
	self.Animations.Equip:Play()
	self.Animations.Idle:Play()
	self.Equipped = true
end

function GunController:Update(dt)
	if self.Equipped then
		self.Viewmodel.PrimaryPart.CFrame = workspace.CurrentCamera.CFrame
	end
end

return GunController

{40F9A262-50E3-4442-A552-EF9A4895749D}

ReplicatedStorage.Framework.GunController:23: attempt to index nil with ‘Equip’ - Client - GunController:23

:pizza:Thanks for taking the time to read my post and help,

Can you please show how you are calling the :Equip() function? Just want to make sure that you are using : rather than .

someone in a discord server saw my post and solved my issue. But yes, I am using :
(Solution : I was calling it wrong in the framework controller)

Please post the solution and mark it as the solution, otherwise it helps no one else.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.