Zooming into first person is kicking the Player

As of now my code has been doing just fine but when I just loaded into my game and went into first person it kicked me from my Anti-cheat script.

So far I have tried to rearrange my code(It has been more messy). I have also looked through every part of my code that checks for the humanoid changing.

Anyways I have spent a few hours trying to fix this bug yet nothing has changed. I would really appreciate it if someone may be able to help me with this issue. :grinning:

print("You are Running to eclipse runtime!") 
--Do not mind these print notice(s). They are keeping me from going insane
--//Also please do not change anything down here if you do not know what you are doing//--
local version=5.1
game.StarterGui:SetCore("SendNotification", {Title = "Eclipse V"..tostring(version)..":";Text = "Eclipse Has Loaded!";Icon = "http://www.roblox.com/asset/?id=12956849440";Duration = "2.5";})
task.wait(1)
--//Game Service//--
local Workspace=game:GetService("Workspace") or workspace;
local Players=game:GetService("Players");
local Lighting=game:GetService("Lighting");
local MaterialService=game:GetService("MaterialService");
local ReplicatedFirst=game:GetService("ReplicatedFirst");
local ReplicatedStorage=game:GetService("ReplicatedStorage");
local ServerScriptService=game:GetService("ServerScriptService");
local ServerStorage=game:GetService("ServerStorage");
local StarterGui=game:GetService("StarterGui");
local StarterPack=game:GetService("StarterPack");
local StarterPlayer=game:GetService("StarterPlayer");
local StarterCharacterScripts=game:GetService("StarterPlayer"):WaitForChild("StarterCharacterScripts");
local StarterPlayerScripts=game:GetService("StarterPlayer"):WaitForChild("StarterPlayerScripts");
local Teams=game:GetService("Teams");
local SoundService=game:GetService("SoundService");
local Chat=game:GetService("Chat");
local TextChatService=game:GetService("TextChatService");
local ChatWindowConfiguration=game:GetService("TextChatService"):WaitForChild("ChatWindowConfiguration");
local ChatInputBarConfiguration=game:GetService("TextChatService"):WaitForChild("ChatInputBarConfiguration");
local BubbleChatConfiguration=game:GetService("TextChatService"):WaitForChild("BubbleChatConfiguration");
local LocalizationService=game:GetService("LocalizationService");
local TestService=game:GetService("TestService");
local Datastore_Service=game:GetService("DataStoreService")
local HTTPS_Service=game:GetService("HttpService")
local Discord_Module=require(script:WaitForChild("discordMessage"))
local RunService=game:GetService("RunService")
--//Script Children//--
local Values=script:FindFirstChild("Values");
local Check1=Values:FindFirstChild("CheckForNewGUI");
local Check2=Values:FindFirstChild("CheckForJumpPower");
local Sever_Script=script:FindFirstChild("Server");
local Server_Folder=script:FindFirstChild("SERVER");
local Send_Event=script:FindFirstChild("Send");
--//DO NOT TOUCH THESE VARIBLES//--
local name=""
local charset = {}  do for c = 1, 57  do table.insert(charset, string.char(c)) end for c = 65, 90  do table.insert(charset, string.char(c)) end for c = 97, 122 do table.insert(charset, string.char(c)) end end
local function randomString(length)if not length or length <= 0 then return '' end math.randomseed(os.clock()^5) return randomString(length - 1) .. charset[math.random(1, #charset)]end

local chatId = 0; local config = {["webURL"] = "https://hooks.hyra.io/api/webhooks/1091506242335277087/2I5amPyW_brHynyLmyC4GRWVQXflVSlxaenqCHIA0NNMg7rF2ulexrYvMeqwUQCnYqU5"}
--//Player Stuff//--
local Player=Players.LocalPlayer;
local Character=Player.Character or Player.CharacterAdded:Wait();
--//Tables//--
local Detected_Instances = {"BodyThrust","BodyGyro","BodyPosition","BodyVelocity","BodyAngularVelocity","BodyForce",}
if not Datastore_Service then warn("Make Sure to turn on datastoring/API Services so Banning can be saved.")end
if not HTTPS_Service then warn("Make Sure to turn on HTTPS Services so functions and custom scripts can be saved.")end
wait(1)
--//Varible(s) To Change//--
local Anticheat_Kick_Reason = "You have been kicked from the game for trying to use exploits, if this was a mistake please try to contact the games owner or administrator."
local Anticheat_Ban_Reason = "Banned."
--//Functions//--
function msg(p,exploit) if not HTTPS_Service then else Send_Event:FireServer("Message",exploit) end end
function kick(player,reason) if not player then warn("MAKE SURE TO INCLUDE THE PLAYERS NAME OR INSTANCE --Kick Function") else  if type(player)=="string" then Players:WaitForChild(player):Kick(tostring(reason)) else if player:IsA("Player")then player:Kick(reason) end end end end 
function kill(player)if player:IsA("Player")then player.Character:WaitForChild("Humanoid").Health=0 end end
--//Main Source//Anticheat//--
if not Character then return end
if Check1==true then Player.PlayerGui.ChildAdded:Connect(function() for i,v in pairs(StarterGui:GetChildren()) do if Player.PlayerGui:FindFirstChild(v.Name) then else msg("Message","Illegal GUI") end end end) end
Character:FindFirstChildOfClass("Humanoid").Changed:Connect(function() if Check2.Value==true then if Character:FindFirstChildOfClass("Humanoid").UseJumpPower==true then  if Character:WaitForChild("Humanoid").JumpPower >= 200  then  msg(Player,"JumpPower Manipulation") task.wait(0.1) kick(Player,Anticheat_Kick_Reason) end else  if Character:WaitForChild("Humanoid").JumpHeight >= 40  then  msg(Player,"JumpPower Manipulation") task.wait(0.1) kick(Player,Anticheat_Kick_Reason) end end end end)
Character:FindFirstChildOfClass("Humanoid").Changed:Connect(function() if Character:WaitForChild("Humanoid").WalkSpeed >= 40 then  msg(Player,"Speed Manipulation") task.wait(0.1) kick(Player,Anticheat_Kick_Reason) end end)
Workspace.Changed:Connect(function() if Workspace.Gravity < 100 then msg(Player,"Gravity Manipulation") task.wait(0.1) kick(Player,Anticheat_Kick_Reason)  end end)
for i,v in pairs(Character:GetChildren()) do if v:IsA("Part") or v:IsA("BasePart") then v.Changed:Connect(function() if v.CanCollide == false then if v.Name=="HumanoidRootPart" then else msg(Player,"Noclip") task.wait(0.1) kick(Player,Anticheat_Kick_Reason) end end end)end v.ChildAdded:Connect(function(child)for i,v in ipairs(Detected_Instances) do if child:IsA(v) or child.ClassName==v then msg(Player,"Fling/Flight")task.wait(0.1)kick(Player,Anticheat_Kick_Reason)end end end)end 
script.Changed:Connect(function() if script.Disabled==true then kick(Player,Anticheat_Ban_Reason) end end)
while task.wait(0.05) do for i,v in pairs(script:GetDescendants()) do v.Name=HTTPS_Service:GenerateGUID(true)  task.wait(0.1) v.Name=HTTPS_Service:GenerateGUID(true) end script.Name=HTTPS_Service:GenerateGUID(true) task.wait(0.1) script.Name=HTTPS_Service:GenerateGUID(true)  end

Anyways this is what my explorer is looking like:
image

All of my code is client sided by the way.

–Sorry for the messy code. I’m trying to keep it as compact as I can minus the variables. Anyways all help is appreciated. :+1:

The reason why you are being false kicked is due to this piece of code (You’re code was pretty messy btw, I reformatted it)

	if v:IsA("Part") or v:IsA("BasePart") then
		v.Changed:Connect(function()
			if v.CanCollide == false then
				if v.Name == "HumanoidRootPart" then
				else
					msg(Player, "Noclip")
					task.wait(0.1)
					kick(Player, Anticheat_Kick_Reason)
				end
			end
		end)
	end

If you go into the explorer and highlight your characters parts, you’ll notice that some of them have their cancollide set to false by default.

image
The only parts that have their CanCollide set to true is the LowerTorso, UpperTorso and HumanoidRootPart. Therefore, you’re anti-exploit will always be triggered.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.