Hello, I wanted to familiarize a little more with ContextActionService to make my game more mobile friendly. I wanted to make button that whenever is held, it fires in a weapon, and when the player stops holding the button, it stops firing. I tried it in a test place and everything worked fine. So I moved the script that manages all of this to my game, but now, I get an error every time I try to bind the action. Here's a screenshot of what the errors look like: http://imgur.com/a/ZptkO

The script I use is exactly the same in both places.

Here's my code (which is obviously in a local script):

if not game:GetService("UserInputService").KeyboardEnabled then

local ContextAction = game:GetService("ContextActionService")
local EquippedTool = nil

local Fire = function(ActionName, ActionInputState)
	if ActionInputState == Enum.UserInputState.Begin then
		require(EquippedTool.Fire).Button1Down(EquippedTool.Parent.Humanoid.TargetPoint)
	elseif ActionInputState == Enum.UserInputState.End then
		require(EquippedTool.Fire).Button1Up()
	end
end

ContextAction.LocalToolEquipped:Connect(function(Tool)
	if Tool:FindFirstChild("Fire") then
		EquippedTool = Tool
		ContextAction:BindAction("Fire",Fire,true,Enum.UserInputType.MouseButton1)
		ContextAction:SetPosition("Fire",UDim2.new(1,-135,1,-75)) 
		ContextAction:SetImage("Fire","http://www.roblox.com/asset/?id=541371647")
	end
end)

ContextAction.LocalToolUnequipped:Connect(function(Tool)
	if Tool:FindFirstChild("Fire") then
		ContextAction:UnbindAction("Fire")
		EquippedTool = nil
	end
end)

end

I think my code is correct, but let me know ! Thanks