Berfungsi
NEXAL HUB SCRIPT [VERSION 2]
Kode Script
Lua
-- [[ NEXAL HUB: ULTIMATE PURPLE ECLIPSE - DARK THEME ]] --
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
local VirtualUser = game:GetService("VirtualUser")
local TweenService = game:GetService("TweenService")
local Lighting = game:GetService("Lighting")
local localPlayer = Players.LocalPlayer
-- [[ NETWORKING ]] --
local netManaged = ReplicatedStorage:WaitForChild("rbxts_include"):WaitForChild("node_modules"):WaitForChild("@rbxts"):WaitForChild("net"):WaitForChild("out"):WaitForChild("_NetManaged")
local remotes = {
pickup = netManaged:WaitForChild("CLIENT_TOOL_PICKUP_REQUEST"),
swing = netManaged:WaitForChild("CIENT_SWING_SWORD"),
plow = netManaged:WaitForChild("CLIENT_PLOW_BLOCK_REQUEST"),
harvest = netManaged:WaitForChild("CLIENT_HARVEST_CROP_REQUEST"),
place = netManaged:WaitForChild("BLOCK_PLACE_REQUEST")
}
-- [[ STATES ]] --
local running = true
local pickupEnabled, auraEnabled, clearEnabled, farmEnabled = false, false, false, false
local selectedCrop = "wheat"
local activeTargets = {}
-- Visual States
local shadowsEnabled = true
local dayNightEnabled = false
local texturesEnabled = true
local originalClockTime = Lighting.ClockTime
-- Store original materials for proper restore
local originalMaterials = {}
-- [[ UI REBUILD ]] --
if CoreGui:FindFirstChild("NexalHub_Purple_Elite") then CoreGui.NexalHub_Purple_Elite:Destroy() end
local screenGui = Instance.new("ScreenGui", CoreGui)
screenGui.Name = "NexalHub_Purple_Elite"
screenGui.ResetOnSpawn = false
local main = Instance.new("Frame", screenGui)
main.Size = UDim2.new(0, 550, 0, 380)
main.Position = UDim2.new(0.5, -275, 0.4, -190)
main.BackgroundColor3 = Color3.fromRGB(8, 8, 12)
main.BorderSizePixel = 0
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 12)
-- Shadow
local shadow = Instance.new("ImageLabel", screenGui)
shadow.BackgroundTransparency = 1
shadow.Image = "rbxassetid://6014261993"
shadow.ImageColor3 = Color3.fromRGB(0,0,0)
shadow.ImageTransparency = 0.65
shadow.Size = UDim2.new(0, 580, 0, 410)
shadow.Position = UDim2.new(0.5, -290, 0.4, -205)
shadow.ZIndex = 0
-- [[ SIDEBAR ]] --
local side = Instance.new("Frame", main)
side.Size = UDim2.new(0, 160, 1, 0)
side.BackgroundColor3 = Color3.fromRGB(12, 10, 18)
side.BorderSizePixel = 0
Instance.new("UICorner", side).CornerRadius = UDim.new(0, 12)
local sep = Instance.new("Frame", side)
sep.Size = UDim2.new(0, 1, 0.8, 0)
sep.Position = UDim2.new(1, -1, 0.1, 0)
sep.BackgroundColor3 = Color3.fromRGB(25, 20, 35)
sep.BorderSizePixel = 0
local title = Instance.new("TextLabel", side)
title.Size = UDim2.new(1, 0, 0, 65)
title.Text = "NEXAL HUB"
title.TextColor3 = Color3.new(1,1,1)
title.Font = "GothamBold"
title.TextSize = 20
title.BackgroundTransparency = 1
local grad = Instance.new("UIGradient", title)
grad.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(120, 60, 200)),
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 255, 255)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(120, 60, 200))
})
task.spawn(function()
while running do
local t = TweenService:Create(grad, TweenInfo.new(3, Enum.EasingStyle.Linear), {Offset = Vector2.new(1, 0)})
grad.Offset = Vector2.new(-1, 0)
t:Play()
t.Completed:Wait()
end
end)
-- [[ PAGES ]] --
local container = Instance.new("Frame", main)
container.Position = UDim2.new(0, 170, 0, 20)
container.Size = UDim2.new(1, -190, 1, -40)
container.BackgroundTransparency = 1
local pages = {}
local buttons = {}
local function createPage(name, y)
local p = Instance.new("ScrollingFrame", container)
p.Size = UDim2.new(1, 0, 1, 0)
p.BackgroundTransparency = 1
p.Visible = (name == "AUTO")
p.ScrollBarThickness = 0
p.CanvasSize = UDim2.new(0,0,0,0)
p.AutomaticCanvasSize = Enum.AutomaticSize.Y
local layout = Instance.new("UIListLayout", p)
layout.Padding = UDim.new(0, 10)
layout.SortOrder = Enum.SortOrder.LayoutOrder
pages[name] = p
local b = Instance.new("TextButton", side)
b.Size = UDim2.new(0.8, 0, 0, 35)
b.Position = UDim2.new(0.1, 0, 0, y)
b.Text = name
b.BackgroundColor3 = (name == "AUTO") and Color3.fromRGB(45, 20, 80) or Color3.fromRGB(20, 18, 28)
b.TextColor3 = Color3.new(1,1,1)
b.Font = "GothamSemibold"
b.TextSize = 12
b.AutoButtonColor = false
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
buttons[name] = b
b.MouseButton1Click:Connect(function()
for _, v in pairs(pages) do v.Visible = false end
for _, btn in pairs(buttons) do btn.BackgroundColor3 = Color3.fromRGB(20, 18, 28) end
p.Visible = true
b.BackgroundColor3 = Color3.fromRGB(45, 20, 80)
end)
end
local function addToggle(name, parent, callback)
local frame = Instance.new("Frame", parent)
frame.Size = UDim2.new(1, 0, 0, 45)
frame.BackgroundColor3 = Color3.fromRGB(15, 12, 22)
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 8)
local t = Instance.new("TextLabel", frame)
t.Size = UDim2.new(1, -50, 1, 0)
t.Position = UDim2.new(0, 15, 0, 0)
t.Text = name
t.TextColor3 = Color3.fromRGB(220, 220, 220)
t.Font = "GothamSemibold"
t.TextSize = 13
t.TextXAlignment = Enum.TextXAlignment.Left
t.BackgroundTransparency = 1
local btn = Instance.new("TextButton", frame)
btn.Size = UDim2.new(0, 40, 0, 20)
btn.Position = UDim2.new(1, -55, 0.5, -10)
btn.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
btn.Text = ""
Instance.new("UICorner", btn).CornerRadius = UDim.new(1, 0)
local circle = Instance.new("Frame", btn)
circle.Size = UDim2.new(0, 16, 0, 16)
circle.Position = UDim2.new(0, 2, 0.5, -8)
circle.BackgroundColor3 = Color3.new(1,1,1)
Instance.new("UICorner", circle).CornerRadius = UDim.new(1, 0)
local state = false
btn.MouseButton1Click:Connect(function()
state = not state
callback(state)
TweenService:Create(circle, TweenInfo.new(0.2), {Position = state and UDim2.new(1, -18, 0.5, -8) or UDim2.new(0, 2, 0.5, -8)}):Play()
TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = state and Color3.fromRGB(90, 30, 180) or Color3.fromRGB(35, 35, 45)}):Play()
end)
end
-- Setup Pages
createPage("AUTO", 80)
createPage("FARM", 125)
createPage("NAV", 170)
createPage("VISUALS", 215)
addToggle("Kill Aura", pages.AUTO, function(v) auraEnabled = v end)
addToggle("Auto Pickup", pages.AUTO, function(v) pickupEnabled = v end)
addToggle("Auto Clear", pages.AUTO, function(v) clearEnabled = v end)
addToggle("Master Farm", pages.FARM, function(v) farmEnabled = v end)
-- ==================== VISUALS TAB ====================
addToggle("Disable Shadows", pages.VISUALS, function(v)
shadowsEnabled = v
Lighting.GlobalShadows = not v
end)
addToggle("Day/Night Cycle (20min)", pages.VISUALS, function(v)
dayNightEnabled = v
if v then
originalClockTime = Lighting.ClockTime
else
Lighting.ClockTime = originalClockTime
end
end)
addToggle("Disable Textures", pages.VISUALS, function(v)
texturesEnabled = v
if v then
-- First time: save original materials
if next(originalMaterials) == nil then
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") then
originalMaterials[obj] = obj.Material
end
end
end
-- Disable textures
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("Texture") or obj:IsA("Decal") then
obj.Transparency = 1
elseif obj:IsA("BasePart") then
obj.Material = Enum.Material.Plastic -- matte / non-reflective
end
end
else
-- Restore original materials
for part, originalMat in pairs(originalMaterials) do
if part and part.Parent then
part.Material = originalMat
end
end
-- Restore textures
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("Texture") or obj:IsA("Decal") then
obj.Transparency = 0
end
end
end
end)
local cropLabel = Instance.new("TextLabel", pages.FARM)
cropLabel.Size = UDim2.new(1,0,0,25)
cropLabel.Text = "SELECTED CROP: " .. selectedCrop:upper()
cropLabel.TextColor3 = Color3.fromRGB(160, 80, 255)
cropLabel.Font = "GothamBold"
cropLabel.BackgroundTransparency = 1
cropLabel.TextSize = 11
for _, crop in pairs({"wheat", "onion", "carrot", "tomato"}) do
local b = Instance.new("TextButton", pages.FARM)
b.Size = UDim2.new(1, 0, 0, 35)
b.Text = "Select " .. crop:sub(1,1):upper()..crop:sub(2)
b.BackgroundColor3 = Color3.fromRGB(18, 16, 28)
b.TextColor3 = Color3.new(0.8,0.8,0.8)
b.Font = "GothamSemibold"
b.TextSize = 12
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
b.MouseButton1Click:Connect(function()
selectedCrop = crop
cropLabel.Text = "SELECTED CROP: " .. crop:upper()
end)
end
-- [[ LOOPS ]] --
-- Day/Night Cycle
task.spawn(function()
while running do
if dayNightEnabled then
local time = (tick() % 1200) / 1200 * 24
Lighting.ClockTime = time
end
task.wait(0.5)
end
end)
-- Farming loop (unchanged)
task.spawn(function()
while running do
if farmEnabled then
local island = workspace:FindFirstChild("Islands") and workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island")
if island then
local blocks = island:WaitForChild("Blocks"):GetChildren()
local occupied = {}
for _, b in ipairs(blocks) do
local n = b.Name:lower()
if n:find("wheat") or n:find("onion") or n:find("carrot") or n:find("tomato") then
occupied[math.floor(b.Position.X) .. "," .. math.floor(b.Position.Z)] = true
end
end
for _, block in ipairs(blocks) do
if not farmEnabled then break end
local name = string.lower(block.Name)
if name:find(selectedCrop) then
remotes.harvest:InvokeServer({player = localPlayer, model = block})
elseif block.Name == "farmland" or block.Name == "soil" then
local key = math.floor(block.Position.X) .. "," .. math.floor(block.Position.Z)
if not occupied[key] then
remotes.place:InvokeServer({
cframe = CFrame.new(block.Position + Vector3.new(0, 3, 0)),
blockType = selectedCrop
})
occupied[key] = true
end
end
end
end
end
task.wait(0.005)
end
end)
-- (Aura, Pickup, Clear loops unchanged - omitted for brevity)
task.spawn(function()
while running do
if auraEnabled and workspace:FindFirstChild("Entities") then
for _, entity in ipairs(workspace.Entities:GetChildren()) do
if auraEnabled and entity:IsA("Model") and entity ~= localPlayer.Character and not activeTargets[entity] then
activeTargets[entity] = true
task.spawn(function()
while running and auraEnabled and entity.Parent and entity:FindFirstChild("Humanoid") and entity.Humanoid.Health > 0 do
remotes.swing:InvokeServer({ hitUnit = entity });
task.wait(0.01)
end
activeTargets[entity] = nil
end)
end
end
end
task.wait(0.03)
end
end)
task.spawn(function()
while running do
if pickupEnabled then
local isl = workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island")
if isl and isl:FindFirstChild("Drops") then
for _, item in ipairs(isl.Drops:GetChildren()) do
remotes.pickup:InvokeServer({ tool = item })
end
end
end
task.wait(0.01)
end
end)
task.spawn(function()
while running do
if clearEnabled then
local isl = workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island")
if isl and isl:FindFirstChild("Blocks") then
for _, b in ipairs(isl.Blocks:GetChildren()) do
if b.Name == "tallGrass" or b.Name == "naturalRock1" then
remotes.plow:InvokeServer({ block = b });
task.wait(0.1)
end
end
end
end
task.wait(1)
end
end)
-- [[ NAVIGATION ]] --
local function addTele(name, callback)
local b = Instance.new("TextButton", pages.NAV)
b.Size = UDim2.new(1, 0, 0, 40)
b.Text = "Go to " .. name
b.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
b.TextColor3 = Color3.new(1,1,1)
b.Font = "GothamSemibold"
b.TextSize = 12
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
b.MouseButton1Click:Connect(callback)
end
addTele("Home Island", function()
local island = workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island")
if island and localPlayer.Character:FindFirstChild("HumanoidRootPart") then
local spawnLoc = island.Blocks:FindFirstChild("SpawnLocation")
localPlayer.Character.HumanoidRootPart.CFrame = spawnLoc and spawnLoc.CFrame + Vector3.new(0, 3, 0) or island.Blocks:GetChildren()[1].CFrame + Vector3.new(0, 5, 0)
end
end)
addTele("Main Hub", function()
if localPlayer.Character:FindFirstChild("HumanoidRootPart") then
localPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(276.45, 97.40, -561.03)
end
end)
addTele("Slime Island", function()
if localPlayer.Character:FindFirstChild("HumanoidRootPart") then
localPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(926.19, 224.69, -401.42)
end
end)
-- [[ DRAGGING ]] --
local drag, dragStart, startPos
main.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
drag, dragStart, startPos = true, i.Position, main.Position
end
end)
UserInputService.InputChanged:Connect(function(i)
if drag and i.UserInputType == Enum.UserInputType.MouseMovement then
local d = i.Position - dragStart
local newPos = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y)
main.Position = newPos
shadow.Position = UDim2.new(newPos.X.Scale, newPos.X.Offset - 15, newPos.Y.Scale, newPos.Y.Offset - 15)
end
end)
UserInputService.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then drag = false end end)
UserInputService.InputBegan:Connect(function(i, p)
if not p and i.KeyCode == Enum.KeyCode.J then
main.Visible = not main.Visible
shadow.Visible = main.Visible
end
end)
localPlayer.Idled:Connect(function() VirtualUser:CaptureController(); VirtualUser:ClickButton2(Vector2.new()) end)
local exit = Instance.new("TextButton", side)
exit.Size = UDim2.new(0.8, 0, 0, 35)
exit.Position = UDim2.new(0.1, 0, 1, -50)
exit.BackgroundColor3 = Color3.fromRGB(90, 20, 20)
exit.Text = "UNLOAD"
exit.TextColor3 = Color3.new(1,1,1)
exit.Font = "GothamBold"
exit.TextSize = 12
Instance.new("UICorner", exit).CornerRadius = UDim.new(0, 6)
exit.MouseButton1Click:Connect(function()
running = false
screenGui:Destroy()
end)
print("NEXAL HUB - VERSION 2")Komentar (0)
- Jadilah yang pertama berkomentar.
Pertanyaan yang sering diajukan
- Bagaimana cara menggunakan script NEXAL HUB SCRIPT [VERSION 2]?
- Salin kode script di atas, buka executor Roblox Anda, tempel kodenya, lalu tekan execute saat Anda berada di dalam game. Fitur akan aktif seketika setelah script berjalan.
- Apakah script NEXAL HUB SCRIPT [VERSION 2] gratis?
- Ya. Script ini gratis untuk disalin dan digunakan. Jika menggunakan sistem kunci, ikuti tautan "Dapatkan kunci" untuk membukanya tanpa biaya.
- Apakah script NEXAL HUB SCRIPT [VERSION 2] aman digunakan?
- Kode sumber lengkap ditampilkan di halaman ini sehingga Anda bisa membaca persis apa yang dilakukannya sebelum menjalankannya. Selalu gunakan executor tepercaya, dan ingat bahwa menggunakan script melanggar ketentuan layanan Roblox, jadi gunakan dengan risiko Anda sendiri.
- Executor mana yang kompatibel dengan NEXAL HUB SCRIPT [VERSION 2]?
- Script ini bekerja dengan sebagian besar executor Roblox populer. Lihat halaman executor kami untuk menemukan executor gratis atau berbayar yang tepercaya untuk perangkat Anda.