----<>----<>----<>----Whitelisting----<>----<>----<>---
local HWIDTable = {'085FD0CB-7A5E-482F-9349-B7C87AB74D77', '6E33EDF3-9A52-4D51-
9076-465EED669C95','CAF27925-2A58-4624-A29F-9370D0544A41'}
local HWID = game:GetService("RbxAnalyticsService"):GetClientId()
local isWhitelisted = false
-- Check if HWID is whitelisted
for i, v in pairs(HWIDTable) do
if v == HWID then
isWhitelisted = true
break
end
end
if isWhitelisted then
if game.GameId == 6505338302 then
-- Load Rayfield UI
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Window = Rayfield:CreateWindow({
Name = "football legends private",
Icon = 'crown', -- Icon in Topbar
LoadingTitle = "lean hub",
LoadingSubtitle = "be grateful.", -- Please be mindful of language
Theme = "Amethyst",
DisableRayfieldPrompts = true,
DisableBuildWarnings = true, -- Prevents Rayfield from warning when the
script has a version mismatch with the interface
ConfigurationSaving = {
Enabled = false,
FileName = "Big Hub"
},
Discord = {
Enabled = false, -- Prompt the user to join your Discord server if
their executor supports it
Invite = "noinvitelink", -- The Discord invite code, do not include
discord.gg/. E.g. discord.gg/ABCD would be ABCD
RememberJoins = true -- Set this to false to make them join the
discord every time they load it up
},
KeySystem = true, -- Set this to true to use our key system
KeySettings = {
Title = "key system.",
Subtitle = "dm for key",
Note = "developed by your queen cynical, slave.", -- 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 = false, -- 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 = {"1"} -- List of keys that will be accepted by the system,
can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
}
})
-- Create tabs
local QBTab = Window:CreateTab("qb", "rocket")
local WRTab = Window:CreateTab("wr", "rocket")
local DETab = Window:CreateTab("de", "rocket")
local MiscTab = Window:CreateTab("misc", "rocket")
-- Jump Force Slider
local JFSlider = WRTab:CreateSlider({
Name = "jump force",
Range = {0, 5000},
Increment = 100,
Suffix = "JF",
CurrentValue = 0,
Flag = "jf", -- Identifier for config file
Callback = function(Value)
local plr = game.Players.LocalPlayer.Character.HumanoidRootPart
local jumpForce = plr:FindFirstChild("BodyForce")
if jumpForce then
-- BodyForce exists, update Force property
jumpForce.Force = Vector3.new(0, Value, 0)
else
-- BodyForce does not exist, create and set it up
jumpForce = Instance.new("BodyForce")
jumpForce.Name = "BodyForce"
jumpForce.Force = Vector3.new(0, Value, 0)
jumpForce.Parent = plr
end
end,
})
local MSToggle = WRTab:CreateToggle({
Name = "football magnets",
CurrentValue = false,
Callback = function(Value)
Settings.Enabled = Value
if Value then
enableMags()
else
disableMags()
end
end
})
local MSDSlider = WRTab:CreateSlider({
Name = "magnet distance",
Range = {0, 50},
Increment = 5,
Suffix = "studs",
CurrentValue = 0,
Flag = "msd", -- Identifier for config file
Callback = function(Value)
Settings.Distance = Value
end
})
local MSRSlider = WRTab:CreateSlider({
Name = "magnet distrangeance",
Range = {0, 50},
Increment = 5,
Suffix = "studs",
CurrentValue = 0,
Flag = "msr", -- Identifier for config file
Callback = function(Value)
Settings.Range = Value
end
})
local connection
function enableMags()
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local rightArm = character:FindFirstChild("Right Arm") or
character:WaitForChild("Right Arm")
connection = game:GetService("RunService").Stepped:Connect(function()
if Settings.Enabled then
local football = workspace:FindFirstChild("Football")
if football and football:IsA("MeshPart") then
local distance = (football.Position -
character.HumanoidRootPart.Position).Magnitude
if distance <= Settings.Range then
football.CFrame = rightArm.CFrame * CFrame.new(0,
Settings.Distance, 0)
end
end
end
end)
end
function disableMags()
if connection then
connection:Disconnect()
connection = nil
end
end
-- Quick TP Toggle
local QTPToggle = DETab:CreateToggle({
Name = "quick tp [f] (reset to turn off)",
CurrentValue = false,
Callback = function(Value)
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local distance = 1
local duration = 0.03
local isTweening = false
local function onInputBegan(input, gameProcessed)
if not gameProcessed and input.KeyCode == Enum.KeyCode.F and
not isTweening then
isTweening = true
local endPos = humanoidRootPart.CFrame * CFrame.new(0, 0, -
distance)
local tween =
game:GetService("TweenService"):Create(humanoidRootPart, TweenInfo.new(duration),
{CFrame = endPos})
tween:Play()
tween.Completed:Wait()
isTweening = false
end
end
game:GetService("UserInputService").InputBegan:Connect(onInputBegan)
end
})
Rayfield:LoadConfiguration()
elseif game.GameId == 2459091562 then
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Window = Rayfield:CreateWindow({
Name = "rh2 private",
Icon = 'crown', -- Icon in Topbar. Can use Lucide Icons (string) or
Roblox Image (number). 0 to use no icon (default).
LoadingTitle = "lean hub",
LoadingSubtitle = "be grateful.",
Theme = "Amethyst", -- Check
https://docs.sirius.menu/rayfield/configuration/themes
DisableRayfieldPrompts = true,
DisableBuildWarnings = true, -- 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 = true, -- Set this to true to use our key system
KeySettings = {
Title = "key system.",
Subtitle = "dm for key",
Note = "developed by your queen cynical, slave.", -- 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 = false, -- 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 = {"1"} -- 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("main", 'rocket') -- Title, Image
local MiscTab = Window:CreateTab("misc", 'rocket') -- Title, Image
local isToggle = MainTab:CreateToggle({
Name = "infinite stamina",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local backpack = player:WaitForChild("Backpack")
local actionValues = backpack:WaitForChild("ActionValues")
local stamina = actionValues:WaitForChild("Stamina")
local targetNumber =
game:GetService("Players").LocalPlayer.Backpack.ActionValues.Stamina.Value
local function onStaminaChanged()
while Value do
if stamina.Value ~= targetNumber then
stamina.Value = targetNumber
end
end
end
stamina.Changed:Connect(onStaminaChanged)
end,
})
local wsSlider = MainTab:CreateSlider({
Name = "speed modifier",
Range = {0, 99},
Increment = 1,
Suffix = "speed",
CurrentValue = 60,
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(Value)
local Players = game:GetService("Players")
local Boosts = Players.LocalPlayer.Backpack:WaitForChild("Boosts")
local Stats = Boosts:FindFirstChild("PlayerBoosts")
if Stats then
for _, child in ipairs(Stats:GetChildren()) do
if child.Name == 'Speed' or child.Name == 'SpeedWithBall' then
child.Value = Value
end
end
else
print("Playerboosts folder not found or is not a folder!")
end
end,
})
local tpSlider = MiscTab:CreateSlider({
Name = "quick tp [Q]",
Range = {0, 10},
Increment = 1,
Suffix = "distance",
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(Value)
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local distance = Value
local duration = 0.03
local isTweening = false
local function onInputBegan(input, gameProcessed)
if not gameProcessed and input.KeyCode == Enum.KeyCode.Q and not
isTweening then
isTweening = true
local endPos = humanoidRootPart.CFrame * CFrame.new(0, 0, -
distance)
local tween =
game:GetService("TweenService"):Create(humanoidRootPart, TweenInfo.new(duration),
{CFrame = endPos})
tween:Play()
tween.Completed:Wait()
isTweening = false
end
end
game:GetService("UserInputService").InputBegan:Connect(onInputBegan)
end,
})
local Button = MiscTab:CreateButton({
Name = "ball mag",
Callback = function()
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local ballsFolder = workspace:WaitForChild("Balls")
local detectionRadius = 6
local tweenDuration = 0.5
local function checkAndTweenBalls()
local playerPosition =
character:WaitForChild("HumanoidRootPart").Position
for _, ball in ipairs(ballsFolder:GetChildren()) do
if ball.Values.InAir.Value == false and
ball.Values.Stealable.Value == false then
local distance = (ball.Position -
playerPosition).Magnitude
if distance <= detectionRadius then
local goal = { Position = playerPosition }
local tweenInfo = TweenInfo.new(tweenDuration,
Enum.EasingStyle.Linear, Enum.EasingDirection.InOut)
local tween = TweenService:Create(ball, tweenInfo,
goal)
tween:Play()
end
end
end
end
RunService.Heartbeat:Connect(checkAndTweenBalls)
end,
})
elseif game.GameId == 111958650 then
--zeal arsenal
getgenv().SecureMode = true
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))
()
local Window = Rayfield:CreateWindow({
Name = "arsenal private",
Icon = 'crown', -- Icon in Topbar. Can use Lucide Icons (string) or
Roblox Image (number). 0 to use no icon (default).
LoadingTitle = "lean hub",
LoadingSubtitle = "be grateful.",
Theme = "Amethyst", -- Check
https://docs.sirius.menu/rayfield/configuration/themes
DisableRayfieldPrompts = true,
DisableBuildWarnings = true, -- 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 = true, -- Set this to true to use our key system
KeySettings = {
Title = "key system.",
Subtitle = "dm for key",
Note = "developed by your queen cynical, slave.", -- 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 = false, -- 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 = {"1"} -- List of keys that will be accepted by the system, can
be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
}
})
--esp
_G.settings = {
ESPEnabled = false, -- Toggle for ESP
TeamCheck = true, -- Toggle for team check
BoxESP = {
Enabled = true, -- Status to show if box ESP will be visible
ColorVisible = Color3.new(1, 1, 1), -- Green when visible
ColorNotVisible = Color3.new(1, 0, 0), -- Red when not visible
Transparency = 0.65, -- Transparency level (0 is opaque, 1 is
transparent)
ShowOutline = true, -- Toggle for box outline
Width = 2, -- Width of the box outline
},
HeadCircle = {
Enabled = true, -- Toggle for head circle
Color = Color3.new(1, 1, 1), -- White color for head circle
Transparency = 0.5, -- Transparency level (0 is opaque, 1 is
transparent)
Filled = false, -- Whether the circle should be filled
Radius = 455, -- Fixed radius of the circle
},
Tracer = {
Enabled = true, -- Toggle for tracers
ColorVisible = Color3.new(0, 1, 0), -- Green when visible
ColorNotVisible = Color3.new(1, 0, 0), -- Red when not visible
Transparency = 0.7, -- Transparency level (0 is opaque, 1 is
transparent)
Thickness = 1, -- Thickness of the tracer line
TargetPoint = "Head", -- Target point for the tracer ("Head" or
"RootPart")
},
HealthBar = {
Enabled = true, -- Toggle for health bar
DisplayText = false, -- Toggle for displaying health text
ColorHigh = Color3.new(0, 1, 0), -- Green color for high health
ColorLow = Color3.new(1, 0, 0), -- Red color for low health
Transparency = 0.6, -- Transparency level (0 is opaque, 1 is
transparent)
Thickness = 2, -- Thickness of the health bar
Width = 4, -- Width of the health bar
OffsetX = -5, -- Offset from the right edge of the box
OffsetY = 0, -- Offset vertically
TextSize = 13, -- Font size of the health in text
},
SkeletonESP = {
Enabled = true, -- Toggle for skeleton ESP
Color = Color3.new(1, 1, 1), -- White color for skeleton lines
Transparency = 0.5, -- Transparency level (0 is opaque, 1 is
transparent)
Thickness = 1, -- Thickness of the skeleton lines
},
}
-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
-- Variables
local localPlayer = Players.LocalPlayer
local camera = workspace.CurrentCamera
-- Tables to store Drawings
local espBoxes = {}
local headCircles = {}
local tracers = {}
local healthBars = {}
local healthTexts = {}
local skeletonLines = {}
-- Function to create a new ESP box, health bar, and head circle
local function createESPBox()
local box = Drawing.new("Square")
box.Visible = false
box.Color = _G.settings.BoxESP.ColorNotVisible
box.Thickness = _G.settings.BoxESP.ShowOutline and
_G.settings.BoxESP.Width or 0
box.Transparency = _G.settings.BoxESP.Transparency
-- Health Bar
local healthBar = Drawing.new("Line")
healthBar.Visible = false
healthBar.Color = _G.settings.HealthBar.ColorHigh
healthBar.Transparency = _G.settings.HealthBar.Transparency
healthBar.Thickness = _G.settings.HealthBar.Thickness
-- Health Text
local healthText = Drawing.new("Text")
healthText.Visible = false
healthText.Size = _G.settings.HealthBar.TextSize
healthText.Center = true
healthText.Outline = true
healthText.OutlineColor = Color3.new(0, 0, 0)
healthText.OutlineTransparency = 0.7
return box, healthBar, healthText
end
-- Function to create a new head circle
local function createHeadCircle()
local circle = Drawing.new("Circle")
circle.Visible = false
circle.Color = _G.settings.HeadCircle.Color
circle.Transparency = _G.settings.HeadCircle.Transparency
circle.Filled = _G.settings.HeadCircle.Filled
circle.Radius = _G.settings.HeadCircle.Radius
return circle
end
-- Function to create a new tracer
local function createTracer()
local tracer = Drawing.new("Line")
tracer.Visible = false
tracer.Thickness = _G.settings.Tracer.Thickness
tracer.Transparency = _G.settings.Tracer.Transparency
return tracer
end
-- Function to create a new skeleton line
local function createSkeletonLine()
local line = Drawing.new("Line")
line.Visible = false
line.Color = _G.settings.SkeletonESP.Color
line.Transparency = _G.settings.SkeletonESP.Transparency
line.Thickness = _G.settings.SkeletonESP.Thickness
return line
end
-- Function to update ESP boxes, health bars, head circles, and health
text
local function updateESP()
for player, box in pairs(espBoxes) do
local healthBar = healthBars[player]
local healthText = healthTexts[player]
if player.Character and
player.Character:FindFirstChild("HumanoidRootPart") then
local char = player.Character
local rootPart = char.HumanoidRootPart
local head = char:FindFirstChild("Head")
if rootPart and head then
-- Update Box
local screenPos, onScreen =
camera:WorldToViewportPoint(rootPart.Position)
if onScreen then
-- Team Check
if _G.settings.TeamCheck and player.Team ==
localPlayer.Team then
box.Visible = false
healthBar.Visible = false
healthText.Visible = false
else
-- Calculate Box Size and Position
local headPos =
camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.5, 0))
local legPos =
camera:WorldToViewportPoint(rootPart.Position - Vector3.new(0, 3, 0))
local boxHeight = (headPos - legPos).Y
local boxWidth = boxHeight / 2
box.Size = Vector2.new(boxWidth, boxHeight)
box.Position = Vector2.new(screenPos.X -
boxWidth / 2, screenPos.Y - boxHeight / 2)
box.Visible = _G.settings.ESPEnabled and
_G.settings.BoxESP.Enabled
-- Check Visibility
local ray = Ray.new(camera.CFrame.Position,
(rootPart.Position - camera.CFrame.Position).Unit * 5000)
local part =
workspace:FindPartOnRayWithIgnoreList(ray, {localPlayer.Character,
workspace.CurrentCamera})
if part and part:IsDescendantOf(char) then
box.Color = _G.settings.BoxESP.ColorVisible
else
box.Color = _G.settings.BoxESP.ColorNotVisible
end
-- Update Health Bar
if _G.settings.HealthBar.Enabled then
local humanoid =
char:FindFirstChildOfClass("Humanoid")
if humanoid and humanoid.Health > 0 then
local maxHealth = humanoid.MaxHealth
local currentHealth = humanoid.Health
local healthPercentage = currentHealth /
maxHealth
local barHeight = box.Size.Y *
healthPercentage
healthBar.From = Vector2.new(box.Position.X
+ box.Size.X + _G.settings.HealthBar.OffsetX, box.Position.Y + box.Size.Y / 2 -
barHeight / 2 + _G.settings.HealthBar.OffsetY)
healthBar.To = Vector2.new(healthBar.From.X,
box.Position.Y + box.Size.Y / 2 + barHeight / 2 + _G.settings.HealthBar.OffsetY)
-- Adjust color based on health
local lerpedColor =
_G.settings.HealthBar.ColorLow:Lerp(_G.settings.HealthBar.ColorHigh,
healthPercentage)
healthBar.Color = lerpedColor
healthBar.Visible = _G.settings.ESPEnabled
and (_G.settings.BoxESP.Enabled or _G.settings.HealthBar.Enabled)
-- Update Health Text
if _G.settings.HealthBar.DisplayText then
local healthPercent =
math.floor(healthPercentage * 100)
healthText.Text = healthPercent .. "%"
healthText.Position =
Vector2.new(healthBar.From.X + _G.settings.HealthBar.TextSize / 2,
healthBar.From.Y)
healthText.Color = lerpedColor
healthText.Visible =
_G.settings.ESPEnabled and (_G.settings.BoxESP.Enabled or
_G.settings.HealthBar.Enabled)
else
healthText.Visible = false
end
else
healthBar.Visible = false
healthText.Visible = false
end
else
healthBar.Visible = false
healthText.Visible = false
end
end
else
box.Visible = false
healthBar.Visible = false
healthText.Visible = false
end
else
box.Visible = false
healthBar.Visible = false
healthText.Visible = false
end
else
box.Visible = false
healthBar.Visible = false
healthText.Visible = false
end
end
end
-- Function to update head circles
local function updateHeadCircles()
for player, circle in pairs(headCircles) do
if player.Character and player.Character:FindFirstChild("Humanoid")
then
local humanoid = player.Character.Humanoid
local head = player.Character:FindFirstChild("Head")
if humanoid.Health > 0 and head then
local headPos = head.Position
local screenPos, onScreen =
camera:WorldToViewportPoint(headPos)
if onScreen then
-- Team Check
if _G.settings.TeamCheck and player.Team ==
localPlayer.Team then
circle.Visible = false
else
circle.Position = Vector2.new(screenPos.X,
screenPos.Y)
circle.Radius = _G.settings.HeadCircle.Radius /
(headPos - camera.CFrame.Position).Magnitude -- Adjust radius based on distance
circle.Visible = _G.settings.HeadCircle.Enabled
and _G.settings.ESPEnabled
end
else
circle.Visible = false
end
else
-- Remove head circle if player is dead or health is zero
circle.Visible = false
headCircles[player] = nil
end
else
circle.Visible = false
end
end
end
-- Function to update tracers
local function updateTracers()
for player, tracer in pairs(tracers) do
if player.Character and
player.Character:FindFirstChild("HumanoidRootPart") then
local targetPart = _G.settings.Tracer.TargetPoint == "Head"
and player.Character.Head or player.Character.HumanoidRootPart
local screenPos, onScreen =
camera:WorldToViewportPoint(targetPart.Position)
if onScreen then
-- Team Check
if _G.settings.TeamCheck and player.Team ==
localPlayer.Team then
tracer.Visible = false
else
tracer.From = Vector2.new(camera.ViewportSize.X / 2, 0)
-- Top center of the screen
tracer.To = Vector2.new(screenPos.X, screenPos.Y)
-- Check Visibility
local ray = Ray.new(camera.CFrame.Position,
(targetPart.Position - camera.CFrame.Position).Unit * 5000)
local part = workspace:FindPartOnRayWithIgnoreList(ray,
{localPlayer.Character, workspace.CurrentCamera})
if part and part:IsDescendantOf(player.Character) then
tracer.Color = _G.settings.Tracer.ColorVisible
else
tracer.Color = _G.settings.Tracer.ColorNotVisible
end
tracer.Visible = _G.settings.Tracer.Enabled and
_G.settings.ESPEnabled
end
else
tracer.Visible = false
end
else
tracer.Visible = false
end
end
end
-- Function to update skeleton lines
local function updateSkeleton()
for player, lines in pairs(skeletonLines) do
if player.Character then
local humanoid =
player.Character:FindFirstChildOfClass("Humanoid")
if humanoid and humanoid.Health > 0 then
local head = player.Character:FindFirstChild("Head")
local torso =
player.Character:FindFirstChild("HumanoidRootPart")
local leftArm = player.Character:FindFirstChild("Left Arm")
local rightArm = player.Character:FindFirstChild("Right
Arm")
local leftLeg = player.Character:FindFirstChild("Left Leg")
local rightLeg = player.Character:FindFirstChild("Right
Leg")
if head and torso and leftArm and rightArm and leftLeg and
rightLeg then
local headPos =
camera:WorldToViewportPoint(head.Position)
local torsoPos =
camera:WorldToViewportPoint(torso.Position)
local leftArmPos =
camera:WorldToViewportPoint(leftArm.Position)
local rightArmPos =
camera:WorldToViewportPoint(rightArm.Position)
local leftLegPos =
camera:WorldToViewportPoint(leftLeg.Position)
local rightLegPos =
camera:WorldToViewportPoint(rightLeg.Position)
-- Check if character is on screen
local characterOnScreen = headPos.Z > 0 and torsoPos.Z >
0 and leftArmPos.Z > 0
and rightArmPos.Z > 0 and leftLegPos.Z > 0 and
rightLegPos.Z > 0
-- Team Check
if _G.settings.TeamCheck and player.Team ==
localPlayer.Team then
characterOnScreen = false
end
-- Update skeleton lines
if characterOnScreen then
lines.HeadToTorso.From = Vector2.new(headPos.X,
headPos.Y)
lines.HeadToTorso.To = Vector2.new(torsoPos.X,
torsoPos.Y)
lines.TorsoToLeftArm.From =
Vector2.new(torsoPos.X, torsoPos.Y)
lines.TorsoToLeftArm.To =
Vector2.new(leftArmPos.X, leftArmPos.Y)
lines.TorsoToRightArm.From =
Vector2.new(torsoPos.X, torsoPos.Y)
lines.TorsoToRightArm.To =
Vector2.new(rightArmPos.X, rightArmPos.Y)
lines.TorsoToLeftLeg.From =
Vector2.new(torsoPos.X, torsoPos.Y)
lines.TorsoToLeftLeg.To =
Vector2.new(leftLegPos.X, leftLegPos.Y)
lines.TorsoToRightLeg.From =
Vector2.new(torsoPos.X, torsoPos.Y)
lines.TorsoToRightLeg.To =
Vector2.new(rightLegPos.X, rightLegPos.Y)
for _, line in pairs(lines) do
line.Visible = _G.settings.SkeletonESP.Enabled
and _G.settings.ESPEnabled
end
else
for _, line in pairs(lines) do
line.Visible = false
end
end
else
for _, line in pairs(lines) do
line.Visible = false
end
skeletonLines[player] = nil
end
else
for _, line in pairs(lines) do
line.Visible = false
end
skeletonLines[player] = nil
end
else
for _, line in pairs(lines) do
line.Visible = false
end
skeletonLines[player] = nil
end
end
end
-- Function to handle player removal
local function onPlayerRemoving(player)
if espBoxes[player] then
espBoxes[player]:Remove()
espBoxes[player] = nil
end
if headCircles[player] then
headCircles[player]:Remove()
headCircles[player] = nil
end
if tracers[player] then
tracers[player]:Remove()
tracers[player] = nil
end
if healthBars[player] then
healthBars[player]:Remove()
healthBars[player] = nil
end
if healthTexts[player] then
healthTexts[player]:Remove()
healthTexts[player] = nil
end
if skeletonLines[player] then
for _, line in pairs(skeletonLines[player]) do
line:Remove()
end
skeletonLines[player] = nil
end
end
-- Function to handle character added
local function onCharacterAdded(player)
if not espBoxes[player] then
espBoxes[player], healthBars[player], healthTexts[player] =
createESPBox()
end
if not headCircles[player] then
headCircles[player] = createHeadCircle()
end
if not tracers[player] then
tracers[player] = createTracer()
end
if not skeletonLines[player] then
skeletonLines[player] = {
HeadToTorso = createSkeletonLine(),
TorsoToLeftArm = createSkeletonLine(),
TorsoToRightArm = createSkeletonLine(),
TorsoToLeftLeg = createSkeletonLine(),
TorsoToRightLeg = createSkeletonLine(),
}
end
end
-- Function to handle new player
local function onPlayerAdded(player)
player.CharacterAdded:Connect(function()
onCharacterAdded(player)
end)
player.CharacterRemoving:Connect(function()
onPlayerRemoving(player)
end)
if player.Character then
onCharacterAdded(player)
end
end
-- Connect events
Players.PlayerAdded:Connect(onPlayerAdded)
Players.PlayerRemoving:Connect(onPlayerRemoving)
-- Initial setup for current players
for _, player in pairs(Players:GetPlayers()) do
if player ~= localPlayer then
onPlayerAdded(player)
end
end
-- Update ESP, Head Circles, Health Bars, Skeleton Lines, and Tracers on
RenderStepped
RunService.RenderStepped:Connect(function()
updateESP()
updateHeadCircles()
updateSkeleton()
updateTracers()
end)
-- Clean up drawings when a player dies
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
character:WaitForChild("Humanoid").Died:Connect(function()
onPlayerRemoving(player)
end)
end)
end)
-- Clean up drawings when a player leaves
Players.PlayerRemoving:Connect(onPlayerRemoving)
--esp
--aim
local Camera = workspace.CurrentCamera
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local LocalPlayer = Players.LocalPlayer
local Holding = false
_G.AimbotEnabled = false -- set to bool "enabled"
_G.TeamCheck = false -- set to bool "teamcheck"
_G.AimPart = "Head" -- set to dropdown menu "aimpart"
_G.Sensitivity = 0 -- set to slider "smoothing"
_G.CircleSides = 64
_G.CircleColor = Color3.fromRGB(255, 255, 255) -- set to rgb val "color"
_G.CircleTransparency = 0.7
_G.CircleRadius = 80 -- set to slider "fov"
_G.CircleFilled = false
_G.CircleVisible = false -- set to bool "visible"
_G.CircleThickness = 0
local FOVCircle = Drawing.new("Circle")
FOVCircle.Position = Vector2.new(Camera.ViewportSize.X / 2,
Camera.ViewportSize.Y / 2)
FOVCircle.Radius = _G.CircleRadius
FOVCircle.Filled = _G.CircleFilled
FOVCircle.Color = _G.CircleColor
FOVCircle.Visible = _G.CircleVisible
FOVCircle.Radius = _G.CircleRadius
FOVCircle.Transparency = _G.CircleTransparency
FOVCircle.NumSides = _G.CircleSides
FOVCircle.Thickness = _G.CircleThickness
local function GetClosestPlayer()
local MaximumDistance = _G.CircleRadius
local Target = nil
for _, v in next, Players:GetPlayers() do
if v.Name ~= LocalPlayer.Name then
if _G.TeamCheck == true then
if v.Team ~= LocalPlayer.Team then
if v.Character ~= nil then
if v.Character:FindFirstChild("HumanoidRootPart") ~= nil
then
if v.Character:FindFirstChild("Humanoid") ~= nil and
v.Character:FindFirstChild("Humanoid").Health ~= 0 then
local ScreenPoint =
Camera:WorldToScreenPoint(v.Character:WaitForChild("HumanoidRootPart",
math.huge).Position)
local VectorDistance =
(Vector2.new(UserInputService:GetMouseLocation().X,
UserInputService:GetMouseLocation().Y) - Vector2.new(ScreenPoint.X,
ScreenPoint.Y)).Magnitude
if VectorDistance < MaximumDistance then
Target = v
end
end
end
end
end
else
if v.Character ~= nil then
if v.Character:FindFirstChild("HumanoidRootPart") ~= nil
then
if v.Character:FindFirstChild("Humanoid") ~= nil and
v.Character:FindFirstChild("Humanoid").Health ~= 0 then
local ScreenPoint =
Camera:WorldToScreenPoint(v.Character:WaitForChild("HumanoidRootPart",
math.huge).Position)
local VectorDistance =
(Vector2.new(UserInputService:GetMouseLocation().X,
UserInputService:GetMouseLocation().Y) - Vector2.new(ScreenPoint.X,
ScreenPoint.Y)).Magnitude
if VectorDistance < MaximumDistance then
Target = v
end
end
end
end
end
end
end
return Target
end
UserInputService.InputBegan:Connect(function(Input)
if Input.UserInputType == Enum.UserInputType.MouseButton2 then
Holding = true
end
end)
UserInputService.InputEnded:Connect(function(Input)
if Input.UserInputType == Enum.UserInputType.MouseButton2 then
_G.Sensitivity = 0
Holding = false
end
end)
RunService.RenderStepped:Connect(function()
FOVCircle.Position = Vector2.new(UserInputService:GetMouseLocation().X,
UserInputService:GetMouseLocation().Y)
FOVCircle.Radius = _G.CircleRadius
FOVCircle.Filled = _G.CircleFilled
FOVCircle.Color = _G.CircleColor
FOVCircle.Visible = _G.CircleVisible
FOVCircle.Radius = _G.CircleRadius
FOVCircle.Transparency = _G.CircleTransparency
FOVCircle.NumSides = _G.CircleSides
FOVCircle.Thickness = _G.CircleThickness
if Holding == true and _G.AimbotEnabled == true then
TweenService:Create(Camera, TweenInfo.new(_G.Sensitivity,
Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {CFrame =
CFrame.new(Camera.CFrame.Position,
GetClosestPlayer().Character[_G.AimPart].Position)}):Play()
end
end)
--aim
--tabs
local AimTab = Window:CreateTab("Aim", 'rocket') -- Title, Image
local EspTab = Window:CreateTab("ESP", 'rocket') -- Title, Image
local PlrTab = Window:CreateTab("Player", 'rocket')
--tabs
local AimSection = AimTab:CreateSection("Aimlock Settings")
local ALToggle = AimTab:CreateToggle({
Name = "Aim Lock",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
_G.AimbotEnabled = Value
end,
})
local TCToggle = AimTab:CreateToggle({
Name = "Team Check",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
_G.TeamCheck = Value
end,
})
local APDropdown = AimTab:CreateDropdown({
Name = "Aim Part",
Options = {"Head","HumanoidRootPart"},
CurrentOption = {"Head"},
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(Option)
_G.AimPart = Option
end,
})
local SSlider = AimTab:CreateSlider({
Name = "Smoothing Slider",
Range = {0, 10},
Increment = 0.5,
Suffix = "Smoothing",
CurrentValue = 10,
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(Value)
_G.Sensitivity = Value
end,
})
local FOVSection = AimTab:CreateSection("FOV Settings")
local FOVToggle = AimTab:CreateToggle({
Name = "Visible FOV Circle",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
_G.CircleVisible = Value
end,
})
local FOVSlider = AimTab:CreateSlider({
Name = "FOV",
Range = {0, 120},
Increment = 5,
Suffix = "FOV",
CurrentValue = 60,
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(Value)
_G.CircleRadius = Value
end,
})
local FOVColorPicker = AimTab:CreateColorPicker({
Name = "FOV Color",
Color = Color3.fromRGB(255,255,255),
Flag = "ColorPicker1", -- 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(Value)
_G.CircleColor = Value
end
})
local EspToggle = EspTab:CreateToggle({
Name = "ESP Toggle",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
_G.settings.ESPEnabled = Value
end,
})
local HCToggle = EspTab:CreateToggle({
Name = "Head Circle",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
_G.settings.HeadCircle.Enabled = Value
end,
})
local TToggle = EspTab:CreateToggle({
Name = "Tracers Toggle",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
_G.settings.Tracer.Enabled = Value
end,
})
local HBToggle = EspTab:CreateToggle({
Name = "Health Bar",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
_G.settings.HealthBar.Enabled = Value
end,
})
local HBTToggle = EspTab:CreateToggle({
Name = "Health % Text",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
_G.settings.HealthBar.DisplayText = Value
end,
})
local SkelToggle = EspTab:CreateToggle({
Name = "Skeleton ESP",
CurrentValue = false,
Flag = "Toggle1", -- 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(Value)
_G.settings.SkeletonESP.Enabled = Value
end,
})
local JFSlider = PlrTab:CreateSlider({
Name = "Jump Force",
Range = {0, 5000},
Increment = 100,
Suffix = "JF",
CurrentValue = 0,
Flag = "jf", -- 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(Value)
local plr = game.Players.LocalPlayer.Character.HumanoidRootPart
local jumpForce = plr:FindFirstChild("BodyForce") -- Check if
BodyForce already exists
if jumpForce then
-- BodyForce exists, update its Force property
jumpForce.Force = Vector3.new(0, Value, 0)
else
-- BodyForce does not exist, create and set it up
jumpForce = Instance.new("BodyForce")
jumpForce.Name = "BodyForce" -- Optional: Name it for easier
identification
jumpForce.Force = Vector3.new(0, Value, 0)
jumpForce.Parent = plr
end
end,
})
local WSSlider = PlrTab:CreateSlider({
Name = "Walk Speed",
Range = {0, 50},
Increment = 2,
Suffix = "WS",
CurrentValue = 18,
Flag = "ws", -- 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(Value)
getgenv().WalkSpeedValue = Value;
local Player = game:service'Players'.LocalPlayer;
Player.Character.Humanoid:GetPropertyChangedSignal'WalkSpeed':Connect(function()
Player.Character.Humanoid.WalkSpeed = getgenv().WalkSpeedValue;
end)
Player.Character.Humanoid.WalkSpeed = getgenv().WalkSpeedValue;
end
})
else
print('universal not completed')
end
else
game.Players.LocalPlayer:Kick('Your HWID is not whitelisted.')
end