
Key Required Patched

--!strict
-- KukGug Admin Chat
-- Game ID: 122914466528201
-- FireServer to ReplicatedStorage.AdminMessageEvent
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local TextService = game:GetService("TextService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- ==========================================
-- CONFIGURATION
-- ==========================================
local CONFIG = {
TargetGameId = "122914466528201",
Colors = {
Background = Color3.fromRGB(30, 30, 40),
Header = Color3.fromRGB(40, 40, 55),
Accent = Color3.fromRGB(88, 101, 242),
Button = Color3.fromRGB(88, 101, 242),
ButtonHover = Color3.fromRGB(108, 121, 262),
TextBox = Color3.fromRGB(45, 45, 60),
Text = Color3.fromRGB(255, 255, 255),
Placeholder = Color3.fromRGB(150, 150, 170),
Error = Color3.fromRGB(237, 66, 69),
Success = Color3.fromRGB(59, 165, 93),
},
AnimSpeed = 0.2,
MaxChars = 200,
}
-- ==========================================
-- GAME CHECKER
-- ==========================================
local function checkGame(): boolean
local currentGameId = tostring(game.PlaceId)
return currentGameId == CONFIG.TargetGameId
end
local function showNotification(message: string, isError: boolean): ()
-- Notification GUI
local notifGui = Instance.new("ScreenGui")
notifGui.Name = "KukGugNotification"
notifGui.Parent = PlayerGui
local backdrop = Instance.new("Frame")
backdrop.Size = UDim2.new(1, 0, 1, 0)
backdrop.BackgroundColor3 = Color3.new(0, 0, 0)
backdrop.BackgroundTransparency = 0.5
backdrop.Parent = notifGui
local card = Instance.new("Frame")
card.Size = UDim2.new(0, 300, 0, 120)
card.Position = UDim2.new(0.5, -150, 0.5, -60)
card.BackgroundColor3 = CONFIG.Colors.Background
card.BorderSizePixel = 0
card.Parent = notifGui
local cardCorner = Instance.new("UICorner")
cardCorner.CornerRadius = UDim.new(0, 16)
cardCorner.Parent = card
-- Icon
local icon = Instance.new("TextLabel")
icon.Size = UDim2.new(0, 40, 0, 40)
icon.Position = UDim2.new(0.5, 0, 0, 20)
icon.AnchorPoint = Vector2.new(0.5, 0)
icon.BackgroundTransparency = 1
icon.Text = isError and "⚠️" or "✅"
icon.TextSize = 32
icon.Parent = card
-- Message
local msg = Instance.new("TextLabel")
msg.Size = UDim2.new(1, -40, 0, 40)
msg.Position = UDim2.new(0.5, 0, 0, 70)
msg.AnchorPoint = Vector2.new(0.5, 0)
msg.BackgroundTransparency = 1
msg.Text = message
msg.TextColor3 = isError and CONFIG.Colors.Error or CONFIG.Colors.Success
msg.TextSize = 14
msg.Font = Enum.Font.GothamBold
msg.TextWrapped = true
msg.Parent = card
-- Auto dismiss
task.delay(3, function()
TweenService:Create(card, TweenInfo.new(0.3), { Size = UDim2.new(0, 280, 0, 110) }):Play()
TweenService:Create(backdrop, TweenInfo.new(0.3), { BackgroundTransparency = 1 }):Play()
task.wait(0.3)
notifGui:Destroy()
end)
end
-- ==========================================
-- MAIN GUI
-- ==========================================
local function createMainGUI(): ScreenGui
local gui = Instance.new("ScreenGui")
gui.Name = "KukGugAdminChat"
gui.ResetOnSpawn = false
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
gui.Parent = PlayerGui
-- Main Frame
local main = Instance.new("Frame")
main.Name = "Main"
main.Size = UDim2.new(0, 320, 0, 200)
main.Position = UDim2.new(0.5, -160, 0.5, -100)
main.BackgroundColor3 = CONFIG.Colors.Background
main.BorderSizePixel = 0
main.Active = true
main.ClipsDescendants = true
main.Parent = gui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 20)
mainCorner.Parent = main
-- Shadow
local shadow = Instance.new("ImageLabel")
shadow.AnchorPoint = Vector2.new(0.5, 0.5)
shadow.Position = UDim2.new(0.5, 0, 0.5, 6)
shadow.Size = UDim2.new(1, 40, 1, 40)
shadow.BackgroundTransparency = 1
shadow.Image = "rbxassetid://6015897843"
shadow.ImageColor3 = Color3.new(0, 0, 0)
shadow.ImageTransparency = 0.4
shadow.ScaleType = Enum.ScaleType.Slice
shadow.SliceCenter = Rect.new(49, 49, 450, 450)
shadow.ZIndex = -1
shadow.Parent = main
-- Header
local header = Instance.new("Frame")
header.Name = "Header"
header.Size = UDim2.new(1, 0, 0, 50)
header.BackgroundColor3 = CONFIG.Colors.Header
header.BorderSizePixel = 0
header.Parent = main
local headerCorner = Instance.new("UICorner")
headerCorner.CornerRadius = UDim.new(0, 20)
headerCorner.Parent = header
local headerFix = Instance.new("Frame")
headerFix.Size = UDim2.new(1, 0, 0, 20)
headerFix.Position = UDim2.new(0, 0, 1, -20)
headerFix.BackgroundColor3 = CONFIG.Colors.Header
headerFix.BorderSizePixel = 0
headerFix.Parent = header
-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -60, 1, 0)
title.Position = UDim2.new(0, 20, 0, 0)
title.BackgroundTransparency = 1
title.Text = "KukGug Admin Chat"
title.TextColor3 = CONFIG.Colors.Text
title.TextSize = 16
title.Font = Enum.Font.GothamBlack
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = header
-- Close Button
local closeBtn = Instance.new("TextButton")
closeBtn.Name = "Close"
closeBtn.Size = UDim2.new(0, 36, 0, 36)
closeBtn.Position = UDim2.new(1, -46, 0.5, 0)
closeBtn.AnchorPoint = Vector2.new(0, 0.5)
closeBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.BackgroundTransparency = 0.9
closeBtn.Text = ""
closeBtn.AutoButtonColor = false
closeBtn.Parent = header
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 10)
closeCorner.Parent = closeBtn
local closeIcon = Instance.new("TextLabel")
closeIcon.Size = UDim2.new(1, 0, 1, 0)
closeIcon.BackgroundTransparency = 1
closeIcon.Text = "×"
closeIcon.TextColor3 = CONFIG.Colors.Text
closeIcon.TextSize = 24
closeIcon.Font = Enum.Font.GothamBold
closeIcon.Parent = closeBtn
-- Hover effects
closeBtn.MouseEnter:Connect(function()
TweenService:Create(closeBtn, TweenInfo.new(0.15), { BackgroundTransparency = 0.7 }):Play()
end)
closeBtn.MouseLeave:Connect(function()
TweenService:Create(closeBtn, TweenInfo.new(0.15), { BackgroundTransparency = 0.9 }):Play()
end)
closeBtn.MouseButton1Click:Connect(function()
TweenService:Create(main, TweenInfo.new(0.2), { Size = UDim2.new(0, 0, 0, 0) }):Play()
task.wait(0.2)
gui:Destroy()
end)
-- Content
local content = Instance.new("Frame")
content.Name = "Content"
content.Size = UDim2.new(1, -30, 1, -65)
content.Position = UDim2.new(0.5, 0, 0, 58)
content.AnchorPoint = Vector2.new(0.5, 0)
content.BackgroundTransparency = 1
content.Parent = main
-- TextBox Container
local textBoxContainer = Instance.new("Frame")
textBoxContainer.Name = "TextBoxContainer"
textBoxContainer.Size = UDim2.new(1, 0, 0, 80)
textBoxContainer.BackgroundColor3 = CONFIG.Colors.TextBox
textBoxContainer.BorderSizePixel = 0
textBoxContainer.Parent = content
local textBoxCorner = Instance.new("UICorner")
textBoxCorner.CornerRadius = UDim.new(0, 12)
textBoxCorner.Parent = textBoxContainer
-- TextBox
local textBox = Instance.new("TextBox")
textBox.Name = "MessageInput"
textBox.Size = UDim2.new(1, -20, 1, -20)
textBox.Position = UDim2.new(0.5, 0, 0.5, 0)
textBox.AnchorPoint = Vector2.new(0.5, 0.5)
textBox.BackgroundTransparency = 1
textBox.Text = ""
textBox.PlaceholderText = "Type your admin message here..."
textBox.PlaceholderColor3 = CONFIG.Colors.Placeholder
textBox.TextColor3 = CONFIG.Colors.Text
textBox.TextSize = 14
textBox.Font = Enum.Font.Gotham
textBox.TextWrapped = true
textBox.TextXAlignment = Enum.TextXAlignment.Left
textBox.TextYAlignment = Enum.TextYAlignment.Top
textBox.ClearTextOnFocus = false
textBox.MultiLine = true
textBox.Parent = textBoxContainer
-- Character counter
local charCounter = Instance.new("TextLabel")
charCounter.Name = "CharCounter"
charCounter.Size = UDim2.new(0, 50, 0, 16)
charCounter.Position = UDim2.new(1, -10, 1, -8)
charCounter.AnchorPoint = Vector2.new(1, 1)
charCounter.BackgroundTransparency = 1
charCounter.Text = "0/" .. CONFIG.MaxChars
charCounter.TextColor3 = CONFIG.Colors.Placeholder
charCounter.TextSize = 10
charCounter.Font = Enum.Font.Gotham
charCounter.Parent = textBoxContainer
-- Update counter
textBox:GetPropertyChangedSignal("Text"):Connect(function()
local len = #textBox.Text
charCounter.Text = len .. "/" .. CONFIG.MaxChars
if len > CONFIG.MaxChars then
textBox.Text = string.sub(textBox.Text, 1, CONFIG.MaxChars)
charCounter.TextColor3 = CONFIG.Colors.Error
else
charCounter.TextColor3 = len > CONFIG.MaxChars * 0.9 and Color3.fromRGB(255, 200, 100) or CONFIG.Colors.Placeholder
end
end)
-- Send Button
local sendBtn = Instance.new("TextButton")
sendBtn.Name = "SendButton"
sendBtn.Size = UDim2.new(1, 0, 0, 50)
sendBtn.Position = UDim2.new(0, 0, 0, 90)
sendBtn.BackgroundColor3 = CONFIG.Colors.Button
sendBtn.Text = ""
sendBtn.AutoButtonColor = false
sendBtn.Parent = content
local sendCorner = Instance.new("UICorner")
sendCorner.CornerRadius = UDim.new(0, 12)
sendCorner.Parent = sendBtn
-- Button gradient
local btnGradient = Instance.new("UIGradient")
btnGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)),
ColorSequenceKeypoint.new(1, Color3.new(0.9, 0.9, 1))
})
btnGradient.Transparency = NumberSequence.new(0.8, 1)
btnGradient.Rotation = 90
btnGradient.Parent = sendBtn
-- Button text
local btnText = Instance.new("TextLabel")
btnText.Size = UDim2.new(1, 0, 1, 0)
btnText.BackgroundTransparency = 1
btnText.Text = "📤 SEND MESSAGE"
btnText.TextColor3 = CONFIG.Colors.Text
btnText.TextSize = 15
btnText.Font = Enum.Font.GothamBlack
btnText.Parent = sendBtn
-- Button icon
local btnIcon = Instance.new("TextLabel")
btnIcon.Size = UDim2.new(0, 24, 0, 24)
btnIcon.Position = UDim2.new(0, 20, 0.5, 0)
btnIcon.AnchorPoint = Vector2.new(0, 0.5)
btnIcon.BackgroundTransparency = 1
btnIcon.Text = "⚡"
btnIcon.TextSize = 18
btnIcon.Parent = sendBtn
-- Button effects
sendBtn.MouseEnter:Connect(function()
TweenService:Create(sendBtn, TweenInfo.new(0.15), { Size = UDim2.new(1, 4, 0, 54), BackgroundColor3 = CONFIG.Colors.ButtonHover }):Play()
end)
sendBtn.MouseLeave:Connect(function()
TweenService:Create(sendBtn, TweenInfo.new(0.15), { Size = UDim2.new(1, 0, 0, 50), BackgroundColor3 = CONFIG.Colors.Button }):Play()
end)
sendBtn.MouseButton1Down:Connect(function()
TweenService:Create(sendBtn, TweenInfo.new(0.1), { Size = UDim2.new(1, -2, 0, 48) }):Play()
end)
sendBtn.MouseButton1Up:Connect(function()
TweenService:Create(sendBtn, TweenInfo.new(0.1), { Size = UDim2.new(1, 4, 0, 54) }):Play()
end)
-- Send functionality
local function sendMessage()
local message = textBox.Text
if message == "" then
-- Shake animation for empty
TweenService:Create(textBoxContainer, TweenInfo.new(0.05), { Position = UDim2.new(0.52, 0, 0, 0) }):Play()
task.wait(0.05)
TweenService:Create(textBoxContainer, TweenInfo.new(0.05), { Position = UDim2.new(0.48, 0, 0, 0) }):Play()
task.wait(0.05)
TweenService:Create(textBoxContainer, TweenInfo.new(0.05), { Position = UDim2.new(0.5, 0, 0, 0) }):Play()
return
end
-- Fire server
local success, err = pcall(function()
ReplicatedStorage.AdminMessageEvent:FireServer(message)
end)
if success then
textBox.Text = ""
charCounter.Text = "0/" .. CONFIG.MaxChars
charCounter.TextColor3 = CONFIG.Colors.Placeholder
-- Success flash
TweenService:Create(sendBtn, TweenInfo.new(0.1), { BackgroundColor3 = CONFIG.Colors.Success }):Play()
btnText.Text = "✅ SENT!"
task.wait(0.5)
TweenService:Create(sendBtn, TweenInfo.new(0.2), { BackgroundColor3 = CONFIG.Colors.Button }):Play()
btnText.Text = "📤 SEND MESSAGE"
else
-- Error
TweenService:Create(sendBtn, TweenInfo.new(0.1), { BackgroundColor3 = CONFIG.Colors.Error }):Play()
btnText.Text = "❌ ERROR"
task.wait(0.5)
TweenService:Create(sendBtn, TweenInfo.new(0.2), { BackgroundColor3 = CONFIG.Colors.Button }):Play()
btnText.Text = "📤 SEND MESSAGE"
end
end
sendBtn.MouseButton1Click:Connect(sendMessage)
-- Enter key support (PC)
textBox.FocusLost:Connect(function(enterPressed)
if enterPressed then
sendMessage()
end
end)
-- Mobile return key
textBox.ReturnPressedFromOnScreenKeyboard:Connect(sendMessage)
-- Dragging
local dragging = false
local dragStart: Vector3?
local startPos: UDim2?
header.InputBegan:Connect(function(input: InputObject)
if input.UserInputType == Enum.UserInputType.MouseButton1 or
input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = main.Position
TweenService:Create(main, TweenInfo.new(0.1), { Size = UDim2.new(0, 308, 0, 192) }):Play()
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
TweenService:Create(main, TweenInfo.new(0.1), { Size = UDim2.new(0, 320, 0, 200) }):Play()
end
end)
end
end)
UserInputService.InputChanged:Connect(function(input: InputObject)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or
input.UserInputType == Enum.UserInputType.Touch) then
if dragStart and startPos 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
end)
-- Intro animation
main.Size = UDim2.new(0, 0, 0, 0)
main.Rotation = -3
TweenService:Create(main, TweenInfo.new(0.4, Enum.EasingStyle.Back), { Size = UDim2.new(0, 320, 0, 200), Rotation = 0 }):Play()
return gui
end
-- ==========================================
-- INITIALIZATION
-- ==========================================
local function init()
if not checkGame() then
showNotification("Wrong game! This script only works on the correct game.", true)
return
end
-- Wait for character
if not LocalPlayer.Character then
LocalPlayer.CharacterAdded:Wait()
end
createMainGUI()
end
init()


holy made by ai
@harukidesu well it still looks better than just some random boxes & working
doesnt work
@johangel what u mean? it work in *gug game only
It keeps saying error
@RaareKip which executor you're using?
@Irfannnnn delta
@RaareKip well, idk what's the issue, but it work on xeno
@Irfannnnn NAH
Does it work on delta?
@MrGhost1 idk, maybe no