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

local Window = Rayfield:CreateWindow({
   Name = "Manhunt ⭐",
   Icon = 0, 
   LoadingTitle = "ocean hub 🌊",
   LoadingSubtitle = "loading in..",
   ShowText = "ocean", 
   Theme = "Ocean", 

   ToggleUIKeybind = "V", 

   DisableRayfieldPrompts = false,
   DisableBuildWarnings = false, 

   ConfigurationSaving = {
      Enabled = true,
      FolderName = "IconicHubConfig", 
      FileName = "Big Hub"
   },

   Discord = {
      Enabled = false, 
      Invite = "noinvitelink", 
      RememberJoins = true 
   },

   KeySystem = true, 
   KeySettings = {
      Title = "ocean hub 🌊",
      Subtitle = "Key System",
      Note = "The key is bread", 
      FileName = "Key", 
      SaveKey = true, 
      GrabKeyFromSite = true, 
      Key = {"bread"} 
   }
})

-- ====================================================================
-- GLOBAL CONFIGURATION & UTILITIES
-- ====================================================================
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local ProximityPromptService = game:GetService("ProximityPromptService")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")

-- Toggle States (Persistent across round updates)
local CopESPEnabled = false 
local ThiefESPEnabled = false
local LobbyESPEnabled = false
local JailESPEnabled = false
local ServerInvisibilityEnabled = false 

-- Shadow Storage for Invisibility
local RealRootCFrame = nil

-- Colors
local copColor = Color3.fromRGB(0, 100, 255)   -- Vibrant Blue
local thiefColor = Color3.fromRGB(255, 120, 0) -- Bright Orange
local lobbyColor = Color3.fromRGB(140, 140, 145) -- Clean Grey

-- Team Verification Functions
local function isCop(player)
    return player and player.Team and (player.Team.Name == "COP" or player.Team.Name == "Cops")
end

local function isThief(player)
    return player and player.Team and (player.Team.Name == "THIEF" or player.Team.Name == "Thieves")
end

local function isLobby(player)
    return player and player.Team and player.Team.Name == "LOBBY"
end

-- Universal function to apply highlights safely
local function applyESP(player, character, name, color, enabledTracker)
    if not enabledTracker then return end 
    if player == LocalPlayer then return end 
    
    task.spawn(function()
        local root = character:WaitForChild("HumanoidRootPart", 5)
        if not root then return end
        
        if character:FindFirstChild(name) then return end
        
        local highlight = Instance.new("Highlight")
        highlight.Name = name
        highlight.FillColor = color
        highlight.FillTransparency = 0.5
        highlight.OutlineColor = color
        highlight.OutlineTransparency = 0
        highlight.Adornee = character
        highlight.Parent = character
    end)
end

-- Universal function to remove highlights safely
local function removeESP(character, name)
    if character then
        local existingHighlight = character:FindFirstChild(name)
        if existingHighlight then
            existingHighlight:Destroy()
        end
    end
end

-- Event Listener Monitoring System
local function monitorPlayer(player)
    player.CharacterAdded:Connect(function(character)
        if CopESPEnabled and isCop(player) then
            applyESP(player, character, "CopHighlight", copColor, CopESPEnabled)
        elseif ThiefESPEnabled and isThief(player) then
            applyESP(player, character, "ThiefHighlight", thiefColor, ThiefESPEnabled)
        elseif LobbyESPEnabled and isLobby(player) then
            applyESP(player, character, "LobbyHighlight", lobbyColor, LobbyESPEnabled)
        end
    end)
    
    player:GetPropertyChangedSignal("Team"):Connect(function()
        if CopESPEnabled and isCop(player) then
            if player.Character then applyESP(player, player.Character, "CopHighlight", copColor, CopESPEnabled) end
        else
            if player.Character then removeESP(player.Character, "CopHighlight") end
        end
        
        if ThiefESPEnabled and isThief(player) then
            if player.Character then applyESP(player, player.Character, "ThiefHighlight", thiefColor, ThiefESPEnabled) end
        else
            if player.Character then removeESP(player.Character, "ThiefHighlight") end
        end

        if LobbyESPEnabled and isLobby(player) then
            if player.Character then applyESP(player, player.Character, "LobbyHighlight", lobbyColor, LobbyESPEnabled) end
        else
            if player.Character then removeESP(player.Character, "LobbyHighlight") end
        end
    end)
end

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

-- UNBREAKABLE ROUND REFRESHER LOOP
task.spawn(function()
    while true do
        task.wait(2)
        for _, player in pairs(Players:GetPlayers()) do
            if player ~= LocalPlayer and player.Character then
                if CopESPEnabled and isCop(player) then
                    applyESP(player, player.Character, "CopHighlight", copColor, CopESPEnabled)
                end
                if ThiefESPEnabled and isThief(player) then
                    applyESP(player, player.Character, "ThiefHighlight", thiefColor, ThiefESPEnabled)
                end
                if LobbyESPEnabled and isLobby(player) then
                    applyESP(player, player.Character, "LobbyHighlight", lobbyColor, LobbyESPEnabled)
                end
            end
        end
    end
end)


-- ====================================================================
-- TAB 1: VISUALS
-- ====================================================================
local VisualTab = Window:CreateTab("Visual", 4483362458) 
local VisualSection = VisualTab:CreateSection("ESP")

local Toggle1 = VisualTab:CreateToggle({
   Name = "ESP Thieves",
   CurrentValue = false,
   Flag = "ThievesESPFlag", 
   Callback = function(Value)
        ThiefESPEnabled = Value
        if ThiefESPEnabled == true then
            for _, player in pairs(Players:GetPlayers()) do
                if isThief(player) and player.Character then
                    applyESP(player, player.Character, "ThiefHighlight", thiefColor, ThiefESPEnabled)
                end
            end
        else
            for _, player in pairs(Players:GetPlayers()) do
                if player.Character then removeESP(player.Character, "ThiefHighlight") end
            end
        end
   end,
})

local Toggle2 = VisualTab:CreateToggle({
   Name = "ESP Cops",
   CurrentValue = false,
   Flag = "CopsESPFlag", 
   Callback = function(Value)
        CopESPEnabled = Value 
        if CopESPEnabled == true then
            for _, player in pairs(Players:GetPlayers()) do
                if isCop(player) and player.Character then
                    applyESP(player, player.Character, "CopHighlight", copColor, CopESPEnabled)
                end
            end
        else
            for _, player in pairs(Players:GetPlayers()) do
                if player.Character then removeESP(player.Character, "CopHighlight") end
            end
        end
   end,
})

local Toggle3 = VisualTab:CreateToggle({
   Name = "ESP Lobby",
   CurrentValue = false,
   Flag = "LobbyESPFlag", 
   Callback = function(Value)
        LobbyESPEnabled = Value 
        if LobbyESPEnabled == true then
            for _, player in pairs(Players:GetPlayers()) do
                if isLobby(player) and player.Character then
                    applyESP(player, player.Character, "LobbyHighlight", lobbyColor, LobbyESPEnabled)
                end
            end
        else
            for _, player in pairs(Players:GetPlayers()) do
                if player.Character then removeESP(player.Character, "LobbyHighlight") end
            end
        end
   end,
})

-- TOGGLE 4: ESP JAIL (Rainbow Highlight Engine)
local ToggleJail = VisualTab:CreateToggle({
   Name = "ESP Jail",
   CurrentValue = false,
   Flag = "JailESPFlag",
   Callback = function(Value)
        JailESPEnabled = Value
        
        if JailESPEnabled then
            task.spawn(function()
                -- Track rainbow spectrum rotation
                local hue = 0
                
                while JailESPEnabled do
                    -- Locate the Map container folder in workspace
                    local currentMapFolder = Workspace:FindFirstChild("CurrentMap")
                    if currentMapFolder then
                        local jailModel = currentMapFolder:FindFirstChild("Jail")
                        if jailModel then
                            -- Generate your fresh rainbow Color3 instance
                            hue = (hue + 1) % 360
                            local rainbowColor = Color3.fromHSV(hue / 360, 0.9, 1)
                            
                            -- Find or apply the highlight instance
                            local highlight = jailModel:FindFirstChild("JailRainbowESP")
                            if not highlight then
                                highlight = Instance.new("Highlight")
                                highlight.Name = "JailRainbowESP"
                                highlight.FillTransparency = 0.6
                                highlight.OutlineTransparency = 0
                                highlight.Adornee = jailModel
                                highlight.Parent = jailModel
                                
                                -- Safe firewall trigger via your game remote structure
                                pcall(function()
                                    local highlightsFolder = ReplicatedStorage:FindFirstChild("Highlights")
                                    if highlightsFolder then
                                        local remote = highlightsFolder:FindFirstChild("JailHighlight")
                                        if remote and remote:IsA("RemoteEvent") then
                                            remote:FireServer(jailModel)
                                        end
                                    end
                                end)
                            end
                            
                            -- Update the color on render frame ticks
                            highlight.FillColor = rainbowColor
                            highlight.OutlineColor = rainbowColor
                        end
                    end
                    task.wait(0.03) -- Clean spectrum cycle delay
                end
            end)
        else
            -- Cleanup highlight instances gracefully when toggled off
            local currentMapFolder = Workspace:FindFirstChild("CurrentMap")
            if currentMapFolder then
                local jailModel = currentMapFolder:FindFirstChild("Jail")
                if jailModel then
                    local highlight = jailModel:FindFirstChild("JailRainbowESP")
                    if highlight then highlight:Destroy() end
                end
            end
        end
   end,
})

local TeleportSection = VisualTab:CreateSection("Teleportation")

local Input = VisualTab:CreateInput({
   Name = "Teleport to Player",
   CurrentValue = "",
   PlaceholderText = "Enter username or display name.",
   RemoveTextAfterFocusLost = false,
   Flag = "TeleportPlayerInput", 
   Callback = function(Text)
        if Text == "" then return end
        local targetPlayer = nil
        local lowerText = string.lower(Text)
        
        for _, player in pairs(Players:GetPlayers()) do
            if string.sub(string.lower(player.Name), 1, #lowerText) == lowerText or 
               string.sub(string.lower(player.DisplayName), 1, #lowerText) == lowerText then
                targetPlayer = player
                break
            end
        end
        
        if targetPlayer and targetPlayer ~= LocalPlayer then
            local myCharacter = LocalPlayer.Character
            local targetCharacter = targetPlayer.Character
            if myCharacter and targetCharacter then
                local myRoot = myCharacter:FindFirstChild("HumanoidRootPart")
                local targetRoot = targetCharacter:FindFirstChild("HumanoidRootPart")
                if myRoot and targetRoot then
                    myCharacter:PivotTo(targetRoot.CFrame * CFrame.new(0, 0, 3))
                end
            end
        end
   end,
})


-- ====================================================================
-- TAB 2: PLAYER
-- ====================================================================
local PlayerTab = Window:CreateTab("Player", 4483362458) 
local TrollSection = PlayerTab:CreateSection("Troll")

local ColorPicker = PlayerTab:CreateColorPicker({
    Name = "Change Skin Color",
    Color = Color3.fromRGB(255, 255, 255),
    Flag = "SkinColorPickerFlag", 
    Callback = function(Value)
        local character = LocalPlayer.Character
        if not character then return end
        
        local bodyColors = character:FindFirstChildOfClass("BodyColors")
        if bodyColors then
            bodyColors.HeadColor3 = Value
            bodyColors.TorsoColor3 = Value
            bodyColors.LeftArmColor3 = Value
            bodyColors.RightArmColor3 = Value
            bodyColors.LeftLegColor3 = Value
            bodyColors.RightLegColor3 = Value
        end
        
        for _, part in pairs(character:GetChildren()) do
            if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
                part.Color = Value
            end
        end
    end
})


-- ====================================================================
-- TAB 3: CUSTOMIZATION (Font Adjustments)
-- ====================================================================
local CustomizationTab = Window:CreateTab("Customization", 4483362458) 
local CustomizationSection = CustomizationTab:CreateSection("UI Customization")

local Dropdown = CustomizationTab:CreateDropdown({
   Name = "Choose Font",
   Options = {"Default", "Fredoka One", "Antique", "Starborn"},
   CurrentOption = {"Default"},
   MultipleOptions = false,
   Flag = "FontDropdownFlag", 
   Callback = function(Options)
        local SelectedFontName = Options[1]
        local TargetFontFace = nil
        local useReset = false
        
        if SelectedFontName == "Default" then
            useReset = true
        elseif SelectedFontName == "Fredoka One" then
            TargetFontFace = Font.fromEnum(Enum.Font.FredokaOne)
        elseif SelectedFontName == "Antique" then
            TargetFontFace = Font.fromEnum(Enum.Font.Antique)
        elseif SelectedFontName == "Starborn" then
            TargetFontFace = Font.new("rbxassetid://12187365364", Enum.FontWeight.Regular, Enum.FontStyle.Normal)
        end
        
        local function updateUIFonts(rootInstance)
            for _, obj in pairs(rootInstance:GetDescendants()) do
                if obj:IsA("TextLabel") or obj:IsA("TextButton") or obj:IsA("TextBox") then
                    
                    local nameLower = string.lower(obj.Name)
                    
                    if string.find(nameLower, "icon") or 
                       string.find(nameLower, "image") or 
                       string.find(nameLower, "img") or
                       string.find(nameLower, "glyph") or
                       string.find(nameLower, "bar") or
                       string.find(nameLower, "three") or
                       string.find(nameLower, "horizontal") then
                        continue
                    end
                    
                    if useReset then
                        obj.FontFace = Font.fromEnum(Enum.Font.SourceSans) 
                    elseif TargetFontFace then
                        obj.FontFace = TargetFontFace
                    end
                end
            end
        end
        
        updateUIFonts(game:GetService("CoreGui"))
        updateUIFonts(LocalPlayer:WaitForChild("PlayerGui"))
   end,
})


-- ====================================================================
-- TAB 4: GAMEPASSES
-- ====================================================================
local Tab = Window:CreateTab("Test", 4483362458) 
local ActionSection = Tab:CreateSection("Stuff")

-- Function to handle local mesh transparency
local function setCharacterTransparency(char, transparency)
    for _, part in pairs(char:GetDescendants()) do
        if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
            part.Transparency = transparency
        elseif part:IsA("Decal") then
            part.Transparency = transparency
        end
    end
end

local ToggleInvisibility = Tab:CreateToggle({
   Name = "Invisibility Watch",
   CurrentValue = false,
   Flag = "ServerInvisToggleFlag", 
   Callback = function(Value)
        ServerInvisibilityEnabled = Value
        
        local character = LocalPlayer.Character
        if not character then return end
        local root = character:FindFirstChild("HumanoidRootPart")
        
        if ServerInvisibilityEnabled then
            if root then RealRootCFrame = root.CFrame end
            
            for _, part in pairs(character:GetDescendants()) do
                if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
                    part.Transparency = 1
                elseif part:IsA("Decal") then
                    part.Transparency = 1
                end
            end
        else
            for _, part in pairs(character:GetDescendants()) do
                if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
                    part.Transparency = 0
                elseif part:IsA("Decal") then
                    part.Transparency = 0
                end
            end
        end
   end,
})

-- ====================================================================
-- CLEAN PHYSICS & STABILIZER OVERHAUL
-- ====================================================================
RunService.RenderStepped:Connect(function()
    local char = LocalPlayer.Character
    if char and ServerInvisibilityEnabled then
        local root = char:FindFirstChild("HumanoidRootPart")
        if root then
            root.CanCollide = true
        end
    end
end)

-- Proximity Prompt Override
ProximityPromptService.PromptShown:Connect(function(prompt)
    if ServerInvisibilityEnabled then
        prompt.RequiresLineOfSight = false
    end
end)

-- Reset handling
LocalPlayer.CharacterAdded:Connect(function(char)
    if ServerInvisibilityEnabled then
        task.wait(0.5)
        for _, part in pairs(char:GetDescendants()) do
            if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
                part.Transparency = 1
            elseif part:IsA("Decal") then
                part.Transparency = 1
            end
        end
    end
end)

local Tab = Window:CreateTab("Utilities", 4483362458) -- Title, Image

Tab:CreateSection("Noclip")
Tab:CreateToggle({
   Name = "Enable Noclip",
   CurrentValue = false,
   Callback = function(Value)
        NoclipEnabled = Value
        if NoclipEnabled then
            NoclipConnection = RunService.Heartbeat:Connect(function()
                local char = LocalPlayer.Character
                if char then
                    for _, part in pairs(char:GetDescendants()) do
                        if part:IsA("BasePart") then part.CanCollide = false end
                    end
                end
            end)
        else
            if NoclipConnection then NoclipConnection:Disconnect() end
        end
   end,
})

local ExtrasTab = Window:CreateTab("Extras", 4483362458) 
local ForceSection = ExtrasTab:CreateSection("Force Jail State")

ExtrasTab:CreateToggle({
   Name = "FORCE Jail Open (Value Bypass) [doesn't work 4 now]",
   CurrentValue = false,
   Flag = "ForceJailValueToggle",
   Callback = function(Value)
        _G.ForceJailValueEnabled = Value
        
        if _G.ForceJailValueEnabled then
            task.spawn(function()
                while _G.ForceJailValueEnabled do
                    pcall(function()
                        local replicated = game:GetService("ReplicatedStorage")
                        local folder = replicated:FindFirstChild("ClientRoundStates")
                        local boolValue = folder and folder:FindFirstChild("JailOpen")
                        
                        if boolValue and boolValue:IsA("BoolValue") then
                            -- Force the value to true
                            if boolValue.Value == false then
                                boolValue.Value = true
                            end
                        end
                    end)
                    -- Check every 0.1s to ensure it stays true
                    task.wait(0.1) 
                end
            end)
        end
   end,
})

Embed on website

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