Get the latest Paint My Keyboard Script for Roblox with features like Auto Paint, Auto Complete, Fast Farming, and more. Boost your gameplay, finish tasks quicker, and unlock rewards with ease.
Script
Paint My Keyboard Script
🎨Paint Colorful Keyboard Keys💰Collect Cash From Painted Keys🖌️Unlock Better Paints🛞Upgrade Roller📈Expand Keyboard🔮Build Biggest Keyboard🎮Simulation🔢Incremental Simulator
💻 LUA CODE:
local player = game.Players.LocalPlayer
local userInputService = game:GetService("UserInputService")
local teams = game:GetService("Teams")
local runService = game:GetService("RunService")
-- GUI Creation
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = player:WaitForChild("PlayerGui")
screenGui.Name = "ESP_Toggle"
screenGui.ResetOnSpawn = false
-- Main Frame (Draggable)
local frame = Instance.new("Frame")
frame.Parent = screenGui
frame.Size = UDim2.new(0, 220, 0, 160)
frame.Position = UDim2.new(0.5, -110, 0.5, -60)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 10)
frameCorner.Parent = frame
-- Title Label
local title = Instance.new("TextLabel")
title.Parent = frame
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.Text = "🔍 ESP Menu"
title.TextStrokeTransparency = 0.8
-- ESP Toggle Button
local espButton = Instance.new("TextButton")
espButton.Parent = frame
espButton.Size = UDim2.new(0.8, 0, 0, 40)
espButton.Position = UDim2.new(0.1, 0, 0.4, 0)
espButton.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
espButton.TextColor3 = Color3.fromRGB(255, 255, 255)
espButton.Font = Enum.Font.Gotham
espButton.TextSize = 16
espButton.Text = "Enable ESP"
local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(0, 6)
buttonCorner.Parent = espButton
-- Footer Label (Rainbow Text)
local footerLabel = Instance.new("TextLabel")
footerLabel.Parent = frame
footerLabel.Size = UDim2.new(1, 0, 0, 20)
footerLabel.Position = UDim2.new(0, 0, 0.9, 0)
footerLabel.BackgroundTransparency = 1
footerLabel.Font = Enum.Font.GothamBold
footerLabel.TextSize = 14
footerLabel.TextStrokeTransparency = 0.5
footerLabel.Text = "Made by GPTexploits"
footerLabel.TextXAlignment = Enum.TextXAlignment.Center
local colors = {
Color3.fromRGB(255, 0, 0), -- Red
Color3.fromRGB(255, 127, 0), -- Orange
Color3.fromRGB(255, 255, 0), -- Yellow
Color3.fromRGB(0, 255, 0), -- Green
Color3.fromRGB(0, 0, 255), -- Blue
Color3.fromRGB(75, 0, 130), -- Indigo
Color3.fromRGB(238, 130, 238) -- Violet
}
local currentIndex = 1
runService.RenderStepped:Connect(function()
footerLabel.TextColor3 = colors[currentIndex]
currentIndex = currentIndex + 1
if currentIndex > #colors then
currentIndex = 1
end
end)
-- ESP Logic
local espEnabled = false
local espObjects = {}
local function applyESP(character)
if character and character:FindFirstChild("HumanoidRootPart") then
local highlight = Instance.new("Highlight")
highlight.Parent = character
highlight.FillTransparency = 1
highlight.OutlineTransparency = 0
highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
local billboard = Instance.new("BillboardGui")
billboard.Parent = character
billboard.Adornee = character:FindFirstChild("Head")
billboard.Size = UDim2.new(0, 200, 0, 50)
billboard.StudsOffset = Vector3.new(0, 2, 0)
billboard.AlwaysOnTop = true
local textLabel = Instance.new("TextLabel")
textLabel.Parent = billboard
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundTransparency = 1
textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
textLabel.Font = Enum.Font.GothamBold
textLabel.TextSize = 14
textLabel.TextStrokeTransparency = 0.5
textLabel.Text = "Loading..."
espObjects[character] = {highlight, billboard, textLabel}
end
end
local function updateESP()
for _, plr in pairs(game.Players:GetPlayers()) do
if plr ~= player and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
local char = plr.Character
local rootPart = char:FindFirstChild("HumanoidRootPart")
local humanoid = char:FindFirstChild("Humanoid")
local espData = espObjects[char]
if rootPart and humanoid and espData then
local distance = (rootPart.Position - player.Character.HumanoidRootPart.Position).Magnitude
local teamName = plr.Team and plr.Team.Name or "No Team"
local health = math.floor(humanoid.Health)
local maxHealth = math.floor(humanoid.MaxHealth)
espData[3].Text = string.format("%s | %.1fm | %d/%d HP | %s", teamName, distance, health, maxHealth, plr.Name)
end
end
end
end
local function refreshESP()
for _, data in pairs(espObjects) do
for _, obj in pairs(data) do
obj:Destroy()
end
end
espObjects = {}
for _, plr in pairs(game.Players:GetPlayers()) do
if plr ~= player and plr.Character then
applyESP(plr.Character)
end
end
end
local function toggleESP()
espEnabled = not espEnabled
espButton.Text = espEnabled and "Disable ESP" or "Enable ESP"
if espEnabled then
refreshESP()
runService.RenderStepped:Connect(function()
if espEnabled then
updateESP()
end
end)
else
for _, data in pairs(espObjects) do
for _, obj in pairs(data) do
obj:Destroy()
end
end
espObjects = {}
end
end
espButton.MouseButton1Click:Connect(toggleESP)