-- [[ 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 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 = {}
-- [[ 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)
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)
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 ]] --
-- 🔥🔥🔥 MAX‑SPEED FARMING LOOP (ONLY PART MODIFIED) 🔥🔥🔥
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 = {}
-- mark existing crop positions
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
-- ultra‑fast harvest + place
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)
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")CHECK THE DISCORD
ISLANDS ARCHIVE SCRIPT FEATURES
AUTO KILL SLIME ( NEED A SWORD )
AUTO PICKUP ( ONLY WORKS WHEN UR CLOSE TO DROPED ITEMS AND ONLY ON UR OWN ISLAND )
AUTO CLEAR ( GETS RID OF SMALL ROCKS AND TALL GRASS AUTOMATICLY FOR YOU )
AUTO FARM ( FARMS FOR YOU NEED TO HOLD SEED AND HAVE PLOWED GRASS )
TELEPORTS TO HUB AND SLIME ISLAND
DISCORD
1-- [[ NEXAL HUB: ULTIMATE PURPLE ECLIPSE - DARK THEME ]] --
2local Players = game:GetService("Players")
3local CoreGui = game:GetService("CoreGui")
4local ReplicatedStorage = game:GetService("ReplicatedStorage")
5local UserInputService = game:GetService("UserInputService")
6local VirtualUser = game:GetService("VirtualUser")
7local TweenService = game:GetService("TweenService")
8local localPlayer = Players.LocalPlayer
9
10-- [[ NETWORKING ]] --
11local netManaged = ReplicatedStorage:WaitForChild("rbxts_include"):WaitForChild("node_modules"):WaitForChild("@rbxts"):WaitForChild("net"):WaitForChild("out"):WaitForChild("_NetManaged")
12local remotes = {
13 pickup = netManaged:WaitForChild("CLIENT_TOOL_PICKUP_REQUEST"),
14 swing = netManaged:WaitForChild("CIENT_SWING_SWORD"),
15 plow = netManaged:WaitForChild("CLIENT_PLOW_BLOCK_REQUEST"),
16 harvest = netManaged:WaitForChild("CLIENT_HARVEST_CROP_REQUEST"),
17 place = netManaged:WaitForChild("BLOCK_PLACE_REQUEST")
18}
19
20-- [[ STATES ]] --
21local running = true
22local pickupEnabled, auraEnabled, clearEnabled, farmEnabled = false, false, false, false
23local selectedCrop = "wheat"
24local activeTargets = {}
25
26-- [[ UI REBUILD ]] --
27if CoreGui:FindFirstChild("NexalHub_Purple_Elite") then CoreGui.NexalHub_Purple_Elite:Destroy() end
28
29local screenGui = Instance.new("ScreenGui", CoreGui)
30screenGui.Name = "NexalHub_Purple_Elite"
31screenGui.ResetOnSpawn = false
32
33local main = Instance.new("Frame", screenGui)
34main.Size = UDim2.new(0, 550, 0, 380)
35main.Position = UDim2.new(0.5, -275, 0.4, -190)
36main.BackgroundColor3 = Color3.fromRGB(8, 8, 12)
37main.BorderSizePixel = 0
38Instance.new("UICorner", main).CornerRadius = UDim.new(0, 12)
39
40-- Shadow
41local shadow = Instance.new("ImageLabel", screenGui)
42shadow.BackgroundTransparency = 1
43shadow.Image = "rbxassetid://6014261993"
44shadow.ImageColor3 = Color3.fromRGB(0,0,0)
45shadow.ImageTransparency = 0.65
46shadow.Size = UDim2.new(0, 580, 0, 410)
47shadow.Position = UDim2.new(0.5, -290, 0.4, -205)
48shadow.ZIndex = 0
49
50-- [[ SIDEBAR ]] --
51local side = Instance.new("Frame", main)
52side.Size = UDim2.new(0, 160, 1, 0)
53side.BackgroundColor3 = Color3.fromRGB(12, 10, 18)
54side.BorderSizePixel = 0
55Instance.new("UICorner", side).CornerRadius = UDim.new(0, 12)
56
57local sep = Instance.new("Frame", side)
58sep.Size = UDim2.new(0, 1, 0.8, 0)
59sep.Position = UDim2.new(1, -1, 0.1, 0)
60sep.BackgroundColor3 = Color3.fromRGB(25, 20, 35)
61sep.BorderSizePixel = 0
62
63local title = Instance.new("TextLabel", side)
64title.Size = UDim2.new(1, 0, 0, 65)
65title.Text = "NEXAL HUB"
66title.TextColor3 = Color3.new(1,1,1)
67title.Font = "GothamBold"
68title.TextSize = 20
69title.BackgroundTransparency = 1
70
71local grad = Instance.new("UIGradient", title)
72grad.Color = ColorSequence.new({
73 ColorSequenceKeypoint.new(0, Color3.fromRGB(120, 60, 200)),
74 ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 255, 255)),
75 ColorSequenceKeypoint.new(1, Color3.fromRGB(120, 60, 200))
76})
77
78task.spawn(function()
79 while running do
80 local t = TweenService:Create(grad, TweenInfo.new(3, Enum.EasingStyle.Linear), {Offset = Vector2.new(1, 0)})
81 grad.Offset = Vector2.new(-1, 0)
82 t:Play()
83 t.Completed:Wait()
84 end
85end)
86
87-- [[ PAGES ]] --
88local container = Instance.new("Frame", main)
89container.Position = UDim2.new(0, 170, 0, 20)
90container.Size = UDim2.new(1, -190, 1, -40)
91container.BackgroundTransparency = 1
92
93local pages = {}
94local buttons = {}
95
96local function createPage(name, y)
97 local p = Instance.new("ScrollingFrame", container)
98 p.Size = UDim2.new(1, 0, 1, 0)
99 p.BackgroundTransparency = 1
100 p.Visible = (name == "AUTO")
101 p.ScrollBarThickness = 0
102 p.CanvasSize = UDim2.new(0,0,0,0)
103 p.AutomaticCanvasSize = Enum.AutomaticSize.Y
104
105 local layout = Instance.new("UIListLayout", p)
106 layout.Padding = UDim.new(0, 10)
107 layout.SortOrder = Enum.SortOrder.LayoutOrder
108
109 pages[name] = p
110
111 local b = Instance.new("TextButton", side)
112 b.Size = UDim2.new(0.8, 0, 0, 35)
113 b.Position = UDim2.new(0.1, 0, 0, y)
114 b.Text = name
115 b.BackgroundColor3 = (name == "AUTO") and Color3.fromRGB(45, 20, 80) or Color3.fromRGB(20, 18, 28)
116 b.TextColor3 = Color3.new(1,1,1)
117 b.Font = "GothamSemibold"
118 b.TextSize = 12
119 b.AutoButtonColor = false
120 Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
121 buttons[name] = b
122
123 b.MouseButton1Click:Connect(function()
124 for _, v in pairs(pages) do v.Visible = false end
125 for _, btn in pairs(buttons) do btn.BackgroundColor3 = Color3.fromRGB(20, 18, 28) end
126 p.Visible = true
127 b.BackgroundColor3 = Color3.fromRGB(45, 20, 80)
128 end)
129end
130
131local function addToggle(name, parent, callback)
132 local frame = Instance.new("Frame", parent)
133 frame.Size = UDim2.new(1, 0, 0, 45)
134 frame.BackgroundColor3 = Color3.fromRGB(15, 12, 22)
135 Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 8)
136
137 local t = Instance.new("TextLabel", frame)
138 t.Size = UDim2.new(1, -50, 1, 0)
139 t.Position = UDim2.new(0, 15, 0, 0)
140 t.Text = name
141 t.TextColor3 = Color3.fromRGB(220, 220, 220)
142 t.Font = "GothamSemibold"
143 t.TextSize = 13
144 t.TextXAlignment = Enum.TextXAlignment.Left
145 t.BackgroundTransparency = 1
146
147 local btn = Instance.new("TextButton", frame)
148 btn.Size = UDim2.new(0, 40, 0, 20)
149 btn.Position = UDim2.new(1, -55, 0.5, -10)
150 btn.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
151 btn.Text = ""
152 Instance.new("UICorner", btn).CornerRadius = UDim.new(1, 0)
153
154 local circle = Instance.new("Frame", btn)
155 circle.Size = UDim2.new(0, 16, 0, 16)
156 circle.Position = UDim2.new(0, 2, 0.5, -8)
157 circle.BackgroundColor3 = Color3.new(1,1,1)
158 Instance.new("UICorner", circle).CornerRadius = UDim.new(1, 0)
159
160 local state = false
161 btn.MouseButton1Click:Connect(function()
162 state = not state
163 callback(state)
164 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()
165 TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = state and Color3.fromRGB(90, 30, 180) or Color3.fromRGB(35, 35, 45)}):Play()
166 end)
167end
168
169-- Setup Pages
170createPage("AUTO", 80)
171createPage("FARM", 125)
172createPage("NAV", 170)
173
174addToggle("Kill Aura", pages.AUTO, function(v) auraEnabled = v end)
175addToggle("Auto Pickup", pages.AUTO, function(v) pickupEnabled = v end)
176addToggle("Auto Clear", pages.AUTO, function(v) clearEnabled = v end)
177addToggle("Master Farm", pages.FARM, function(v) farmEnabled = v end)
178
179local cropLabel = Instance.new("TextLabel", pages.FARM)
180cropLabel.Size = UDim2.new(1,0,0,25)
181cropLabel.Text = "SELECTED CROP: " .. selectedCrop:upper()
182cropLabel.TextColor3 = Color3.fromRGB(160, 80, 255)
183cropLabel.Font = "GothamBold"
184cropLabel.BackgroundTransparency = 1
185cropLabel.TextSize = 11
186
187for _, crop in pairs({"wheat", "onion", "carrot", "tomato"}) do
188 local b = Instance.new("TextButton", pages.FARM)
189 b.Size = UDim2.new(1, 0, 0, 35)
190 b.Text = "Select " .. crop:sub(1,1):upper()..crop:sub(2)
191 b.BackgroundColor3 = Color3.fromRGB(18, 16, 28)
192 b.TextColor3 = Color3.new(0.8,0.8,0.8)
193 b.Font = "GothamSemibold"
194 b.TextSize = 12
195 Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
196
197 b.MouseButton1Click:Connect(function()
198 selectedCrop = crop
199 cropLabel.Text = "SELECTED CROP: " .. crop:upper()
200 end)
201end
202
203-- [[ LOOPS ]] --
204
205-- 🔥🔥🔥 MAX‑SPEED FARMING LOOP (ONLY PART MODIFIED) 🔥🔥🔥
206task.spawn(function()
207 while running do
208 if farmEnabled then
209 local island = workspace:FindFirstChild("Islands") and workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island")
210 if island then
211 local blocks = island:WaitForChild("Blocks"):GetChildren()
212 local occupied = {}
213
214 -- mark existing crop positions
215 for _, b in ipairs(blocks) do
216 local n = b.Name:lower()
217 if n:find("wheat") or n:find("onion") or n:find("carrot") or n:find("tomato") then
218 occupied[math.floor(b.Position.X) .. "," .. math.floor(b.Position.Z)] = true
219 end
220 end
221
222 -- ultra‑fast harvest + place
223 for _, block in ipairs(blocks) do
224 if not farmEnabled then break end
225
226 local name = string.lower(block.Name)
227
228 if name:find(selectedCrop) then
229 remotes.harvest:InvokeServer({player = localPlayer, model = block})
230
231 elseif block.Name == "farmland" or block.Name == "soil" then
232 local key = math.floor(block.Position.X) .. "," .. math.floor(block.Position.Z)
233 if not occupied[key] then
234 remotes.place:InvokeServer({
235 cframe = CFrame.new(block.Position + Vector3.new(0, 3, 0)),
236 blockType = selectedCrop
237 })
238 occupied[key] = true
239 end
240 end
241 end
242 end
243 end
244
245 task.wait(0.005)
246 end
247end)
248
249task.spawn(function()
250 while running do
251 if auraEnabled and workspace:FindFirstChild("Entities") then
252 for _, entity in ipairs(workspace.Entities:GetChildren()) do
253 if auraEnabled and entity:IsA("Model") and entity ~= localPlayer.Character and not activeTargets[entity] then
254 activeTargets[entity] = true
255 task.spawn(function()
256 while running and auraEnabled and entity.Parent and entity:FindFirstChild("Humanoid") and entity.Humanoid.Health > 0 do
257 remotes.swing:InvokeServer({ hitUnit = entity });
258 task.wait(0.01)
259 end
260 activeTargets[entity] = nil
261 end)
262 end
263 end
264 end
265 task.wait(0.03)
266 end
267end)
268
269task.spawn(function()
270 while running do
271 if pickupEnabled then
272 local isl = workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island")
273 if isl and isl:FindFirstChild("Drops") then
274 for _, item in ipairs(isl.Drops:GetChildren()) do
275 remotes.pickup:InvokeServer({ tool = item })
276 end
277 end
278 end
279 task.wait(0.01)
280 end
281end)
282
283task.spawn(function()
284 while running do
285 if clearEnabled then
286 local isl = workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island")
287 if isl and isl:FindFirstChild("Blocks") then
288 for _, b in ipairs(isl.Blocks:GetChildren()) do
289 if b.Name == "tallGrass" or b.Name == "naturalRock1" then
290 remotes.plow:InvokeServer({ block = b });
291 task.wait(0.1)
292 end
293 end
294 end
295 end
296 task.wait(1)
297 end
298end)
299
300-- [[ NAVIGATION ]] --
301local function addTele(name, callback)
302 local b = Instance.new("TextButton", pages.NAV)
303 b.Size = UDim2.new(1, 0, 0, 40)
304 b.Text = "Go to " .. name
305 b.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
306 b.TextColor3 = Color3.new(1,1,1)
307 b.Font = "GothamSemibold"
308 b.TextSize = 12
309 Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
310 b.MouseButton1Click:Connect(callback)
311end
312
313addTele("Home Island", function()
314 local island = workspace.Islands:FindFirstChild(localPlayer.UserId .. "-island")
315 if island and localPlayer.Character:FindFirstChild("HumanoidRootPart") then
316 local spawnLoc = island.Blocks:FindFirstChild("SpawnLocation")
317 localPlayer.Character.HumanoidRootPart.CFrame = spawnLoc and spawnLoc.CFrame + Vector3.new(0, 3, 0) or island.Blocks:GetChildren()[1].CFrame + Vector3.new(0, 5, 0)
318 end
319end)
320
321addTele("Main Hub", function()
322 if localPlayer.Character:FindFirstChild("HumanoidRootPart") then
323 localPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(276.45, 97.40, -561.03)
324 end
325end)
326
327addTele("Slime Island", function()
328 if localPlayer.Character:FindFirstChild("HumanoidRootPart") then
329 localPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(926.19, 224.69, -401.42)
330 end
331end)
332
333-- [[ DRAGGING ]] --
334local drag, dragStart, startPos
335main.InputBegan:Connect(function(i)
336 if i.UserInputType == Enum.UserInputType.MouseButton1 then
337 drag, dragStart, startPos = true, i.Position, main.Position
338 end
339end)
340UserInputService.InputChanged:Connect(function(i)
341 if drag and i.UserInputType == Enum.UserInputType.MouseMovement then
342 local d = i.Position - dragStart
343 local newPos = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y)
344 main.Position = newPos
345 shadow.Position = UDim2.new(newPos.X.Scale, newPos.X.Offset - 15, newPos.Y.Scale, newPos.Y.Offset - 15)
346 end
347end)
348UserInputService.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then drag = false end end)
349
350UserInputService.InputBegan:Connect(function(i, p)
351 if not p and i.KeyCode == Enum.KeyCode.J then
352 main.Visible = not main.Visible
353 shadow.Visible = main.Visible
354 end
355end)
356
357localPlayer.Idled:Connect(function() VirtualUser:CaptureController(); VirtualUser:ClickButton2(Vector2.new()) end)
358
359local exit = Instance.new("TextButton", side)
360exit.Size = UDim2.new(0.8, 0, 0, 35)
361exit.Position = UDim2.new(0.1, 0, 1, -50)
362exit.BackgroundColor3 = Color3.fromRGB(90, 20, 20)
363exit.Text = "UNLOAD"
364exit.TextColor3 = Color3.new(1,1,1)
365exit.Font = "GothamBold"
366exit.TextSize = 12
367Instance.new("UICorner", exit).CornerRadius = UDim.new(0, 6)
368
369exit.MouseButton1Click:Connect(function()
370 running = false
371 screenGui:Destroy()
372end)
373
374print("NEXAL HUB")