-- ╔══════════════════════════════════════════╗
-- ║ LuaShield Key System ║
-- ║ by lajcior ║
-- ╚══════════════════════════════════════════╝
local KEY_LINK = "https://lajcior-keysystem.netlify.app/"
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = game:GetService("CoreGui")
local function isValidKey(key)
key = key:match("^%s*(.-)%s*$")
return key:match("^[A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9]%-[A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9]%-[A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9]%-[A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9]$") ~= nil
end
local savedKey = nil
local ok, result = pcall(function() return readfile("lajcior_key.txt") end)
if ok and result and result ~= "" then
savedKey = result:match("^%s*(.-)%s*$")
end
if savedKey and isValidKey(savedKey) then
return
end
-- UI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "KeySystem"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = playerGui
local blur = Instance.new("BlurEffect")
blur.Size = 16
blur.Parent = game:GetService("Lighting")
-- bardzo ciemne tlo
local Backdrop = Instance.new("Frame")
Backdrop.Size = UDim2.new(1,0,1,0)
Backdrop.BackgroundColor3 = Color3.fromRGB(0,0,0)
Backdrop.BackgroundTransparency = 0.1
Backdrop.BorderSizePixel = 0
Backdrop.ZIndex = 1
Backdrop.Parent = ScreenGui
local Card = Instance.new("Frame")
Card.Size = UDim2.new(0,400,0,295)
Card.Position = UDim2.new(0.5,-200,0.5,-147)
Card.BackgroundColor3 = Color3.fromRGB(13,16,32)
Card.BorderSizePixel = 0
Card.ZIndex = 2
Card.Parent = ScreenGui
Instance.new("UICorner",Card).CornerRadius = UDim.new(0,14)
local cs = Instance.new("UIStroke",Card)
cs.Color = Color3.fromRGB(35,46,74)
cs.Thickness = 1.5
local AccentLine = Instance.new("Frame",Card)
AccentLine.Size = UDim2.new(1,0,0,3)
AccentLine.BackgroundColor3 = Color3.fromRGB(79,110,247)
AccentLine.BorderSizePixel = 0
AccentLine.ZIndex = 3
Instance.new("UICorner",AccentLine).CornerRadius = UDim.new(0,14)
local function label(parent,text,size,color,posY,bold)
local l = Instance.new("TextLabel",parent)
l.Size = UDim2.new(1,0,0,24)
l.Position = UDim2.new(0,0,0,posY)
l.BackgroundTransparency = 1
l.Text = text
l.TextColor3 = color
l.TextSize = size
l.Font = bold and Enum.Font.GothamBold or Enum.Font.Gotham
l.ZIndex = 3
return l
end
label(Card,"🛡️ LuaShield",18,Color3.fromRGB(221,226,245),22,true)
label(Card,"Enter your key to continue",13,Color3.fromRGB(136,146,184),52,false)
local Div = Instance.new("Frame",Card)
Div.Size = UDim2.new(1,-48,0,1)
Div.Position = UDim2.new(0,24,0,84)
Div.BackgroundColor3 = Color3.fromRGB(26,32,53)
Div.BorderSizePixel = 0
Div.ZIndex = 3
local InputBox = Instance.new("Frame",Card)
InputBox.Size = UDim2.new(1,-48,0,44)
InputBox.Position = UDim2.new(0,24,0,100)
InputBox.BackgroundColor3 = Color3.fromRGB(8,10,18)
InputBox.BorderSizePixel = 0
InputBox.ZIndex = 3
Instance.new("UICorner",InputBox).CornerRadius = UDim.new(0,8)
local is = Instance.new("UIStroke",InputBox)
is.Color = Color3.fromRGB(35,46,74)
is.Thickness = 1
local Input = Instance.new("TextBox",InputBox)
Input.Size = UDim2.new(1,-16,1,0)
Input.Position = UDim2.new(0,12,0,0)
Input.BackgroundTransparency = 1
Input.PlaceholderText = "XXXX-XXXX-XXXX-XXXX"
Input.PlaceholderColor3 = Color3.fromRGB(90,102,144)
Input.Text = ""
Input.TextColor3 = Color3.fromRGB(79,110,247)
Input.TextSize = 14
Input.Font = Enum.Font.Code
Input.ClearTextOnFocus = false
Input.ZIndex = 4
local Status = Instance.new("TextLabel",Card)
Status.Size = UDim2.new(1,-48,0,18)
Status.Position = UDim2.new(0,24,0,152)
Status.BackgroundTransparency = 1
Status.Text = ""
Status.TextColor3 = Color3.fromRGB(255,77,106)
Status.TextSize = 12
Status.Font = Enum.Font.Gotham
Status.ZIndex = 3
-- niebieski przycisk Confirm
local SubmitBtn = Instance.new("TextButton",Card)
SubmitBtn.Size = UDim2.new(1,-48,0,42)
SubmitBtn.Position = UDim2.new(0,24,0,178)
SubmitBtn.BackgroundColor3 = Color3.fromRGB(79,110,247)
SubmitBtn.Text = "Confirm Key"
SubmitBtn.TextColor3 = Color3.fromRGB(255,255,255)
SubmitBtn.TextSize = 14
SubmitBtn.Font = Enum.Font.GothamBold
SubmitBtn.BorderSizePixel = 0
SubmitBtn.ZIndex = 3
Instance.new("UICorner",SubmitBtn).CornerRadius = UDim.new(0,8)
-- zielony przycisk Get Key
local GetKeyBtn = Instance.new("TextButton",Card)
GetKeyBtn.Size = UDim2.new(1,-48,0,40)
GetKeyBtn.Position = UDim2.new(0,24,0,232)
GetKeyBtn.BackgroundColor3 = Color3.fromRGB(0,55,38)
GetKeyBtn.Text = "🔑 Get Key — Click Here"
GetKeyBtn.TextColor3 = Color3.fromRGB(0,229,160)
GetKeyBtn.TextSize = 13
GetKeyBtn.Font = Enum.Font.GothamBold
GetKeyBtn.BorderSizePixel = 0
GetKeyBtn.ZIndex = 3
Instance.new("UICorner",GetKeyBtn).CornerRadius = UDim.new(0,8)
local gks = Instance.new("UIStroke",GetKeyBtn)
gks.Color = Color3.fromRGB(0,150,95)
gks.Thickness = 1.5
-- animacja wejścia
Card.Position = UDim2.new(0.5,-200,0.58,-147)
Card.BackgroundTransparency = 1
TweenService:Create(Card,TweenInfo.new(0.4,Enum.EasingStyle.Quint),{
Position = UDim2.new(0.5,-200,0.5,-147),
BackgroundTransparency = 0
}):Play()
-- focus
Input.Focused:Connect(function()
TweenService:Create(is,TweenInfo.new(0.2),{Color=Color3.fromRGB(79,110,247),Thickness=1.5}):Play()
end)
Input.FocusLost:Connect(function()
TweenService:Create(is,TweenInfo.new(0.2),{Color=Color3.fromRGB(35,46,74),Thickness=1}):Play()
end)
-- hover
SubmitBtn.MouseEnter:Connect(function() TweenService:Create(SubmitBtn,TweenInfo.new(0.15),{BackgroundColor3=Color3.fromRGB(61,92,224)}):Play() end)
SubmitBtn.MouseLeave:Connect(function() TweenService:Create(SubmitBtn,TweenInfo.new(0.15),{BackgroundColor3=Color3.fromRGB(79,110,247)}):Play() end)
GetKeyBtn.MouseEnter:Connect(function() TweenService:Create(GetKeyBtn,TweenInfo.new(0.15),{BackgroundColor3=Color3.fromRGB(0,80,54)}):Play() end)
GetKeyBtn.MouseLeave:Connect(function() TweenService:Create(GetKeyBtn,TweenInfo.new(0.15),{BackgroundColor3=Color3.fromRGB(0,55,38)}):Play() end)
-- get key click
GetKeyBtn.MouseButton1Click:Connect(function()
setclipboard(KEY_LINK)
GetKeyBtn.Text = "✓ Link copied! Paste in browser"
GetKeyBtn.TextColor3 = Color3.fromRGB(255,255,255)
task.delay(3,function()
GetKeyBtn.Text = "🔑 Get Key — Click Here"
GetKeyBtn.TextColor3 = Color3.fromRGB(0,229,160)
end)
end)
local function closeUI()
TweenService:Create(Card,TweenInfo.new(0.3,Enum.EasingStyle.Quint),{
Position=UDim2.new(0.5,-200,0.42,-147),
BackgroundTransparency=1
}):Play()
TweenService:Create(Backdrop,TweenInfo.new(0.3),{BackgroundTransparency=1}):Play()
task.delay(0.35,function()
ScreenGui:Destroy()
blur:Destroy()
end)
end
local function shake()
local offsets = {-8,8,-6,6,-3,3,0}
for _,ox in ipairs(offsets) do
TweenService:Create(Card,TweenInfo.new(0.04),{Position=UDim2.new(0.5,-200+ox,0.5,-147)}):Play()
task.wait(0.04)
end
Card.Position = UDim2.new(0.5,-200,0.5,-147)
end
SubmitBtn.MouseButton1Click:Connect(function()
local key = Input.Text:upper():match("^%s*(.-)%s*$")
if key == "" then
Status.Text = "⚠ Please enter a key."
Status.TextColor3 = Color3.fromRGB(255,189,46)
return
end
if isValidKey(key) then
Status.Text = "✓ Key accepted!"
Status.TextColor3 = Color3.fromRGB(0,229,160)
SubmitBtn.Text = "✓ Verified"
SubmitBtn.BackgroundColor3 = Color3.fromRGB(0,180,122)
pcall(function() writefile("lajcior_key.txt", key) end)
task.delay(1,function()
closeUI()
end)
else
Status.Text = "✗ Invalid key. Format: XXXX-XXXX-XXXX-XXXX"
Status.TextColor3 = Color3.fromRGB(255,77,106)
shake()
end
end)
Comments
loop key system. Don't waste time