loadstring([[
function LPH_NO_VIRTUALIZE(f) return f end;
]])()
local screenGui = [Link]("ScreenGui")
[Link] = [Link]:WaitForChild("PlayerGui")
[Link] = true
-- Create Squircle Frame
local frame = [Link]("ImageLabel")
[Link] = [Link](0, 200, 0, 100)
[Link] = [Link](0.5, -100, 0.5, -50)
[Link] = 1
[Link] = "rbxassetid://89973542420407" -- Squircle shape (adjust if needed)
[Link] = screenGui
-- Create Moving Rainbow Background
local rainbow = [Link]("ImageLabel")
[Link] = [Link](1.2, 0, 1.2, 0)
[Link] = [Link](-0.1, 0, -0.1, 0)
[Link] = 1
[Link] = "rbxassetid://6424968174" -- Rainbow texture
[Link] = frame
-- Animate Background Movement
game:GetService("RunService").RenderStepped:Connect(function()
[Link] = [Link] + [Link](0.005, 0, 0.005, 0)
end)
-- Create Text Label
local textLabel = [Link]("TextLabel")
[Link] = [Link](1, 0, 1, 0)
[Link] = 1
[Link] = "Loading."
[Link] = [Link]
[Link] = 20
textLabel.TextColor3 = [Link](1, 1, 1)
[Link] = frame
-- Fade In Effect
[Link] = 1
[Link] = 1
for i = 1, 10 do
[Link] = [Link] - 0.1
[Link] = [Link] - 0.1
wait(0.1)
end
-- Animate Loading Dots
spawn(function()
while [Link](1) do
if not screenGui then return end
[Link] = "Loading."
[Link](1)
[Link] = "Loading.."
[Link](1)
[Link] = "Loading..."
end
end)
-- Fade Out After 10 Seconds
[Link](10)
for i = 1, 10 do
[Link] = [Link] + 0.1
[Link] = [Link] + 0.1
wait(0.1)
end
-- Destroy GUI & Send Notification
screenGui:Destroy()
[Link]:SetCore("SendNotification", {
Title = "Loaded",
Text = "Thanks for using!",
Icon = "rbxassetid://89973542420407",
Duration = 7
})
local Fluent =
loadstring(game:HttpGet("[Link]
download/[Link]"))()
local SaveManager =
loadstring(game:HttpGet("[Link]
master/Addons/[Link]"))()
local InterfaceManager =
loadstring(game:HttpGet("[Link]
master/Addons/[Link]"))()
local Window = Fluent:CreateWindow({
Title = "Sendox Hub - MM2 ",
SubTitle = "by sendox",
TabWidth = 160,
Size = [Link](580, 460),
Acrylic = true,
Theme = "Darker",
MinimizeKey = [Link]
})
local Tabs = {
Players = Window:AddTab({ Title = "Ingame Players", Icon = "users" }),
AutoFarm = Window:AddTab({ Title = "Autofarm", Icon = "cross" }),
Combat = Window:AddTab({ Title = "Combat", Icon = "crosshair" }),
Main = Window:AddTab({ Title = "Main", Icon = "home" }),
Visuals = Window:AddTab({ Title = "Visuals", Icon = "eye" }),
Misc = Window:AddTab({ Title = "Misc", Icon = "flame" }),
Settings = Window:AddTab({ Title = "Settings", Icon = "settings" })
}
-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = [Link]
-- Aimbot Settings
local AIMBOT_ENABLED = false
local TEAM_CHECK = false
local WALL_CHECK = false
local SMOOTHNESS_ENABLED = true
local FOV_RADIUS = 90
local SMOOTHNESS = 0.1
local LOCK_PART = "Head"
local DRAW_FOV = false -- Toggle for drawing FOV circle
-- Create FOV Circle
local FOVCircle = [Link]("Circle")
[Link] = FOV_RADIUS
[Link] = 2
[Link] = [Link](255, 0, 0)
[Link] = false
[Link] = false
-- Update FOV Circle Position
[Link]:Connect(function()
local screenCenter = [Link] / 2
[Link] = [Link](screenCenter.X, screenCenter.Y)
[Link] = DRAW_FOV -- Toggle visibility
end)
-- Function to check if a target is valid
local function IsValidTarget(player)
if TEAM_CHECK and [Link] == [Link] then
return false
end
if WALL_CHECK then
local character = [Link]
local head = character and character:FindFirstChild(LOCK_PART)
if head then
local origin = [Link]
local ray = [Link](origin, ([Link] - origin).Unit *
([Link] - origin).Magnitude)
local hitPart = workspace:FindPartOnRay(ray, [Link],
true)
return hitPart == head
end
end
return true
end
-- Function to find the closest player
local function GetClosestPlayer()
local closestPlayer = nil
local shortestDistance = FOV_RADIUS
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and [Link] and
[Link]:FindFirstChild(LOCK_PART) and IsValidTarget(player) then
local head = [Link]:FindFirstChild(LOCK_PART)
local headScreenPos, onScreen =
[Link]:WorldToViewportPoint([Link])
if onScreen then
local screenCenter =
[Link]([Link].X / 2,
[Link].Y / 2)
local distance = ([Link](headScreenPos.X, headScreenPos.Y) -
screenCenter).Magnitude
if distance < shortestDistance then
shortestDistance = distance
closestPlayer = player
end
end
end
end
return closestPlayer
end
-- Aimbot Logic
[Link]:Connect(function()
if AIMBOT_ENABLED then
local target = GetClosestPlayer()
if target and [Link] and
[Link]:FindFirstChild(LOCK_PART) then
local head = [Link]:FindFirstChild(LOCK_PART)
local currentCameraCFrame = [Link]
local targetCameraCFrame = [Link]([Link],
[Link])
-- Apply smoothness if enabled
if SMOOTHNESS_ENABLED then
[Link] =
currentCameraCFrame:Lerp(targetCameraCFrame, SMOOTHNESS)
else
[Link] = targetCameraCFrame
end
end
end
end)
local Toggle = [Link]:AddToggle("SilentAimToggle", {
Title = "Silent Aim",
Description = "High unc executors only",
Default = false,
Callback = function(state)
SILENTAIM_ENABLED = state
print("Silent Aim Enabled:", state)
end
})
local players = game:GetService("Players")
local lp = [Link]
local mouse = lp:GetMouse()
local lockedplayer
local highlight = [Link]("Highlight")
[Link] = [Link](255, 0, 0)
[Link] = [Link](255, 255, 255)
[Link] = 0.5
[Link] = 0.3
local function closestPlayer()
local closest, closestDistance
for _, player in pairs(players:GetPlayers()) do
if player ~= lp and [Link] and
[Link]:FindFirstChild("HumanoidRootPart") then
local targetpart = [Link]
local screenPos, onScreen =
[Link]:WorldToViewportPoint([Link])
local mousePos = [Link](mouse.X, mouse.Y)
local distance = (mousePos - [Link](screenPos.X,
screenPos.Y)).Magnitude
if onScreen and (not closest or distance < closestDistance) then
closest = player
closestDistance = distance
end
end
end
return closest
end
local function updateLock()
if SILENTAIM_ENABLED then
lockedplayer = closestPlayer()
if lockedplayer and [Link] then
[Link] = [Link]
end
else
[Link] = nil
lockedplayer = nil
end
end
LPH_NO_VIRTUALIZE(function()
local originalmethod
originalmethod = hookmetamethod(game, "__index", function(self, key)
if not checkcaller() and self:IsA("Mouse") and key == "Hit" then
if SILENTAIM_ENABLED and lockedplayer and [Link]
and [Link]:FindFirstChild("HumanoidRootPart") then
return [Link]
end
end
return originalmethod(self, key)
end)
end)()
game:GetService("RunService").RenderStepped:Connect(updateLock)
local HitChance = 100
local Slider = [Link]:AddSlider("HitChanceSlider",
{
Title = "Hit Chance",
Description = "Adjust the probability of Hit",
Default = 100,
Min = 0,
Max = 100,
Rounding = 1,
Callback = function(Value)
HitChance = Value
end
})
local function shouldHit()
return [Link](1, 100) <= HitChance
end
LPH_NO_VIRTUALIZE(function()
local originalmethod
originalmethod = hookmetamethod(game, "__index", function(self, key)
if not checkcaller() and self:IsA("Mouse") and key == "Hit" then
if SILENTAIM_ENABLED and lockedplayer and [Link]
and [Link]:FindFirstChild("HumanoidRootPart") then
if shouldHit() then
return [Link]
end
end
end
return originalmethod(self, key)
end)
end)()
local Section = [Link]:AddSection("Camlock")
-- Toggles
local Toggle = [Link]:AddToggle("AimbotToggle", {
Title = "Aimbot",
Description = "Enable or disable the aimbot",
Default = false,
Callback = function(state)
AIMBOT_ENABLED = state
print("Aimbot Enabled:", state)
end
})
local Toggle = [Link]:AddToggle("TeamCheckToggle", {
Title = "Team Check",
Description = "Toggle team check functionality",
Default = false,
Callback = function(state)
TEAM_CHECK = state
print("Team Check Enabled:", state)
end
})
local Toggle = [Link]:AddToggle("WallCheckToggle", {
Title = "Wall Check",
Description = "Toggle wall check functionality",
Default = false,
Callback = function(state)
WALL_CHECK = state
print("Wall Check Enabled:", state)
end
})
local Toggle = [Link]:AddToggle("SmoothnessToggle", {
Title = "Smoothness",
Description = "Enable or disable smoothness",
Default = true,
Callback = function(state)
SMOOTHNESS_ENABLED = state
print("Smoothness Enabled:", state)
end
})
local Toggle = [Link]:AddToggle("FOVToggle", {
Title = "Draw FOV",
Description = "Toggle FOV circle visibility",
Default = false,
Callback = function(state)
DRAW_FOV = state
print("Draw FOV Enabled:", state)
end
})
-- Inputs
local Input = [Link]:AddInput("FOVInput", {
Title = "Adjust FOV",
Description = "Set the aimbot FOV radius",
Default = tostring(FOV_RADIUS),
Placeholder = "Enter FOV Radius",
Numeric = true,
Callback = function(Value)
FOV_RADIUS = tonumber(Value) or FOV_RADIUS
[Link] = FOV_RADIUS
print("FOV Radius Updated:", FOV_RADIUS)
end
})
local Input = [Link]:AddInput("SmoothnessInput", {
Title = "Adjust Smoothness",
Description = "Set the aimbot smoothness",
Default = tostring(SMOOTHNESS),
Placeholder = "Enter Smoothness Value",
Numeric = true,
Callback = function(Value)
SMOOTHNESS = tonumber(Value) or SMOOTHNESS
print("Smoothness Updated:", SMOOTHNESS)
end
})
-- Dropdown
local Dropdown = [Link]:AddDropdown("TargetPartDropdown", {
Title = "Target Part",
Description = "Choose the body part to aim at",
Values = {"Head", "Torso"},
Default = 1,
Callback = function(Value)
LOCK_PART = Value
print("Target Part Updated:", LOCK_PART)
end
})
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = [Link]
local Camera = [Link]
local WalkspeedSlider = [Link]:AddSlider("Walkspeed", {
Title = "Walkspeed",
Description = "Adjust your player's walkspeed.",
Default = 16,
Min = 16,
Max = 100,
Rounding = 1,
Callback = function(Value)
if [Link] and
[Link]:FindFirstChildOfClass("Humanoid") then
[Link]:FindFirstChildOfClass("Humanoid").WalkSpeed =
Value
end
end
})
local JumpPowerSlider = [Link]:AddSlider("JumpPower", {
Title = "Jump Power",
Description = "Adjust your player's jump power.",
Default = 50,
Min = 50,
Max = 200,
Rounding = 1,
Callback = function(Value)
if [Link] and
[Link]:FindFirstChildOfClass("Humanoid") then
[Link]:FindFirstChildOfClass("Humanoid").JumpPower =
Value
end
end
})
local GravitySlider = [Link]:AddSlider("Gravity", {
Title = "Gravity",
Description = "Adjust the game gravity.",
Default = [Link],
Min = 0,
Max = 300,
Rounding = 1,
Callback = function(Value)
[Link] = Value
end
})
local FOVSlider = [Link]:AddSlider("FOV", {
Title = "Field of View",
Description = "Adjust the camera's field of view.",
Default = [Link],
Min = 20,
Max = 120,
Rounding = 1,
Callback = function(Value)
[Link] = Value
end
})
local InfJumpToggle = [Link]:AddToggle("InfJump", {
Title = "Infinite Jump",
Default = false,
Description = "Enable infinite jump."
})
local InfJumpEnabled = false
local InfJumpConnection
InfJumpToggle:OnChanged(function()
InfJumpEnabled = [Link]
if InfJumpEnabled then
InfJumpConnection = [Link]:Connect(function()
if [Link] and
[Link]:FindFirstChildOfClass("Humanoid") then
[Link]:FindFirstChildOfClass("Humanoid"):ChangeState([Link]
[Link])
end
end)
else
if InfJumpConnection then
InfJumpConnection:Disconnect()
end
end
end)
local NoclipToggle = [Link]:AddToggle("Noclip", {
Title = "Noclip",
Default = false,
Description = "Enable noclip (walk through walls)."
})
local NoclipEnabled = false
NoclipToggle:OnChanged(function()
NoclipEnabled = [Link]
end)
[Link]:Connect(function()
if NoclipEnabled and [Link] then
for _, part in ipairs([Link]:GetDescendants()) do
if part:IsA("BasePart") then
[Link] = false
end
end
end
end)
local FlyToggle = [Link]:AddToggle("Fly", {
Title = "Fly",
Default = false,
Description = "Enable flying mode."
})
local FlySpeedSlider = [Link]:AddSlider("FlySpeed", {
Title = "Fly Speed",
Description = "Adjust your fly speed.",
Default = 50,
Min = 10,
Max = 200,
Rounding = 1,
Callback = function(Value)
end
})
local FlyEnabled = false
local FlyBodyVelocity, FlyBodyGyro
local FlyConnection
FlyToggle:OnChanged(function()
FlyEnabled = [Link]
local character = [Link]
if not character or not character:FindFirstChild("HumanoidRootPart") then
return end
local hrp = character:FindFirstChild("HumanoidRootPart")
if FlyEnabled then
FlyBodyVelocity = [Link]("BodyVelocity")
[Link] = [Link](1e5, 1e5, 1e5)
[Link] = [Link](0, 0, 0)
[Link] = hrp
FlyBodyGyro = [Link]("BodyGyro")
[Link] = [Link](1e5, 1e5, 1e5)
[Link] = [Link]
[Link] = hrp
FlyConnection = [Link]:Connect(function()
local direction = [Link]()
if UserInputService:IsKeyDown([Link].W) then
direction = direction + ([Link])
end
if UserInputService:IsKeyDown([Link].S) then
direction = direction - ([Link])
end
if UserInputService:IsKeyDown([Link].A) then
direction = direction - ([Link])
end
if UserInputService:IsKeyDown([Link].D) then
direction = direction + ([Link])
end
if UserInputService:IsKeyDown([Link].E) then
direction = direction + [Link](0, 1, 0)
end
if UserInputService:IsKeyDown([Link].Q) then
direction = direction - [Link](0, 1, 0)
end
[Link] = direction * [Link]
if [Link] > 0 then
[Link] = [Link]([Link], [Link] +
direction)
else
[Link] = [Link]
end
end)
else
if FlyConnection then
FlyConnection:Disconnect()
end
if FlyBodyVelocity then
FlyBodyVelocity:Destroy()
end
if FlyBodyGyro then
FlyBodyGyro:Destroy()
end
end
end)
[Link]:AddButton({
Title = "Reset Player",
Description = "Reset WalkSpeed and JumpPower to default values.",
Callback = function()
if [Link] and
[Link]:FindFirstChildOfClass("Humanoid") then
[Link]:FindFirstChildOfClass("Humanoid").WalkSpeed = 16
[Link]:FindFirstChildOfClass("Humanoid").JumpPower = 50
WalkspeedSlider:SetValue(16)
JumpPowerSlider:SetValue(50)
end
end
})
local ESPSection = [Link]:AddSection("ESP")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LP = [Link]
local roles
local murdererESPToggle
function CreateHighlight()
for i, v in pairs(Players:GetChildren()) do
if v ~= LP and [Link] and not [Link]:FindFirstChild("Highlight")
then
[Link]("Highlight", [Link])
end
end
end
function UpdateHighlights()
for _, v in pairs(Players:GetChildren()) do
if v ~= LP and [Link] and [Link]:FindFirstChild("Highlight") then
local Highlight = [Link]:FindFirstChild("Highlight")
if [Link] == Murder and IsAlive(v) and [Link] then
[Link] = [Link](225, 0, 0)
elseif [Link] == Sheriff and IsAlive(v) then
[Link] = [Link](0, 0, 225)
elseif [Link] == Hero and IsAlive(v) and not
IsAlive([Link][Sheriff]) then
[Link] = [Link](255, 250, 0)
else
[Link] = [Link](0, 225, 0)
end
end
end
end
function IsAlive(Player)
for i, v in pairs(roles) do
if [Link] == i then
if not [Link] and not [Link] then
return true
else
return false
end
end
end
end
[Link]:connect(function()
roles = ReplicatedStorage:FindFirstChild("GetPlayerData", true):InvokeServer()
for i, v in pairs(roles) do
if [Link] == "Murderer" then
Murder = i
elseif [Link] == 'Sheriff' then
Sheriff = i
elseif [Link] == 'Hero' then
Hero = i
end
end
CreateHighlight()
UpdateHighlights()
end)
murdererESPToggle = ESPSection:AddToggle("MurdererESP", {
Title = " All ESP",
Description = "All ESP",
Default = false
})
murdererESPToggle:OnChanged(function(bool)
UpdateHighlights()
end)
local espEnabled = false
local checkingThread = nil
local function toggleGunESP(enabled)
local normal = workspace:FindFirstChild("Normal")
if normal then
for _, gunDrop in ipairs(normal:GetChildren()) do
if [Link] == "GunDrop" then
local highlight = gunDrop:FindFirstChild("Highlight")
if enabled and not highlight then
local blah = [Link]("Highlight", gunDrop)
[Link] = [Link](7, 0, 255)
[Link] = 0.75
elseif not enabled and highlight then
highlight:Destroy()
end
end
end
end
end
local function checkForNewGunDrops()
while espEnabled do
local normal = workspace:FindFirstChild("Normal")
if normal then
for _, gunDrop in ipairs(normal:GetChildren()) do
if [Link] == "GunDrop" and not
gunDrop:FindFirstChild("Highlight") then
local blah = [Link]("Highlight", gunDrop)
[Link] = [Link](7, 0, 255)
[Link] = 0.75
end
end
end
[Link](0.5)
end
end
local gunESPToggle = ESPSection:AddToggle("GunESP", {
Title = "Gun ESP",
Description = "Gun ESP",
Default = false
})
gunESPToggle:OnChanged(function(bool)
espEnabled = bool
toggleGunESP(espEnabled)
if espEnabled then
if checkingThread then
[Link](checkingThread)
end
checkingThread = [Link](checkForNewGunDrops)
else
if checkingThread then
[Link](checkingThread)
checkingThread = nil
end
end
end)
[Link]:Connect(function(child)
if [Link] == "Normal" and espEnabled then
toggleGunESP(true)
end
end)
local utilitiesSection = [Link]:AddSection("Utilities")
utilitiesSection:AddButton({
Title = "Rejoin",
Description = "Rejoin the current server.",
Callback = function()
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local LocalPlayer = [Link]
TeleportService:Teleport([Link], LocalPlayer)
end
})
utilitiesSection:AddButton({
Title = "Serverhop",
Description = "Hop to a different server instance.",
Callback = function()
local TeleportService = game:GetService("TeleportService")
local HttpService = game:GetService("HttpService")
local Players = game:GetService("Players")
local LocalPlayer = [Link]
local PlaceId = [Link]
local req = syn and [Link] or http_request or request
if not req then
warn("HTTP request function not available.")
return
end
local url = "[Link] .. PlaceId ..
"/servers/Public?sortOrder=Asc&limit=100"
local response = req({
Url = url,
Method = "GET"
})
if response and [Link] then
local data = HttpService:JSONDecode([Link])
local servers = {}
for i, v in ipairs([Link]) do
if [Link] < [Link] then
[Link](servers, [Link])
end
end
if #servers > 0 then
local randomServer = servers[[Link](1, #servers)]
TeleportService:TeleportToPlaceInstance(PlaceId, randomServer,
LocalPlayer)
else
warn("No available servers found!")
end
end
end
})
local executorName, executorVersion = "Unknown", "Unknown"
if identifyexecutor and type(identifyexecutor) == "function" then
local result1, result2 = identifyexecutor()
if type(result1) == "string" and type(result2) == "string" then
executorName = result1
executorVersion = result2
end
end
utilitiesSection:AddParagraph({
Title = "Executor Type",
Content = "Executor: " .. executorName .. " (v" .. executorVersion .. ")"
})
utilitiesSection:AddButton({
Title = "Set FPS Cap",
Description = "Set your FPS cap.",
Callback = function()
if setfpscap then
setfpscap(999)
else
warn("setfpscap function not available on your executor.")
end
end
})
-- Services
local Players = game:GetService("Players")
local LocalPlayer = [Link]
local RunService = game:GetService("RunService")
local Camera = [Link]
-- Variables
local selectedPlayer = nil
local teleportToggle = false
local bringPlayerToggle = false
local massTeleportToggle = false
local massTeleportLoop = nil
local orbitToggle = false
local orbitSpeed = 1 -- Default orbit speed
local orbitDistance = 10 -- Default orbit distance
local viewPlayerToggle = false -- Track if viewing is enabled
-- Function to Get All Players
local function getPlayers()
local playerNames = {}
for _, player in ipairs(Players:GetPlayers()) do
[Link](playerNames, [Link])
end
return playerNames
end
-- Dropdown to Select Player (Auto-updates)
local Dropdown = [Link]:AddDropdown("PlayerDropdown", {
Title = "Select Player",
Description = "Select a player",
Values = getPlayers(),
Multi = false,
Default = 1,
Callback = function(value)
selectedPlayer = value
print("Selected Player:", selectedPlayer)
end
})
-- Auto-Update Dropdown on Player Join/Leave
local function updateDropdown()
Dropdown:SetValues(getPlayers())
end
[Link]:Connect(updateDropdown)
[Link]:Connect(updateDropdown)
-- Toggle for Viewing the Player
[Link]:AddToggle("ToggleViewPlayer", {
Title = "Toggle View Player",
Description = "Toggle viewing the selected player",
Default = false,
Callback = function(state)
viewPlayerToggle = state
if viewPlayerToggle and selectedPlayer then
local target = Players:FindFirstChild(selectedPlayer)
if target and [Link] and
[Link]:FindFirstChild("Humanoid") then
[Link] = [Link]
print("Viewing", selectedPlayer)
else
print("Selected player not found or not loaded yet.")
end
else
[Link] = [Link] and
[Link]:FindFirstChild("Humanoid") or Camera
print("Stopped Viewing", selectedPlayer)
end
end
})
-- Toggle for Teleporting to the Player
[Link]:AddToggle("ToggleTeleport", {
Title = "Teleport to Player",
Description = "Teleport to the selected player",
Default = false,
Callback = function(state)
if state and selectedPlayer then
local target = Players:FindFirstChild(selectedPlayer)
if target and [Link] and
[Link]:FindFirstChild("HumanoidRootPart") then
[Link] =
[Link]
end
end
end
})
-- Toggle for Bringing the Selected Player
[Link]:AddToggle("ToggleBring", {
Title = "Bring Player",
Description = "Bring the selected player (client-sided)",
Default = false,
Callback = function(state)
if state and selectedPlayer then
local target = Players:FindFirstChild(selectedPlayer)
if target and [Link] and
[Link]:FindFirstChild("HumanoidRootPart") then
[Link] =
[Link]
end
end
end
})
-- Toggle for Mass Teleport to Player
[Link]:AddToggle("MassTeleport", {
Title = "Mass Teleport",
Description = "Continuously teleport to the selected player",
Default = false,
Callback = function(state)
massTeleportToggle = state
if massTeleportToggle then
massTeleportLoop = [Link]:Connect(function()
if selectedPlayer then
local target = Players:FindFirstChild(selectedPlayer)
if target and [Link] and
[Link]:FindFirstChild("HumanoidRootPart") then
[Link] =
[Link]
end
end
end)
else
if massTeleportLoop then
massTeleportLoop:Disconnect()
massTeleportLoop = nil
end
end
end
})
-- Toggle for Removing Selected Player from DataModel
[Link]:AddToggle("ToggleRemovePlayer", {
Title = "Remove Player from DataModel",
Description = "Remove the selected player from the game (client-sided)",
Default = false,
Callback = function(state)
if state and selectedPlayer then
local target = Players:FindFirstChild(selectedPlayer)
if target then
print("Removing Player from DataModel:", [Link])
target:Destroy() -- Remove the player from the client’s data model
else
print("Selected player not found.")
end
else
print("Toggle off or no player selected.")
end
end
})
-- Toggle for Orbiting the Selected Player
[Link]:AddToggle("ToggleOrbit", {
Title = "Toggle Orbit Around Player",
Description = "Orbit around the selected player",
Default = false,
Callback = function(state)
orbitToggle = state
if orbitToggle and selectedPlayer then
local target = Players:FindFirstChild(selectedPlayer)
if target and [Link] then
local offset = [Link](orbitDistance, 0, 0)
[Link]:Connect(function()
if orbitToggle and target and [Link] then
local targetPos =
[Link]
-- Orbiting Logic (simple circular movement)
local newPos = targetPos + offset
newPos = newPos + [Link]([Link](tick() * orbitSpeed)
* orbitDistance, 0, [Link](tick() * orbitSpeed) * orbitDistance)
[Link] =
[Link](newPos)
end
end)
end
end
end
})
-- Input for Orbit Speed
[Link]:AddInput("OrbitSpeedInput", {
Title = "Orbit Speed",
Description = "Adjust the speed of the orbit",
Default = "1",
Placeholder = "Enter Speed",
Numeric = true,
Finished = true, -- Call callback when user presses enter
Callback = function(Value)
orbitSpeed = tonumber(Value) or 1 -- Update orbit speed
print("Orbit Speed changed to:", orbitSpeed)
end
})
-- Input for Orbit Distance
[Link]:AddInput("OrbitDistanceInput", {
Title = "Orbit Distance",
Description = "Adjust the distance of the orbit",
Default = "10",
Placeholder = "Enter Distance",
Numeric = true,
Finished = true, -- Call callback when user presses enter
Callback = function(Value)
orbitDistance = tonumber(Value) or 10 -- Update orbit distance
print("Orbit Distance changed to:", orbitDistance)
end
})
-- Services
local Players = game:GetService("Players")
local LocalPlayer = [Link]
-- Variables
local autoFarmToggle = false
local farmDelay = 2 -- Default delay
local lastCoin = nil -- Track last teleported coin
local autoFarmLoop = nil
local teleportMode = "Teleport to coin" -- Default mode
local teleportOffset = 8 -- Default teleport offset
-- Function to get all coins
local function getCoins()
local coins = {}
for _, container in ipairs(workspace:GetDescendants()) do
if container:IsA("Model") and [Link] == "CoinContainer" then
for _, coinServer in ipairs(container:GetChildren()) do
if [Link] == "Coin_Server" then
local coinVisual = coinServer:FindFirstChild("CoinVisual")
if coinVisual then
local mainCoin = coinVisual:FindFirstChild("MainCoin")
if mainCoin and mainCoin:IsA("MeshPart") then
[Link](coins, mainCoin)
end
end
end
end
end
end
return coins
end
-- Function to freeze the character
local function freezeCharacter(freeze)
local character = [Link]
if character and character:FindFirstChild("Humanoid") then
local humanoid = [Link]
if freeze then
[Link] = true -- Freeze the character
humanoid:ChangeState([Link])
else
[Link] = false -- Unfreeze the character
humanoid:ChangeState([Link])
end
end
end
-- Function to teleport to a coin
local function teleportToCoin()
local coins = getCoins()
if #coins > 0 then
local randomIndex = [Link](1, #coins)
local targetCoin = coins[randomIndex]
-- Avoid teleporting to the same coin twice
if targetCoin == lastCoin then
randomIndex = (randomIndex % #coins) + 1 -- Get next coin in list
targetCoin = coins[randomIndex]
end
lastCoin = targetCoin
-- Teleport the player based on the selected mode
if [Link] and
[Link]:FindFirstChild("HumanoidRootPart") then
local rootPart = [Link]
if teleportMode == "Teleport above" then
[Link] = [Link] + [Link](0,
teleportOffset, 0)
elseif teleportMode == "Teleport under" then
[Link] = [Link] - [Link](0,
teleportOffset, 0)
else
[Link] = [Link] + [Link](0, 3, 0) --
Default method
end
end
-- Freeze the character after teleporting
freezeCharacter(true)
[Link](farmDelay) -- Stay frozen for the delay time
freezeCharacter(false) -- Unfreeze the character
end
end
-- AutoFarm Toggle
local Toggle = [Link]:AddToggle("AutoFarmToggle", {
Title = "AutoFarm Coins",
Description = "Toggles AutoFarm for coins",
Default = false,
Callback = function(state)
autoFarmToggle = state
if autoFarmToggle then
print("AutoFarm Enabled")
autoFarmLoop = [Link](function()
while autoFarmToggle do
teleportToCoin()
[Link](farmDelay) -- Wait for the user-defined delay
end
end)
else
print("AutoFarm Disabled")
autoFarmToggle = false
end
end
})
-- Dropdown for Teleport Mode
local Dropdown = [Link]:AddDropdown("TeleportModeDropdown", {
Title = "Teleport Mode",
Description = "Select the teleportation mode",
Values = {"Teleport above", "Teleport to coin", "Teleport under"},
Multi = false,
Default = 2,
Callback = function(value)
teleportMode = value
print("Teleport mode set to:", teleportMode)
end
})
-- Slider for Teleport Offset
local Slider = [Link]:AddSlider("TeleportOffsetSlider", {
Title = "Teleport Offset",
Description = "Adjust teleport height (above/under mode)",
Default = 8,
Min = 1,
Max = 20,
Rounding = 1,
Callback = function(Value)
teleportOffset = Value
print("Teleport offset set to:", teleportOffset)
end
})
-- Slider for AutoFarm Delay
local Slider = [Link]:AddSlider("AutoFarmDelay", {
Title = "AutoFarm Delay",
Description = "Adjust the time delay before teleporting to a coin",
Default = 2,
Min = 0,
Max = 5,
Rounding = 1,
Callback = function(Value)
farmDelay = Value
print("AutoFarm delay set to:", farmDelay)
end
})
-- Informational Paragraphs
[Link]:AddParagraph({
Title = "Kicked",
Content = "If you had been kicked from the experience, rejoin and stay inside
the game for about 2 mins and then activate the autofarm."
})
[Link]:AddParagraph({
Title = "To Avoid Detection: ",
Content = "Set the autofarm delay larger than 0.9"
})
local Section = [Link]:AddSection("Murd and sheriff functions")
local TextChatService = game:GetService("TextChatService")
local Players = game:GetService("Players")
local LocalPlayer = [Link]
local murdererName = nil
local sheriffName = nil
local function findRoles()
murdererName = nil
sheriffName = nil
for _, player in ipairs(Players:GetPlayers()) do
if player == LocalPlayer then continue end
if not [Link] then continue end
local function hasTool(toolName)
if player:FindFirstChild("Backpack") then
for _, tool in ipairs([Link]:GetChildren()) do
if tool:IsA("Tool") and [Link] == toolName then
return true
end
end
end
for _, item in ipairs([Link]:GetChildren()) do
if item:IsA("Tool") and [Link] == toolName then
return true
end
end
return false
end
if hasTool("Knife") then
murdererName = [Link]
elseif hasTool("Gun") then
sheriffName = [Link]
end
end
end
local function sendChatMessage()
if murdererName and sheriffName then
local message = [Link]("%s is the Murderer, and %s is the Sheriff!",
murdererName, sheriffName)
[Link]:SendAsync(message)
end
end
[Link]:AddButton({
Title = "Reveal Roles",
Description = "Detect Murderer & Sheriff and send to chat",
Callback = function()
findRoles()
sendChatMessage()
end
})
local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local function getAvatarHeadshot(userId)
return [Link]("[Link]
%d&width=420&height=420&format=png", userId)
end
local function findRoles()
local murderer = nil
local sheriff = nil
for _, player in ipairs(Players:GetPlayers()) do
if not [Link] then continue end
local function hasTool(toolName)
if player:FindFirstChild("Backpack") then
for _, tool in ipairs([Link]:GetChildren()) do
if tool:IsA("Tool") and [Link] == toolName then
return true
end
end
end
for _, item in ipairs([Link]:GetChildren()) do
if item:IsA("Tool") and [Link] == toolName then
return true
end
end
return false
end
if hasTool("Knife") then
murderer = player
elseif hasTool("Gun") then
sheriff = player
end
end
return murderer, sheriff
end
local function sendRobloxNotification(title, text, imageUrl)
StarterGui:SetCore("SendNotification", {
Title = title,
Text = text,
Duration = 5,
Icon = imageUrl
})
end
local function sendRoleNotifications()
local murderer, sheriff = findRoles()
if sheriff then
sendRobloxNotification("Sheriff Found!", [Link] .. " is the
Sheriff!", getAvatarHeadshot([Link]))
end
if murderer then
sendRobloxNotification("Murderer Found!", [Link] .. " is the
Murderer!", getAvatarHeadshot([Link]))
end
end
-- Button to trigger the notifications
[Link]:AddButton({
Title = "Detect Roles ( notification)",
Description = "Find Murderer & Sheriff and notify",
Callback = function()
sendRoleNotifications()
end
})
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LP = [Link]
local function grabGun()
local character = [Link]
if not character or not character:FindFirstChild("HumanoidRootPart") then
return end
local hrp = character:FindFirstChild("HumanoidRootPart")
local normal = workspace:FindFirstChild("Normal")
if not normal then return end
local gunDrop = nil
for _, obj in ipairs(normal:GetChildren()) do
if [Link] == "GunDrop" then
gunDrop = obj
break
end
end
if gunDrop then
local originalPosition = [Link]
[Link] = [Link]
[Link](0.2) -- Espera para recoger la pistola
[Link] = [Link](originalPosition)
end
end
local grabGunButton = Main:AddButton({
Title = "Auto Grab Gun",
Description = "Teleports to the gun and returns.",
Callback = function()
grabGun()
end
})
SaveManager:SetLibrary(Fluent)
InterfaceManager:SetLibrary(Fluent)
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({})
InterfaceManager:SetFolder("SendoxHub")
SaveManager:SetFolder("SendoxHub/MM2")
InterfaceManager:BuildInterfaceSection([Link])
SaveManager:BuildConfigSection([Link])
Window:SelectTab(1)
SaveManager:LoadAutoloadConfig()