Best Hub Open Source
Key Required

Best Hub Open Source

99 Nights Red Light Green LightBopIsmeBopIsme 573 views 7 executesUpdated Dec 28, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•272 lines (9047 chars)
local plrs = game:GetService("Players")
local lp = plrs.LocalPlayer
local uis = game:GetService("UserInputService")
local cg = game:GetService("CoreGui")
local ts = game:GetService("TweenService")

local cfg = {
    wait = 0.1,
    on = false,
    targets = {},
    all = false,
    dir = Vector3.new(2.155919313430786, 2.650031944995135e-07, -4.5113205909729),
    tp_pos = Vector3.new(868.15, 14.72, 0.27)
}

local function rndID()
    local s = ""
    local c = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    for i = 1, 10 do local r = math.random(1, #c) s = s .. c:sub(r, r) end
    return s
end

for _, v in pairs(cg:GetChildren()) do
    if v:IsA("ScreenGui") and (v:FindFirstChild("Main") or v:FindFirstChild("Mini")) then v:Destroy() end
end

local gui = Instance.new("ScreenGui", cg)
gui.Name = rndID()

local main = Instance.new("Frame", gui)
main.Name = "Main"
main.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
main.Position = UDim2.new(0.5, -90, 0.5, -50)
main.Size = UDim2.new(0, 180, 0, 240)
main.ClipsDescendants = true
main.Active = true
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 10)

local dragging, dragInput, dragStart, startPos
main.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = main.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then dragging = false end
        end)
    end
end)
uis.InputChanged:Connect(function(input)
    if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
        local delta = input.Position - dragStart
        main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end)

local mini = Instance.new("TextButton", gui)
mini.Name = "Mini"
mini.Size = UDim2.new(0, 50, 0, 50)
mini.Position = UDim2.new(1, -70, 0, 30)
mini.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
mini.Text = "S"
mini.Font = "GothamBold"
mini.TextColor3 = Color3.fromRGB(255, 255, 255)
mini.TextSize = 22
mini.Visible = false
Instance.new("UICorner", mini).CornerRadius = UDim.new(1, 0)

local tp_circle = Instance.new("TextButton", gui)
tp_circle.Name = "TP"
tp_circle.Size = UDim2.new(0, 50, 0, 50)
tp_circle.Position = UDim2.new(1, -70, 0, 90)
tp_circle.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
tp_circle.Text = "TP to\nEnd"
tp_circle.Font = "GothamBold"
tp_circle.TextColor3 = Color3.fromRGB(255, 255, 255)
tp_circle.TextSize = 12
tp_circle.LineHeight = 1.1
Instance.new("UICorner", tp_circle).CornerRadius = UDim.new(1, 0)

tp_circle.MouseButton1Click:Connect(function()
    local c = lp.Character
    if c and c:FindFirstChild("HumanoidRootPart") then
        c.HumanoidRootPart.CFrame = CFrame.new(cfg.tp_pos)
    end
end)

local function setVis(s)
    if not s then
        ts:Create(main, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {Size = UDim2.new(0,0,0,0), BackgroundTransparency = 1}):Play()
        task.wait(0.3)
        main.Visible = false
        mini.Visible = true
    else
        main.Visible = true
        mini.Visible = false
        main.Size = UDim2.new(0,0,0,0)
        main.BackgroundTransparency = 0
        ts:Create(main, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = UDim2.new(0, 180, 0, 240)}):Play()
    end
end

mini.MouseButton1Click:Connect(function() setVis(true) end)

local h = Instance.new("Frame", main)
h.Size = UDim2.new(1, 0, 0, 30)
h.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
Instance.new("UICorner", h)

local t = Instance.new("TextLabel", h)
t.Size = UDim2.new(0.7, 0, 1, 0)
t.Position = UDim2.new(0, 10, 0, 0)
t.Text = "Slapper"
t.TextColor3 = Color3.fromRGB(255, 255, 255)
t.Font = "GothamBold"
t.TextSize = 14
t.TextXAlignment = "Left"
t.BackgroundTransparency = 1

local sv = Instance.new("TextButton", h)
sv.Size = UDim2.new(0, 30, 1, 0)
sv.Position = UDim2.new(1, -30, 0, 0)
sv.Text = "_"
sv.TextColor3 = Color3.fromRGB(255, 255, 255)
sv.TextSize = 18
sv.BackgroundTransparency = 1
sv.MouseButton1Click:Connect(function() setVis(false) end)

local spd = Instance.new("TextBox", main)
spd.Position = UDim2.new(0.05, 0, 0, 45)
spd.Size = UDim2.new(0.9, 0, 0, 30)
spd.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
spd.Text = "0.1"
spd.TextColor3 = Color3.fromRGB(255, 255, 255)
spd.Font = "Gotham"
spd.TextSize = 14
Instance.new("UICorner", spd)
spd.FocusLost:Connect(function() cfg.wait = tonumber(spd.Text) or 0.1 end)

local sel = Instance.new("TextButton", main)
sel.Position = UDim2.new(0.05, 0, 0, 85)
sel.Size = UDim2.new(0.9, 0, 0, 30)
sel.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
sel.Text = "Targets [v]"
sel.Font = "GothamBold"
sel.TextColor3 = Color3.fromRGB(200, 200, 200)
sel.TextSize = 14
Instance.new("UICorner", sel)

local sc = Instance.new("ScrollingFrame", main)
sc.Position = UDim2.new(0.05, 0, 0, 120)
sc.Size = UDim2.new(0.9, 0, 0, 75)
sc.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
sc.BorderSizePixel = 0
sc.ScrollBarThickness = 2
sc.Visible = false
local ly = Instance.new("UIListLayout", sc)
ly.Padding = UDim.new(0, 3)

local function up()
    for _, v in pairs(sc:GetChildren()) do
        if v:IsA("TextButton") then
            local c = v:FindFirstChild("C")
            local f = c and c:FindFirstChild("F")
            local act = (v.Name == "!!A" and cfg.all) or cfg.targets[v.Name]
            if f then f.Visible = act end
        end
    end
end

local function add(n, id, a)
    local r = Instance.new("TextButton", sc)
    r.Name = a and "!!A" or n
    r.Size = UDim2.new(1, -6, 0, 28)
    r.BackgroundColor3 = Color3.fromRGB(38, 38, 38)
    r.Text = a and "      ALL" or "         " .. n
    r.TextColor3 = Color3.fromRGB(255, 255, 255)
    r.Font = "Gotham"
    r.TextSize = 12
    r.TextXAlignment = "Left"
    r.TextTruncate = "AtEnd"
    Instance.new("UICorner", r)
    
    if not a then
        local img = Instance.new("ImageLabel", r)
        img.Size = UDim2.new(0, 18, 0, 18)
        img.Position = UDim2.new(0, 6, 0.5, -9)
        img.Image = "https://www.roblox.com/headshot-thumbnail/image?userId="..id.."&width=420&height=420&format=png"
        Instance.new("UICorner", img).CornerRadius = UDim.new(1, 0)
    end

    local box = Instance.new("Frame", r)
    box.Name = "C"
    box.Size = UDim2.new(0, 16, 0, 16)
    box.Position = UDim2.new(1, -22, 0.5, -8)
    box.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
    Instance.new("UICorner", box)
    
    local f = Instance.new("Frame", box)
    f.Name = "F"
    f.Size = UDim2.new(0, 10, 0, 10)
    f.Position = UDim2.new(0.5, -5, 0.5, -5)
    f.BackgroundColor3 = Color3.fromRGB(50, 220, 50)
    f.Visible = false
    Instance.new("UICorner", f)

    r.MouseButton1Click:Connect(function()
        if a then
            cfg.all = not cfg.all
            for _, p in pairs(plrs:GetPlayers()) do if p ~= lp then cfg.targets[p.Name] = cfg.all end end
        else
            cfg.targets[n] = not cfg.targets[n]
        end
        up()
    end)
end

local function renderList()
    for _, v in pairs(sc:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end
    add("ALL", 0, true)
    for _, p in pairs(plrs:GetPlayers()) do if p ~= lp then add(p.Name, p.UserId, false) end end
    sc.CanvasSize = UDim2.new(0, 0, 0, ly.AbsoluteContentSize.Y + 5)
    up()
end

sel.MouseButton1Click:Connect(function()
    sc.Visible = not sc.Visible
    if sc.Visible then renderList() end
end)

plrs.PlayerAdded:Connect(function(p)
    if cfg.all then cfg.targets[p.Name] = true end
    if sc.Visible then renderList() end
end)

plrs.PlayerRemoving:Connect(function(p)
    cfg.targets[p.Name] = nil
    if sc.Visible then renderList() end
end)

local go = Instance.new("TextButton", main)
go.Position = UDim2.new(0.05, 0, 1, -40)
go.Size = UDim2.new(0.9, 0, 0, 35)
go.BackgroundColor3 = Color3.fromRGB(40, 180, 40)
go.Text = "START"
go.Font = "GothamBold"
go.TextColor3 = Color3.fromRGB(255, 255, 255)
go.TextSize = 16
Instance.new("UICorner", go)

go.MouseButton1Click:Connect(function()
    cfg.on = not cfg.on
    go.Text = cfg.on and "STOP" or "START"
    go.BackgroundColor3 = cfg.on and Color3.fromRGB(180, 40, 40) or Color3.fromRGB(40, 180, 40)
    
    if cfg.on then
        task.spawn(function()
            while cfg.on do
                local char = lp.Character
                local t = char and char:FindFirstChildWhichIsA("Tool")
                if t and t:FindFirstChild("Event") then
                    for _, p in pairs(plrs:GetPlayers()) do
                        if p ~= lp and p.Character and cfg.targets[p.Name] then
                            pcall(function() t.Event:FireServer("slash", p.Character, cfg.dir) end)
                        end
                    end
                end
                task.wait(cfg.wait)
            end
        end)
    end
end)

Features & Information

Enjoy all:) ^_^

Community Comments (0)

No comments yet for this script.