Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

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

Asked by 1 year ago

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

Log in to vote
0
Answered by 1 year ago

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)

0
ok thanks ill try that Boyuanbogosess 17 — 1y
Ad

Answer this question