
Key Required VerifiedUniversal

--// ============================
--// GROW A GARDEN 2 HUB - KEY SYSTEM
--// Made by Communauté Roblox FR/EN || Server
--// ============================
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local LocalPlayer = Players.LocalPlayer
--// ⚙️ CONFIG - Modifie uniquement ici
local KEY_LINK = "https://shorturl.asia/K8yW1"
local VALID_KEY = "m9yui3gcxw6qj3f#AntdudeSuppahotslapmalibou du 37https://maper.info/2HnKS5"
local HUB_NAME = "Grow a Garden 2 HUB"
local HUB_CREDIT = "Made by Communauté Roblox FR/EN || Server"
--// Supprime une ancienne UI si elle existe (évite les doublons)
if LocalPlayer.PlayerGui:FindFirstChild("KeySystemUI") then
LocalPlayer.PlayerGui.KeySystemUI:Destroy()
end
--// ScreenGui
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "KeySystemUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
--// Main Frame
local Main = Instance.new("Frame")
Main.Name = "Main"
Main.Size = UDim2.new(0, 380, 0, 220)
Main.Position = UDim2.new(0.5, -190, 0.5, -110)
Main.BackgroundColor3 = Color3.fromRGB(24, 24, 28)
Main.BorderSizePixel = 0
Main.Parent = ScreenGui
local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 12)
MainCorner.Parent = Main
local MainStroke = Instance.new("UIStroke")
MainStroke.Color = Color3.fromRGB(60, 200, 100)
MainStroke.Thickness = 1.5
MainStroke.Parent = Main
--// Title bar
local TitleBar = Instance.new("Frame")
TitleBar.Size = UDim2.new(1, 0, 0, 50)
TitleBar.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
TitleBar.BorderSizePixel = 0
TitleBar.Parent = Main
local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 12)
TitleCorner.Parent = TitleBar
local TitleFix = Instance.new("Frame")
TitleFix.Size = UDim2.new(1, 0, 0, 12)
TitleFix.Position = UDim2.new(0, 0, 1, -12)
TitleFix.BackgroundColor3 = Color3.fromRGB(30, 30, 36)
TitleFix.BorderSizePixel = 0
TitleFix.Parent = TitleBar
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -20, 0, 24)
Title.Position = UDim2.new(0, 10, 0, 5)
Title.BackgroundTransparency = 1
Title.Text = HUB_NAME
Title.Font = Enum.Font.GothamBold
Title.TextSize = 18
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = TitleBar
local Credit = Instance.new("TextLabel")
Credit.Size = UDim2.new(1, -20, 0, 16)
Credit.Position = UDim2.new(0, 10, 0, 28)
Credit.BackgroundTransparency = 1
Credit.Text = HUB_CREDIT
Credit.Font = Enum.Font.Gotham
Credit.TextSize = 12
Credit.TextColor3 = Color3.fromRGB(140, 140, 150)
Credit.TextXAlignment = Enum.TextXAlignment.Left
Credit.Parent = TitleBar
--// Key input box
local KeyBox = Instance.new("TextBox")
KeyBox.Size = UDim2.new(1, -40, 0, 40)
KeyBox.Position = UDim2.new(0, 20, 0, 65)
KeyBox.BackgroundColor3 = Color3.fromRGB(18, 18, 22)
KeyBox.PlaceholderText = "Colle ta clé ici..."
KeyBox.Text = ""
KeyBox.TextColor3 = Color3.fromRGB(255, 255, 255)
KeyBox.PlaceholderColor3 = Color3.fromRGB(120, 120, 130)
KeyBox.Font = Enum.Font.Gotham
KeyBox.TextSize = 14
KeyBox.ClearTextOnFocus = false
KeyBox.Parent = Main
local KeyBoxCorner = Instance.new("UICorner")
KeyBoxCorner.CornerRadius = UDim.new(0, 8)
KeyBoxCorner.Parent = KeyBox
local KeyBoxStroke = Instance.new("UIStroke")
KeyBoxStroke.Color = Color3.fromRGB(50, 50, 58)
KeyBoxStroke.Thickness = 1
KeyBoxStroke.Parent = KeyBox
--// Status label
local Status = Instance.new("TextLabel")
Status.Size = UDim2.new(1, -40, 0, 20)
Status.Position = UDim2.new(0, 20, 0, 108)
Status.BackgroundTransparency = 1
Status.Text = ""
Status.Font = Enum.Font.Gotham
Status.TextSize = 13
Status.TextColor3 = Color3.fromRGB(255, 90, 90)
Status.TextXAlignment = Enum.TextXAlignment.Left
Status.Parent = Main
--// Bouton gauche : Check Key
local CheckBtn = Instance.new("TextButton")
CheckBtn.Size = UDim2.new(0.46, 0, 0, 42)
CheckBtn.Position = UDim2.new(0, 20, 1, -62)
CheckBtn.BackgroundColor3 = Color3.fromRGB(45, 180, 95)
CheckBtn.Text = "Check Key"
CheckBtn.Font = Enum.Font.GothamBold
CheckBtn.TextSize = 15
CheckBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CheckBtn.AutoButtonColor = false
CheckBtn.Parent = Main
local CheckCorner = Instance.new("UICorner")
CheckCorner.CornerRadius = UDim.new(0, 8)
CheckCorner.Parent = CheckBtn
--// Bouton droit : Copy Link
local CopyBtn = Instance.new("TextButton")
CopyBtn.Size = UDim2.new(0.46, 0, 0, 42)
CopyBtn.Position = UDim2.new(0.54, 0, 1, -62)
CopyBtn.BackgroundColor3 = Color3.fromRGB(45, 100, 220)
CopyBtn.Text = "Copy Link"
CopyBtn.Font = Enum.Font.GothamBold
CopyBtn.TextSize = 15
CopyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CopyBtn.AutoButtonColor = false
CopyBtn.Parent = Main
local CopyCorner = Instance.new("UICorner")
CopyCorner.CornerRadius = UDim.new(0, 8)
CopyCorner.Parent = CopyBtn
--// Petit effet hover/press (visuel)
local function ButtonFeedback(btn, baseColor)
btn.MouseEnter:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = baseColor:Lerp(Color3.new(1,1,1), 0.15)}):Play()
end)
btn.MouseLeave:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = baseColor}):Play()
end)
end
ButtonFeedback(CheckBtn, Color3.fromRGB(45, 180, 95))
ButtonFeedback(CopyBtn, Color3.fromRGB(45, 100, 220))
--// Logique : Copy Link
CopyBtn.MouseButton1Click:Connect(function()
if setclipboard then
setclipboard(KEY_LINK)
Status.TextColor3 = Color3.fromRGB(120, 200, 255)
Status.Text = "Lien copié dans le presse-papiers !"
else
Status.TextColor3 = Color3.fromRGB(255, 90, 90)
Status.Text = "setclipboard non supporté par ton executor."
end
end)
--// Logique : Check Key
CheckBtn.MouseButton1Click:Connect(function()
local entered = KeyBox.Text
if entered == "" then
Status.TextColor3 = Color3.fromRGB(255, 90, 90)
Status.Text = "Entre une clé avant de vérifier."
return
end
if entered == VALID_KEY then
Status.TextColor3 = Color3.fromRGB(120, 255, 140)
Status.Text = "Clé valide ! Chargement du hub..."
task.wait(0.6)
ScreenGui:Destroy()
print("Clé validée, le hub va se charger ici plus tard")
else
Status.TextColor3 = Color3.fromRGB(255, 90, 90)
Status.Text = "Clé invalide. Réessaie."
end
end)No comments yet for this script.



