
Key RequiredUniversal

-- ===== CONFIG =====
local TOGGLE_HIDE_KEY = Enum.KeyCode.LeftAlt
-- ===== SERVICES =====
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")
local Debris = game:GetService("Debris")
local LocalPlayer = Players.LocalPlayer
-- ===== STATE =====
local guiVisible = true
local flyEnabled = false
local flySpeed = 60
local flyObjects = {} -- will contain BodyGyro and BodyVelocity
local noclipEnabled = false
local currentTab = "Main"
local minimized = false
local walkSpeed = 16
-- Aim / ESP state
local aimbotEnabled = false
local aimbotMouseActive = false
local aimbotFOV = 120 -- in pixels
local aimbotSmooth = 0.25 -- 0 = instant, 1 = very slow (lerp factor)
local aimbotTargetPart = "HumanoidRootPart" -- "Head" or "HumanoidRootPart"
local espEnabled = false
local espThroughWalls = true
local espNameTag = true
local espColor = Color3.fromRGB(255,50,50) -- default
-- capability detection & fallback
local HighlightSupported = false
local DrawingSupported = false
-- Keep references to slider dragging states to avoid cross interference
local sliderStates = {
fly = {dragging=false},
walk = {dragging=false},
aimFOV = {dragging=false},
aimSmooth = {dragging=false},
espR = {dragging=false},
espG = {dragging=false},
espB = {dragging=false}
}
-- utility: safe destroy
local function safeDestroy(obj)
if obj and obj.Parent then
pcall(function() obj:Destroy() end)
end
end
-- ===== ENV DETECTION =====
do
-- Highlight detection: try creating/destroying a temporary Highlight safely
local ok, res = pcall(function()
local test = Instance.new("Highlight")
test.Name = "__xNicky_test_hl"
test.Parent = Workspace
test:Destroy()
return true
end)
HighlightSupported = ok and res
-- Drawing detection (common in many executors)
DrawingSupported = (type(Drawing) == "table" or type(drawing) == "table" or type(Drawing) == "function")
end
-- ===== FLY IMPLEMENTATION =====
local function enableFlyForCharacter(char)
if not char then return end
local root = char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso")
if not root then return end
-- Create BodyGyro
local bg = root:FindFirstChild("xNickyFly_BG")
if not bg then
bg = Instance.new("BodyGyro")
bg.Name = "xNickyFly_BG"
end
bg.P = 9000
bg.MaxTorque = Vector3.new(9e9,9e9,9e9)
bg.CFrame = root.CFrame
bg.Parent = root
-- Create BodyVelocity
local bv = root:FindFirstChild("xNickyFly_BV")
if not bv then
bv = Instance.new("BodyVelocity")
bv.Name = "xNickyFly_BV"
end
bv.MaxForce = Vector3.new(9e9,9e9,9e9)
bv.Velocity = Vector3.new(0,0,0)
bv.Parent = root
flyObjects = {bg, bv}
spawn(function()
while flyEnabled and root and root.Parent do
RunService.RenderStepped:Wait()
local cam = workspace.CurrentCamera
if not cam then break end
local dir = Vector3.new()
if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir += cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir -= cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir -= cam.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir += cam.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.new(0,1,0) end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir -= Vector3.new(0,1,0) end
if dir.Magnitude > 0 then
bv.Velocity = dir.Unit * flySpeed
else
bv.Velocity = Vector3.new(0,0,0)
end
local target = Vector3.new(cam.CFrame.LookVector.X, 0, cam.CFrame.LookVector.Z)
if target.Magnitude > 0 then
bg.CFrame = CFrame.new(root.Position, root.Position + target)
end
end
if root and root.Parent then
pcall(function() root.Velocity = Vector3.new(0,0,0) end)
end
for _,obj in ipairs(flyObjects) do safeDestroy(obj) end
flyObjects = {}
end)
end
local function setFlyEnabled(state)
flyEnabled = state and true or false
local char = LocalPlayer.Character
if flyEnabled then
if char then enableFlyForCharacter(char) end
else
for _,v in ipairs(flyObjects) do safeDestroy(v) end
flyObjects = {}
local hrp = char and (char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso"))
if hrp then
pcall(function() hrp.Velocity = Vector3.new(0,0,0) end)
end
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then
pcall(function() hum.PlatformStand = false end)
end
end
end
-- ===== NOCLIP IMPLEMENTATION =====
RunService.Stepped:Connect(function()
if noclipEnabled then
local char = LocalPlayer and LocalPlayer.Character
if char then
for _,part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
pcall(function() part.CanCollide = false end)
end
end
end
end
end)
-- ===== CHARACTER HANDLING =====
local function onCharacterAdded(char)
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum.Died:Connect(function()
flyEnabled = false
for _,v in ipairs(flyObjects) do safeDestroy(v) end
flyObjects = {}
end)
end
if flyEnabled then
enableFlyForCharacter(char)
end
end
if LocalPlayer.Character then onCharacterAdded(LocalPlayer.Character) end
LocalPlayer.CharacterAdded:Connect(onCharacterAdded)
-- ===== TELEPORT FUNCTIONS =====
local function teleportToPlayer(name)
local target = Players:FindFirstChild(name)
local myHRP = LocalPlayer.Character and (LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or LocalPlayer.Character:FindFirstChild("Torso") or LocalPlayer.Character:FindFirstChild("UpperTorso"))
if target and target.Character and myHRP then
local hrp = target.Character:FindFirstChild("HumanoidRootPart") or target.Character:FindFirstChild("Torso") or target.Character:FindFirstChild("UpperTorso")
if hrp then
pcall(function() myHRP.CFrame = hrp.CFrame + Vector3.new(0,3,0) end)
end
end
end
local function teleportPlayerToMe(name)
local target = Players:FindFirstChild(name)
local myHRP = LocalPlayer.Character and (LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or LocalPlayer.Character:FindFirstChild("Torso") or LocalPlayer.Character:FindFirstChild("UpperTorso"))
if target and target.Character and myHRP then
local targetHRP = target.Character:FindFirstChild("HumanoidRootPart") or target.Character:FindFirstChild("Torso") or target.Character:FindFirstChild("UpperTorso")
if targetHRP then
pcall(function() targetHRP.CFrame = myHRP.CFrame + Vector3.new(0,3,0) end)
end
end
end
_G.teleportToPlayer = teleportToPlayer
_G.teleportPlayerToMe = teleportPlayerToMe
-- ===== GUI CREATION =====
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "xNicky_HUB_vFINAL"
screenGui.ResetOnSpawn = false
screenGui.Parent = CoreGui
local function makeFrame(parent, size, pos, color, round)
local f = Instance.new("Frame")
f.Size = size
f.Position = pos
f.BackgroundColor3 = color or Color3.fromRGB(25,25,25)
f.BorderSizePixel = 0
f.Parent = parent
local u = Instance.new("UICorner")
u.CornerRadius = UDim.new(0, round or 12)
u.Parent = f
return f
end
-- header, main, tabs, content
local mainFrame = makeFrame(screenGui, UDim2.new(0,560,0,360), UDim2.new(0.5, -280, 0.5, -180), Color3.fromRGB(18,18,20), 14)
local header = makeFrame(mainFrame, UDim2.new(1,0,0,52), UDim2.new(0,0,0,0), Color3.fromRGB(10,10,12), 14)
local title = Instance.new("TextLabel", header)
title.Size = UDim2.new(1, -120, 1, 0)
title.Position = UDim2.new(0, 12, 0, 0)
title.BackgroundTransparency = 1
title.Text = "xNicky HUB"
title.Font = Enum.Font.GothamBold
title.TextSize = 20
title.TextColor3 = Color3.fromRGB(255,255,255)
title.TextXAlignment = Enum.TextXAlignment.Left
local buttonsContainer = Instance.new("Frame", header)
buttonsContainer.Size = UDim2.new(0,100,1,0)
buttonsContainer.Position = UDim2.new(1, -110, 0, 0)
buttonsContainer.BackgroundTransparency = 1
local function makeHeaderButton(parent, symbol, x)
local b = Instance.new("TextButton", parent)
b.Size = UDim2.new(0,36,0,28)
b.Position = UDim2.new(0, x, 0, 12)
b.BackgroundColor3 = Color3.fromRGB(30,30,32)
b.BorderSizePixel = 0
b.Text = symbol
b.Font = Enum.Font.GothamBold
b.TextSize = 18
b.TextColor3 = Color3.fromRGB(255,255,255)
local u = Instance.new("UICorner", b)
u.CornerRadius = UDim.new(0,8)
return b
end
local minimizeBtn = makeHeaderButton(buttonsContainer, "-", 0)
local closeBtn = makeHeaderButton(buttonsContainer, "X", 44)
local tabsFrame = Instance.new("Frame", mainFrame)
tabsFrame.Size = UDim2.new(0,140,1,-68)
tabsFrame.Position = UDim2.new(0,12,0,56)
tabsFrame.BackgroundTransparency = 1
local contentFrame = Instance.new("Frame", mainFrame)
contentFrame.Size = UDim2.new(1,-172,1,-68)
contentFrame.Position = UDim2.new(0,164,0,56)
contentFrame.BackgroundTransparency = 1
local function createTab(parent, name, y)
local b = makeFrame(parent, UDim2.new(1,-8,0,44), UDim2.new(0,4,0,y), Color3.fromRGB(36,36,38), 8)
local lbl = Instance.new("TextLabel", b)
lbl.Size = UDim2.new(1,-16,1,0)
lbl.Position = UDim2.new(0,8,0,0)
lbl.BackgroundTransparency = 1
lbl.Text = name
lbl.Font = Enum.Font.Gotham
lbl.TextSize = 15
lbl.TextColor3 = Color3.fromRGB(200,200,200)
lbl.TextXAlignment = Enum.TextXAlignment.Left
return b
end
local tabOrder = {"Main","Player","Aim","ESP","Fun"}
local tabButtons = {}
for i,name in ipairs(tabOrder) do
tabButtons[name] = createTab(tabsFrame, name, (i-1)*52)
end
local function clearContent()
for _,c in ipairs(contentFrame:GetChildren()) do
if not c:IsA("UIListLayout") then
safeDestroy(c)
end
end
end
local function addContentBtn(text, callback)
local yOffset = 10
for _,c in ipairs(contentFrame:GetChildren()) do
if c:IsA("Frame") or c:IsA("TextButton") or c:IsA("TextLabel") then
yOffset = yOffset + 48
end
end
local b = makeFrame(contentFrame, UDim2.new(1,-24,0,42), UDim2.new(0,12,0,yOffset), Color3.fromRGB(44,44,46), 8)
local lbl = Instance.new("TextLabel", b)
lbl.Size = UDim2.new(1,0,1,0)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.Font = Enum.Font.GothamSemibold
lbl.TextSize = 14
lbl.TextColor3 = Color3.fromRGB(255,255,255)
lbl.TextXAlignment = Enum.TextXAlignment.Center
b.InputBegan:Connect(function(inp)
if inp.UserInputType == Enum.UserInputType.MouseButton1 then
local tw = TweenService:Create(b, TweenInfo.new(0.06), {BackgroundTransparency = 0.35})
tw:Play(); tw.Completed:Wait()
tw = TweenService:Create(b, TweenInfo.new(0.06), {BackgroundTransparency = 0})
tw:Play()
pcall(callback)
end
end)
return b, lbl
end
-- ===== BUILD: MAIN TAB =====
local function buildMain()
clearContent()
addContentBtn("Toggle Fly - "..(flyEnabled and "ON" or "OFF"), function()
setFlyEnabled(not flyEnabled)
buildMain()
end)
-- Fly speed slider
local flyFrame = makeFrame(contentFrame, UDim2.new(1,-24,0,42), UDim2.new(0,12,0,60), Color3.fromRGB(44,44,46), 8)
flyFrame.Parent = contentFrame
local flyLabel = Instance.new("TextLabel", flyFrame)
flyLabel.Size = UDim2.new(1,0,1,0)
flyLabel.BackgroundTransparency = 1
flyLabel.Text = "FlySpeed: "..tostring(flySpeed)
flyLabel.Font = Enum.Font.GothamSemibold
flyLabel.TextSize = 14
flyLabel.TextColor3 = Color3.fromRGB(255,255,255)
flyLabel.TextXAlignment = Enum.TextXAlignment.Center
local flyBar = makeFrame(flyFrame, UDim2.new(math.clamp(flySpeed/500,0.02,1),0,1,0), UDim2.new(0,0,0,0), Color3.fromRGB(255,255,255), 6)
flyBar.Name = "FlyBar"
flyFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliderStates.fly.dragging = true
end
end)
flyFrame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliderStates.fly.dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if sliderStates.fly.dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local absPos = flyFrame.AbsolutePosition
local absSize = flyFrame.AbsoluteSize
local relX = math.clamp(input.Position.X - absPos.X, 0, absSize.X)
flyBar.Size = UDim2.new(0, relX, 1, 0)
flySpeed = math.floor((relX / absSize.X) * 500)
flySpeed = math.max(10, flySpeed)
flyLabel.Text = "FlySpeed: "..tostring(flySpeed)
end
end)
-- Teleport UI
local tpFrame = makeFrame(contentFrame, UDim2.new(1,-24,0,42), UDim2.new(0,12,0,120), Color3.fromRGB(44,44,46), 8)
tpFrame.Parent = contentFrame
local tpBox = Instance.new("TextBox", tpFrame)
tpBox.Size = UDim2.new(0.7, 0, 1, 0)
tpBox.Position = UDim2.new(0, 6, 0, 0)
tpBox.BackgroundTransparency = 1
tpBox.PlaceholderText = "PlayerName"
tpBox.Text = ""
tpBox.Font = Enum.Font.Gotham
tpBox.TextSize = 14
tpBox.TextColor3 = Color3.fromRGB(255,255,255)
local tpBtn = Instance.new("TextButton", tpFrame)
tpBtn.Size = UDim2.new(0.28, 0, 1, 0)
tpBtn.Position = UDim2.new(0.72, 0, 0, 0)
tpBtn.Text = "TP"
tpBtn.Font = Enum.Font.GothamBold
tpBtn.TextSize = 14
tpBtn.TextColor3 = Color3.fromRGB(255,255,255)
tpBtn.BackgroundColor3 = Color3.fromRGB(0,170,255)
tpBtn.BorderSizePixel = 0
tpBtn.MouseButton1Click:Connect(function()
if tpBox.Text ~= "" then teleportToPlayer(tpBox.Text) end
end)
local tpToMeBtn = Instance.new("TextButton", contentFrame)
tpToMeBtn.Size = UDim2.new(1,-24,0,36)
tpToMeBtn.Position = UDim2.new(0,12,0,172)
tpToMeBtn.BackgroundColor3 = Color3.fromRGB(50,50,50)
tpToMeBtn.BorderSizePixel = 0
local u = Instance.new("UICorner", tpToMeBtn); u.CornerRadius = UDim.new(0,8)
local lbl = Instance.new("TextLabel", tpToMeBtn)
lbl.Size = UDim2.new(1,0,1,0); lbl.BackgroundTransparency = 1
lbl.Text = "TP To Me (bring player to you)"
lbl.Font = Enum.Font.GothamSemibold; lbl.TextSize = 14
lbl.TextColor3 = Color3.fromRGB(255,255,255); lbl.TextXAlignment = Enum.TextXAlignment.Center
tpToMeBtn.MouseButton1Click:Connect(function()
if tpBox.Text ~= "" then teleportPlayerToMe(tpBox.Text) end
end)
end
-- ===== BUILD: PLAYER TAB =====
local function buildPlayer()
clearContent()
addContentBtn("Toggle NoClip - "..(noclipEnabled and "ON" or "OFF"), function()
noclipEnabled = not noclipEnabled
buildPlayer()
end)
local walkFrame = makeFrame(contentFrame, UDim2.new(1,-24,0,42), UDim2.new(0,12,0,60), Color3.fromRGB(44,44,46), 8)
walkFrame.Parent = contentFrame
local walkLabel = Instance.new("TextLabel", walkFrame)
walkLabel.Size = UDim2.new(1,0,1,0)
walkLabel.BackgroundTransparency = 1
walkLabel.Text = "WalkSpeed: "..tostring(walkSpeed)
walkLabel.Font = Enum.Font.GothamSemibold
walkLabel.TextSize = 14
walkLabel.TextColor3 = Color3.fromRGB(255,255,255)
walkLabel.TextXAlignment = Enum.TextXAlignment.Center
local walkBar = makeFrame(walkFrame, UDim2.new(math.clamp(walkSpeed/50,0.02,1),0,1,0), UDim2.new(0,0,0,0), Color3.fromRGB(255,255,255), 6)
walkBar.Name = "WalkBar"
walkFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliderStates.walk.dragging = true
end
end)
walkFrame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliderStates.walk.dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if sliderStates.walk.dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local absPos = walkFrame.AbsolutePosition
local absSize = walkFrame.AbsoluteSize
local relX = math.clamp(input.Position.X - absPos.X, 0, absSize.X)
walkBar.Size = UDim2.new(0, relX, 1, 0)
walkSpeed = math.floor((relX / absSize.X) * 50)
walkSpeed = math.max(16, walkSpeed)
walkLabel.Text = "WalkSpeed: "..tostring(walkSpeed)
end
end)
addContentBtn("Reset Character", function()
if LocalPlayer.Character then pcall(function() LocalPlayer.Character:BreakJoints() end) end
end)
end
-- ===== BUILD: AIM TAB (left unchanged except UI) =====
local function buildAim()
clearContent()
addContentBtn("Toggle Aimbot - "..(aimbotEnabled and "ON" or "OFF"), function()
aimbotEnabled = not aimbotEnabled
buildAim()
end)
-- FOV slider
local fovFrame = makeFrame(contentFrame, UDim2.new(1,-24,0,42), UDim2.new(0,12,0,60), Color3.fromRGB(44,44,46), 8)
fovFrame.Parent = contentFrame
local fovLabel = Instance.new("TextLabel", fovFrame)
fovLabel.Size = UDim2.new(1,0,1,0)
fovLabel.BackgroundTransparency = 1
fovLabel.Text = "FOV: "..tostring(aimbotFOV)
fovLabel.Font = Enum.Font.GothamSemibold
fovLabel.TextSize = 14
fovLabel.TextColor3 = Color3.fromRGB(255,255,255)
fovLabel.TextXAlignment = Enum.TextXAlignment.Center
local fovBar = makeFrame(fovFrame, UDim2.new(0.2,0,1,0), UDim2.new(0,0,0,0), Color3.fromRGB(255,255,255), 6)
fovBar.Name = "FOVBar"
fovFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliderStates.aimFOV.dragging = true
end
end)
fovFrame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliderStates.aimFOV.dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if sliderStates.aimFOV.dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local absPos = fovFrame.AbsolutePosition
local absSize = fovFrame.AbsoluteSize
local relX = math.clamp(input.Position.X - absPos.X, 0, absSize.X)
fovBar.Size = UDim2.new(0, relX, 1, 0)
aimbotFOV = math.floor((relX / absSize.X) * 500)
aimbotFOV = math.clamp(aimbotFOV, 20, 1000)
fovLabel.Text = "FOV: "..tostring(aimbotFOV)
end
end)
local smoothFrame = makeFrame(contentFrame, UDim2.new(1,-24,0,42), UDim2.new(0,12,0,120), Color3.fromRGB(44,44,46), 8)
smoothFrame.Parent = contentFrame
local smoothLabel = Instance.new("TextLabel", smoothFrame)
smoothLabel.Size = UDim2.new(1,0,1,0)
smoothLabel.BackgroundTransparency = 1
smoothLabel.Text = "Smooth: "..tostring(aimbotSmooth)
smoothLabel.Font = Enum.Font.GothamSemibold
smoothLabel.TextSize = 14
smoothLabel.TextColor3 = Color3.fromRGB(255,255,255)
smoothLabel.TextXAlignment = Enum.TextXAlignment.Center
local smoothBar = makeFrame(smoothFrame, UDim2.new(0.2,0,1,0), UDim2.new(0,0,0,0), Color3.fromRGB(255,255,255), 6)
smoothBar.Name = "SmoothBar"
smoothFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliderStates.aimSmooth.dragging = true
end
end)
smoothFrame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliderStates.aimSmooth.dragging = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if sliderStates.aimSmooth.dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local absPos = smoothFrame.AbsolutePosition
local absSize = smoothFrame.AbsoluteSize
local relX = math.clamp(input.Position.X - absPos.X, 0, absSize.X)
smoothBar.Size = UDim2.new(0, relX, 1, 0)
aimbotSmooth = (relX / absSize.X)
aimbotSmooth = math.clamp(aimbotSmooth, 0, 0.95)
smoothLabel.Text = ("Smooth: %.2f"):format(aimbotSmooth)
end
end)
addContentBtn("Target: "..aimbotTargetPart, function()
if aimbotTargetPart == "Head" then aimbotTargetPart = "HumanoidRootPart" else aimbotTargetPart = "Head" end
buildAim()
end)
addContentBtn("Hold Right Mouse to Aim (PPM)", function() end)
end
-- ===== ESP MODULE (integrated, fixed) =====
do
-- internal cache: player -> {highlight = Instance, billboard = Instance} or {drawing = {box,text}}
local espCache = {}
-- helper to create highlight in safe place and adornee to proper part/model
local function createHighlightForCharacter(char)
if not char then return nil end
local ok, hl = pcall(function()
local h = Instance.new("Highlight")
h.Name = "xNicky_ESP_Highlight"
-- prefer Adornee = model; some executors prefer a BasePart, so pick HRP if exists
local hrp = char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("UpperTorso") or char:FindFirstChild("Torso")
if hrp then
h.Adornee = char -- highlight model is ok; if not, adornee can be hrp
else
h.Adornee = char
end
-- Parent highlight to CoreGui or Workspace depending on executor; CoreGui usually works
h.Parent = CoreGui or Workspace
return h
end)
if ok and hl then return hl end
return nil
end
local function createBillboardForCharacter(char, player)
if not char then return nil end
local hrp = char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("UpperTorso") or char:FindFirstChild("Torso")
if not hrp then return nil end
local ok, bill = pcall(function()
local b = Instance.new("BillboardGui")
b.Name = "xNicky_ESP_Name"
b.Adornee = hrp
b.Size = UDim2.new(0,120,0,30)
b.AlwaysOnTop = true
b.Parent = char
local t = Instance.new("TextLabel", b)
t.Size = UDim2.new(1,0,1,0)
t.BackgroundTransparency = 1
t.Text = player.Name
t.TextScaled = true
t.Font = Enum.Font.GothamBold
t.TextColor3 = espColor
return b
end)
if ok then return bill end
return nil
end
local function createDrawingObjects(player)
if not Drawing and not drawing then return nil end
local ok, objs = pcall(function()
local box = (Drawing and Drawing.new or drawing.new)("Square")
local txt = (Drawing and Drawing.new or drawing.new)("Text")
box.Thickness = 2
box.Filled = false
box.Visible = false
txt.Size = 14
txt.Center = true
txt.Visible = false
return {box = box, text = txt}
end)
if ok then return objs end
return nil
end
local function addESPToCharacter(player)
if not player or player == LocalPlayer then return end
local char = player.Character
if not char then return end
-- avoid duplicates
if espCache[player] then return end
-- Try Highlight first if supported
if HighlightSupported then
local hl = createHighlightForCharacter(char)
if hl then
pcall(function()
hl.FillColor = espColor
hl.FillTransparency = 0.6 -- less bright so world lighting not flooded
hl.OutlineTransparency = 1
hl.AlwaysOnTop = espThroughWalls
end)
espCache[player] = {highlight = hl}
if espNameTag then
local bill = createBillboardForCharacter(char, player)
if bill then espCache[player].billboard = bill end
end
return
end
end
-- Fallback to Drawing if supported
if DrawingSupported then
local dr = createDrawingObjects(player)
if dr then
espCache[player] = {drawing = dr}
return
end
end
-- If neither works, try a safe non-invasive visual: a small transparent part above head (last resort)
local hrp = char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("UpperTorso") or char:FindFirstChild("Torso")
if hrp then
local ok, part = pcall(function()
local p = Instance.new("Part")
p.Name = "xNicky_ESP_Part"
p.Size = Vector3.new(0.5,0.5,0.5)
p.Transparency = 0.9
p.CanCollide = false
p.Anchored = true
p.CFrame = hrp.CFrame * CFrame.new(0, 3, 0)
p.Parent = Workspace -- parent to workspace
Debris:AddItem(p, 5) -- temporary; won't persist long
return p
end)
if ok and part then
espCache[player] = {part = part}
end
end
end
local function removeESPFromCharacter(player)
if not player then return end
local entry = espCache[player]
if entry then
if entry.highlight then pcall(function() entry.highlight:Destroy() end) end
if entry.billboard then pcall(function() entry.billboard:Destroy() end) end
if entry.drawing then
pcall(function()
if entry.drawing.box and entry.drawing.box.Remove then entry.drawing.box:Remove() end
if entry.drawing.text and entry.drawing.text.Remove then entry.drawing.text:Remove() end
end)
end
if entry.part then pcall(function() entry.part:Destroy() end) end
espCache[player] = nil
else
-- extra cleanup (residuals)
if player.Character then
for _,v in ipairs(player.Character:GetChildren()) do
if v.Name == "xNicky_ESP_Name" or v.Name == "xNicky_ESP_Part" then pcall(function() v:Destroy() end) end
end
end
-- attempt to destroy highlights adorning char
for _,inst in ipairs(Workspace:GetDescendants()) do
if inst:IsA("Highlight") and inst.Adornee == player.Character then
pcall(function() inst:Destroy() end)
end
end
end
end
local function refreshAllESP()
-- remove all then re-add if enabled
for p,_ in pairs(espCache) do removeESPFromCharacter(p) end
if espEnabled then
for _,p in ipairs(Players:GetPlayers()) do
if p ~= LocalPlayer then addESPToCharacter(p) end
end
end
end
-- Drawing update loop (if needed)
if DrawingSupported then
RunService.RenderStepped:Connect(function()
if not espEnabled then return end
local cam = Workspace.CurrentCamera
if not cam then return end
for player,entry in pairs(espCache) do
if entry.drawing and player.Character and player.Character.Parent then
local hrp = player.Character:FindFirstChild("HumanoidRootPart") or player.Character:FindFirstChild("Head")
if hrp then
local pos, onScreen = cam:WorldToViewportPoint(hrp.Position)
if onScreen then
local box = entry.drawing.box
local txt = entry.drawing.text
if box and txt then
local size = 40
box.Position = Vector2.new(pos.X - size/2, pos.Y - size/2)
box.Size = Vector2.new(size, size)
box.Color = espColor
box.Visible = true
txt.Position = Vector2.new(pos.X, pos.Y - size/2 - 14)
txt.Text = player.Name
txt.Color = espColor
txt.Visible = true
end
else
if entry.drawing.box then entry.drawing.box.Visible = false end
if entry.drawing.text then entry.drawing.text.Visible = false end
end
end
end
end
end)
end
-- Player joins / characters
Players.PlayerAdded:Connect(function(pl)
pl.CharacterAdded:Connect(function()
if espEnabled and pl ~= LocalPlayer then
task.defer(function() addESPToCharacter(pl) end)
end
end)
end)
for _,p in ipairs(Players:GetPlayers()) do
p.CharacterAdded:Connect(function() if espEnabled and p ~= LocalPlayer then task.defer(function() addESPToCharacter(p) end) end end)
end
-- Expose helper functions to outer scope for GUI buttons
_G.xNicky_ESP_INTERNAL = {
add = addESPToCharacter,
remove = removeESPFromCharacter,
refresh = refreshAllESP,
cache = espCache,
setColor = function(c)
espColor = c
-- update live
for _,entry in pairs(espCache) do
if entry.highlight then
pcall(function() entry.highlight.FillColor = espColor end)
end
if entry.billboard then
pcall(function()
local lbl = entry.billboard:FindFirstChildOfClass("TextLabel")
if lbl then lbl.TextColor3 = espColor end
end)
end
if entry.drawing and entry.drawing.text then
pcall(function() entry.drawing.text.Color = espColor end)
end
end
end,
setThroughWalls = function(b)
espThroughWalls = not not b
for _,entry in pairs(espCache) do
if entry.highlight then
pcall(function() entry.highlight.AlwaysOnTop = espThroughWalls end)
end
end
end,
setNameTags = function(b)
espNameTag = not not b
-- recreate billboards
for p,entry in pairs(espCache) do
if entry.billboard then pcall(function() entry.billboard:Destroy() end); entry.billboard = nil end
if espNameTag and p.Character then
local bill = createBillboardForCharacter(p.Character, p)
if bill then entry.billboard = bill end
end
end
end,
enable = function()
if espEnabled then return end
espEnabled = true
for _,p in ipairs(Players:GetPlayers()) do if p~=LocalPlayer then addESPToCharacter(p) end end
end,
disable = function()
if not espEnabled then return end
espEnabled = false
for p,_ in pairs(espCache) do removeESPFromCharacter(p) end
end,
toggle = function() if espEnabled then _G.xNicky_ESP_INTERNAL.disable() else _G.xNicky_ESP_INTERNAL.enable() end end,
}
end
-- ===== BUILD: ESP TAB UI (integrated) =====
local function buildESP()
clearContent()
-- Toggle ESP button
local btnToggle, lblToggle = addContentBtn("Toggle ESP/Chams - "..(espEnabled and "ON" or "OFF"), function()
if espEnabled then _G.xNicky_ESP_INTERNAL.disable() else _G.xNicky_ESP_INTERNAL.enable() end
buildESP()
end)
-- Through walls toggle
local btnThrough, lblThrough = addContentBtn("Toggle ThroughWalls - "..(espThroughWalls and "ON" or "OFF"), function()
espThroughWalls = not espThroughWalls
_G.xNicky_ESP_INTERNAL.setThroughWalls(espThroughWalls)
buildESP()
end)
-- NameTags toggle
local btnName, lblName = addContentBtn("Toggle NameTags - "..(espNameTag and "ON" or "OFF"), function()
espNameTag = not espNameTag
_G.xNicky_ESP_INTERNAL.setNameTags(espNameTag)
buildESP()
end)
-- Color sliders (RGB)
-- Red
local rFrame = makeFrame(contentFrame, UDim2.new(1,-24,0,28), UDim2.new(0,12,0,240), Color3.fromRGB(44,44,46), 6)
local rLabel = Instance.new("TextLabel", rFrame)
rLabel.Size = UDim2.new(0.22, -8, 1, 0)
rLabel.Position = UDim2.new(0,6,0,0)
rLabel.BackgroundTransparency = 1
rLabel.Text = "R: "..tostring(math.floor(espColor.R*255))
rLabel.Font = Enum.Font.GothamSemibold
rLabel.TextSize = 14
rLabel.TextColor3 = Color3.fromRGB(255,255,255)
rLabel.TextXAlignment = Enum.TextXAlignment.Left
local rBar = makeFrame(rFrame, UDim2.new(0.4,0,1,0), UDim2.new(0.28,0,0,0), Color3.fromRGB(200,0,0), 6)
rBar.Name = "ESP_R_Bar"
rFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then sliderStates.espR.dragging = true end
end)
rFrame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then sliderStates.espR.dragging = false end
end)
-- Green
local gFrame = makeFrame(contentFrame, UDim2.new(1,-24,0,28), UDim2.new(0,12,0,272), Color3.fromRGB(44,44,46), 6)
local gLabel = Instance.new("TextLabel", gFrame)
gLabel.Size = UDim2.new(0.22, -8, 1, 0)
gLabel.Position = UDim2.new(0,6,0,0)
gLabel.BackgroundTransparency = 1
gLabel.Text = "G: "..tostring(math.floor(espColor.G*255))
gLabel.Font = Enum.Font.GothamSemibold
gLabel.TextSize = 14
gLabel.TextColor3 = Color3.fromRGB(255,255,255)
gLabel.TextXAlignment = Enum.TextXAlignment.Left
local gBar = makeFrame(gFrame, UDim2.new(0.4,0,1,0), UDim2.new(0.28,0,0,0), Color3.fromRGB(0,200,0), 6)
gBar.Name = "ESP_G_Bar"
gFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then sliderStates.espG.dragging = true end
end)
gFrame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then sliderStates.espG.dragging = false end
end)
-- Blue
local bFrame = makeFrame(contentFrame, UDim2.new(1,-24,0,28), UDim2.new(0,12,0,304), Color3.fromRGB(44,44,46), 6)
local bLabel = Instance.new("TextLabel", bFrame)
bLabel.Size = UDim2.new(0.22, -8, 1, 0)
bLabel.Position = UDim2.new(0,6,0,0)
bLabel.BackgroundTransparency = 1
bLabel.Text = "B: "..tostring(math.floor(espColor.B*255))
bLabel.Font = Enum.Font.GothamSemibold
bLabel.TextSize = 14
bLabel.TextColor3 = Color3.fromRGB(255,255,255)
bLabel.TextXAlignment = Enum.TextXAlignment.Left
local bBar = makeFrame(bFrame, UDim2.new(0.4,0,1,0), UDim2.new(0.28,0,0,0), Color3.fromRGB(0,0,200), 6)
bBar.Name = "ESP_B_Bar"
bFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then sliderStates.espB.dragging = true end
end)
bFrame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then sliderStates.espB.dragging = false end
end)
-- Update logic for sliders
UserInputService.InputChanged:Connect(function(input)
-- R
if sliderStates.espR.dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local absPos = rFrame.AbsolutePosition
local absSize = rFrame.AbsoluteSize
local relX = math.clamp(input.Position.X - absPos.X, 0, absSize.X)
rBar.Size = UDim2.new(0, relX, 1, 0)
local rVal = math.floor((relX / absSize.X) * 255)
rVal = math.clamp(rVal, 0, 255)
espColor = Color3.fromRGB(rVal, math.floor(espColor.G*255), math.floor(espColor.B*255))
rLabel.Text = "R: "..tostring(rVal)
_G.xNicky_ESP_INTERNAL.setColor(espColor)
end
-- G
if sliderStates.espG.dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local absPos = gFrame.AbsolutePosition
local absSize = gFrame.AbsoluteSize
local relX = math.clamp(input.Position.X - absPos.X, 0, absSize.X)
gBar.Size = UDim2.new(0, relX, 1, 0)
local gVal = math.floor((relX / absSize.X) * 255)
gVal = math.clamp(gVal, 0, 255)
espColor = Color3.fromRGB(math.floor(espColor.R*255), gVal, math.floor(espColor.B*255))
gLabel.Text = "G: "..tostring(gVal)
_G.xNicky_ESP_INTERNAL.setColor(espColor)
end
-- B
if sliderStates.espB.dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local absPos = bFrame.AbsolutePosition
local absSize = bFrame.AbsoluteSize
local relX = math.clamp(input.Position.X - absPos.X, 0, absSize.X)
bBar.Size = UDim2.new(0, relX, 1, 0)
local bVal = math.floor((relX / absSize.X) * 255)
bVal = math.clamp(bVal, 0, 255)
espColor = Color3.fromRGB(math.floor(espColor.R*255), math.floor(espColor.G*255), bVal)
bLabel.Text = "B: "..tostring(bVal)
_G.xNicky_ESP_INTERNAL.setColor(espColor)
end
end)
end
-- ===== BUILD: FUN TAB =====
local function buildFun()
clearContent()
addContentBtn("Print Hello", function() print("Hello from xNicky HUB!") end)
addContentBtn("Spawn small part above HRP", function()
local hrp = LocalPlayer.Character and (LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or LocalPlayer.Character:FindFirstChild("Torso") or LocalPlayer.Character:FindFirstChild("UpperTorso"))
if hrp then
local p = Instance.new("Part", workspace)
p.Size = Vector3.new(1,1,1)
p.Position = hrp.Position + Vector3.new(0,5,0)
p.Anchored = true
Debris:AddItem(p, 4)
end
end)
addContentBtn("Make myself slightly bounce", function()
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then
local orig = hum.JumpPower
hum.JumpPower = (orig or 50) + 20
delay(2, function() if hum then pcall(function() hum.JumpPower = orig end) end end)
end
end)
end
-- ===== TAB SWITCHING =====
local function setActiveTab(name)
currentTab = name
for tn,btn in pairs(tabButtons) do
btn.BackgroundColor3 = (tn == name and Color3.fromRGB(60,60,64) or Color3.fromRGB(36,36,38))
end
if name == "Main" then buildMain()
elseif name == "Player" then buildPlayer()
elseif name == "Aim" then buildAim()
elseif name == "ESP" then buildESP()
elseif name == "Fun" then buildFun()
end
end
for name,btn in pairs(tabButtons) do
btn.InputBegan:Connect(function(inp)
if inp.UserInputType == Enum.UserInputType.MouseButton1 then
setActiveTab(name)
end
end)
end
setActiveTab("Main")
-- ===== MINIMIZE / CLOSE =====
minimizeBtn.InputBegan:Connect(function(inp)
if inp.UserInputType == Enum.UserInputType.MouseButton1 then
minimized = not minimized
if minimized then
tabsFrame.Visible = false
contentFrame.Visible = false
mainFrame.Size = UDim2.new(mainFrame.Size.X.Scale, mainFrame.Size.X.Offset, 0, 60)
else
tabsFrame.Visible = true
contentFrame.Visible = true
mainFrame.Size = UDim2.new(0,560,0,360)
end
end
end)
closeBtn.InputBegan:Connect(function(inp)
if inp.UserInputType == Enum.UserInputType.MouseButton1 then
safeDestroy(screenGui)
end
end)
-- ===== DRAGGABLE WINDOW (header) =====
do
local dragging = false
local dragStartPos = Vector2.new(0,0)
local startPosUDim2 = nil
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStartPos = UserInputService:GetMouseLocation()
startPosUDim2 = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
RunService.RenderStepped:Connect(function()
if dragging and startPosUDim2 then
local mousePos = UserInputService:GetMouseLocation()
local delta = mousePos - dragStartPos
local newX = startPosUDim2.X.Offset + delta.X
local newY = startPosUDim2.Y.Offset + delta.Y
local screenX = math.clamp(newX, -mainFrame.AbsoluteSize.X + 80, (workspace.CurrentCamera.ViewportSize.X - 80))
local screenY = math.clamp(newY, -mainFrame.AbsoluteSize.Y + 40, (workspace.CurrentCamera.ViewportSize.Y - 40))
mainFrame.Position = UDim2.new(0, screenX, 0, screenY)
end
end)
end
-- ===== TOGGLE VISIBILITY =====
UserInputService.InputBegan:Connect(function(input, processed)
if processed then return end
if input.KeyCode == TOGGLE_HIDE_KEY then
guiVisible = not guiVisible
mainFrame.Visible = guiVisible
end
end)
-- ===== WALK SPEED APPLY =====
RunService.RenderStepped:Connect(function()
local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
if hum and hum.Parent then
if hum.WalkSpeed ~= walkSpeed then
pcall(function() hum.WalkSpeed = walkSpeed end)
end
end
end)
-- ===== Aimbot INPUT (PPM) =====
UserInputService.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
aimbotMouseActive = true
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
aimbotMouseActive = false
end
end)
-- ===== Aimbot core loop (unchanged behavior) =====
RunService.RenderStepped:Connect(function(dt)
if not screenGui:FindFirstChild("xNicky_Aim_FOV") then
local f = Instance.new("Frame")
f.Name = "xNicky_Aim_FOV"
f.Size = UDim2.new(0, aimbotFOV, 0, aimbotFOV)
f.Position = UDim2.new(0, 0, 0, 0)
f.BackgroundTransparency = 0.93
f.BorderSizePixel = 0
f.Parent = screenGui
local corner = Instance.new("UICorner", f)
corner.CornerRadius = UDim.new(1,0)
f.Visible = false
end
local fovFrame = screenGui:FindFirstChild("xNicky_Aim_FOV")
if fovFrame then
fovFrame.Size = UDim2.new(0, aimbotFOV, 0, aimbotFOV)
local mousePos = UserInputService:GetMouseLocation()
fovFrame.Position = UDim2.new(0, mousePos.X - aimbotFOV/2, 0, mousePos.Y - aimbotFOV/2)
fovFrame.Visible = aimbotEnabled
end
if aimbotEnabled and aimbotMouseActive then
local camera = workspace.CurrentCamera
if not camera then return end
local closestDist = aimbotFOV
local chosenPart = nil
for _,player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character and player.Character.Parent then
local part = player.Character:FindFirstChild(aimbotTargetPart) or player.Character:FindFirstChild("HumanoidRootPart") or player.Character:FindFirstChild("Head")
if part then
local screenPos, onScreen = camera:WorldToViewportPoint(part.Position)
if onScreen then
local mousePos = UserInputService:GetMouseLocation()
local dist = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(mousePos.X, mousePos.Y)).Magnitude
if dist < closestDist then
closestDist = dist
chosenPart = part
end
end
end
end
end
if chosenPart and chosenPart.Parent then
local camPos = camera.CFrame.Position
local dir = (chosenPart.Position - camPos).Unit
local targetCFrame = CFrame.new(camPos, camPos + dir)
if aimbotSmooth <= 0 then
camera.CFrame = targetCFrame
else
camera.CFrame = camera.CFrame:Lerp(targetCFrame, 1 - (1 - aimbotSmooth) ^ (dt * 60))
end
end
end
end)
-- ===== FINAL PRINT =====
print("xNicky HUB vFINAL loaded. Toggle GUI with LeftAlt. Fly, WalkSpeed, NoClip, TP, Aim and ESP all available.")
-- End of file



it dosent work
@gr0279 what executor r u using
@gr0279 https://api.getsolara.gg this is working executor for this script and many others and its free it called solara