I seem to have stuffed this up somehow. The goal is to identify wether or not you can perform an action, referring to a bool value. If the value of CanDoAction is false, then it immediately ends the function, as there is nothing to do. However, if I put the bool to true, it does not print "Cats" in the output. Here's my script:

local player = game.Players.LocalPlayer
local m = player:GetMouse()
local CanDoAction = script.Action.CanDoAction.Value
local ActionType = script.Action.ActionType.Value

m.KeyDown:connect(function (key)
	if key == "q" then
		if not CanDoAction == true then return end
		 print("Cats")
	end
end)

Thanks in advance.