M
Description
customise your’e e scooter and make it faster
GAME(BETA RELEASE) Drive A Kukirin!
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop & Mobile
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
--// KUKIRIN CUSTOMIZATION GUI
--// Voor je EIGEN Roblox game
--// LocalScript -> StarterPlayerScripts
local Players = game:GetService("Players")
local player = Players.LocalPlayer
--------------------------------------------------
-- SETTINGS
--------------------------------------------------
local MIN_SPEED = 10
local MAX_SPEED = 150
local DEFAULT_SPEED = 50
local DEFAULT_BODY = Color3.fromRGB(30, 30, 30)
local DEFAULT_FRAME = Color3.fromRGB(45, 45, 45)
local DEFAULT_WHEEL = Color3.fromRGB(15, 15, 15)
local DEFAULT_SUSPENSION = Color3.fromRGB(80, 80, 80)
--------------------------------------------------
-- GUI
--------------------------------------------------
local gui = Instance.new("ScreenGui")
gui.Name = "KukirinCustomizer"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
--------------------------------------------------
-- OPEN BUTTON
--------------------------------------------------
local open = Instance.new("TextButton")
open.Size = UDim2.new(0,55,0,55)
open.Position = UDim2.new(1,-70,0.5,-25)
open.BackgroundColor3 = Color3.fromRGB(25,25,25)
open.Text = "⚙"
open.TextSize = 27
open.TextColor3 = Color3.new(1,1,1)
open.Font = Enum.Font.GothamBold
open.Parent = gui
local openCorner = Instance.new("UICorner")
openCorner.CornerRadius = UDim.new(1,0)
openCorner.Parent = open
--------------------------------------------------
-- MAIN WINDOW
--------------------------------------------------
local main = Instance.new("Frame")
main.Size = UDim2.new(0,350,0,520)
main.Position = UDim2.new(0.5,-175,0.5,-260)
main.BackgroundColor3 = Color3.fromRGB(22,22,22)
main.Visible = false
main.Parent = gui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0,12)
mainCorner.Parent = main
--------------------------------------------------
-- TITLE
--------------------------------------------------
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,-60,0,45)
title.Position = UDim2.new(0,15,0,5)
title.BackgroundTransparency = 1
title.Text = "VESC TOOL"
title.TextColor3 = Color3.new(1,1,1)
title.TextSize = 21
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = main
--------------------------------------------------
-- CLOSE
--------------------------------------------------
local close = Instance.new("TextButton")
close.Size = UDim2.new(0,35,0,35)
close.Position = UDim2.new(1,-42,0,8)
close.BackgroundTransparency = 1
close.Text = "×"
close.TextColor3 = Color3.new(1,1,1)
close.TextSize = 28
close.Parent = main
close.MouseButton1Click:Connect(function()
main.Visible = false
end)
--------------------------------------------------
-- SCOOTER FINDER
--------------------------------------------------
local function getScooter()
local character = player.Character
if not character then
return nil
end
-- Zoek scooter waarop de speler zit
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("VehicleSeat") then
if obj.Occupant == character:FindFirstChildOfClass("Humanoid") then
return obj:FindFirstAncestorOfClass("Model")
end
end
end
return nil
end
--------------------------------------------------
-- CHANGE PART COLOR
--------------------------------------------------
local function colorParts(scooter, color, partNames)
if not scooter then
return
end
for _, obj in ipairs(scooter:GetDescendants()) do
if obj:IsA("BasePart") then
for _, name in ipairs(partNames) do
if obj.Name:lower():find(name:lower()) then
obj.Color = color
end
end
end
end
end
--------------------------------------------------
-- BODY
--------------------------------------------------
local function setBodyColor(color)
local scooter = getScooter()
if not scooter then return end
colorParts(
scooter,
color,
{"body","deck","plastic","cover"}
)
end
--------------------------------------------------
-- FRAME
--------------------------------------------------
local function setFrameColor(color)
local scooter = getScooter()
if not scooter then return end
colorParts(
scooter,
color,
{"frame","stem","handlebar"}
)
end
--------------------------------------------------
-- WHEELS
--------------------------------------------------
local function setWheelColor(color)
local scooter = getScooter()
if not scooter then return end
colorParts(
scooter,
color,
{"wheel","tire","tyre"}
)
end
--------------------------------------------------
-- SUSPENSION
--------------------------------------------------
local function setSuspensionColor(color)
local scooter = getScooter()
if not scooter then return end
colorParts(
scooter,
color,
{"suspension","fork","shock"}
)
end
--------------------------------------------------
-- COLOR BUTTON CREATOR
--------------------------------------------------
local function createColorButton(name,color,x,y,callback)
local button = Instance.new("TextButton")
button.Size = UDim2.new(0,95,0,38)
button.Position = UDim2.new(0,x,0,y)
button.BackgroundColor3 = color
button.Text = name
button.TextColor3 = Color3.new(1,1,1)
button.TextSize = 13
button.Font = Enum.Font.GothamBold
button.Parent = main
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0,7)
corner.Parent = button
button.MouseButton1Click:Connect(function()
callback(color)
end)
end
--------------------------------------------------
-- BODY COLOR SECTION
--------------------------------------------------
local bodyLabel = Instance.new("TextLabel")
bodyLabel.Size = UDim2.new(1,-30,0,25)
bodyLabel.Position = UDim2.new(0,15,0,55)
bodyLabel.BackgroundTransparency = 1
bodyLabel.Text = "BODY COLOR"
bodyLabel.TextColor3 = Color3.new(1,1,1)
bodyLabel.TextSize = 14
bodyLabel.Font = Enum.Font.GothamBold
bodyLabel.TextXAlignment = Enum.TextXAlignment.Left
bodyLabel.Parent = main
local colors = {
{"BLACK",Color3.fromRGB(20,20,20)},
{"WHITE",Color3.fromRGB(235,235,235)},
{"RED",Color3.fromRGB(220,30,30)},
{"BLUE",Color3.fromRGB(30,80,220)},
{"GREEN",Color3.fromRGB(30,180,70)},
{"YELLOW",Color3.fromRGB(240,200,20)},
{"PURPLE",Color3.fromRGB(150,50,220)},
{"PINK",Color3.fromRGB(240,70,150)},
{"ORANGE",Color3.fromRGB(255,120,20)}
}
for i,data in ipairs(colors) do
local column = (i-1)%3
local row = math.floor((i-1)/3)
createColorButton(
data[1],
data[2],
15 + column*105,
85 + row*45,
setBodyColor
)
end
--------------------------------------------------
-- FRAME COLOR
--------------------------------------------------
local frameLabel = Instance.new("TextLabel")
frameLabel.Size = UDim2.new(1,-30,0,25)
frameLabel.Position = UDim2.new(0,15,0,230)
frameLabel.BackgroundTransparency = 1
frameLabel.Text = "FRAME / SUSPENSION"
frameLabel.TextColor3 = Color3.new(1,1,1)
frameLabel.TextSize = 14
frameLabel.Font = Enum.Font.GothamBold
frameLabel.TextXAlignment = Enum.TextXAlignment.Left
frameLabel.Parent = main
createColorButton("BLACK",Color3.fromRGB(20,20,20),15,260,setFrameColor)
createColorButton("WHITE",Color3.fromRGB(235,235,235),120,260,setFrameColor)
createColorButton("RED",Color3.fromRGB(220,30,30),225,260,setFrameColor)
createColorButton("GRAY",Color3.fromRGB(100,100,100),15,305,setSuspensionColor)
createColorButton("BLUE",Color3.fromRGB(30,80,220),120,305,setSuspensionColor)
createColorButton("GOLD",Color3.fromRGB(220,170,30),225,305,setSuspensionColor)
--------------------------------------------------
-- WHEEL COLOR
--------------------------------------------------
local wheelLabel = Instance.new("TextLabel")
wheelLabel.Size = UDim2.new(1,-30,0,25)
wheelLabel.Position = UDim2.new(0,15,0,350)
wheelLabel.BackgroundTransparency = 1
wheelLabel.Text = "WHEEL COLOR"
wheelLabel.TextColor3 = Color3.new(1,1,1)
wheelLabel.TextSize = 14
wheelLabel.Font = Enum.Font.GothamBold
wheelLabel.TextXAlignment = Enum.TextXAlignment.Left
wheelLabel.Parent = main
createColorButton("BLACK",Color3.fromRGB(15,15,15),15,380,setWheelColor)
createColorButton("WHITE",Color3.fromRGB(235,235,235),120,380,setWheelColor)
createColorButton("RED",Color3.fromRGB(220,30,30),225,380,setWheelColor)
--------------------------------------------------
-- SPEED
--------------------------------------------------
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(1,-30,0,25)
speedLabel.Position = UDim2.new(0,15,0,425)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "MAX SPEED"
speedLabel.TextColor3 = Color3.new(1,1,1)
speedLabel.TextSize = 14
speedLabel.Font = Enum.Font.GothamBold
speedLabel.TextXAlignment = Enum.TextXAlignment.Left
speedLabel.Parent = main
local speedBox = Instance.new("TextBox")
speedBox.Size = UDim2.new(0,150,0,38)
speedBox.Position = UDim2.new(0,15,0,455)
speedBox.BackgroundColor3 = Color3.fromRGB(40,40,40)
speedBox.Text = tostring(DEFAULT_SPEED)
speedBox.TextColor3 = Color3.new(1,1,1)
speedBox.TextSize = 16
speedBox.Font = Enum.Font.GothamBold
speedBox.ClearTextOnFocus = false
speedBox.Parent = main
local speedCorner = Instance.new("UICorner")
speedCorner.CornerRadius = UDim.new(0,7)
speedCorner.Parent = speedBox
local apply = Instance.new("TextButton")
apply.Size = UDim2.new(0,145,0,38)
apply.Position = UDim2.new(0,185,0,455)
apply.BackgroundColor3 = Color3.fromRGB(55,55,55)
apply.Text = "APPLY"
apply.TextColor3 = Color3.new(1,1,1)
apply.TextSize = 14
apply.Font = Enum.Font.GothamBold
apply.Parent = main
local applyCorner = Instance.new("UICorner")
applyCorner.CornerRadius = UDim.new(0,7)
applyCorner.Parent = apply
--------------------------------------------------
-- APPLY SPEED
--------------------------------------------------
apply.MouseButton1Click:Connect(function()
local speed = tonumber(speedBox.Text)
if not speed then
speedBox.Text = tostring(DEFAULT_SPEED)
return
end
speed = math.clamp(speed,MIN_SPEED,MAX_SPEED)
speedBox.Text = tostring(speed)
local scooter = getScooter()
if scooter then
local seat = scooter:FindFirstChildWhichIsA("VehicleSeat",true)
if seat then
seat.MaxSpeed = speed
end
end
end)
--------------------------------------------------
-- RESET
--------------------------------------------------
local reset = Instance.new("TextButton")
reset.Size = UDim2.new(0,150,0,35)
reset.Position = UDim2.new(0.5,-75,1,-45)
reset.BackgroundColor3 = Color3.fromRGB(45,45,45)
reset.Text = "RESET"
reset.TextColor3 = Color3.new(1,1,1)
reset.TextSize = 13
reset.Font = Enum.Font.GothamBold
reset.Parent = main
local resetCorner = Instance.new("UICorner")
resetCorner.CornerRadius = UDim.new(0,7)
resetCorner.Parent = reset
reset.MouseButton1Click:Connect(function()
setBodyColor(DEFAULT_BODY)
setFrameColor(DEFAULT_FRAME)
setWheelColor(DEFAULT_WHEEL)
setSuspensionColor(DEFAULT_SUSPENSION)
speedBox.Text = tostring(DEFAULT_SPEED)
end)
--------------------------------------------------
-- OPEN
--------------------------------------------------
open.MouseButton1Click:Connect(function()
main.Visible = not main.Visible
end)Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place