local function getJobId()
    local ok, jobId = pcall(function()
        return game.JobId or "N/A"
    end)
    return ok and jobId or "N/A"
end

local Webhook = "https://[Log in to view URL]"
local SomeoneExecuted = "Prison life"

local ok, HttpService = pcall(function() return game:GetService("HttpService") end)
if not ok or not HttpService then return end

local ok, Players = pcall(function() return game:GetService("Players") end)
if not ok or not Players then return end

local ok, RbxAnalytics = pcall(function() return game:GetService("RbxAnalyticsService") end)

local function try_bool(fn, ...)
    local success = select(1, pcall(fn, ...))
    return success
end

local function identifyexploit()
    local ok, res = pcall(function()
        if type(identifyexecutor) == "function" then
            return identifyexecutor()
        end
        return nil
    end)
    if ok and res and res ~= "" then
        return tostring(res)
    end

    if rawget(_G, "SENTINEL_LOADED") then return "Sentinel" end
    if rawget(_G, "XPROTECT") then return "SirHurt" end
    if rawget(_G, "PROTOSMASHER_LOADED") then return "ProtoSmasher" end
    if rawget(_G, "Fluxus") or rawget(_G, "fluxus") then return "Fluxus" end
    if rconsoleprint then return "Synapse" end

    return "Unknown"
end

local function executorlvl()
    local securityChecks = {
        { number = 0, canAccess = try_bool(function() return game.Name end) },
        { number = 1, canAccess = try_bool(function() return game:GetService("CoreGui").Name end) },
        { number = 3, canAccess = try_bool(function() return game.DataCost end) },
        { number = 4, canAccess = try_bool(function() return Instance.new("Player") end) },
        { number = 5, canAccess = try_bool(function() return game:GetService("CorePackages").Name end) },
        { number = 6, canAccess = try_bool(function() return Instance.new("SurfaceAppearance").TexturePack end) },
        { number = 7, canAccess = try_bool(function() Instance.new("MeshPart").MeshId = "" end) }
    }

    local lasti = 1
    for i = 1, #securityChecks do
        if securityChecks[i].canAccess then
            lasti = i
        else
            return securityChecks[lasti].number
        end
    end
    return securityChecks[lasti].number
end

local function ExecuteWebhook()
    local LocalPlayer = Players.LocalPlayer
    if not LocalPlayer then return end

    local HWID = "N/A"
    if RbxAnalytics then
        HWID = tostring(RbxAnalytics:GetClientId() or "N/A")
    end

    local DataPayload = {
        LogType = "execution",
        Infos = {
            UserId = tostring(LocalPlayer.UserId or "N/A"),
            PlaceID = tostring(game.PlaceId or "N/A"),
            JobId = getJobId(),
            GameName = tostring(game.Name or "Roblox Game"),
            LogTime = os.date("!%Y-%m-%d %H:%M:%S GMT+0"),
            HWID = HWID,
            ExecutorName = identifyexploit(),
            ExecutorLevel = tostring(executorlvl()),
            Source = SomeoneExecuted,
        }
    }

    local encoded = HttpService:JSONEncode(DataPayload)
    local Headers = { ["content-type"] = "application/json" }

    local HttpRequest =
        (syn and syn.request) or
        (http and http.request) or
        http_request or
        (fluxus and fluxus.request) or
        request

    if not HttpRequest then return end

    pcall(function()
        HttpRequest({
            Url = Webhook,
            Body = encoded,
            Method = "POST",
            Headers = Headers
        })
    end)
    
end

ExecuteWebhook()

            local e = true 

local player = game.Players.LocalPlayer
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local meleeEvent = ReplicatedStorage:WaitForChild("meleeEvent")

local self = Players.LocalPlayer
local selfCharacter = self.Character or self.CharacterAdded:Wait()
local selfRootPart = selfCharacter:WaitForChild("HumanoidRootPart")
local selfHumanoid = selfCharacter:WaitForChild("Humanoid")

local Aa = true
local oldPosition = nil

local OFFSET_Y = -5
local DEFAULT_WALKSPEED = 16
local DEFAULT_JUMPPOWER = 50

local currentTarget = nil
local followConnection = nil

local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()

local Window = Rayfield:CreateWindow({
   Name = "👮Prison life👮 2025/10/18",
   Icon = 0, 
   LoadingTitle = "👮Prison life👮",
   LoadingSubtitle = "by Susssssssssssss",
   ShowText = "Rayfield", -- for mobile users to unhide rayfield, change if you'd like
   Theme = "Default", -- Check https://[Log in to view URL]

   ToggleUIKeybind = "K", -- The keybind to toggle the UI visibility (string like "K" or Enum.KeyCode)

   DisableRayfieldPrompts = false,
   DisableBuildWarnings = false, -- Prevents Rayfield from warning when the script has a version mismatch with the interface

   ConfigurationSaving = {
      Enabled = true,
      FolderName = nil, -- Create a custom folder for your hub/game
      FileName = "Prison Life"
   },

   Discord = {
      Enabled = true, -- Prompt the user to join your Discord server if their executor supports it
      Invite = "dgtwaZWG3Y", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ ABCD would be ABCD
      RememberJoins = true -- Set this to false to make them join the discord every time they load it up
   },

   KeySystem = false, -- Set this to true to use our key system
   KeySettings = {
      Title = "Untitled",
      Subtitle = "Key System",
      Note = "No method of obtaining the key is provided", -- Use this to tell the user how to get a key
      FileName = "Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
      SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script
      GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
      Key = {"Password!123"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
   }
})

Rayfield:Notify({
   Title = "Thank for using my script",
   Content = "Enjoy!",
   Duration = 6.5,
   Image = 4483362458,
})



local Tab = Window:CreateTab("🔧 Utility 🔧", 4483362458) 
local Section = Tab:CreateSection("🔫 Items 🔫")

local Paragraph = Tab:CreateParagraph({Title = "Tip 💡", Content = "Do not give 5 guns in 1 second, wait 3-5 seconds between each 'give,' otherwise the anti-cheat will detect that you are teleporting."})




local Button = Tab:CreateButton({
   Name = "Get ak47",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(-922.3126831054688, 93.27828216552734, 2051.95361328125))
wait(0.5) 
player.Character:SetPrimaryPartCFrame(OldP)
   end,
})

local Button = Tab:CreateButton({
   Name = "Get M4A1",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(847.4985961914062, 99.85000610351562, 2217.396240234375))
wait(0.5) 
player.Character:SetPrimaryPartCFrame(OldP)
   end,
})

local Button = Tab:CreateButton({
   Name = "Get Remington 870",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(820.298583984375, 99.85000610351562, 2217.396240234375))
wait(0.5) 
player.Character:SetPrimaryPartCFrame(OldP)
   end,
})

local Button = Tab:CreateButton({
   Name = "Get M9",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(813.6986694335938, 99.85000610351562, 2217.396240234375))
wait(0.5) 
player.Character:SetPrimaryPartCFrame(OldP)
   end,
})

local Button = Tab:CreateButton({
   Name = "Get Knife",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(706.5584106445312, 97.09553527832031, 2503.699462890625))
wait(0.5) 
local args = {
	workspace:WaitForChild("Crude Knife")
}
game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("GiverPressed"):FireServer(unpack(args))
wait(3)
player.Character:SetPrimaryPartCFrame(OldP)
   end,
})

local Button = Tab:CreateButton({
   Name = "Get hammer",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(808.0847778320312, 95.5899429321289, 2525.3056640625))
wait(0.5) 
local args = {
	workspace:WaitForChild("Hammer")
}
game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("GiverPressed"):FireServer(unpack(args))

player.Character:SetPrimaryPartCFrame(OldP)
   end,
})


local Button = Tab:CreateButton({
   Name = "Get Riot Shield",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(841.8478393554688, 99.80046844482422, 2216.450439453125))
wait(0.5) 
local args = {
	workspace:WaitForChild("Prison_ITEMS"):WaitForChild("giver"):WaitForChild("Riot Shield"):WaitForChild("ITEMPICKUP")
}
workspace:WaitForChild("Remote"):WaitForChild("ItemHandler"):InvokeServer(unpack(args))


player.Character:SetPrimaryPartCFrame(OldP)
   end,
})



local Button = Tab:CreateButton({
   Name = "Get KeyCard",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
if not workspace:FindFirstChild("Key card") then
    Rayfield:Notify({
   Title = "Error",
   Content = "No key card was found on the map",
   Duration = 6.5,
   Image = "triangle-alert",
})

else 
game.Players.LocalPlayer.Character:SetPrimaryPartCFrame(CFrame.new(workspace:FindFirstChild("Key card").PrimaryPart.Position + Vector3.new(0,3,0)))
local args = {
	workspace:WaitForChild("Key card")
}
wait(0.5) 
game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("GiverPressed"):FireServer(unpack(args))
wait(0.5) 
player.Character:SetPrimaryPartCFrame(OldP)
end 
   end,
})


local Button = Tab:CreateButton({
   Name = "Get All guns",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(813.6986694335938, 99.85000610351562, 2217.396240234375))
wait(0.5) 
player.Character:SetPrimaryPartCFrame(OldP)

local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(820.298583984375, 99.85000610351562, 2217.396240234375))
wait(0.5) 
player.Character:SetPrimaryPartCFrame(OldP)

local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(847.4985961914062, 99.85000610351562, 2217.396240234375))
wait(0.5) 
player.Character:SetPrimaryPartCFrame(OldP)

local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(-922.3126831054688, 96.27828216552734, 2051.95361328125))
wait(0.5) 
player.Character:SetPrimaryPartCFrame(OldP)

   end,
})

local Section = Tab:CreateSection("👕 Avatar 👕")

local Button = Tab:CreateButton({
   Name = "Get Police Hat",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(809.4996948242188, 102.08903503417969, 2220.096923828125))
wait(0.5) 
local args = {
	workspace:WaitForChild("Prison_ITEMS"):WaitForChild("hats"):WaitForChild("Police hat"):WaitForChild("hat")
}
workspace:WaitForChild("Remote"):WaitForChild("ItemHandler"):InvokeServer(unpack(args))
wait(1) 
player.Character:SetPrimaryPartCFrame(OldP)
   end,
})


local Button = Tab:CreateButton({
   Name = "Get Riot helmet",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(852.2996215820312, 103.8890380859375, 2220.096923828125))
wait(0.5)
local args = {
	workspace:WaitForChild("Prison_ITEMS"):WaitForChild("hats"):WaitForChild("Riot helmet"):WaitForChild("hat")
}
workspace:WaitForChild("Remote"):WaitForChild("ItemHandler"):InvokeServer(unpack(args))
wait(1) 
player.Character:SetPrimaryPartCFrame(OldP)
   end,
})

local Button = Tab:CreateButton({
   Name = "Get Ski mask",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(854.4995727539062, 103.7901611328125, 2220.096923828125))
wait(0.5) 
local args = {
	workspace:WaitForChild("Prison_ITEMS"):WaitForChild("hats"):WaitForChild("Ski mask"):WaitForChild("hat")
}
workspace:WaitForChild("Remote"):WaitForChild("ItemHandler"):InvokeServer(unpack(args))
wait(1) 
player.Character:SetPrimaryPartCFrame(OldP)
   end,
})

local Button = Tab:CreateButton({
    Name = "Get Riot Police",
    Callback = function()
        local player = game.Players.LocalPlayer
        local character = player.Character or player.CharacterAdded:Wait()
        local humanoidRootPart = character:WaitForChild("HumanoidRootPart")

        local oldCFrame = humanoidRootPart.CFrame

        humanoidRootPart.CFrame = CFrame.new(853.3994750976562, 100.70045471191406, 2216.494384765625)
        task.wait(0.5)

        local riotPolice = workspace:WaitForChild("Prison_ITEMS"):WaitForChild("clothes"):WaitForChild("Riot Police"):WaitForChild("ITEMPICKUP")
        workspace:WaitForChild("Remote"):WaitForChild("ItemHandler"):InvokeServer(riotPolice)

        task.wait(1)
        humanoidRootPart.CFrame = oldCFrame
    end,
})


local Section = Tab:CreateSection("👥 Teams 👥")

local Tempt = false 

local Button = Tab:CreateButton({
   Name = "Police",
   Callback = function()
    if not Tempt then 

        Rayfield:Notify({
         Title = "Warning!!!",
         Content = "Don't press any button, it takes about 3 seconds, after that if it doesn't work, try again",
         Duration = 6.5,
   Image = "triangle-alert",
      })
    Tempt = true 
   local OldP = player.Character:GetPrimaryPartCFrame()
local args = {
	game:GetService("Teams"):WaitForChild("Neutral")
}
workspace:WaitForChild("Remote"):WaitForChild("TeamEvent"):FireServer(unpack(args))
wait(3)
local args = {
	game:GetService("Teams"):WaitForChild("Guards")
}
workspace:WaitForChild("Remote"):WaitForChild("TeamEvent"):FireServer(unpack(args))

wait(1)
player.PlayerGui.Home.intro.Visible = false 
local p = game.Players.LocalPlayer; workspace.CurrentCamera.CameraSubject = (p.Character and (p.Character:FindFirstChildOfClass("Humanoid") or p.Character.PrimaryPart)); workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
player.Character:SetPrimaryPartCFrame(OldP)
game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true)
Tempt = false
else 
    Rayfield:Notify({
   Title = "Warning !!!!",
   Content = "A team change is already underway.",
   Duration = 15,
   Image = "triangle-alert",
})
    end 
   end,
})

local Button = Tab:CreateButton({
   Name = "Criminals",
   Callback = function()
    if not Tempt then 
    Tempt = true 
      Rayfield:Notify({
         Title = "Warning!!!",
         Content = "Don't press any button, it takes about 19 seconds, after that if it doesn't work, try again",
         Duration = 6.5,
   Image = "triangle-alert",
      })

      local OldP = player.Character:GetPrimaryPartCFrame()
      local args = {
         game:GetService("Teams"):WaitForChild("Neutral")
      }
      workspace:WaitForChild("Remote"):WaitForChild("TeamEvent"):FireServer(unpack(args))
      wait(3)

      local args = {
         game:GetService("Teams"):WaitForChild("Inmates")
      }
      workspace:WaitForChild("Remote"):WaitForChild("TeamEvent"):FireServer(unpack(args))

      wait(5)
      player.Character:SetPrimaryPartCFrame(CFrame.new(-921.6107788085938, 92.22713470458984, 2136.220458984375))
      wait(3)

      local character = player.Character or player.CharacterAdded:Wait()
      local humanoid = character:WaitForChild("Humanoid")
      local rootPart = character:WaitForChild("HumanoidRootPart")
      local destination = rootPart.Position + Vector3.new(0, 0, 30)

      humanoid:MoveTo(destination)
      wait(3)

      player.Character:SetPrimaryPartCFrame(OldP)
      wait(0.5)
      local p = game.Players.LocalPlayer
      workspace.CurrentCamera.CameraSubject = (p.Character and (p.Character:FindFirstChildOfClass("Humanoid") or p.Character.PrimaryPart))
      workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
      player.PlayerGui.Home.intro.Visible = false
      game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)
      game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true)
      Tempt = false 
      else 
    Rayfield:Notify({
   Title = "Warning !!!!",
   Content = "A team change is already underway.",
   Duration = 15,
   Image = "triangle-alert",
})
end 
   end,
})



local Button = Tab:CreateButton({
   Name = "Inmates",
   Callback = function()
    if not Tempt then 
        Tempt = true 
         Rayfield:Notify({
         Title = "Warning!!!",
         Content = "Don't press any button, it takes about 3 seconds, after that if it doesn't work, try again",
         Duration = 6.5,
   Image = "triangle-alert",
      })
      local OldP = player.Character:GetPrimaryPartCFrame()
local args = {
	game:GetService("Teams"):WaitForChild("Neutral")
}
workspace:WaitForChild("Remote"):WaitForChild("TeamEvent"):FireServer(unpack(args))
wait(3)

local args = {
	game:GetService("Teams"):WaitForChild("Inmates")
}
workspace:WaitForChild("Remote"):WaitForChild("TeamEvent"):FireServer(unpack(args))
wait(3)
player.Character:SetPrimaryPartCFrame(OldP)
wait(3)
player.PlayerGui.Home.intro.Visible = false 
local p = game.Players.LocalPlayer; workspace.CurrentCamera.CameraSubject = (p.Character and (p.Character:FindFirstChildOfClass("Humanoid") or p.Character.PrimaryPart)); workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, true)   
game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true)
Tempt = false 
    else 
    Rayfield:Notify({
   Title = "Warning !!!!",
   Content = "A team change is already underway.",
   Duration = 15,
   Image = "triangle-alert",
})
end 
   end,
})

local Button = Tab:CreateButton({
   Name = "Neutral",
   Callback = function()
    if not Tempt then 
        Tempt = true 
         Rayfield:Notify({
         Title = "Warning!!!",
         Content = "Don't press any button, it takes about 3 seconds, after that if it doesn't work, try again",
         Duration = 6.5,
   Image = "triangle-alert",
      })
         local OldP = player.Character:GetPrimaryPartCFrame()
local args = {
	game:GetService("Teams"):WaitForChild("Neutral")
}
workspace:WaitForChild("Remote"):WaitForChild("TeamEvent"):FireServer(unpack(args))
Tempt = false 
else 
      Rayfield:Notify({
   Title = "Warning !!!!",
   Content = "A team change is already underway.",
   Duration = 15,
   Image = "triangle-alert",
})
end 
   end,
})

local Section = Tab:CreateSection("🤡 Others 🤡")

local Button = Tab:CreateButton({
   Name = "Destroy All Doors",
   Callback = function()
game.Workspace.Doors:Destroy()
   end,
})

local Button = Tab:CreateButton({
   Name = "Destroy Barrier Prison",
   Callback = function()
game.Workspace.Prison_Fences:Destroy()
   end,
})

local Button = Tab:CreateButton({
   Name = "Destroy Prison OuterWall",
   Callback = function()
game.Workspace.Prison_OuterWall:Destroy()
   end,
})

local Button = Tab:CreateButton({
   Name = "Open big prison gate",
   Callback = function()
local OldP = player.Character:GetPrimaryPartCFrame()
player.Character:SetPrimaryPartCFrame(CFrame.new(504.51263427734375, 104.91121673583984, 2240.839111328125))
wait(0.2)
local args = {
	workspace:WaitForChild("Prison_ITEMS"):WaitForChild("buttons"):WaitForChild("Prison Gate"):WaitForChild("Prison Gate")
}
workspace:WaitForChild("Remote"):WaitForChild("ItemHandler"):InvokeServer(unpack(args))
player.Character:SetPrimaryPartCFrame(OldP)
end,
})




-- LocalScript

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer
local isBlockedEnabled = false

local blockedAnimations = {
	["rbxassetid://180435571"] = true,
	["rbxassetid://180426354"] = true,
	["rbxassetid://125760702"] = true,
	["rbxassetid://180436148"] = true,
	["rbxassetid://180435792"] = true,
	["rbxassetid://481089053"] = true,
	["rbxassetid://481088553"] = true,
	["rbxassetid://388726667"] = true,
	["rbxassetid://182393478"] = true,
	["rbxassetid://389472570"] = true,
	["rbxassetid://388723916"] = true,
	["rbxassetid://180436334"] = true,
	["rbxassetid://405194080"] = true,
	["rbxassetid://405212265"] = true,

	-- Version HTTP
	["http://[Log in to view URL]"] = true,
	["http://[Log in to view URL]"] = true,
	["http://[Log in to view URL]"] = true,
	["http://[Log in to view URL]"] = true,
	["http://[Log in to view URL]"] = true,
	["http://[Log in to view URL]"] = true,
	["http://[Log in to view URL]"] = true,
}

local function monitorAnimations(character)
	local humanoid = character:WaitForChild("Humanoid")

	RunService.RenderStepped:Connect(function()
		if isBlockedEnabled then
			for _, track in ipairs(humanoid:GetPlayingAnimationTracks()) do
				local anim = track.Animation
				if anim and anim.AnimationId then
					local id = anim.AnimationId
					if not blockedAnimations[id] then
	track:Stop()
	local backpackGui = Players.LocalPlayer:FindFirstChild("PlayerGui"):FindFirstChild("Backpack")
	if not backpackGui then
		game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true)
	end

					end
				end
			end
		end
	end)
end

player.CharacterAdded:Connect(monitorAnimations)
if player.Character then
	monitorAnimations(player.Character)
end

local Button = Tab:CreateButton({
   Name = "ServerHop",
   Callback = function()
      local Player = game.Players.LocalPlayer    
      local Http = game:GetService("HttpService")
      local TPS = game:GetService("TeleportService")
      local Api = "https://[Log in to view URL]"

      local PlaceId = game.PlaceId
      local JobId = game.JobId
      local ServersApi = Api .. PlaceId .. "/servers/Public?sortOrder=Asc&limit=10"

      local function ListServers(cursor)
         local Raw = game:HttpGet(ServersApi .. ((cursor and "&cursor=" .. cursor) or ""))
         return Http:JSONDecode(Raw)
      end

      local Next
      local FoundServer = nil

      repeat
         local Servers = ListServers(Next)
         for _, Server in ipairs(Servers.data) do
            if Server.playing < Server.maxPlayers and Server.id ~= JobId then
               FoundServer = Server
               break
            end
         end
         Next = Servers.nextPageCursor
      until FoundServer or not Next

      if FoundServer then
         TPS:TeleportToPlaceInstance(PlaceId, FoundServer.id, Player)
      else
         warn("Aucun autre serveur disponible.")
      end
   end
})

Toggle = Tab:CreateToggle({
	Name = "AntiTase [IN BETA] [GIVE SPEEDBOOST]",
	CurrentValue = false,
	Flag = "Toggle1",
	Callback = function(Value)
Rayfield:Notify({
   Title = "Warning !!!!",
   Content = "This module disables the tase animation and the immobilize script. However, on the server you'll still be tased (the police can arrest you by clicking on you), so the script gives you a temporary speed boost to help you get away",
   Duration = 15,
   Image = "triangle-alert",
})

        if Value then
			task.spawn(function()
				while Value do
					local character = player.Character
					if character then
						local humanoid = character:FindFirstChildOfClass("Humanoid")
						if humanoid and humanoid.WalkSpeed == 0 then
							humanoid.WalkSpeed = 50
						end
					end
					task.wait(0.1)
				end
			end)
		end

		isBlockedEnabled = Value
	end,
})

--[[
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local LocalPlayer = Players.LocalPlayer
local SilentAuraConnection

local Toggle = Tab:CreateToggle({
    Name = "SilentAura [IN BETA]",
    CurrentValue = false,
    Flag = "Toggle1",
    Callback = function(Value)
        if Value then
            print("[SilentAura] Activé")
            Rayfield:Notify({
                Title = "Warning !!!!",
                Content = "SilentAura is currently in beta and may not function properly.",
                Duration = 15,
                Image = "triangle-alert",
            })

            SilentAuraConnection = RunService.RenderStepped:Connect(function()
                local closestPlayer = nil
                local shortestDistance = math.huge

                for _, player in pairs(Players:GetPlayers()) do
                    if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
                        local distance = (player.Character.HumanoidRootPart.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude
                        if distance < shortestDistance then
                            shortestDistance = distance
                            closestPlayer = player
                        end
                    end
                end

                if closestPlayer then
                    print("[SilentAura] Ciblage du joueur le plus proche :", closestPlayer.Name, "| Distance :", math.floor(shortestDistance))

                    local args = {
    {
        {
            Vector3.new(950.6224975585938, 101.48993682861328, 2326.008056640625),
            Vector3.new(954.8148803710938, 99.98114013671875, 2324.03173828125),
            game.Workspace[closestPlayer.Name].HumanoidRootPart 
        }
    }
}
                    ReplicatedStorage:WaitForChild("GunRemotes"):WaitForChild("ShootEvent"):FireServer(unpack(args))
                    print("[SilentAura] Tir effectué sur :", closestPlayer.Name)
                else
                    print("[SilentAura] Aucun joueur valide trouvé.")
                end
            end)

        else
            print("[SilentAura] Désactivé")
            if SilentAuraConnection then
                SilentAuraConnection:Disconnect()
                SilentAuraConnection = nil
            end
        end
    end,
})

--]]
local Toggle = Tab:CreateToggle({
   Name = "ArrestAura [IN BETA]",
   CurrentValue = false,
   Flag = "Toggle1",
   Callback = function(Value)
    if Value then
Rayfield:Notify({
   Title = "Warning !!!!",
   Content = "ArrestAura is currently in beta and may not function properly.",
   Duration = 15,
   Image = "triangle-alert",
})
end 
      local Players = game:GetService("Players")
      local ReplicatedStorage = game:GetService("ReplicatedStorage")
      local ArrestPlayer = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("ArrestPlayer")

      local localPlayer = Players.LocalPlayer
      local character = localPlayer.Character or localPlayer.CharacterAdded:Wait()
      local rootPart = character:WaitForChild("HumanoidRootPart")

      local arrestRange = 5

      if Value then
         print("✅ ArrestAura activée.")
      else
         print("🛑 ArrestAura désactivée.")
      end

      while Value do
         task.wait(1)

         for _, player in ipairs(Players:GetPlayers()) do
            if not Value then break end -- Arrêter la boucle si désactivé

            if player ~= localPlayer and player.Character then
               print("🔍 Vérification de :", player.Name)

               local targetRoot = player.Character:FindFirstChild("HumanoidRootPart")
               if targetRoot then
                  local distance = (targetRoot.Position - rootPart.Position).Magnitude
                  print("→ Distance avec " .. player.Name .. " : " .. math.floor(distance) .. " studs")

                  if distance <= arrestRange then
                     print("→ " .. player.Name .. " est dans la zone. Tentative d’arrestation...")

                     local success, result = pcall(function()
                        return ArrestPlayer:InvokeServer(player)
                     end)

                     if success then
                        print("✅ Joueur arrêté :", player.Name)
                     else
                        warn("❌ Échec de l'arrestation de", player.Name, ":", result)
                     end
                  else
                     print("↪️ " .. player.Name .. " est trop loin.")
                  end
               else
                  print("⚠️ Aucun HumanoidRootPart pour", player.Name)
               end
            end
         end
      end
   end,
})




local Tab = Window:CreateTab("👁️ Esp 👁️", 4483362458) -- Title, Image

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera





local Button = Tab:CreateButton({
   Name = "Esp",
   Callback = function()
   local Value = true 
    local boxes = {}
        local updateConnection

        local function clear()
            if updateConnection then
                updateConnection:Disconnect()
                updateConnection = nil
            end
            for _, data in pairs(boxes) do
                data.box.Visible = false
                data.box:Remove()
            end
            boxes = {}
        end

        local function createBox(character)
            if not character then return end
            local hrp = character:WaitForChild("HumanoidRootPart", 5)
            if not hrp then return end

            local box = Drawing.new("Square")
            box.Visible = Value
            box.Thickness = 2
            box.Color = Color3.fromRGB(255, 0, 0)
            box.Filled = false
            box.Size = Vector2.new(100, 140) -- taille fixe

            boxes[character] = {box = box, lastVisibleTime = tick()}

            character.AncestryChanged:Connect(function(_, parent)
                if not parent then
                    box.Visible = false
                    box:Remove()
                    boxes[character] = nil
                end
            end)
        end

        local function update()
            local now = tick()
            for character, data in pairs(boxes) do
                local box = data.box
                if box then
                    local hrp = character:FindFirstChild("HumanoidRootPart")
                    if hrp then
                        local pos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
                        local dist = (Camera.CFrame.Position - hrp.Position).Magnitude

                        if onScreen and dist < 1000 then
                            box.Position = Vector2.new(pos.X - box.Size.X/2, pos.Y - box.Size.Y/2)
                            box.Visible = true
                            data.lastVisibleTime = now
                        else
                            if now - data.lastVisibleTime < 0.3 then
                                box.Visible = true
                            else
                                box.Visible = false
                            end
                        end
                    else
                        box.Visible = false
                    end
                end
            end
        end

        local function onCharacterAdded(character)
            if Value then
                createBox(character)
            end
        end

        local function onPlayerAdded(player)
            player.CharacterAdded:Connect(onCharacterAdded)
            if player.Character then
                onCharacterAdded(player.Character)
            end
        end

        if Value then
            for _, player in pairs(Players:GetPlayers()) do
                onPlayerAdded(player)
            end
            Players.PlayerAdded:Connect(onPlayerAdded)

            updateConnection = RunService.RenderStepped:Connect(update)
        else
            clear()
        end
   end,
})


local Button = Tab:CreateButton({
   Name = "Tracer",
   Callback = function()
   local Value = true 
   local tracers = {}
        local updateConnection

        local function createTracer(character)
            if not character then return end
            local hrp = character:WaitForChild("HumanoidRootPart", 5)
            if not hrp then return end

            local line = Drawing.new("Line")
            line.Color = Color3.fromRGB(0, 255, 0)
            line.Thickness = 1.5
            line.Transparency = 1
            line.Visible = true

            tracers[character] = line

            character.AncestryChanged:Connect(function(_, parent)
                if not parent then
                    line.Visible = false
                    line:Remove()
                    tracers[character] = nil
                end
            end)
        end

        local function updateTracers()
            local localPlayer = Players.LocalPlayer
            local localChar = localPlayer.Character
            if not localChar then return end
            local localHRP = localChar:FindFirstChild("HumanoidRootPart")
            if not localHRP then return end

            local originPos, originOnScreen = Camera:WorldToViewportPoint(localHRP.Position)
            if not originOnScreen then return end

            for character, line in pairs(tracers) do
                if character ~= localChar then
                    local hrp = character:FindFirstChild("HumanoidRootPart")
                    if hrp then
                        local targetPos, targetOnScreen = Camera:WorldToViewportPoint(hrp.Position)
                        if targetOnScreen then
                            line.From = Vector2.new(originPos.X, originPos.Y)
                            line.To = Vector2.new(targetPos.X, targetPos.Y)
                            line.Visible = true
                        else
                            line.Visible = false
                        end
                    else
                        line.Visible = false
                    end
                else
                    if line then
                        line.Visible = false
                    end
                end
            end
        end

        local function onCharacterAdded(character)
            if character ~= Players.LocalPlayer.Character then
                createTracer(character)
            end
        end

        local function onPlayerAdded(player)
            player.CharacterAdded:Connect(onCharacterAdded)
            if player.Character and player ~= Players.LocalPlayer then
                onCharacterAdded(player.Character)
            end
        end

        local function clearTracers()
            if updateConnection then
                updateConnection:Disconnect()
                updateConnection = nil
            end
            for _, line in pairs(tracers) do
                line.Visible = false
                line:Remove()
            end
            tracers = {}
        end

        if Value then
            for _, player in pairs(Players:GetPlayers()) do
                if player ~= Players.LocalPlayer then
                    onPlayerAdded(player)
                end
            end
            Players.PlayerAdded:Connect(onPlayerAdded)

            updateConnection = RunService.RenderStepped:Connect(updateTracers)
        else
            clearTracers()
        end
   end,
})

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera

local Button = Tab:CreateButton({
    Name = "DisplayName",
    Callback = function()
        local labels = {}
        local updateConnection
        local running = true

        local function clear()
            running = false
            if updateConnection then
                updateConnection:Disconnect()
                updateConnection = nil
            end
            for _, label in pairs(labels) do
                label.Visible = false
                label:Remove()
            end
            labels = {}
        end

        local function createLabel(character, player)
            if not character then return end
            local hrp = character:WaitForChild("HumanoidRootPart", 5)
            if not hrp then return end

            local text = Drawing.new("Text")
            text.Text = player.DisplayName
            text.Color = Color3.fromRGB(255, 255, 255)
            text.Size = 18
            text.Center = true
            text.Outline = true
            text.Visible = true

            labels[character] = text

            character.AncestryChanged:Connect(function(_, parent)
                if not parent then
                    text.Visible = false
                    text:Remove()
                    labels[character] = nil
                end
            end)
        end

        local function update()
            if not running then return end
            for character, label in pairs(labels) do
                local hrp = character:FindFirstChild("HumanoidRootPart")
                if hrp then
                    local pos, onScreen = Camera:WorldToViewportPoint(hrp.Position + Vector3.new(0, 3, 0))
                    if onScreen then
                        label.Position = Vector2.new(pos.X, pos.Y)
                        label.Visible = true
                    else
                        label.Visible = false
                    end
                else
                    label.Visible = false
                end
            end
        end

        local function onCharacterAdded(character, player)
            createLabel(character, player)
        end

        local function onPlayerAdded(player)
            player.CharacterAdded:Connect(function(character)
                if not running then return end
                onCharacterAdded(character, player)
            end)
            if player.Character then
                onCharacterAdded(player.Character, player)
            end
        end

        if updateConnection then
            clear()
            updateConnection = nil
            return
        end

        -- Connexion initiale
        for _, player in pairs(Players:GetPlayers()) do
            onPlayerAdded(player)
        end
        Players.PlayerAdded:Connect(onPlayerAdded)

        updateConnection = RunService.RenderStepped:Connect(update)
    end,
})

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera

local Button = Tab:CreateButton({
    Name = "UserName",
    Callback = function()
        local labels = {}
        local updateConnection
        local running = true

        local function clear()
            running = false
            if updateConnection then
                updateConnection:Disconnect()
                updateConnection = nil
            end
            for _, label in pairs(labels) do
                label.Visible = false
                label:Remove()
            end
            labels = {}
        end

        local function createLabel(character, player)
            if not character then return end
            local hrp = character:WaitForChild("HumanoidRootPart", 5)
            if not hrp then return end

            local text = Drawing.new("Text")
            text.Text = player.Name  -- UserName ici
            text.Color = Color3.fromRGB(255, 255, 255)
            text.Size = 18
            text.Center = true
            text.Outline = true
            text.Visible = true

            labels[character] = text

            character.AncestryChanged:Connect(function(_, parent)
                if not parent then
                    text.Visible = false
                    text:Remove()
                    labels[character] = nil
                end
            end)
        end

        local function update()
            if not running then return end
            for character, label in pairs(labels) do
                local hrp = character:FindFirstChild("HumanoidRootPart")
                if hrp then
                    local pos, onScreen = Camera:WorldToViewportPoint(hrp.Position + Vector3.new(0, 3, 0))
                    if onScreen then
                        label.Position = Vector2.new(pos.X, pos.Y)
                        label.Visible = true
                    else
                        label.Visible = false
                    end
                else
                    label.Visible = false
                end
            end
        end

        local function onCharacterAdded(character, player)
            createLabel(character, player)
        end

        local function onPlayerAdded(player)
            player.CharacterAdded:Connect(function(character)
                if not running then return end
                onCharacterAdded(character, player)
            end)
            if player.Character then
                onCharacterAdded(player.Character, player)
            end
        end

        if updateConnection then
            clear()
            updateConnection = nil
            return
        end

        for _, player in pairs(Players:GetPlayers()) do
            onPlayerAdded(player)
        end
        Players.PlayerAdded:Connect(onPlayerAdded)

        updateConnection = RunService.RenderStepped:Connect(update)
    end,
})

local Tab = Window:CreateTab("🏝️ Teleporte 🏝️", 4483362458) 
local Section = Tab:CreateSection("🔽 Teleportation 🔽")
local Paragraph = Tab:CreateParagraph({Title = "Tip 💡", Content = "Teleporting too quickly can alert the anti-cheat, wait 3-5 seconds between each teleportation."})


local Button = Tab:CreateButton({
   Name = "Prison",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(886.1497192382812, 99.1383056640625, 2389.20068359375))
   end,
})


local Button = Tab:CreateButton({
   Name = "Criminals Base",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(-975.8961181640625, 109.22369384765625, 2057.904541015625))
   end,
})

local Section = Tab:CreateSection("👮 Police 👮")


local Button = Tab:CreateButton({
   Name = "Police place",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(826.200195, 99.9900055, 2290.8501))
   end,
})


local Button = Tab:CreateButton({
   Name = "Police Food Place",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(758.4996337890625, 101.39459228515625, 2233.760009765625))
   end,
})

local Button = Tab:CreateButton({
   Name = "Police car spawner",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(589.0436401367188, 99.30305480957031, 2494.250244140625))
   end,
})

local Button = Tab:CreateButton({
   Name = "Armory",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(828.749755859375, 101.97666931152344, 2230.859375))
   end,
})
local Section = Tab:CreateSection("🙎🏻 Prisonnier 🙎🏻")

local Button = Tab:CreateButton({
   Name = "Prisoner Spawn",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(886.1497192382812, 99.1383056640625, 2389.20068359375))
   end,
})


local Button = Tab:CreateButton({
   Name = "Prisoner Cell",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(916.8001708984375, 98.989990234375, 2456.60009765625))
   end,
})

local Button = Tab:CreateButton({
   Name = "Prisoner court",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(842.4998168945312, 99.30000305175781, 2389.598876953125))
   end,
})

local Button = Tab:CreateButton({
   Name = "Prisoner Weight Room",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(795.7847900390625, 99.0899429321289, 2541.00537109375))
   end,
})

local Section = Tab:CreateSection("🏙️​​ City 🏙️")

local Button = Tab:CreateButton({
   Name = "Gun Shop",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(425.1280822753906, 9.725363254547119, 1213.233154296875))
   end,
})

local Button = Tab:CreateButton({
   Name = "Fuel Station",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(-494.00726318359375, 54.393310546875, 1643.380859375))
   end,
})

local Button = Tab:CreateButton({
   Name = "House #1",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(-171.6997528076172, 53.45760726928711, 2484))
   end,
})


local Button = Tab:CreateButton({
   Name = "House #2",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(-378.8901672363281, 53.475032806396484, 2044.052490234375))
   end,
})


local Button = Tab:CreateButton({
   Name = "Shop",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(-418.2632751464844, 53.47503662109375, 1616.7313232421875))
   end,
})

local Button = Tab:CreateButton({
   Name = "Container",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(261.0680847167969, 71.0167236328125, 2346.601318359375))
   end,
})

local Section = Tab:CreateSection("❓​​ Others ​❓")


local Button = Tab:CreateButton({
   Name = "Verification room",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(757.100341796875, 98.99000549316406, 2339.35009765625))
   end,
})

local Button = Tab:CreateButton({
   Name = "Visitor place",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(650.3003540039062, 98.99000549316406, 2274.10009765625))
   end,
})

local Button = Tab:CreateButton({
   Name = "Secret Rooms",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(722.950439453125, 99.09000396728516, 2328.75))
   end,
})

local Button = Tab:CreateButton({
   Name = "Sewer",
   Callback = function()
player.Character:SetPrimaryPartCFrame(CFrame.new(916.8316650390625, 78.79984283447266, 2270.59814453125))
   end,
})

local Tab = Window:CreateTab("🎮 Others 🎮", 4483362458) -- Title, Image
local Section = Tab:CreateSection("👤 Humanoid 👤")

local player = game.Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")

local SpeedSlider = Tab:CreateSlider({
    Name = "Speed",
    Range = {16, 65},
    Increment = 10,
    Suffix = "Wp",
    CurrentValue = 10,
    Flag = "Slider_Speed",
    Callback = function(Value)
        local character = player.Character or player.CharacterAdded:Wait()
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.WalkSpeed = Value
    end,
})

local JumpSlider = Tab:CreateSlider({
    Name = "JumpPower",
    Range = {50, 200},
    Increment = 10,
    Suffix = "Jp",
    CurrentValue = 50,
    Flag = "Slider_Jump",
    Callback = function(Value)
        local character = player.Character or player.CharacterAdded:Wait()
        local humanoid = character:WaitForChild("Humanoid")
        humanoid.JumpPower = Value
    end,
})
--]]

local infiniteJumpEnabled = false

UserInputService.JumpRequest:Connect(function()
    if infiniteJumpEnabled then
        local character = player.Character or player.CharacterAdded:Wait()
        local humanoid = character:FindFirstChildOfClass("Humanoid")
        if humanoid then
            humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
        end
    end
end)

local JumpToggle = Tab:CreateToggle({
    Name = "Infinite Jump",
    CurrentValue = false,
    Flag = "Toggle_InfiniteJump",
    Callback = function(Value)
        infiniteJumpEnabled = Value
    end,
})


local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer
local noclipEnabled = false

RunService.Stepped:Connect(function()
    if noclipEnabled then
        local character = player.Character
        if character then
            for _, part in pairs(character:GetDescendants()) do
                if part:IsA("BasePart") then
                    part.CanCollide = false
                end
            end
        end
    end
end)

local Toggle = Tab:CreateToggle({
    Name = "Noclip",
    CurrentValue = false,
    Flag = "Toggle_Noclip", 
    Callback = function(Value)
        noclipEnabled = Value

        if not Value then
            local character = player.Character
            if character then
                for _, part in pairs(character:GetDescendants()) do
                    if part:IsA("BasePart") then
                        part.CanCollide = true
                    end
                end
            end
        end
    end,
})

Tab:CreateButton({
    Name = "Infinite Stamina",
    Callback = function()
        while wait(0.1) do 
local aux = loadstring(game:HttpGetAsync("https://[Log in to view URL]"))()
local scriptPath = workspace[Players.LocalPlayer.Name].ClientInputHandler
local closureName = "updateStamina"
local upvalueIndex = 2
local closureConstants = {
	[1] = "UDim2",
	[2] = "new",
	[3] = aux.placeholderUserdataConstant,
	[4] = 12,
	[5] = "Size"
}
local closure = aux.searchClosure(scriptPath, closureName, upvalueIndex, closureConstants)
local value = 9999
debug.setupvalue(closure, upvalueIndex, value)
end 
    end,
})







local Section = Tab:CreateSection("✈️ Flying ✈️")

local Flying = false 

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer
local flying = false
local flyingSpeed = 20
local bodyVelocity

local activeKeys = {}

-- Infinite loop that ch


local ToggleFlying = Tab:CreateToggle({
    Name = "Flying",
    CurrentValue = false,
    Flag = "Flying",
    Callback = function(Value)
        flying = Value
        local character = player.Character or player.CharacterAdded:Wait()
        local root = character:WaitForChild("HumanoidRootPart")

        if flying then
            bodyVelocity = Instance.new("BodyVelocity")
            bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5)
            bodyVelocity.Velocity = Vector3.zero
            bodyVelocity.Parent = root

            RunService:BindToRenderStep("FlyControl", Enum.RenderPriority.Input.Value, function()
                if bodyVelocity and flying then
                    local camera = workspace.CurrentCamera
                    local move = Vector3.zero

                    if activeKeys[Enum.KeyCode.W] then
                        move += camera.CFrame.LookVector
                    end
                    if activeKeys[Enum.KeyCode.S] then
                        move -= camera.CFrame.LookVector
                    end
                    if activeKeys[Enum.KeyCode.A] then
                        move -= camera.CFrame.RightVector
                    end
                    if activeKeys[Enum.KeyCode.D] then
                        move += camera.CFrame.RightVector
                    end
                    if activeKeys[Enum.KeyCode.E] then
                        move += Vector3.new(0, 1, 0)
                    end
                    if activeKeys[Enum.KeyCode.Q] then
                        move -= Vector3.new(0, 1, 0)
                    end

                    if move.Magnitude > 0 then
                        move = move.Unit * flyingSpeed
                    end

                    bodyVelocity.Velocity = move
                end
            end)
        else
            RunService:UnbindFromRenderStep("FlyControl")
            activeKeys[Enum.KeyCode.W] = nil
            activeKeys[Enum.KeyCode.S] = nil
            activeKeys[Enum.KeyCode.A] = nil
            activeKeys[Enum.KeyCode.D] = nil
            activeKeys[Enum.KeyCode.E] = nil
            activeKeys[Enum.KeyCode.Q] = nil

            if bodyVelocity then
                bodyVelocity:Destroy()
                bodyVelocity = nil
            end
        end
    end,
})


local Slider = Tab:CreateSlider({
   Name = "Flying Speed",
   Range = {10, 50},
   Increment = 10,
   Suffix = "Flying",
   CurrentValue = flyingSpeed,
   Flag = "Slider1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
   Callback = function(Value)
            flyingSpeed = Value
   end,
})

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed or not flying then return end
    activeKeys[input.KeyCode] = true
end)

UserInputService.InputEnded:Connect(function(input)
    if not flying then return end
    activeKeys[input.KeyCode] = false
end)

local UserInputService = game:GetService("UserInputService")

local function isMobile()
    local TouchEnabled = UserInputService.TouchEnabled
    local KeyboardEnabled = UserInputService.KeyboardEnabled
    local MouseEnabled = UserInputService.MouseEnabled

    local isDeviceMobile = TouchEnabled and not KeyboardEnabled and not MouseEnabled
    
    return isDeviceMobile
end

local Mobile_Aimbot_Button = false 
local AutoFire = false

if isMobile() then 
    Mobile_Aimbot_Button = true
    AutoFire = true
end

local Aimbot = false 
local Ignore_the_people_on_the_same_team = true 
local Ignore_the_people_behind_the_wall = false 
local SAimbot = true 
local Smootch = 0.5
local Aimbot_KeyBind = "Q"

     Tab:CreateSection("⊕ Aimbot ⊕")

     Tab:CreateToggle({
        Name = "Aimbot",
        CurrentValue = Aimbot,
        Flag = "Toggle_Aimbot",
        Callback = function(Value)
            Aimbot = Value
        end,
    })

    print("Création du Toggle AutoFire...")
     Tab:CreateToggle({
        Name = "AutoFire (Mobile Only)",
        CurrentValue = AutoFire,
        Flag = "Toggle_AutoFire",
        Callback = function(Value)
            AutoFire = Value
        end,
    })

     Tab:CreateToggle({
        Name = "Mobile Aimbot Button (Mobile Only)",
        CurrentValue = Mobile_Aimbot_Button,
        Flag = "Toggle_MobileBtn",
        Callback = function(Value)
            Mobile_Aimbot_Button = Value
        end,
    })

    print("Création du Toggle Ignore Teammates...")
     Tab:CreateToggle({
        Name = "Ignore Teammates",
        CurrentValue = Ignore_the_people_on_the_same_team,
        Flag = "Toggle_IgnoreTeam",
        Callback = function(Value)
            Ignore_the_people_on_the_same_team = Value
        end,
    })

     Tab:CreateToggle({
        Name = "Ignore Players Behind Walls",
        CurrentValue = Ignore_the_people_behind_the_wall,
        Flag = "Toggle_IgnoreWalls",
        Callback = function(Value)
            Ignore_the_people_behind_the_wall = Value
        end,
    })

     Tab:CreateToggle({
        Name = "Smart Aimbot",
        CurrentValue = SAimbot,
        Flag = "Toggle_SAimbot",
        Callback = function(Value)
            SAimbot = Value
        end,
    })

     Tab:CreateKeybind({
        Name = "Aimbot Keybind",
        CurrentKeybind = ,
        HoldToInteract = false,
        Flag = "Keybind_Aimbot",
        Callback = function(Keybind)
        end,
    })

     Tab:CreateSlider({
        Name = "Smootchness",
        Range = {1, 10},
        Increment = 1,
        Suffix = "Smooth",
        CurrentValue = Smootch,
        Flag = "Smoothness", 
        Callback = function(Value)
            Smootch = Value
        end,
    })


local Section = Tab:CreateSection("🗡️ KillAura 🗡️")
local player = game.Players.LocalPlayer
local KillAura = false 
local Range = 10
local ShowTarget = true 

local Toggle = Tab:CreateToggle({
    Name = "KillAura",
    CurrentValue = KillAura,
    Flag = "Toggle_KillAura", 
    Callback = function(Value)
        KillAura = Value
    end,
})

local SpeedSlider = Tab:CreateSlider({
    Name = "Range",
    Range = {1, 20},
    Increment = 1,
    Suffix = " studs",
    CurrentValue = Range,
    Flag = "Slider_Range",
    Callback = function(Value)
        Range = Value
    end,
})

local Toggle = Tab:CreateToggle({
    Name = "Show Target",
    CurrentValue = ShowTarget,
    Flag = "Toggle_ShowTarget",
    Callback = function(Value)
        ShowTarget = Value
    end,
})

local activeCylinders = {}

local activeHighlights = {}

task.spawn(function()
    while task.wait(0.001) do
        if KillAura and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
            local root = player.Character.HumanoidRootPart
            for _, target in pairs(game.Players:GetPlayers()) do
                if target ~= player and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
                    local targetRoot = target.Character.HumanoidRootPart
                    local distance = (targetRoot.Position - root.Position).Magnitude
                    local withinRange = distance <= Range

                    if withinRange then
                        local args = {target}
                        game:GetService("ReplicatedStorage"):WaitForChild("meleeEvent"):FireServer(unpack(args))

                        if ShowTarget then
                            if not activeHighlights[target] then
                                local highlight = Instance.new("Highlight")
                                highlight.Name = "TargetHighlight"
                                highlight.FillColor = Color3.new(1, 1, 1)
                                highlight.OutlineColor = Color3.new(0.5, 0.8, 1)
                                highlight.FillTransparency = 0.5
                                highlight.OutlineTransparency = 0
                                highlight.Parent = target.Character
                                activeHighlights[target] = highlight
                            end
                        end
                    else
                        if activeHighlights[target] then
                            activeHighlights[target]:Destroy()
                            activeHighlights[target] = nil
                        end
                    end
                end
            end

            for target, highlight in pairs(activeHighlights) do
                if not target.Character or not target.Character:FindFirstChild("HumanoidRootPart") then
                    highlight:Destroy()
                    activeHighlights[target] = nil
                end
            end
        else
            for _, highlight in pairs(activeHighlights) do
                highlight:Destroy()
            end
            activeHighlights = {}
        end
    end
end)
--[[
local Tab = Window:CreateTab("🐇 ServerHop 🐇", 4483362458) 

local Button = Tab:CreateButton({
   Name = "ServerHop",
   Callback = function()
local Player = game.Players.LocalPlayer    
local Http = game:GetService("HttpService")
local TPS = game:GetService("TeleportService")
local Api = "https://[Log in to view URL]"

local _place,_id = game.PlaceId, game.JobId
local _servers = Api.._place.."/servers/Public?sortOrder=Asc&limit=10"
function ListServers(cursor)
   local Raw = game:HttpGet(_servers .. ((cursor and "&cursor="..cursor) or ""))
   return Http:JSONDecode(Raw)
end


   Player.Character.HumanoidRootPart.Anchored = true
   local Servers = ListServers()
   local Server = Servers.data[math.random(1,#Servers.data)]
   TPS:TeleportToPlaceInstance(_place, Server.id, Player)

end,
})


local Button = Tab:CreateButton({
   Name = "AutoServerHop",
   Callback = function()
loadstring(game:HttpGet("https://[Log in to view URL]"))()
})

--]]
local Tab = Window:CreateTab("☠️ Blatant Cheat ☠️", 4483362458) 

local Paragraph = Tab:CreateParagraph({Title = "Warning!!!", Content = "All modules present on this tab can be detected by anticheat"})
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local self = Players.LocalPlayer
local selfCharacter = self.Character or self.CharacterAdded:Wait()
local selfRootPart = selfCharacter:WaitForChild("HumanoidRootPart")
local selfHumanoid = selfCharacter:WaitForChild("Humanoid")

local DEFAULT_WALKSPEED = selfHumanoid.WalkSpeed
local DEFAULT_JUMPPOWER = selfHumanoid.JumpPower

local Arrest_Active = false
local Arrest_Running = false
local Arrest_OldPosition = nil
local Arrest_FollowConnection = nil
local Arrest_CurrentTarget = nil

local ArrestEvent = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("ArrestPlayer") 
local ArrestKeyCode = Enum.KeyCode.N 

local ArrestToggle_GUI = false 

local LOCAL_PLAYER_REQUIRED_TEAM = "Guards" 
local TARGET_TEAM_NAME = "Criminals" 

local function isPlayerAlive(player)
    if not player or not player.Character then return false end
    local humanoid = player.Character:FindFirstChild("Humanoid")
    if not humanoid then return false end
    return humanoid.Health > 0
end

local function getRandomTarget()
    local playerList = Players:GetPlayers()
    local validTargets = {}
    for _, player in ipairs(playerList) do
        if player ~= self and isPlayerAlive(player) and player.Team and player.Team.Name == TARGET_TEAM_NAME then
            local hum = player.Character:FindFirstChild("Humanoid")
            if hum and hum.Sit == false then
                table.insert(validTargets, player)
            end
        end
    end
    if #validTargets == 0 then return nil end
    return validTargets[math.random(1, #validTargets)]
end

local function unlockPlayer()
    if Arrest_FollowConnection then
        Arrest_FollowConnection:Disconnect()
        Arrest_FollowConnection = nil
    end
    if Arrest_OldPosition and isPlayerAlive(self) then
        selfRootPart.CFrame = Arrest_OldPosition
        Arrest_OldPosition = nil
    end
    selfHumanoid.WalkSpeed = DEFAULT_WALKSPEED
    selfHumanoid.JumpPower = DEFAULT_JUMPPOWER
    Arrest_CurrentTarget = nil
end

local function lockAndFollowTarget(targetPlayer)
    if not targetPlayer then return end
    
    if not Arrest_OldPosition and isPlayerAlive(self) then
        Arrest_OldPosition = selfRootPart.CFrame
    end
    if Arrest_FollowConnection then Arrest_FollowConnection:Disconnect() end
    if not isPlayerAlive(targetPlayer) then return end
    
    selfHumanoid.WalkSpeed = 0
    selfHumanoid.JumpPower = 0

    Arrest_FollowConnection = RunService.RenderStepped:Connect(function()
        local targetCharacter = targetPlayer.Character
        local humanoid = targetCharacter and targetCharacter:FindFirstChild("Humanoid")
        local targetRootPart = targetCharacter and targetCharacter:FindFirstChild("HumanoidRootPart")
        
        if not isPlayerAlive(targetPlayer) or not Arrest_Active or (humanoid and humanoid.Sit) then
            unlockPlayer()
            return
        end
        
        if targetRootPart then
            local targetHeight = 7
            selfRootPart.CFrame = targetRootPart.CFrame * CFrame.new(0, -targetHeight, 0)
        end
    end)
end

local function startArrestLoop()
    if Arrest_Running then return end
    
    if not self.Team or self.Team.Name ~= LOCAL_PLAYER_REQUIRED_TEAM then
        Arrest_Active = false
        Arrest_Running = false
        unlockPlayer()
        return
    end
    
    Arrest_Running = true
    
    while isPlayerAlive(self) and Arrest_Active do
        if Arrest_CurrentTarget then
            local targetCharacter = Arrest_CurrentTarget.Character
            local humanoid = targetCharacter and targetCharacter:FindFirstChild("Humanoid")
            if humanoid and humanoid.Sit == true then
                Arrest_CurrentTarget = nil
            end
        end

        if not isPlayerAlive(Arrest_CurrentTarget) then
            Arrest_OldPosition = nil
            Arrest_CurrentTarget = getRandomTarget()
            
            if Arrest_CurrentTarget then
                lockAndFollowTarget(Arrest_CurrentTarget)
            else
                task.wait(2)
            end
        end

        if isPlayerAlive(Arrest_CurrentTarget) and Arrest_Active then
            ArrestEvent:InvokeServer(Arrest_CurrentTarget) 
            task.wait(0.1)
        end

        task.wait(0.05)
    end
    Arrest_Running = false
    unlockPlayer()
end

self.CharacterAdded:Connect(function(char)
    selfCharacter = char
    selfRootPart = char:WaitForChild("HumanoidRootPart")
    selfHumanoid = char:WaitForChild("Humanoid")
    if Arrest_Active and not Arrest_Running then
        task.spawn(startArrestLoop)
    end
end)

task.spawn(function()
    while task.wait(0.5) do
        if Arrest_Active and not Arrest_Running and ArrestToggle_GUI then 
            task.spawn(startArrestLoop)
        end
    end
end)

local function onInputBegan(input, gameProcessedEvent)
    if gameProcessedEvent then return end
    if input.KeyCode == ArrestKeyCode then
        Arrest_Active = not Arrest_Active
        if Arrest_Active and ArrestToggle_GUI then 
            task.spawn(startArrestLoop)
        else
            Arrest_Running = false 
            if not Arrest_Active then
                unlockPlayer()
            end
        end
    end
end

UserInputService.InputBegan:Connect(onInputBegan)

Toggle = Tab:CreateToggle({
    Name = "Arrest All [IN BETA] [Press N to enable] [Only Criminals] [Special thanks to ShutUpScripts] ",
    CurrentValue = false,
    Flag = "Toggle1",
    Callback = function(Value)
        local camera = workspace.CurrentCamera
if Value then
    camera.CameraType = Enum.CameraType.Scriptable

    game:GetService("RunService").RenderStepped:Connect(function()
        local character = player.Character
        if character and character:FindFirstChild("HumanoidRootPart") then
            local root = character.HumanoidRootPart
            camera.CFrame = CFrame.new(
                root.Position + Vector3.new(0, 7, -15),  
                root.Position + Vector3.new(0, 5, 0)    
            )
        end
    end)

else
 camera.CameraType = Enum.CameraType.Custom
    camera.CameraSubject = player.Character:FindFirstChildOfClass("Humanoid")
    camera.CFrame = CFrame.new(camera.CFrame.Position)

    local connection = player:GetAttribute("CameraConnection")
    if typeof(connection) == "RBXScriptConnection" then
        connection:Disconnect()
    end
    player:SetAttribute("CameraConnection", nil)
end


        ArrestToggle_GUI = Value 
        
        if not ArrestToggle_GUI and Arrest_Active then
            Arrest_Active = false
            Arrest_Running = false
            unlockPlayer()
        end
        if ArrestToggle_GUI and Arrest_Active and not Arrest_Running then
            task.spawn(startArrestLoop)
        end
    end,
})

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local self = Players.LocalPlayer
local selfCharacter = self.Character or self.CharacterAdded:Wait()
local selfRootPart = selfCharacter:WaitForChild("HumanoidRootPart")
local selfHumanoid = selfCharacter:WaitForChild("Humanoid")

local DEFAULT_WALKSPEED = selfHumanoid.WalkSpeed
local DEFAULT_JUMPPOWER = selfHumanoid.JumpPower

local Aa = false 
local running = false 
local oldPosition = nil 
local followConnection = nil
local currentTarget = nil

local meleeEvent = game.ReplicatedStorage:WaitForChild("meleeEvent")
local KillAllKeyCode = Enum.KeyCode.E
local KillAllToggle = false 

local function isPlayerAlive(player)
    if not player or not player.Character then 
        return false 
    end
    local humanoid = player.Character:FindFirstChild("Humanoid")
    if not humanoid then 
        return false 
    end
    return humanoid.Health > 0
end

local function getRandomTarget()
    local playerList = Players:GetPlayers()
    local validTargets = {}
    for _, player in ipairs(playerList) do
        if player ~= self and isPlayerAlive(player) then
            local hum = player.Character:FindFirstChild("Humanoid")
            if hum and hum.Sit == false then
                table.insert(validTargets, player)
            end
        end
    end
    if #validTargets == 0 then 
        return nil 
    end
    local target = validTargets[math.random(1, #validTargets)]
    return target
end

local function unlockPlayer()
    if followConnection then
        followConnection:Disconnect()
        followConnection = nil
    end
    if oldPosition and isPlayerAlive(self) then
        selfRootPart.CFrame = oldPosition
        oldPosition = nil
    end
    selfHumanoid.WalkSpeed = DEFAULT_WALKSPEED
    selfHumanoid.JumpPower = DEFAULT_JUMPPOWER
    currentTarget = nil
end

local function lockAndFollowTarget(targetPlayer)
    if not targetPlayer then 
        return 
    end
    if not oldPosition and isPlayerAlive(self) then
        oldPosition = selfRootPart.CFrame
    end
    if followConnection then followConnection:Disconnect() end
    if not isPlayerAlive(targetPlayer) then 
        return 
    end
    
    selfHumanoid.WalkSpeed = 0
    selfHumanoid.JumpPower = 0

    followConnection = RunService.RenderStepped:Connect(function()
        local targetCharacter = targetPlayer.Character
        local humanoid = targetCharacter and targetCharacter:FindFirstChild("Humanoid")
        local targetRootPart = targetCharacter and targetCharacter:FindFirstChild("HumanoidRootPart")
        
        if not isPlayerAlive(targetPlayer) or not Aa or (humanoid and humanoid.Sit) then
            unlockPlayer()
            return
        end
        
        if targetRootPart then
            local targetHeight = 5
            selfRootPart.CFrame = targetRootPart.CFrame * CFrame.new(0, -targetHeight, 0)
        end
    end)
end

local function startAttackLoop()
    if running then 
        return 
    end
    running = true
    
    while isPlayerAlive(self) and Aa do
        if currentTarget then
            local targetCharacter = currentTarget.Character
            local humanoid = targetCharacter and targetCharacter:FindFirstChild("Humanoid")
            if humanoid and humanoid.Sit == true then
                currentTarget = nil
            end
        end

        if not isPlayerAlive(currentTarget) then
            oldPosition = nil
            currentTarget = getRandomTarget()
            
            if currentTarget then
                lockAndFollowTarget(currentTarget)
            else
                task.wait(2)
            end
        end

        if isPlayerAlive(currentTarget) and Aa then
            meleeEvent:FireServer(currentTarget) 
            task.wait(0.1)
        end

        task.wait(0.05)
    end
    running = false
    unlockPlayer()
end

self.CharacterAdded:Connect(function(char)
    selfCharacter = char
    selfRootPart = char:WaitForChild("HumanoidRootPart")
    selfHumanoid = char:WaitForChild("Humanoid")
    if Aa and not running then
        task.spawn(startAttackLoop)
    end
end)

task.spawn(function()
    while task.wait(0.5) do
        if Aa and not running and KillAllToggle then 
            task.spawn(startAttackLoop)
        end
    end
end)

local function onInputBegan(input, gameProcessedEvent)
    if gameProcessedEvent then return end
    if input.KeyCode == KillAllKeyCode then
        Aa = not Aa
        if Aa and KillAllToggle then 
            task.spawn(startAttackLoop)
        else
            running = false 
            if not Aa then
                unlockPlayer()
            end
        end
    end
end

UserInputService.InputBegan:Connect(onInputBegan)

Toggle = Tab:CreateToggle({
    Name = "Kill All [IN BETA] [Press E to enable] [Special thanks to ShutUpScripts] ",
    CurrentValue = false,
    Flag = "Toggle1",
    Callback = function(Value)
        local camera = workspace.CurrentCamera
if Value then
    camera.CameraType = Enum.CameraType.Scriptable

    game:GetService("RunService").RenderStepped:Connect(function()
        local character = player.Character
        if character and character:FindFirstChild("HumanoidRootPart") then
            local root = character.HumanoidRootPart
            camera.CFrame = CFrame.new(
                root.Position + Vector3.new(0, 5, -10), 
                root.Position + Vector3.new(0, 3, 0)   
            )
        end
    end)

else
    camera.CameraType = Enum.CameraType.Custom
end

        KillAllToggle = Value 
        if not KillAllToggle and Aa then
            Aa = false
            running = false
            unlockPlayer()
        end
        if KillAllToggle and Aa and not running then
            task.spawn(startAttackLoop)
        end
    end,
})
local Tab = Window:CreateTab("📜 ChangeLog 📜", 4483362458) 

local Paragraph = Tab:CreateParagraph({
    Title = "Update",
    Content = [[
New Option: KillAll, ArrestAll, Killaura modified, New developer(wanderkidd)
]]})

local Tab = Window:CreateTab("❓ How to bypass anticheat ❓", 4483362458) 
local Paragraph = Tab:CreateParagraph({Title = "Tip 💡", Content = "Teleporting too quickly can alert the anti-cheat, wait 3-5 seconds between each teleportation."})
local Paragraph = Tab:CreateParagraph({Title = "Information", Content = "If you continue respecting the tips, you will be kicked or banned. Rejoin our Discord server."})


Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: