Touch ends when I jump?

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I’d like to fix this issue.
  2. What is the issue? Include screenshots / videos if possible!
    The “TouchEnded” event fires whenever I jump.
local areaModule = {}

local areaGui = script.areaGui

areaModule.create = function(part)
	part.Touched:Connect(function(toucher)
		if toucher.Parent:FindFirstChild("Humanoid") then
			-- checking if the toucher has a humanoid
			if game.Players:FindFirstChild(toucher.Parent.Name) then
				local plr = game.Players:FindFirstChild(toucher.Parent.Name)
				touched = false
				if not plr.PlayerGui:FindFirstChild("areaGui") then
					if touched == false then
						touched = true
						local cloned = areaGui:Clone()
						cloned.Parent = game.Players:FindFirstChild(toucher.Parent.Name).PlayerGui
						wait(5)
						cloned:Destroy()
					end
				end
			end
		end
		
		part.TouchEnded:Connect(function() -- this fires whenever i jump
			touched = false
		end)
	end)
end

return areaModule

^ This is my script, I know it’s a little bit messy, but at the moment I’m attempting to do it this way.
Any ideas on how to fix this issue?

Is the part large enough to cover the player even when jumping?

Also, Touch and TouchEnded together are known to be pretty bad I believe.

If you want an alternative this works

1 Like

It is, and thank you, I will use it, since I cannot be arsed to code a custom system just for areas.

Thank you for your response.

That module works as an alternative but GetTouchingParts() is another alternative but it has a flaw mentioned in the module I sent’s theory, though the module seems to actually use it anyways.