-- NEKIT HUB | by: nekit
-- BLOX LOOT | Xeno
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local VIM = game:GetService("VirtualInputManager")
local Player = Players.LocalPlayer
local Purple = Color3.fromRGB(100, 35, 180)
local Dark = Color3.fromRGB(20, 15, 30)
local Light = Color3.fromRGB(175, 100, 255)
local old = game:GetService("CoreGui"):FindFirstChild("NEKIT_HUB")
if old then old:Destroy() end
local gui = Instance.new("ScreenGui")
gui.Name = "NEKIT_HUB"
gui.ResetOnSpawn = false
gui.Parent = (gethui and gethui()) or game:GetService("CoreGui")
local main = Instance.new("Frame", gui)
main.Size = UDim2.fromOffset(700, 460)
main.AnchorPoint = Vector2.new(0.5, 0.5)
main.Position = UDim2.new(0.5, 0, 0.5, 0)
main.BackgroundColor3 = Color3.fromRGB(15, 16, 23)
main.BorderSizePixel = 0
main.Active = true
main.Draggable = true
main.ClipsDescendants = true
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 16)
local mainStroke = Instance.new("UIStroke", main)
mainStroke.Color = Color3.fromRGB(48, 49, 65)
mainStroke.Transparency = 0.25
mainStroke.Thickness = 1
-- GUI SCALE
local uiScale = Instance.new("UIScale")
uiScale.Scale = 1
uiScale.Parent = main
local title = Instance.new("TextLabel", main)
title.Size = UDim2.new(1, 0, 0, 42)
title.BackgroundTransparency = 1
title.Text = "NEKIT HUB | BLOX LOOT"
title.TextColor3 = Color3.new(1,1,1)
title.Font = Enum.Font.GothamBold
title.TextSize = 15
title.TextXAlignment = Enum.TextXAlignment.Left
title.Position = UDim2.fromOffset(16, 0)
local topLine = Instance.new("Frame", main)
topLine.Position = UDim2.fromOffset(0, 41)
topLine.Size = UDim2.new(1, 0, 0, 1)
topLine.BackgroundColor3 = Color3.fromRGB(43, 44, 58)
topLine.BorderSizePixel = 0
local minimize = Instance.new("TextButton", main)
minimize.Size = UDim2.fromOffset(35, 30)
minimize.Position = UDim2.new(1, -42, 0, 6)
minimize.BackgroundColor3 = Color3.fromRGB(34, 35, 48)
minimize.Text = "—"
minimize.TextColor3 = Color3.new(1,1,1)
minimize.Font = Enum.Font.GothamBold
minimize.TextSize = 18
minimize.BorderSizePixel = 0
Instance.new("UICorner", minimize).CornerRadius = UDim.new(0, 8)
local sidebar = Instance.new("Frame", main)
sidebar.Position = UDim2.fromOffset(8, 48)
sidebar.Size = UDim2.new(0, 150, 1, -56)
sidebar.BackgroundColor3 = Color3.fromRGB(18, 19, 27)
sidebar.BorderSizePixel = 0
Instance.new("UICorner", sidebar).CornerRadius = UDim.new(0, 11)
local sidebarTitle = Instance.new("TextLabel", sidebar)
sidebarTitle.Position = UDim2.fromOffset(15, 12)
sidebarTitle.Size = UDim2.new(1, -25, 0, 22)
sidebarTitle.BackgroundTransparency = 1
sidebarTitle.Text = "MENU"
sidebarTitle.TextColor3 = Color3.fromRGB(125, 127, 148)
sidebarTitle.Font = Enum.Font.GothamBold
sidebarTitle.TextSize = 10
sidebarTitle.TextXAlignment = Enum.TextXAlignment.Left
local tabBar = Instance.new("Frame", sidebar)
tabBar.Position = UDim2.fromOffset(7, 42)
tabBar.Size = UDim2.new(1, -14, 1, -52)
tabBar.BackgroundTransparency = 1
local tabLayout = Instance.new("UIListLayout", tabBar)
tabLayout.Padding = UDim.new(0, 5)
tabLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
tabLayout.SortOrder = Enum.SortOrder.LayoutOrder
local pages = Instance.new("Frame", main)
pages.Position = UDim2.fromOffset(170, 58)
pages.Size = UDim2.new(1, -184, 1, -72)
pages.BackgroundTransparency = 1
local currentPage
local currentTabButton
local function makePage(name)
local page = Instance.new("ScrollingFrame", pages)
page.Name = name
page.Size = UDim2.fromScale(1,1)
page.BackgroundTransparency = 1
page.BorderSizePixel = 0
page.ScrollBarThickness = 4
page.ScrollBarImageColor3 = Light
page.Visible = false
page.CanvasSize = UDim2.new(0,0,0,0)
local pagePadding = Instance.new("UIPadding", page)
pagePadding.PaddingTop = UDim.new(0, 4)
pagePadding.PaddingLeft = UDim.new(0, 4)
pagePadding.PaddingRight = UDim.new(0, 4)
local layout = Instance.new("UIListLayout", page)
layout.Padding = UDim.new(0, 7)
layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
page.CanvasSize = UDim2.new(0,0,0,layout.AbsoluteContentSize.Y + 10)
end)
return page
end
local function makeTab(name)
local button = Instance.new("TextButton", tabBar)
button.Size = UDim2.new(1, 0, 0, 35)
button.BackgroundColor3 = Color3.fromRGB(25, 26, 36)
button.BackgroundTransparency = 1
button.Text = " " .. name
button.TextColor3 = Color3.fromRGB(155, 157, 176)
button.Font = Enum.Font.GothamMedium
button.TextSize = 11
button.TextXAlignment = Enum.TextXAlignment.Left
button.BorderSizePixel = 0
Instance.new("UICorner", button).CornerRadius = UDim.new(0, 6)
local page = makePage(name)
button.MouseButton1Click:Connect(function()
if currentPage then currentPage.Visible = false end
if currentTabButton then
currentTabButton.BackgroundTransparency = 1
currentTabButton.TextColor3 = Color3.fromRGB(155, 157, 176)
end
currentPage = page
currentTabButton = button
button.BackgroundTransparency = 0
button.TextColor3 = Color3.fromRGB(235, 226, 255)
page.Visible = true
end)
if not currentPage then
currentPage = page
currentTabButton = button
button.BackgroundTransparency = 0
button.TextColor3 = Color3.fromRGB(235, 226, 255)
page.Visible = true
end
return page
end
local function makeButton(parent, text)
local b = Instance.new("TextButton", parent)
b.Size = UDim2.new(1, -10, 0, 40)
b.BackgroundColor3 = Color3.fromRGB(29, 30, 41)
b.Text = text
b.TextColor3 = Color3.fromRGB(235, 235, 244)
b.Font = Enum.Font.GothamMedium
b.TextSize = 12
b.BorderSizePixel = 0
b.TextXAlignment = Enum.TextXAlignment.Left
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 7)
local stroke = Instance.new("UIStroke", b)
stroke.Color = Color3.fromRGB(48, 49, 64)
stroke.Transparency = 0.55
stroke.Thickness = 1
return b
end
local function makeBox(parent, placeholder, default)
local box = Instance.new("TextBox", parent)
box.Size = UDim2.new(1, -10, 0, 38)
box.BackgroundColor3 = Color3.fromRGB(29, 30, 41)
box.TextColor3 = Color3.fromRGB(245, 245, 250)
box.PlaceholderColor3 = Color3.fromRGB(135, 137, 157)
box.PlaceholderText = placeholder
box.Text = tostring(default or "")
box.Font = Enum.Font.Gotham
box.TextSize = 13
box.ClearTextOnFocus = false
box.BorderSizePixel = 0
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 7)
return box
end
local function label(parent, text)
local l = Instance.new("TextLabel", parent)
l.Size = UDim2.new(1, -10, 0, 27)
l.BackgroundTransparency = 1
l.Text = text
l.TextColor3 = Color3.fromRGB(220, 220, 233)
l.Font = Enum.Font.GothamBold
l.TextSize = 13
l.TextXAlignment = Enum.TextXAlignment.Left
return l
end
-- MOVEMENT
local movement = makeTab("MOVEMENT")
label(movement, "MOVEMENT SETTINGS")
local speedBox = makeBox(movement, "Speed", "33")
local jumpBox = makeBox(movement, "Power Jump", "60")
local currentSpeed = 33
local currentJump = 60
makeButton(movement, "SET SPEED").MouseButton1Click:Connect(function()
local hum = Player.Character and Player.Character:FindFirstChildOfClass("Humanoid")
local value = tonumber(speedBox.Text)
if hum and value then
currentSpeed = math.clamp(value, 0, 300)
hum.WalkSpeed = currentSpeed
end
end)
makeButton(movement, "SET JUMP").MouseButton1Click:Connect(function()
local hum = Player.Character and Player.Character:FindFirstChildOfClass("Humanoid")
local value = tonumber(jumpBox.Text)
if hum and value then
currentJump = math.clamp(value, 0, 300)
hum.UseJumpPower = true
hum.JumpPower = currentJump
end
end)
task.spawn(function()
while gui.Parent do
local hum = Player.Character and Player.Character:FindFirstChildOfClass("Humanoid")
if hum then
hum.WalkSpeed = currentSpeed
hum.UseJumpPower = true
hum.JumpPower = currentJump
end
task.wait(0.0001)
end
end)
local infiniteJump = false
local jumpButton = makeButton(movement, "INFINITE JUMP: OFF")
jumpButton.MouseButton1Click:Connect(function()
infiniteJump = not infiniteJump
jumpButton.Text = "INFINITE JUMP: " .. (infiniteJump and "ON" or "OFF")
end)
UIS.JumpRequest:Connect(function()
if infiniteJump then
local hum = Player.Character and Player.Character:FindFirstChildOfClass("Humanoid")
if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end
end
end)
local flyEnabled = false
local flySpeed = 50
local flyBox = makeBox(movement, "Fly speed (1-200)", "50")
local flyButton = makeButton(movement, "FLY: OFF")
local function toggleFly()
flyEnabled = not flyEnabled
flyButton.Text = "FLY: " .. (flyEnabled and "ON" or "OFF")
flySpeed = math.clamp(tonumber(flyBox.Text) or 50, 1, 200)
end
flyButton.MouseButton1Click:Connect(toggleFly)
RunService.RenderStepped:Connect(function()
if not flyEnabled then return end
local char = Player.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
local hum = char and char:FindFirstChildOfClass("Humanoid")
if not root or not hum then return end
local camera = workspace.CurrentCamera
local direction = Vector3.zero
if UIS:IsKeyDown(Enum.KeyCode.W) then direction += camera.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then direction -= camera.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then direction -= camera.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then direction += camera.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.Space) then direction += Vector3.yAxis end
if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then direction -= Vector3.yAxis end
root.AssemblyLinearVelocity = direction.Magnitude > 0
and direction.Unit * flySpeed
or Vector3.zero
end)
UIS.InputBegan:Connect(function(input, processed)
if not processed and input.KeyCode == Enum.KeyCode.G then
toggleFly()
end
end)
-- HOME
local home = makeTab("HOME")
label(home, "HOME TELEPORT")
local homePositions = {}
local homeList = Instance.new("ScrollingFrame", home)
homeList.Size = UDim2.new(1, -10, 0, 130)
homeList.BackgroundColor3 = Color3.fromRGB(30,22,42)
homeList.BorderSizePixel = 0
homeList.ScrollBarThickness = 4
homeList.CanvasSize = UDim2.new(0, 0, 0, 0)
local homeLayout = Instance.new("UIListLayout")
homeLayout.SortOrder = Enum.SortOrder.LayoutOrder
homeLayout.Padding = UDim.new(0, 5)
homeLayout.Parent = homeList
homeLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
homeList.CanvasSize = UDim2.new(0, 0, 0, homeLayout.AbsoluteContentSize.Y + 8)
end)
local function refreshHomes()
for _,v in ipairs(homeList:GetChildren()) do
if v:IsA("TextButton") then v:Destroy() end
end
for i, spot in ipairs(homePositions) do
local b = makeButton(homeList, "HOME " .. i)
b.MouseButton1Click:Connect(function()
local root = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
if root then root.CFrame = spot end
end)
end
homeList.CanvasSize = UDim2.new(0, 0, 0, homeLayout.AbsoluteContentSize.Y + 8)
end
makeButton(home, "SET HOME").MouseButton1Click:Connect(function()
local root = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
if root then
table.insert(homePositions, root.CFrame)
refreshHomes()
end
end)
makeButton(home, "DELETE LAST HOME").MouseButton1Click:Connect(function()
table.remove(homePositions, #homePositions)
refreshHomes()
end)
-- PLAYER TP
local tp = makeTab("PLAYER TP")
label(tp, "SELECT PLAYER")
local selectedPlayer
local playerList = Instance.new("ScrollingFrame", tp)
playerList.Size = UDim2.new(1, -10, 0, 170)
playerList.BackgroundColor3 = Color3.fromRGB(30,22,42)
playerList.BorderSizePixel = 0
playerList.ScrollBarThickness = 4
playerList.CanvasSize = UDim2.new(0, 0, 0, 0)
local playerLayout = Instance.new("UIListLayout")
playerLayout.SortOrder = Enum.SortOrder.LayoutOrder
playerLayout.Padding = UDim.new(0, 5)
playerLayout.Parent = playerList
playerLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
playerList.CanvasSize = UDim2.new(0, 0, 0, playerLayout.AbsoluteContentSize.Y + 8)
end)
local function refreshPlayers()
for _, child in ipairs(playerList:GetChildren()) do
if child:IsA("TextButton") then child:Destroy() end
end
selectedPlayer = nil
for _, target in ipairs(Players:GetPlayers()) do
if target ~= Player then
local b = makeButton(
playerList,
target.DisplayName .. " (@" .. target.Name .. ")"
)
b.TextSize = 11
b.MouseButton1Click:Connect(function()
selectedPlayer = target
for _, other in ipairs(playerList:GetChildren()) do
if other:IsA("TextButton") then
other.BackgroundColor3 = other == b and Light or Purple
end
end
end)
end
end
playerList.CanvasSize = UDim2.new(0, 0, 0, playerLayout.AbsoluteContentSize.Y + 8)
end
makeButton(tp, "REFRESH PLAYERS").MouseButton1Click:Connect(refreshPlayers)
makeButton(tp, "TELEPORT TO SELECTED").MouseButton1Click:Connect(function()
if not selectedPlayer then return end
local myRoot = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
local targetRoot = selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("HumanoidRootPart")
if myRoot and targetRoot then
myRoot.CFrame = targetRoot.CFrame * CFrame.new(0,0,-3)
end
end)
refreshPlayers()
Players.PlayerAdded:Connect(refreshPlayers)
Players.PlayerRemoving:Connect(refreshPlayers)
-- AUTO ATTACK
local attack = makeTab("AUTO ATTACK")
label(attack, "AUTO ATTACK SETTINGS")
local attackEnabled = false
local attackDelay = 0.15
local delayBox = makeBox(attack, "Attack delay", "0.15")
local attackButton = makeButton(attack, "AUTO ATTACK: OFF")
local function toggleAttack()
attackEnabled = not attackEnabled
attackButton.Text = "AUTO ATTACK: " .. (attackEnabled and "ON" or "OFF")
attackDelay = math.clamp(tonumber(delayBox.Text) or 0.15, 0.05, 5)
end
attackButton.MouseButton1Click:Connect(toggleAttack)
task.spawn(function()
while gui.Parent do
if attackEnabled then
pcall(function()
VIM:SendMouseButtonEvent(0,0,0,true,game,0)
task.wait(0.03)
VIM:SendMouseButtonEvent(0,0,0,false,game,0)
end)
task.wait(attackDelay)
else
task.wait(0.1)
end
end
end)
-- AUTOLOOT
local loot = makeTab("AUTOLOOT")
label(loot, "AUTOLOOT SETTINGS")
local lootEnabled = false
local radius = 20
local lootButton = makeButton(loot, "AUTOLOOT: OFF")
local radiusButton = makeButton(loot, "RADIUS: 20")
lootButton.MouseButton1Click:Connect(function()
lootEnabled = not lootEnabled
lootButton.Text = "AUTOLOOT: " .. (lootEnabled and "ON" or "OFF")
end)
radiusButton.MouseButton1Click:Connect(function()
radius = radius + 10
if radius > 50 then radius = 10 end
radiusButton.Text = "RADIUS: " .. radius
end)
task.spawn(function()
while gui.Parent do
if lootEnabled then
local root = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
if root and fireproximityprompt then
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("ProximityPrompt") then
local part = obj.Parent
if part and part:IsA("BasePart") then
if (part.Position - root.Position).Magnitude 0 then
local distance =
(targetRoot.Position - myRoot.Position).Magnitude
if distance < nearestDistance then
nearestDistance = distance
nearestMob = mob
end
end
end
end
end
return nearestMob
end
-- NOCLIP
local function enableNoclip()
if noclipConnection then
noclipConnection:Disconnect()
end
noclipConnection = RunService.Stepped:Connect(function()
if not farmEnabled then return end
local character = Player.Character
if not character then return end
for _, part in ipairs(character:GetDescendants()) do
if part:IsA("BasePart") then
if savedCollisions[part] == nil then
savedCollisions[part] = part.CanCollide
end
part.CanCollide = false
end
end
end)
end
local function disableNoclip()
if noclipConnection then
noclipConnection:Disconnect()
noclipConnection = nil
end
for part, oldValue in pairs(savedCollisions) do
if part and part.Parent then
part.CanCollide = oldValue
end
end
table.clear(savedCollisions)
end
-- СОЗДАНИЕ FLY
local function createFarmVelocity(root)
if farmVelocity then
farmVelocity:Destroy()
farmVelocity = nil
end
if farmMode == "FLY" then
farmVelocity = Instance.new("BodyVelocity")
farmVelocity.Name = "NekitFarmVelocity"
farmVelocity.MaxForce = Vector3.new(1000000, 1000000, 1000000)
farmVelocity.P = 10000
farmVelocity.Velocity = Vector3.zero
farmVelocity.Parent = root
end
end
-- ОСТАНОВКА
local function stopFarm()
farmEnabled = false
if farmConnection then
farmConnection:Disconnect()
farmConnection = nil
end
disableNoclip()
if farmVelocity then
farmVelocity:Destroy()
farmVelocity = nil
end
local character = Player.Character
local root = character and character:FindFirstChild("HumanoidRootPart")
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if root then
root.AssemblyLinearVelocity = Vector3.zero
end
if humanoid and originalWalkSpeed then
humanoid.WalkSpeed = originalWalkSpeed
end
originalWalkSpeed = nil
lastFarmMob = nil
farmPaused = false
farmPauseUntil = 0
teleportedMob = nil
farmToggle.Text = "AUTO FARM: OFF"
updateFarmStatus("OFF")
end
-- ЗАПУСК
local function startFarm()
local character = Player.Character
local root = character and character:FindFirstChild("HumanoidRootPart")
local humanoid = character and character:FindFirstChildOfClass("Humanoid")
if not root or not humanoid then
updateFarmStatus("CHARACTER NOT FOUND")
return
end
if farmEnabled then return end
farmEnabled = true
originalWalkSpeed = humanoid.WalkSpeed
lastFarmMob = nil
farmPaused = false
farmPauseUntil = 0
teleportedMob = nil
farmToggle.Text = "AUTO FARM: ON"
updateFarmStatus("SEARCHING")
-- Noclip включается автоматически
enableNoclip()
createFarmVelocity(root)
farmConnection = RunService.Heartbeat:Connect(function()
if not farmEnabled then return end
local char = Player.Character
local currentRoot = char and char:FindFirstChild("HumanoidRootPart")
local currentHumanoid = char and char:FindFirstChildOfClass("Humanoid")
if not currentRoot or not currentHumanoid then
return
end
if farmMode == "FLY" then
if not farmVelocity or farmVelocity.Parent ~= currentRoot then
createFarmVelocity(currentRoot)
end
elseif farmVelocity then
farmVelocity:Destroy()
farmVelocity = nil
end
-- ПАУЗА ПОСЛЕ УБИЙСТВА
if farmPaused then
if farmVelocity then
farmVelocity.Velocity = Vector3.zero
end
currentRoot.AssemblyLinearVelocity = Vector3.zero
currentHumanoid:MoveTo(currentRoot.Position)
if os.clock() < farmPauseUntil then
updateFarmStatus("PAUSE 5 SEC")
return
end
farmPaused = false
farmPauseUntil = 0
lastFarmMob = nil
teleportedMob = nil
updateFarmStatus("SEARCHING")
end
-- ПРОВЕРКА СМЕРТИ ПРЕДЫДУЩЕГО МОБА
if lastFarmMob then
local oldHumanoid = lastFarmMob:FindFirstChildOfClass("Humanoid")
local dead =
not lastFarmMob.Parent
or (oldHumanoid and oldHumanoid.Health <= 0)
if dead then
farmPaused = true
farmPauseUntil = os.clock() + 5
if farmVelocity then
farmVelocity.Velocity = Vector3.zero
end
currentRoot.AssemblyLinearVelocity = Vector3.zero
currentHumanoid:MoveTo(currentRoot.Position)
updateFarmStatus("PAUSE 5 SEC")
return
end
end
local mob = findFarmMob()
if not mob then
if farmVelocity then
farmVelocity.Velocity = Vector3.zero
end
currentHumanoid:MoveTo(currentRoot.Position)
updateFarmStatus("MOB NOT FOUND")
return
end
local targetRoot =
mob:FindFirstChild("HumanoidRootPart") or mob.PrimaryPart
if not targetRoot or not targetRoot:IsA("BasePart") then
updateFarmStatus("TARGET PART NOT FOUND")
return
end
local targetHumanoid = mob:FindFirstChildOfClass("Humanoid")
if targetHumanoid and targetHumanoid.Health <= 0 then
farmPaused = true
farmPauseUntil = os.clock() + 5
return
end
lastFarmMob = mob
local offset = targetRoot.Position - currentRoot.Position
local distance = offset.Magnitude
-- TELEPORT
if farmMode == "TELEPORT" then
if teleportedMob ~= mob then
currentRoot.CFrame =
targetRoot.CFrame * CFrame.new(0, 0, 3)
teleportedMob = mob
end
currentRoot.AssemblyLinearVelocity = Vector3.zero
updateFarmStatus("TELEPORTING")
-- FLY
elseif farmMode == "FLY" then
if distance <= stopDistance then
farmVelocity.Velocity = Vector3.zero
updateFarmStatus("ATTACKING")
else
farmVelocity.Velocity = offset.Unit * flySpeed
updateFarmStatus("FLYING")
end
-- WALK
elseif farmMode == "WALK" then
currentHumanoid.WalkSpeed = walkSpeed
if distance = 0.25 then
lastMoveUpdate = os.clock()
currentHumanoid:MoveTo(targetRoot.Position)
updateFarmStatus("WALKING")
end
end
end)
end
farmToggle.MouseButton1Click:Connect(function()
if farmEnabled then
stopFarm()
else
startFarm()
end
end)
-- АВТОАТАКА
task.spawn(function()
while gui.Parent do
if farmEnabled then
pcall(function()
VIM:SendMouseButtonEvent(0, 0, 0, true, game, 0)
task.wait(0.03)
VIM:SendMouseButtonEvent(0, 0, 0, false, game, 0)
end)
task.wait(attackDelay)
else
task.wait(0.1)
end
end
end)
-- ВЫБОР МОБОВ
label(mobsPage, "SELECT MOB")
for _, mobName in ipairs(mobNames) do
local button = makeButton(mobsPage, mobName)
farmButtons[mobName] = button
if mobName == selectedFarmMob then
button.BackgroundColor3 = Purple
end
button.MouseButton1Click:Connect(function()
selectedFarmMob = mobName
lastFarmMob = nil
farmPaused = false
farmPauseUntil = 0
teleportedMob = nil
for name, otherButton in pairs(farmButtons) do
otherButton.BackgroundColor3 =
name == selectedFarmMob
and Purple
or Color3.fromRGB(29, 30, 41)
end
updateFarmStatus(farmEnabled and "SEARCHING" or "OFF")
end)
end
-- РЕСПАВН
Player.CharacterAdded:Connect(function(character)
if not farmEnabled then return end
if farmConnection then
farmConnection:Disconnect()
farmConnection = nil
end
disableNoclip()
if farmVelocity then
farmVelocity:Destroy()
farmVelocity = nil
end
task.spawn(function()
local root = character:WaitForChild("HumanoidRootPart", 20)
local humanoid = character:WaitForChild("Humanoid", 20)
if not root or not humanoid then return end
task.wait(1)
if farmEnabled and Player.Character == character then
originalWalkSpeed = humanoid.WalkSpeed
enableNoclip()
createFarmVelocity(root)
lastFarmMob = nil
farmPaused = false
farmPauseUntil = 0
-- Перезапуск соединения
farmEnabled = false
startFarm()
end
end)
end)
-- НАСТРОЙКА ВКЛАДОК
setFarmMode("TELEPORT")
showFarmPage(worldPage)
-- VISUAL
local visual = makeTab("VISUAL")
label(visual, "VISUAL SETTINGS")
local espEnabled = false
local currentOutlineColor = Color3.fromRGB(170, 0, 255)
local espObjects = {}
local espConnections = {}
label(visual, "OUTLINE COLOR PALETTE")
local colors = {
{"PURPLE", Color3.fromRGB(170, 0, 255)},
{"RED", Color3.fromRGB(255, 0, 0)},
{"BLUE", Color3.fromRGB(0, 100, 255)},
{"GREEN", Color3.fromRGB(0, 255, 0)},
{"CYAN", Color3.fromRGB(0, 255, 255)},
{"PINK", Color3.fromRGB(255, 0, 170)},
{"YELLOW", Color3.fromRGB(255, 255, 0)},
{"WHITE", Color3.fromRGB(255, 255, 255)},
{"ORANGE", Color3.fromRGB(255, 140, 0)}
}
local function formatHealth(hp)
local units = {
{1e33, "dc"},
{1e30, "no"},
{1e27, "oc"},
{1e24, "sp"},
{1e21, "sx"},
{1e18, "Qi"},
{1e15, "Q"},
{1e12, "T"},
{1e9, "B"},
{1e6, "M"},
{1e3, "K"}
}
for _, unit in ipairs(units) do
if hp >= unit[1] then
local value = hp / unit[1]
return string.format("%.1f", value):gsub("%.0$", "") .. unit[2]
end
end
return tostring(math.floor(hp))
end
local function removeESP(character)
local data = espObjects[character]
if not data then return end
for _, connection in ipairs(data.connections) do
connection:Disconnect()
end
if data.highlight then
data.highlight:Destroy()
end
if data.billboard then
data.billboard:Destroy()
end
espObjects[character] = nil
end
local function applyOutlineColor()
for _, data in pairs(espObjects) do
if data.highlight and data.highlight.Parent then
data.highlight.OutlineColor = currentOutlineColor
end
end
end
for _, item in ipairs(colors) do
local colorButton = makeButton(visual, "● " .. item[1])
colorButton.BackgroundColor3 = item[2]
colorButton.TextColor3 = Color3.fromRGB(20, 15, 30)
colorButton.MouseButton1Click:Connect(function()
currentOutlineColor = item[2]
applyOutlineColor()
end)
end
local function createESP(target, character)
if not espEnabled or target == Player then return end
if not character or not character.Parent then return end
if espObjects[character] then return end
task.spawn(function()
local head = character:WaitForChild("Head", 10)
local humanoid = character:WaitForChild("Humanoid", 10)
if not espEnabled or not head or not humanoid then return end
if not character.Parent or espObjects[character] then return end
local highlight = Instance.new("Highlight")
highlight.Name = "PurpleESP"
highlight.FillTransparency = 1
highlight.OutlineTransparency = 0
highlight.OutlineColor = currentOutlineColor
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = character
local billboard = Instance.new("BillboardGui")
billboard.Name = "PlayerESP"
billboard.Adornee = head
billboard.Size = UDim2.fromOffset(220, 55)
billboard.StudsOffset = Vector3.new(0, 3, 0)
billboard.AlwaysOnTop = true
billboard.MaxDistance = 0
billboard.Parent = head
local text = Instance.new("TextLabel")
text.Size = UDim2.fromScale(1, 1)
text.BackgroundTransparency = 1
text.TextColor3 = Color3.new(1, 1, 1)
text.TextStrokeTransparency = 0
text.Font = Enum.Font.GothamBold
text.TextSize = 16
text.Parent = billboard
local function update()
if text.Parent then
text.Text = target.DisplayName ..
"\nHP: " .. formatHealth(humanoid.Health)
end
end
update()
local data = {
highlight = highlight,
billboard = billboard,
connections = {}
}
espObjects[character] = data
table.insert(data.connections,
humanoid.HealthChanged:Connect(update)
)
table.insert(data.connections,
humanoid:GetPropertyChangedSignal("MaxHealth"):Connect(update)
)
table.insert(data.connections,
character.AncestryChanged:Connect(function(_, parent)
if not parent then
removeESP(character)
end
end)
)
end)
end
local function trackPlayer(target)
if target == Player then return end
if target.Character then
createESP(target, target.Character)
end
table.insert(espConnections,
target.CharacterAdded:Connect(function(character)
if espEnabled then
createESP(target, character)
end
end)
)
end
local function disableESP()
for _, connection in ipairs(espConnections) do
connection:Disconnect()
end
table.clear(espConnections)
local characters = {}
for character in pairs(espObjects) do
table.insert(characters, character)
end
for _, character in ipairs(characters) do
removeESP(character)
end
end
local espButton = makeButton(visual, "PURPLE ESP + HP: OFF")
espButton.MouseButton1Click:Connect(function()
espEnabled = not espEnabled
espButton.Text = "PURPLE ESP + HP: " ..
(espEnabled and "ON" or "OFF")
if espEnabled then
for _, target in ipairs(Players:GetPlayers()) do
trackPlayer(target)
end
table.insert(espConnections,
Players.PlayerAdded:Connect(function(target)
if espEnabled then
trackPlayer(target)
end
end)
)
table.insert(espConnections,
Players.PlayerRemoving:Connect(function(target)
if target.Character then
removeESP(target.Character)
end
end)
)
else
disableESP()
end
end)
-- SETTINGS: GUI SCALE
local settings = makeTab("SETTINGS")
label(settings, "KEYBINDS")
local function bindInfo(key, action)
local row = Instance.new("Frame", settings)
row.Size = UDim2.new(1, -10, 0, 34)
row.BackgroundColor3 = Color3.fromRGB(29, 30, 41)
row.BorderSizePixel = 0
Instance.new("UICorner", row).CornerRadius = UDim.new(0, 7)
local keyText = Instance.new("TextLabel", row)
keyText.Position = UDim2.fromOffset(10, 0)
keyText.Size = UDim2.new(0, 130, 1, 0)
keyText.BackgroundTransparency = 1
keyText.Text = key
keyText.TextColor3 = Color3.fromRGB(190, 150, 255)
keyText.Font = Enum.Font.GothamBold
keyText.TextSize = 12
keyText.TextXAlignment = Enum.TextXAlignment.Left
local actionText = Instance.new("TextLabel", row)
actionText.Position = UDim2.fromOffset(145, 0)
actionText.Size = UDim2.new(1, -155, 1, 0)
actionText.BackgroundTransparency = 1
actionText.Text = action
actionText.TextColor3 = Color3.fromRGB(225, 225, 235)
actionText.Font = Enum.Font.Gotham
actionText.TextSize = 12
actionText.TextXAlignment = Enum.TextXAlignment.Left
end
bindInfo("G", "Включить / выключить Fly")
bindInfo("P", "Включить / выключить Auto Attack")
bindInfo("Right Shift", "Скрыть / показать NEKIT HUB")
label(settings, "GUI SCALE")
local scaleLabel = label(settings, "SCALE: 100%")
local slider = Instance.new("Frame", settings)
slider.Size = UDim2.new(1, -20, 0, 12)
slider.BackgroundColor3 = Color3.fromRGB(65, 45, 85)
slider.BorderSizePixel = 0
local fill = Instance.new("Frame", slider)
fill.Size = UDim2.new(0.5, 0, 1, 0)
fill.BackgroundColor3 = Light
fill.BorderSizePixel = 0
local knob = Instance.new("TextButton", slider)
knob.Size = UDim2.fromOffset(18, 18)
knob.AnchorPoint = Vector2.new(0.5, 0.5)
knob.Position = UDim2.new(0.5, 0, 0.5, 0)
knob.BackgroundColor3 = Color3.new(1,1,1)
knob.Text = ""
knob.BorderSizePixel = 0
local dragging = false
local function setScale(percent)
percent = math.clamp(percent, 70, 130)
local value = (percent - 70) / 60
uiScale.Scale = percent / 100
fill.Size = UDim2.new(value, 0, 1, 0)
knob.Position = UDim2.new(value, 0, 0.5, 0)
scaleLabel.Text = "SCALE: " .. math.floor(percent) .. "%"
end
local function updateSlider(input)
local position = math.clamp(
(input.Position.X - slider.AbsolutePosition.X) / slider.AbsoluteSize.X,
0, 1
)
setScale(70 + position * 60)
end
slider.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
updateSlider(input)
end
end)
knob.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
updateSlider(input)
end
end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
setScale(100)
-- GUI CONTROLS
local minimized = false
minimize.MouseButton1Click:Connect(function()
minimized = not minimized
sidebar.Visible = not minimized
pages.Visible = not minimized
main.Size = minimized
and UDim2.fromOffset(700,48)
or UDim2.fromOffset(700,460)
minimize.Text = minimized and "+" or "—"
end)
local visible = true
UIS.InputBegan:Connect(function(input, processed)
if not processed and input.KeyCode == Enum.KeyCode.RightShift then
visible = not visible
main.Visible = visible
end
if not processed and input.KeyCode == Enum.KeyCode.P then
toggleAttack()
end
end)
print("NEKIT HUB loaded!")
--ping|fps
local UIS = game:GetService("UserInputService")
local RS = game:GetService("RunService")
local Stats = game:GetService("Stats")
local HttpService = game:GetService("HttpService")
local saveFile = "MinimalStats_Pos.json"
local function loadPos()
if isfile(saveFile) then
local d = HttpService:JSONDecode(readfile(saveFile))
return UDim2.new(d.XS, d.XO, d.YS, d.YO)
end
end
local function savePos(p)
writefile(saveFile, HttpService:JSONEncode({
XS = p.X.Scale,
XO = p.X.Offset,
YS = p.Y.Scale,
YO = p.Y.Offset
}))
end
local sg = Instance.new("ScreenGui")
sg.Name = "MinimalStats"
sg.ResetOnSpawn = false
sg.IgnoreGuiInset = true
sg.Parent = game:GetService("CoreGui")
local main = Instance.new("Frame")
main.Size = UDim2.new(0,100,0,40)
main.Position = loadPos() or UDim2.new(0.5,-50,0.1,0)
main.BackgroundColor3 = Color3.fromRGB(15,15,15)
main.BackgroundTransparency = 0.25
main.BorderSizePixel = 0
main.Active = true
main.Parent = sg
Instance.new("UICorner", main).CornerRadius = UDim.new(0,9)
local stroke = Instance.new("UIStroke", main)
stroke.Thickness = 1.2
stroke.Color = Color3.new(1,1,1)
stroke.Transparency = 0.8
local layout = Instance.new("UIListLayout", main)
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
layout.VerticalAlignment = Enum.VerticalAlignment.Center
layout.Padding = UDim.new(0,1)
local function label()
local l = Instance.new("TextLabel")
l.Size = UDim2.new(1,0,0,15)
l.BackgroundTransparency = 1
l.Font = Enum.Font.GothamBold
l.TextColor3 = Color3.new(1,1,1)
l.TextSize = 13
l.Parent = main
return l
end
local fpsLabel = label()
local pingLabel = label()
local dragging, dragInput, dragStart, startPos
main.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = i.Position
startPos = main.Position
i.Changed:Connect(function()
if i.UserInputState == Enum.UserInputState.End then
dragging = false
savePos(main.Position)
end
end)
end
end)
main.InputChanged:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch then
dragInput = i
end
end)
UIS.InputChanged:Connect(function(i)
if i == dragInput and dragging then
local d = i.Position - dragStart
main.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + d.X,
startPos.Y.Scale,
startPos.Y.Offset + d.Y
)
end
end)
local frames = 0
local last = tick()
RS.RenderStepped:Connect(function()
frames += 1
local now = tick()
if now - last >= 1 then
local fps = frames
local ping = Stats.PerformanceStats.Ping:GetValue()
fpsLabel.Text = "FPS: "..fps
pingLabel.Text = "PING: "..string.format("%.0f", ping).."ms"
if fps >= 50 then
fpsLabel.TextColor3 = Color3.fromRGB(120,255,120)
elseif fps >= 30 then
fpsLabel.TextColor3 = Color3.fromRGB(255,200,80)
else
fpsLabel.TextColor3 = Color3.fromRGB(255,80,80)
end
frames = 0
last = now
end
end)