Attempt to connect failed: Passed value is not a function

Hello the script is working but I keep getting an error. Attempt to connect failed: Passed value is not a function

function Levels:Init()
	
	local player = self.Shack.Employee
	task.wait(4)
	PlayerManager.SetExp(player, 350)
	
	local function changedExperience(Player, shack)

		local Experience = PlayerManager.GetExp(Player)
		local MaxExperience = PlayerManager.GetReq(Player)

		print(Experience)
		print(MaxExperience)
		if Experience >= MaxExperience then
			print("ok")
			shack:NextLevel(Player, Experience, MaxExperience, PlayerManager.GetLevels(Player))
			print("no")
		else
			print("still not next level")
			print(Experience)
			print(MaxExperience)
		end
	end
	
	local Experience1 = player.Exp
		
	Experience1:GetPropertyChangedSignal("Value"):Connect(changedExperience(player, self))
	self:GetExperience(player)
end

It’s most likely happening in the GetPropertyChangedSignal, you’re calling a function there, not passing one, do this instead

Experience1:GetPropertyChangedSignal("Value"):Connect(function()
    changedExperience(player, self)
end)
2 Likes