Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Is there anyway for my anti cheat to not detect proximity prompt gui?

So I have this really basic anti-cheat here but the problem is that when the player walks up to where the proximity prompt will appear but, it will false ban the player since the proximity prompt creates a new GUI so I was wondering if there is a way to not detect the proximity prompt GUI from creating itself

line 59 to 62

code:

local function KickPlayer()
	replicatedstorage.RemoteEvent:FireServer() --basically just fires a remote event that kicks the player
end

--No hack tools ex: f3x or tp tool
backpack.ChildAdded:Connect(function(Obj)
	if Obj.Name == "F3X" and Obj:IsA("Tool") then return KickPlayer() end 
	
	if Obj.Name == "Building Tools" and Obj:IsA("Tool") then return KickPlayer() end 
	
	if Obj.Name == "Teleport Tool" and Obj:IsA("Tool") then return KickPlayer() end

	if Obj:IsA("HopperBin") then return KickPlayer() end

end)

--normal fly (not cfly aka cframe fly)
humanoidRootPart.ChildAdded:Connect(function(Obj)
	if Obj:IsA("BodyGyro") or Obj:IsA("BodyVelocity") or Obj:IsA("BodyPosition") then
		KickPlayer()
	end
end)

-- no cfly and stuff
humanoid.Changed:Connect(function()
	humanoid.Name = "Humanoid"

	if humanoid.PlatformStand == true then
		KickPlayer()
	end

	if humanoid == nil then
		KickPlayer()
	end

	if humanoid.WalkSpeed > 16 then
		KickPlayer()
	end

	if humanoid.JumpPower > 0 then
		KickPlayer()
	end

	if humanoid.UseJumpPower == false then
		KickPlayer()
	end
end)

-- no noclip
torso.Changed:Connect(function()
	torso.Name = "Torso"

	if torso.CanCollide == false then
		KickPlayer()
	end
end)

--more security
game.ChildAdded:Connect(function()
	wait(1)
	KickPlayer()
end)

local hasLoaded = false

player.CharacterAppearanceLoaded:Connect(function()
	wait(1)
	hasLoaded = true
end)

PlayerGui.ChildAdded:Connect(function()
	if hasLoaded == true then
		wait(1)
		KickPlayer()
	end
end)

humanoidRootPart.Changed:Connect(function()
	humanoidRootPart.Name = "HumanoidRootPart"
end)

--Anti change workspace name
players.PlayerAdded:Connect(function()
	player.CharacterAdded:Connect(function()
		workspace.Changed:Connect(function()
			wait(3)
			KickPlayer()
		end)
	end)
end)

--anti change players name, the service "Players"
players.PlayerAdded:Connect(function()
	player.CharacterAdded:Connect(function()
		players.Changed:Connect(function()
			wait(3)
			KickPlayer()
		end)
	end)
end)

1 answer

✓ Accepted answer

Use the :IsA function to check if the added part is something from the proximity prompt.

game.ChildAdded:Connect(function(child)
	if child:IsA(thing that proximity prompt makes) then
		return end
	else
		wait(1)
		KickPlayer()
	end
end)

1 comment

0

ok thanks ill try that

This discussion is preserved as it was. New answers, comments, and votes are closed.