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,
})
To embed this program on your website, copy the following code and paste it into your website's HTML: