0% found this document useful (0 votes)
11 views

message (2)

The document outlines a script for a game that includes a whitelisting mechanism based on hardware IDs (HWID) and various features for user interaction, such as UI creation and gameplay enhancements. It contains specific configurations for different game IDs, allowing users to access features like jump force adjustments, infinite stamina, and teleportation. The script also integrates a key system for access control and includes options for enabling or disabling certain functionalities within the game environment.

Uploaded by

xqwcvz
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

message (2)

The document outlines a script for a game that includes a whitelisting mechanism based on hardware IDs (HWID) and various features for user interaction, such as UI creation and gameplay enhancements. It contains specific configurations for different game IDs, allowing users to access features like jump force adjustments, infinite stamina, and teleportation. The script also integrates a key system for access control and includes options for enabling or disabling certain functionalities within the game environment.

Uploaded by

xqwcvz
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 22

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

You might also like