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

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

   ToggleUIKeybind = "V", 

   DisableRayfieldPrompts = false,
   DisableBuildWarnings = false, 

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

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

   KeySystem = true, 
   KeySettings = {
      Title = "kawaii 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(181, 199, 235)   -- Misty Blue
local thiefColor = Color3.fromRGB(255, 192, 103) -- Coral
local lobbyColor = Color3.fromRGB(250, 80, 83) -- Strawberry

-- 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,
})

local Section = Tab:CreateSection("Music")

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,
})

Embed on website

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