0% found this document useful (0 votes)
6K views24 pages

mm2 Source

The document contains a Lua script for a Roblox game that creates a loading screen with a squircle frame and animated rainbow background. It includes functionalities for an aimbot, silent aim, and various game settings such as walkspeed, jump power, and noclip. Additionally, it features a user interface with tabs for different functionalities and settings adjustments.

Uploaded by

rataratalol1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6K views24 pages

mm2 Source

The document contains a Lua script for a Roblox game that creates a loading screen with a squircle frame and animated rainbow background. It includes functionalities for an aimbot, silent aim, and various game settings such as walkspeed, jump power, and noclip. Additionally, it features a user interface with tabs for different functionalities and settings adjustments.

Uploaded by

rataratalol1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

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()

You might also like