-- SETTINGS local correctKey = "BestScriptsFr" local keyFileName = "BestScriptsKey.txt" local discordInvite = "https://loot-link.com/s?9iGa9yzr" -- Updated link -- COPY TO CLIPBOARD setclipboard(discordInvite) game.StarterGui:SetCore("SendNotification", { Title = "Best Scripts", Text = "LootLab invite copied to clipboard!", Duration = 5 }) -- SERVICES local player = game.Players.LocalPlayer local tweenService = game:GetService("TweenService") local uis = game:GetService("UserInputService") -- FILE SYSTEM (check for saved key) local savedKey pcall(function() if isfile and isfile(keyFileName) then savedKey = readfile(keyFileName) end end) -- VALIDATE SAVED KEY if savedKey == correctKey then print("Key already saved and valid.") loadstring(game:HttpGet("https://raw.githubusercontent.com/Skzuppy/forge-hub/main/loader.lua"))() return end -- GUI SETUP local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) gui.Name = "BestScriptsKeyUI" gui.ResetOnSpawn = false local blur = Instance.new("BlurEffect", game.Lighting) blur.Size = 12 local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 350, 0, 180) frame.Position = UDim2.new(0.5, -175, 1, 200) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) frame.BorderSizePixel = 0 frame.AnchorPoint = Vector2.new(0.5, 0.5) frame.ClipsDescendants = true frame.Name = "KeyFrame" tweenService:Create(frame, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), { Position = UDim2.new(0.5, -175, 0.5, 0) }):Play() -- Drag Support local dragging, dragInput, dragStart, startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = frame.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 then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) -- TextBox local input = Instance.new("TextBox", frame) input.PlaceholderText = "Enter your access key..." input.Size = UDim2.new(0.9, 0, 0, 40) input.Position = UDim2.new(0.05, 0, 0, 30) input.BackgroundColor3 = Color3.fromRGB(45, 45, 45) input.TextColor3 = Color3.fromRGB(255, 255, 255) input.ClearTextOnFocus = false input.Text = "" input.Font = Enum.Font.Gotham input.TextSize = 16 input.BorderSizePixel = 0 -- Button local button = Instance.new("TextButton", frame) button.Text = "Submit" button.Size = UDim2.new(0.9, 0, 0, 35) button.Position = UDim2.new(0.05, 0, 0, 90) button.BackgroundColor3 = Color3.fromRGB(70, 130, 180) button.TextColor3 = Color3.fromRGB(255, 255, 255) button.Font = Enum.Font.GothamBold button.TextSize = 16 button.BorderSizePixel = 0 -- Label local label = Instance.new("TextLabel", frame) label.Text = "Best Scripts | Key System" label.Size = UDim2.new(1, 0, 0, 25) label.Position = UDim2.new(0, 0, 0, 0) label.BackgroundTransparency = 1 label.TextColor3 = Color3.fromRGB(255, 255, 255) label.Font = Enum.Font.GothamSemibold label.TextSize = 16 -- Callback button.MouseButton1Click:Connect(function() local enteredKey = input.Text if enteredKey == correctKey then label.Text = "Key correct! Loading..." pcall(function() if writefile then writefile(keyFileName, enteredKey) end end) tweenService:Create(frame, TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.In), { Position = UDim2.new(0.5, -175, 1, 200) }):Play() task.wait(0.6) gui:Destroy() blur:Destroy() loadstring(game:HttpGet("https://raw.githubusercontent.com/Skzuppy/forge-hub/main/loader.lua"))() else label.Text = "Invalid key. Get it from our LootLab!" input.Text = "" end end)