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

local Window = Rayfield:CreateWindow({
   Name = "Manhunt",
   Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
   LoadingTitle = "kawaii hub",
   LoadingSubtitle = "Loading In!",
   ShowText = "kawaii hub", -- for mobile users to unhide Rayfield, change if you'd like
   Theme = "Bloom", -- Check https://[Log in to view URL]

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

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

   -- ScriptID = "sid_xxxxxxxxxxxx", -- Your Script ID from developer.sirius.menu — enables analytics, managed keys, and script hosting

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

   Discord = {
      Enabled = false, -- Prompt the user to join your Discord server if their executor supports it
      Invite = "noinvitelink", -- 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 = true, -- Set this to true to use our key system
   KeySettings = {
      Title = "kawaii hub",
      Subtitle = "Key System",
      Note = "The key is bread", -- 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 = true, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
      Key = {"bread"} -- List of keys that the system will accept, can be RAW file links (pastebin, github, etc.) or simple strings ("hello", "key22")
   }
})

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

local Section = Tab:CreateSection("ESP")

local Button = Tab:CreateButton({
   Name = "ESP Thieves",
   Callback = local Players = game:GetService("Players")

local Players = game:GetService("Players")

local EspEnabled = false

local Button = Tab:CreateButton({
    Name = "ESP Cops",
    Callback = function()
        local Players = game:GetService("Players")
        local Teams = game:GetService("Teams")
        
        -- Target team configuration
        local targetTeamName = "Cops"
        local espColor = Color3.fromRGB(0, 100, 255) -- Vibrant Blue
        
        -- Function to apply the ESP highlight to a character
        local function applyESP(player, character)
            -- Avoid applying ESP to yourself
            if player == Players.LocalPlayer then return end
            
            -- Wait for the root part to ensure the character is fully loaded
            character:WaitForChild("HumanoidRootPart", 5)
            
            -- Check if a highlight already exists to prevent duplication
            if character:FindFirstChild("CopHighlight") then return end
            
            -- Create the modern Highlight effect
            local highlight = Instance.new("Highlight")
            highlight.Name = "CopHighlight"
            highlight.FillColor = espColor
            highlight.FillTransparency = 0.5 -- Semi-transparent fill inside
            highlight.OutlineColor = espColor
            highlight.OutlineTransparency = 0 -- Sharp outline
            highlight.Adornee = character
            highlight.Parent = character
        end
        
        -- Loop through all existing players and check their team
        for _, player in pairs(Players:GetPlayers()) do
            if player.Team and player.Team.Name == targetTeamName then
                if player.Character then
                    applyESP(player, player.Character)
                end
                
                -- Listen for when they respawn
                player.CharacterAdded:Connect(function(character)
                    -- Re-verify team on respawn in case they changed teams while dead
                    if player.Team and player.Team.Name == targetTeamName then
                        applyESP(player, character)
                    end
                end)
            end
        end
        
        -- Listen for players changing teams dynamically mid-game
        Players.PlayerAdded:Connect(function(player)
            player:GetPropertyChangedSignal("Team"):Connect(function()
                if player.Team and player.Team.Name == targetTeamName then
                    if player.Character then
                        applyESP(player, player.Character)
                    end
                else
                    -- Remove ESP if they leave the Cops team
                    if player.Character and player.Character:FindFirstChild("CopHighlight") then
                        player.Character.CopHighlight:Destroy()
                    end
                end
            end)
        end)
    end,
})

local Tab = Window:CreateTab("Visual", 4483362458) -- Title and image

local Button = Tab:CreateButton({
   Name = "Button Example",
   Callback = function()
   -- The function that takes place when the button is pressed
   end,
})

Embed on website

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