Islands Archive Nexal Hub Script V2
Islands Archive ๐ŸŒด [BETA] Keyless
Islands Archive Nexal Hub Script V2
๐Ÿ‘ค alexriderr ๐Ÿ‘ 12 views โค๏ธ 0 likes โฑ Jul 5, 2026
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 VERSION 2 UPDATE DISABLE SHADOWS TOGGLE DAY/NIGHT CYCLE TOGGLE DISABLE TEXTURES TOGGLE
๐Ÿ“‹ Script Code
-- [[ 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")
๐ŸŽฎ Similar Scripts
๐Ÿ’ฌ Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Islands Archive ๐ŸŒด [BETA]
TypeKeyless
Authoralexriderr
Views12
Likes0
PublishedJul 5, 2026
๐ŸŽฎ Play Game on Roblox
๐Ÿ• Recent Scripts
SYNCON ADMINISTRATIVE DASHBOARD V6
SYNCON ADMINISTRATIVE DASHBOARD V6
ust a baseplate. โ€ข ๐Ÿ‘ 7
Keyless
Auto Upgrade Strength Auto Punch
Auto Upgrade Strength Auto Punch
๐ŸฅŠlearn to fight and prove grandpa wrong โ€ข ๐Ÿ‘ 7
Keyless
Unlock Gamepass & Auto farm speed & Speed hack bypass
Unlock Gamepass & Auto farm speed & Speed hack bypass
+1 Speed Keyboard Escape | Candy & Chocolate โ€ข ๐Ÿ‘ 9
Keyless
slapple farmer v3.1
slapple farmer v3.1
[UPDATE๐ŸŽ†] Slap Battles๐Ÿ‘ โ€ข ๐Ÿ‘ 10
Keyless
XGRS Hub Storage Hunters Automation Script Keyless
XGRS Hub Storage Hunters Automation Script Keyless
Storage Hunters: Open World โ€ข ๐Ÿ‘ 9
Keyless