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

local Window = Rayfield:CreateWindow({
   Name = "Murd | Sheriff",
   Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
   LoadingTitle = "Murderers VS Sheriff",
   LoadingSubtitle = "by tekitaway",
   Theme = "Default", -- Check https://[Log in to view URL]

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

   ConfigurationSaving = {
      Enabled = False,
      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 = 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 = {"Hello"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
   }
})

local MainTab = Window:CreateTab("Combat 🔫", nil) -- Title, Image
local MainSection = MainTab:CreateSection("Combat 🏹")

local Button = MainTab:CreateButton({
   Name = "Hitbox Expander (h)",
   Callback = function()
        local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")

local HITBOX_SIZE = Vector3.new(15, 15, 15)
local HITBOX_TRANSPARENCY = 0.7
local HITBOX_COLOR = Color3.fromRGB(255, 0, 0)
local HITBOX_MATERIAL = Enum.Material.Neon
local TOGGLE_KEY = Enum.KeyCode.H

local hitboxEnabled = false

-- Store original sizes to restore later
local originalSizes = {}

local function setHitbox(player, enabled)
    if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
        local hrp = player.Character.HumanoidRootPart
        if enabled then
            -- Save original size if not already saved
            if not originalSizes[player] then
                originalSizes[player] = hrp.Size
            end
            hrp.Size = HITBOX_SIZE
            hrp.Transparency = HITBOX_TRANSPARENCY
            hrp.Color = HITBOX_COLOR
            hrp.Material = HITBOX_MATERIAL
            hrp.CanCollide = false
        else
            -- Restore original size if saved
            if originalSizes[player] then
                hrp.Size = originalSizes[player]
                hrp.Transparency = 1 -- Hide visually when off
                hrp.Color = Color3.fromRGB(163, 162, 165) -- Default gray
                hrp.Material = Enum.Material.Plastic
                hrp.CanCollide = true
            end
        end
    end
end

local function updateHitboxes()
    for _, player in ipairs(Players:GetPlayers()) do
        setHitbox(player, hitboxEnabled)
    end
end

-- Update hitboxes for new players/respawns
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function()
        wait(0.5)
        setHitbox(player, hitboxEnabled)
    end)
end)

for _, player in ipairs(Players:GetPlayers()) do
    player.CharacterAdded:Connect(function()
        wait(0.5)
        setHitbox(player, hitboxEnabled)
    end)
end

-- Keybind to toggle hitbox expansion
UserInputService.InputBegan:Connect(function(input, gp)
    if not gp and input.KeyCode == TOGGLE_KEY then
        hitboxEnabled = not hitboxEnabled
        updateHitboxes()
    end
end)

-- Keep hitboxes updated every 2 seconds
while true do
    updateHitboxes()
    wait(2)
end

   end,
})

local Button = MainTab:CreateButton({
   Name = "Streamable hitbox expander ",
   Callback = function()
        local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")

local BOX_SIZE = Vector3.new(15, 15, 15)
local BOX_COLOR = Color3.fromRGB(255, 0, 0)
local BOX_TRANSPARENCY = 0.7
local TOGGLE_KEY = Enum.KeyCode.H

local adornments = {}
local enabled = false

local function createAdornment(hrp)
    if not hrp or hrp:FindFirstChild("StreamableHitbox") then return end
    local adorn = Instance.new("BoxHandleAdornment")
    adorn.Name = "StreamableHitbox"
    adorn.Adornee = hrp
    adorn.Size = BOX_SIZE
    adorn.Color3 = BOX_COLOR
    adorn.AlwaysOnTop = true
    adorn.ZIndex = 10
    adorn.Transparency = BOX_TRANSPARENCY
    adorn.Parent = hrp
    adornments[hrp] = adorn
end

local function removeAdornment(hrp)
    if hrp and hrp:FindFirstChild("StreamableHitbox") then
        hrp.StreamableHitbox:Destroy()
        adornments[hrp] = nil
    end
end

local function updateAdornments()
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
            local hrp = player.Character.HumanoidRootPart
            if enabled then
                createAdornment(hrp)
            else
                removeAdornment(hrp)
            end
        end
    end
end

-- Handle new players/respawns
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function()
        wait(0.5)
        updateAdornments()
    end)
end)

for _, player in ipairs(Players:GetPlayers()) do
    player.CharacterAdded:Connect(function()
        wait(0.5)
        updateAdornments()
    end)
end

-- Keybind toggle
UserInputService.InputBegan:Connect(function(input, gp)
    if not gp and input.KeyCode == TOGGLE_KEY then
        enabled = not enabled
        updateAdornments()
    end
end)

-- Cleanup on player leave
Players.PlayerRemoving:Connect(function(player)
    if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
        removeAdornment(player.Character.HumanoidRootPart)
    end
end)

-- Periodic refresh
while true do
    updateAdornments()
    wait(2)
end

    end,   
})

local MainSection = MainTab:CreateSection("🏃‍♂️Movement")

local Button = MainTab:CreateButton({
   Name = "TP click (Ctrl + Click",
   Callback = function()
        local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()

local teleportKey = Enum.KeyCode.LeftControl -- Use Enum.KeyCode.RightControl for right Ctrl, or detect both

local ctrlHeld = false

-- Detect when Ctrl is pressed/released
UserInputService.InputBegan:Connect(function(input, gp)
    if not gp and input.KeyCode == teleportKey then
        ctrlHeld = true
    end
end)
UserInputService.InputEnded:Connect(function(input, gp)
    if not gp and input.KeyCode == teleportKey then
        ctrlHeld = false
    end
end)

-- Teleport on click while holding Ctrl
Mouse.Button1Down:Connect(function()
    if ctrlHeld and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
        local targetPos = Mouse.Hit.p
        -- Teleport a bit above the ground to avoid getting stuck
        LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(targetPos + Vector3.new(0, 3, 0))
    end
end)

   end,
})

local Slider = MainTab:CreateSlider({
   Name = "WalkSpeed",
   Range = {16, 350},
   Increment = 1,
   Suffix = "Speed",
   CurrentValue = 16,
   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(v)
        game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = v
   end,
})

local Slider = MainTab:CreateSlider({
   Name = "JumpPower",
   Range = {50, 450},
   Increment = 1,
   Suffix = "Height",
   CurrentValue = 50,
   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(v)
        game.Players.LocalPlayer.Character.Humanoid.JumpPower = v
   end,
})

local Slider = MainTab:CreateSlider({
   Name = "FlightSpeed",
   Range = {0, 100},
   Increment = 1,
   Suffix = "Flight",
   CurrentValue = 0,
   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(v)
        game.Players.LocalPlayer.Character.Humanoid.FlightSpeed = v
   end,
})

local MainTab = Window:CreateTab("👁️Visuals", nil) -- Title, Image
local MainSection = MainTab:CreateSection("🔍Esp")

local Dropdown = MainTab:CreateDropdown({
   Name = "Esp (z)",
   Options = {"Green","Blue"},
   CurrentOption = {"Green"},
   MultipleOptions = false,
   Flag = "Dropdown1", -- 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(Options)
        local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")

-- Keybind and color options
local TOGGLE_KEY = Enum.KeyCode.Z
local option = 1 -- 1 = green, 2 = blue

local colorChoice = {
    [1] = Color3.fromRGB(0, 255, 0),   -- Green
    [2] = Color3.fromRGB(0, 128, 255), -- Blue
}

-- Helper to add highlight
local function addESP(char, color)
    if char and not char:FindFirstChild("OtherHighlight") then
        local esp = Instance.new("Highlight")
        esp.Name = "OtherHighlight"
        esp.FillTransparency = 1
        esp.OutlineTransparency = 0
        esp.OutlineColor = color
        esp.Adornee = char
        esp.Parent = char
    elseif char and char:FindFirstChild("OtherHighlight") then
        char.OtherHighlight.OutlineColor = color
    end
end

-- Helper to remove highlight
local function removeESP(char)
    if char and char:FindFirstChild("OtherHighlight") then
        char.OtherHighlight:Destroy()
    end
end

-- Update highlights for all other players
local function updateESP()
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character then
            addESP(player.Character, colorChoice[option])
        end
    end
end

-- Remove ESP when a player leaves
Players.PlayerRemoving:Connect(function(player)
    if player.Character then
        removeESP(player.Character)
    end
end)

-- Add ESP when a player respawns
Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function()
        wait(0.5)
        updateESP()
    end)
end)

-- Also update on your own respawn (to keep ESP current)
LocalPlayer.CharacterAdded:Connect(function()
    wait(0.5)
    updateESP()
end)

-- Keybind to toggle color
UserInputService.InputBegan:Connect(function(input, gp)
    if not gp and input.KeyCode == TOGGLE_KEY then
        option = (option == 1) and 2 or 1
        updateESP()
    end
end)

-- Initial ESP and periodic refresh
updateESP()
while true do
    updateESP()
    wait(2)
end

   end,
})

local MainSection = MainTab:CreateSection("Teleports ⭕")

local Button = MainTab:CreateButton({
   Name = "SpawnArea",
   Callback = function()
        local char = game.Players.LocalPlayer.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
local spawn = workspace:FindFirstChildWhichIsA("SpawnLocation")
if hrp and spawn then
    hrp.CFrame = spawn.CFrame + Vector3.new(0, 3, 0)
end

   end,
})

local MainTab = Window:CreateTab("🎲Features", nil) -- Title, Image
local MainSection = MainTab:CreateSection(" ❔Features")

local Button = MainTab:CreateButton({
   Name = "Headless (Client Sided)",
   Callback = function()
                -- Client-Sided Headless Script for Roblox

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

local function makeHeadless(character)
    local head = character:FindFirstChild("Head")
    if head and head:IsA("BasePart") then
        head.Transparency = 1
        -- Hide face decal if it exists
        local face = head:FindFirstChildOfClass("Decal")
        if face then
            face.Transparency = 1
        end
    end
end

-- Apply headless on current character
if LocalPlayer.Character then
    makeHeadless(LocalPlayer.Character)
end

-- Apply headless on respawn
LocalPlayer.CharacterAdded:Connect(makeHeadless)

   end,
})

local Button = MainTab:CreateButton({
   Name = "Rotating Crosshair",
   Callback = function()
        -- Rotating Crosshair Script for Roblox (Drawing API Required)

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

-- SETTINGS
local crosshairLength = 24
local crosshairThickness = 2
local crosshairColor = Color3.fromRGB(255, 255, 0)
local rotationSpeed = math.rad(90) -- degrees per second (change for faster/slower rotation)

-- Drawing lines for crosshair
local line1 = Drawing.new("Line")
local line2 = Drawing.new("Line")
for _, line in ipairs({line1, line2}) do
    line.Thickness = crosshairThickness
    line.Color = crosshairColor
    line.Transparency = 1
    line.Visible = true
end

local angle = 0
RunService.RenderStepped:Connect(function(dt)
    angle = (angle + rotationSpeed * dt) % (math.pi * 2)
    local center = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
    local cosA, sinA = math.cos(angle), math.sin(angle)

    -- First line (rotated)
    local offset1 = Vector2.new(cosA, sinA) * crosshairLength
    line1.From = center - offset1
    line1.To = center + offset1

    -- Second line (perpendicular, rotated)
    local offset2 = Vector2.new(-sinA, cosA) * crosshairLength
    line2.From = center - offset2
    line2.To = center + offset2

    line1.Visible = true
    line2.Visible = true
end)

   end,
})

local Button = MainTab:CreateButton({
   Name = "Auto Shoot {T} (When In Target)",
   Callback = function()
        local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local triggerbotEnabled = false
local TOGGLE_KEY = Enum.KeyCode.T

-- Keybind to toggle triggerbot
UserInputService.InputBegan:Connect(function(input, gp)
    if not gp and input.KeyCode == TOGGLE_KEY then
        triggerbotEnabled = not triggerbotEnabled
    end
end)

local function isPlayerTargeted()
    local target = Mouse.Target
    if not target then return false end
    local parent = target.Parent
    if parent and parent:FindFirstChild("Humanoid") and parent ~= LocalPlayer.Character then
        return parent:FindFirstChild("HumanoidRootPart") ~= nil
    end
    return false
end

-- Main triggerbot loop
RunService.RenderStepped:Connect(function()
    if triggerbotEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Tool") then
        if isPlayerTargeted() then
            mouse1press()
            wait(0.05)
            mouse1release()
        end
    end
end)

   end,
})

local Button = MainTab:CreateButton({
   Name = "Super Jump (LEFTALT)",
   Callback = function()
        local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")

local SUPER_JUMP_POWER = 150 -- Set your desired jump power
local NORMAL_JUMP_POWER = 50 -- Default Roblox jump power

local superJumpEnabled = false

local function setJumpPower(power)
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
        LocalPlayer.Character:FindFirstChildOfClass("Humanoid").JumpPower = power
    end
end

-- Keybind to toggle super jump
UserInputService.InputBegan:Connect(function(input, gp)
    if not gp and input.KeyCode == Enum.KeyCode.LeftAlt then
        superJumpEnabled = not superJumpEnabled
        if superJumpEnabled then
            setJumpPower(SUPER_JUMP_POWER)
        else
            setJumpPower(NORMAL_JUMP_POWER)
        end
    end
end)

-- Reapply correct jump power on respawn
LocalPlayer.CharacterAdded:Connect(function()
    wait(0.5)
    if superJumpEnabled then
        setJumpPower(SUPER_JUMP_POWER)
    else
        setJumpPower(NORMAL_JUMP_POWER)
    end
end)

   end,
})

local Button = MainTab:CreateButton({
   Name = "Rotating Crosshair",
   Callback = function()
        -- Place this in a LocalScript (StarterGui or executor)
local Players = game:GetService("Players")
local player = Players.LocalPlayer

-- Remove old crosshair if present
if player.PlayerGui:FindFirstChild("RotatingCrosshair") then
    player.PlayerGui.RotatingCrosshair:Destroy()
end

-- Create GUI
local gui = Instance.new("ScreenGui")
gui.Name = "RotatingCrosshair"
gui.ResetOnSpawn = false
gui.Parent = player.PlayerGui

-- Create crosshair image (replace with your own image if desired)
local crosshair = Instance.new("ImageLabel")
crosshair.Name = "Crosshair"
crosshair.Size = UDim2.new(0, 48, 0, 48)
crosshair.Position = UDim2.new(0.5, -24, 0.5, -24)
crosshair.BackgroundTransparency = 1
crosshair.Image = "rbxassetid://3926307971" -- Roblox's default crosshair, change for custom
crosshair.ImageColor3 = Color3.fromRGB(0, 255, 0) -- Green, change as desired
crosshair.Parent = gui

-- Rotating logic
local RunService = game:GetService("RunService")
local rotation = 0

RunService.RenderStepped:Connect(function(dt)
    rotation = (rotation + 180 * dt) % 360 -- 180 degrees per second
    crosshair.Rotation = rotation
end)

   end,
})

Embed on website

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