M
Description
Unlock MaxRpm ,Horsepower ,Turbocharger ,SuperCharger Adjust Turbo boost pressure
GAME🏍 สปีดบำเพ็ญ
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop
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 ]]
-- Tuner v3.6
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
if not LocalPlayer then
warn("[Tuner] No LocalPlayer — run as LocalScript/Executor")
return
end
local pg = LocalPlayer:FindFirstChild("PlayerGui")
if not pg then
-- Wait briefly, don't hard fail
pg = LocalPlayer:WaitForChild("PlayerGui", 5)
if not pg then
warn("[Tuner] PlayerGui not found");
return
end
end
-- Safe remove old UI — no error if none exists
local old = pg:FindFirstChild("CarTunerUI")
if old then
pcall(function()
old:Destroy()
end)
end
local HttpService = game:GetService("HttpService")
-- ===== _G GLOBAL STORE =====
_G.TunerStored = _G.TunerStored or _G["***"] or nil
if not _G.TunerStored then
local j = workspace:GetAttribute("***")
if j and type(j) == "string" and # j > 4 then
local ok, t = pcall(HttpService.JSONDecode, HttpService, j)
if ok and type(t) == "table" then
_G.TunerStored = t
end
end
end
local function saveGlobal(tbl)
_G.TunerStored = tbl
_G["***"] = tbl
local ok, json = pcall(HttpService.JSONEncode, HttpService, tbl)
if ok then
pcall(function()
workspace:SetAttribute("***", json)
end)
end
end
local function loadGlobal()
if _G.TunerStored and type(_G.TunerStored) == "table" and next(_G.TunerStored) ~= nil then
return _G.TunerStored
end
if _G["***"] and type(_G["***"]) == "table" and next(_G["***"]) ~= nil then
return _G["***"]
end
local j = workspace:GetAttribute("***")
if j and type(j) == "string" and # j > 4 then
local ok, t = pcall(HttpService.JSONDecode, HttpService, j)
if ok and type(t) == "table" and next(t) ~= nil then
_G.TunerStored = t;
return t
end
end
return nil
end
local function findAllCars()
local t = {}
for _, o in ipairs(workspace:GetChildren()) do
local ok = pcall(function()
return o:FindFirstChild("Tuner") and o:FindFirstChild("DriveSeat")
end)
if ok and o:FindFirstChild("Tuner") and o:FindFirstChild("DriveSeat") then
table.insert(t, o)
end
end
return t
end
local function getClosestCar(cars)
local char = LocalPlayer.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if not hrp then
return cars[1]
end
local best, bestDist = nil, math.huge
for _, c in ipairs(cars) do
local seat = c:FindFirstChild("DriveSeat")
if seat then
local d = (seat.Position - hrp.Position).Magnitude;
if d < bestDist then
bestDist = d;
best = c
end
end
end
return best or cars[1]
end
local function getPreferredCar()
local cars = findAllCars()
if # cars == 0 then
return nil
end
local want = LocalPlayer.Name .. "sCar"
local exact = workspace:FindFirstChild(want)
if exact and exact:FindFirstChild("Tuner") then
return exact
end
local lastName = workspace:GetAttribute("TunerLastCar")
if lastName then
local lc = workspace:FindFirstChild(lastName);
if lc and lc:FindFirstChild("Tuner") then
return lc
end
end
for _, c in ipairs(cars) do
if c.Name:lower():find(LocalPlayer.Name:lower(), 1, true) then
return c
end
end
return getClosestCar(cars)
end
local function getTuner(car)
if not car then
return nil
end
local m = car:FindFirstChild("Tuner")
if not m then
return nil
end
local ok, t = pcall(require, m)
if ok then
return t
end
return nil
end
local currentCar = getPreferredCar()
if not currentCar then
warn("[Tuner] No vehicle found in workspace");
return
end
local tuner = getTuner(currentCar)
if not tuner then
warn("[Tuner] Tuner require failed for " .. currentCar.Name);
return
end
-- Restore _G tune to current car on open (do not overwrite _G with defaults)
local stored = loadGlobal()
local appliedOnOpen = false
if stored and next(stored) ~= nil then
local cnt = 0
for k, v in pairs(stored) do
if k == "Ratios" and type(v) == "table" and tuner.Ratios then
for i = 1, 5 do
if v[i] ~= nil then
tuner.Ratios[i] = v[i];
cnt += 1
end
end
elseif tuner[k] ~= nil then
tuner[k] = v;
cnt += 1
end
end
if cnt > 0 then
appliedOnOpen = true;
print("[Tuner] Restored " .. cnt .. " values from _G to " .. currentCar.Name)
end
end
local defaults = {}
for k, v in pairs(tuner) do
if type(v) == "number" or type(v) == "boolean" then
defaults[k] = v
end
end
if tuner.Ratios then
defaults["Ratios"] = {
tuner.Ratios[1],
tuner.Ratios[2],
tuner.Ratios[3],
tuner.Ratios[4],
tuner.Ratios[5]
}
end
-- ===== UI BUILD =====
local gui = Instance.new("ScreenGui");
gui.Name = "CarTunerUI";
gui.ResetOnSpawn = false;
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling;
gui.Parent = pg
local main = Instance.new("Frame");
main.Name = "Main";
main.Size = UDim2.fromOffset(500, 580);
main.Position = UDim2.fromScale(0.5, 0.5);
main.AnchorPoint = Vector2.new(0.5, 0.5);
main.BackgroundColor3 = Color3.fromRGB(16, 16, 20);
main.BorderSizePixel = 0;
main.ClipsDescendants = true;
main.Parent = gui
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 16)
local stroke = Instance.new("UIStroke", main);
stroke.Color = Color3.fromRGB(55, 55, 65);
stroke.Thickness = 1.2
local top = Instance.new("Frame", main);
top.Name = "TopBar";
top.Size = UDim2.new(1, 0, 0, 50);
top.BackgroundColor3 = Color3.fromRGB(26, 26, 32);
top.BorderSizePixel = 0
Instance.new("UICorner", top).CornerRadius = UDim.new(0, 16)
local fix = Instance.new("Frame", top);
fix.Size = UDim2.new(1, 0, 0, 14);
fix.Position = UDim2.new(0, 0, 1, - 14);
fix.BackgroundColor3 = top.BackgroundColor3;
fix.BorderSizePixel = 0
local icon = Instance.new("TextLabel", top);
icon.Size = UDim2.fromOffset(36, 36);
icon.Position = UDim2.fromOffset(10, 7);
icon.BackgroundColor3 = Color3.fromRGB(255, 70, 70);
icon.Text = "🏎️";
icon.TextScaled = true;
Instance.new("UICorner", icon).CornerRadius = UDim.new(0, 9)
local title = Instance.new("TextLabel", top);
title.Position = UDim2.fromOffset(54, 10);
title.Size = UDim2.new(1, - 150, 0, 30);
title.BackgroundTransparency = 1;
title.Text = "Tuner v3.6";
title.Font = Enum.Font.GothamBold;
title.TextSize = 15;
title.TextColor3 = Color3.new(1, 1, 1);
title.TextXAlignment = Enum.TextXAlignment.Left
local btnMin = Instance.new("TextButton", top);
btnMin.Size = UDim2.fromOffset(30, 30);
btnMin.Position = UDim2.new(1, - 72, 0, 10);
btnMin.BackgroundColor3 = Color3.fromRGB(48, 48, 58);
btnMin.Text = "—";
btnMin.Font = Enum.Font.GothamBold;
btnMin.TextSize = 14;
btnMin.TextColor3 = Color3.new(1, 1, 1);
Instance.new("UICorner", btnMin).CornerRadius = UDim.new(0, 8)
local btnClose = Instance.new("TextButton", top);
btnClose.Size = UDim2.fromOffset(30, 30);
btnClose.Position = UDim2.new(1, - 36, 0, 10);
btnClose.BackgroundColor3 = Color3.fromRGB(210, 50, 50);
btnClose.Text = "✕";
btnClose.Font = Enum.Font.GothamBold;
btnClose.TextSize = 14;
btnClose.TextColor3 = Color3.new(1, 1, 1);
Instance.new("UICorner", btnClose).CornerRadius = UDim.new(0, 8)
local carRow = Instance.new("Frame", main);
carRow.Name = "CarRow";
carRow.Position = UDim2.fromOffset(10, 58);
carRow.Size = UDim2.new(1, - 20, 0, 30);
carRow.BackgroundColor3 = Color3.fromRGB(30, 30, 38);
Instance.new("UICorner", carRow).CornerRadius = UDim.new(0, 10)
local carLabel = Instance.new("TextLabel", carRow);
carLabel.Name = "CarLabel";
carLabel.Position = UDim2.fromOffset(10, 0);
carLabel.Size = UDim2.new(1, - 110, 1, 0);
carLabel.BackgroundTransparency = 1;
carLabel.Text = "🚗 " .. currentCar.Name .. (appliedOnOpen and " ✓ restored" or "");
carLabel.Font = Enum.Font.GothamBold;
carLabel.TextSize = 11;
carLabel.TextColor3 = appliedOnOpen and Color3.fromRGB(0, 220, 120) or Color3.fromRGB(100, 220, 255);
carLabel.TextXAlignment = Enum.TextXAlignment.Left;
carLabel.TextTruncate = Enum.TextTruncate.AtEnd
local btnRefresh = Instance.new("TextButton", carRow);
btnRefresh.Name = "RefreshBtn";
btnRefresh.Size = UDim2.fromOffset(44, 22);
btnRefresh.Position = UDim2.new(1, - 96, 0, 4);
btnRefresh.BackgroundColor3 = Color3.fromRGB(60, 60, 75);
btnRefresh.Text = "🔄";
btnRefresh.Font = Enum.Font.GothamBold;
btnRefresh.TextSize = 13;
btnRefresh.TextColor3 = Color3.new(1, 1, 1);
Instance.new("UICorner", btnRefresh).CornerRadius = UDim.new(0, 6)
local btnPick = Instance.new("TextButton", carRow);
btnPick.Name = "PickBtn";
btnPick.Size = UDim2.fromOffset(44, 22);
btnPick.Position = UDim2.new(1, - 48, 0, 4);
btnPick.BackgroundColor3 = Color3.fromRGB(70, 90, 220);
btnPick.Text = "Select";
btnPick.Font = Enum.Font.GothamBold;
btnPick.TextSize = 10;
btnPick.TextColor3 = Color3.new(1, 1, 1);
Instance.new("UICorner", btnPick).CornerRadius = UDim.new(0, 6)
local dropdown = Instance.new("ScrollingFrame", main);
dropdown.Name = "Dropdown";
dropdown.Position = UDim2.fromOffset(10, 90);
dropdown.Size = UDim2.fromOffset(480, 150);
dropdown.BackgroundColor3 = Color3.fromRGB(24, 24, 30);
dropdown.BorderSizePixel = 0;
dropdown.Visible = false;
dropdown.ZIndex = 10;
dropdown.ScrollBarThickness = 4;
dropdown.AutomaticCanvasSize = Enum.AutomaticSize.Y;
dropdown.CanvasSize = UDim2.new(0, 0, 0, 0)
Instance.new("UICorner", dropdown).CornerRadius = UDim.new(0, 10)
local ddStroke = Instance.new("UIStroke", dropdown);
ddStroke.Color = Color3.fromRGB(70, 70, 90);
ddStroke.Thickness = 1
local ddList = Instance.new("UIListLayout", dropdown);
ddList.Padding = UDim.new(0, 4)
Instance.new("UIPadding", dropdown).PaddingTop = UDim.new(0, 6);
Instance.new("UIPadding", dropdown).PaddingBottom = UDim.new(0, 6);
Instance.new("UIPadding", dropdown).PaddingLeft = UDim.new(0, 6);
Instance.new("UIPadding", dropdown).PaddingRight = UDim.new(0, 6)
local actionRow = Instance.new("Frame", main);
actionRow.Name = "ActionRow";
actionRow.Position = UDim2.fromOffset(10, 92);
actionRow.Size = UDim2.new(1, - 20, 0, 34);
actionRow.BackgroundTransparency = 1
local btnWarp = Instance.new("TextButton", actionRow);
btnWarp.Name = "WarpBtn";
btnWarp.Size = UDim2.new(0.5, - 4, 1, 0);
btnWarp.Position = UDim2.fromOffset(0, 0);
btnWarp.BackgroundColor3 = Color3.fromRGB(0, 170, 90);
btnWarp.Text = "Enter Vehicle";
btnWarp.Font = Enum.Font.GothamBold;
btnWarp.TextSize = 11;
btnWarp.TextColor3 = Color3.new(1, 1, 1);
Instance.new("UICorner", btnWarp).CornerRadius = UDim.new(0, 10)
local warpStroke = Instance.new("UIStroke", btnWarp);
warpStroke.Color = Color3.fromRGB(0, 220, 120);
warpStroke.Thickness = 1
local btnApply = Instance.new("TextButton", actionRow);
btnApply.Name = "ApplyBtn";
btnApply.Size = UDim2.new(0.5, - 4, 1, 0);
btnApply.Position = UDim2.new(0.5, 4, 0, 0);
btnApply.BackgroundColor3 = Color3.fromRGB(70, 90, 220);
btnApply.Text = "Apply Tune";
btnApply.Font = Enum.Font.GothamBold;
btnApply.TextSize = 11;
btnApply.TextColor3 = Color3.new(1, 1, 1);
Instance.new("UICorner", btnApply).CornerRadius = UDim.new(0, 10)
local applyStroke = Instance.new("UIStroke", btnApply);
applyStroke.Color = Color3.fromRGB(100, 120, 255);
applyStroke.Thickness = 1
local tabBar = Instance.new("Frame", main);
tabBar.Name = "TabBar";
tabBar.Position = UDim2.fromOffset(0, 132);
tabBar.Size = UDim2.new(1, 0, 0, 30);
tabBar.BackgroundColor3 = Color3.fromRGB(22, 22, 28);
tabBar.BorderSizePixel = 0
local tabLayout = Instance.new("UIListLayout", tabBar);
tabLayout.FillDirection = Enum.FillDirection.Horizontal;
tabLayout.Padding = UDim.new(0, 5);
tabLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center;
tabLayout.VerticalAlignment = Enum.VerticalAlignment.Center
Instance.new("UIPadding", tabBar).PaddingLeft = UDim.new(0, 6)
local content = Instance.new("Frame", main);
content.Name = "Content";
content.Position = UDim2.fromOffset(0, 162);
content.Size = UDim2.new(1, 0, 1, - 172);
content.BackgroundTransparency = 1;
content.ClipsDescendants = true
local scroll = Instance.new("ScrollingFrame", content);
scroll.Name = "Scroll";
scroll.Size = UDim2.new(1, - 8, 1, 0);
scroll.Position = UDim2.fromOffset(4, 0);
scroll.BackgroundTransparency = 1;
scroll.BorderSizePixel = 0;
scroll.ScrollBarThickness = 4;
scroll.ScrollBarImageColor3 = Color3.fromRGB(90, 90, 100);
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y;
scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
local list = Instance.new("UIListLayout", scroll);
list.Padding = UDim.new(0, 8);
list.SortOrder = Enum.SortOrder.LayoutOrder
Instance.new("UIPadding", scroll).PaddingTop = UDim.new(0, 6);
Instance.new("UIPadding", scroll).PaddingBottom = UDim.new(0, 12);
Instance.new("UIPadding", scroll).PaddingLeft = UDim.new(0, 6);
Instance.new("UIPadding", scroll).PaddingRight = UDim.new(0, 6)
local toast = Instance.new("TextLabel", main);
toast.Name = "Toast";
toast.Size = UDim2.new(1, - 20, 0, 26);
toast.Position = UDim2.new(0, 10, 1, - 30);
toast.BackgroundColor3 = Color3.fromRGB(40, 180, 80);
toast.Text = "Done";
toast.Font = Enum.Font.GothamBold;
toast.TextSize = 11;
toast.TextColor3 = Color3.new(1, 1, 1);
toast.Visible = false;
toast.ZIndex = 20;
Instance.new("UICorner", toast).CornerRadius = UDim.new(0, 8)
local function showToast(msg, col, dur)
toast.Text = msg;
toast.BackgroundColor3 = col or Color3.fromRGB(40, 180, 80);
toast.Visible = true;
task.delay(dur or 1.2, function()
if toast and toast.Parent then
toast.Visible = false
end
end)
end
local function fmt(v)
if type(v) == "number" then
if v % 1 == 0 then
return tostring(math.floor(v))
else
return string.format("%.2f", v)
end
end
return tostring(v)
end
local function captureLive()
local t = {}
for k, v in pairs(tuner) do
if type(v) == "number" or type(v) == "boolean" then
t[k] = v
end
end
if tuner.Ratios then
t["Ratios"] = {
tuner.Ratios[1],
tuner.Ratios[2],
tuner.Ratios[3],
tuner.Ratios[4],
tuner.Ratios[5]
}
end
saveGlobal(t)
return t
end
local allCards = {}
local sliderCards = {}
local function addSlider(key, displayName, opts)
opts = opts or {};
local minV = opts.min or 0;
local maxV = opts.max or 100;
local step = opts.step or 1;
local cat = opts.cat or "General";
local desc = opts.desc or ""
local card = Instance.new("Frame");
card.Size = UDim2.new(1, - 6, 0, 62);
card.BackgroundColor3 = Color3.fromRGB(29, 29, 38);
card.BorderSizePixel = 0;
card.Name = key;
Instance.new("UICorner", card).CornerRadius = UDim.new(0, 10);
local s = Instance.new("UIStroke", card);
s.Color = Color3.fromRGB(44, 44, 54);
s.Thickness = 1;
card.Parent = scroll;
card:SetAttribute("Category", cat);
card:SetAttribute("Key", displayName:lower() .. " " .. key:lower());
table.insert(allCards, card)
local nameLbl = Instance.new("TextLabel", card);
nameLbl.Position = UDim2.fromOffset(10, 6);
nameLbl.Size = UDim2.new(1, - 130, 0, 15);
nameLbl.BackgroundTransparency = 1;
nameLbl.Text = displayName;
nameLbl.Font = Enum.Font.GothamBold;
nameLbl.TextSize = 12;
nameLbl.TextColor3 = Color3.new(1, 1, 1);
nameLbl.TextXAlignment = Enum.TextXAlignment.Left
local typeLbl = Instance.new("TextLabel", card);
typeLbl.Position = UDim2.fromOffset(10, 21);
typeLbl.Size = UDim2.new(1, - 130, 0, 11);
typeLbl.BackgroundTransparency = 1;
typeLbl.Text = cat .. " • " .. desc;
typeLbl.Font = Enum.Font.Gotham;
typeLbl.TextSize = 9;
typeLbl.TextColor3 = Color3.fromRGB(135, 135, 145);
typeLbl.TextXAlignment = Enum.TextXAlignment.Left
local origLbl = Instance.new("TextLabel", card);
origLbl.Position = UDim2.fromOffset(10, 32);
origLbl.Size = UDim2.new(1, - 130, 0, 10);
origLbl.BackgroundTransparency = 1;
origLbl.Text = "Default: " .. fmt(defaults[key] or tuner[key]);
origLbl.Font = Enum.Font.Gotham;
origLbl.TextSize = 8;
origLbl.TextColor3 = Color3.fromRGB(100, 100, 110);
origLbl.TextXAlignment = Enum.TextXAlignment.Left
local valLbl = Instance.new("TextLabel", card);
valLbl.Size = UDim2.fromOffset(68, 20);
valLbl.Position = UDim2.new(1, - 76, 0, 6);
valLbl.BackgroundColor3 = Color3.fromRGB(40, 40, 50);
valLbl.Text = fmt(tuner[key]);
valLbl.Font = Enum.Font.GothamBold;
valLbl.TextSize = 11;
valLbl.TextColor3 = Color3.fromRGB(255, 220, 100);
Instance.new("UICorner", valLbl).CornerRadius = UDim.new(0, 6)
local sliderBG = Instance.new("Frame", card);
sliderBG.Position = UDim2.new(1, - 128, 0, 38);
sliderBG.Size = UDim2.new(0, 90, 0, 6);
sliderBG.BackgroundColor3 = Color3.fromRGB(50, 50, 60);
Instance.new("UICorner", sliderBG).CornerRadius = UDim.new(1, 0)
local fill = Instance.new("Frame", sliderBG);
fill.Size = UDim2.new(0.5, 0, 1, 0);
fill.BackgroundColor3 = Color3.fromRGB(255, 70, 70);
Instance.new("UICorner", fill).CornerRadius = UDim.new(1, 0)
local knob = Instance.new("Frame", sliderBG);
knob.Size = UDim2.fromOffset(12, 12);
knob.Position = UDim2.new(0.5, - 6, 0.5, - 6);
knob.BackgroundColor3 = Color3.new(1, 1, 1);
Instance.new("UICorner", knob).CornerRadius = UDim.new(1, 0);
knob.ZIndex = 2
local minusBtn = Instance.new("TextButton", card);
minusBtn.Size = UDim2.fromOffset(22, 22);
minusBtn.Position = UDim2.new(1, - 158, 0, 30);
minusBtn.Text = "−";
minusBtn.Font = Enum.Font.GothamBold;
minusBtn.TextSize = 14;
minusBtn.TextColor3 = Color3.new(1, 1, 1);
minusBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 60);
Instance.new("UICorner", minusBtn).CornerRadius = UDim.new(0, 6)
local plusBtn = Instance.new("TextButton", card);
plusBtn.Size = UDim2.fromOffset(22, 22);
plusBtn.Position = UDim2.new(1, - 30, 0, 30);
plusBtn.Text = "+";
plusBtn.Font = Enum.Font.GothamBold;
plusBtn.TextSize = 14;
plusBtn.TextColor3 = Color3.new(1, 1, 1);
plusBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 60);
Instance.new("UICorner", plusBtn).CornerRadius = UDim.new(0, 6)
local origVal = defaults[key] or tuner[key]
sliderCards[key] = {
valLbl = valLbl,
fill = fill,
knob = knob,
origVal = origVal,
minV = minV,
maxV = maxV
}
local function updateVisual(v)
local pct = math.clamp((v - minV) / (maxV - minV), 0, 1);
fill.Size = UDim2.new(pct, 0, 1, 0);
knob.Position = UDim2.new(pct, - 6, 0.5, - 6);
valLbl.Text = fmt(v);
valLbl.TextColor3 = (v ~= origVal and Color3.fromRGB(100, 220, 255) or Color3.fromRGB(255, 220, 100))
end
updateVisual(tuner[key])
local function setVal(newV)
newV = math.clamp(newV, minV, maxV);
newV = math.floor(newV / step + 0.5) * step;
if maxV == 16000 then
newV = math.floor(newV)
end
tuner[key] = newV;
updateVisual(newV);
captureLive()
end
local dragging = false;
sliderBG.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
end
end);
knob.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
end
end);
game:GetService("UserInputService").InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end);
game:GetService("UserInputService").InputChanged:Connect(function(i)
if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then
local rel = (i.Position.X - sliderBG.AbsolutePosition.X) / sliderBG.AbsoluteSize.X;
setVal(minV + math.clamp(rel, 0, 1) * (maxV - minV))
end
end)
minusBtn.MouseButton1Click:Connect(function()
setVal(tuner[key] - step)
end);
plusBtn.MouseButton1Click:Connect(function()
setVal(tuner[key] + step)
end)
return card
end
local function addToggle(key, displayName, cat, desc, onText, offText)
onText = onText or "ON";
offText = offText or "OFF"
local card = Instance.new("Frame");
card.Size = UDim2.new(1, - 6, 0, 52);
card.BackgroundColor3 = Color3.fromRGB(29, 29, 38);
card.Name = key;
Instance.new("UICorner", card).CornerRadius = UDim.new(0, 10);
local s = Instance.new("UIStroke", card);
s.Color = Color3.fromRGB(44, 44, 54);
s.Thickness = 1;
card.Parent = scroll;
card:SetAttribute("Category", cat);
card:SetAttribute("Key", displayName:lower() .. " " .. key:lower());
table.insert(allCards, card)
local nameLbl = Instance.new("TextLabel", card);
nameLbl.Position = UDim2.fromOffset(10, 8);
nameLbl.Size = UDim2.new(1, - 110, 0, 15);
nameLbl.BackgroundTransparency = 1;
nameLbl.Text = displayName;
nameLbl.Font = Enum.Font.GothamBold;
nameLbl.TextSize = 12;
nameLbl.TextColor3 = Color3.new(1, 1, 1);
nameLbl.TextXAlignment = Enum.TextXAlignment.Left
local typeLbl = Instance.new("TextLabel", card);
typeLbl.Position = UDim2.fromOffset(10, 24);
typeLbl.Size = UDim2.new(1, - 110, 0, 11);
typeLbl.BackgroundTransparency = 1;
typeLbl.Text = cat .. " • " .. desc;
typeLbl.Font = Enum.Font.Gotham;
typeLbl.TextSize = 9;
typeLbl.TextColor3 = Color3.fromRGB(135, 135, 145);
typeLbl.TextXAlignment = Enum.TextXAlignment.Left
local isOn = type(tuner[key]) == "number" and tuner[key] >= 1 or tuner[key] == true
local tog = Instance.new("TextButton", card);
tog.Size = UDim2.fromOffset(72, 28);
tog.Position = UDim2.new(1, - 82, 0, 12);
tog.BackgroundColor3 = isOn and Color3.fromRGB(0, 200, 100) or Color3.fromRGB(60, 60, 70);
tog.Text = isOn and onText or offText;
tog.Font = Enum.Font.GothamBold;
tog.TextSize = 10;
tog.TextColor3 = Color3.new(1, 1, 1);
tog.AutoButtonColor = false;
Instance.new("UICorner", tog).CornerRadius = UDim.new(0, 14)
local knob = Instance.new("Frame", tog);
knob.Size = UDim2.fromOffset(22, 22);
knob.Position = isOn and UDim2.fromOffset(47, 3) or UDim2.fromOffset(3, 3);
knob.BackgroundColor3 = Color3.new(1, 1, 1);
Instance.new("UICorner", knob).CornerRadius = UDim.new(1, 0)
tog.MouseButton1Click:Connect(function()
local curIsOn = type(tuner[key]) == "number" and tuner[key] >= 1 or tuner[key] == true
local newVal = type(tuner[key]) == "number" and (curIsOn and 0 or 1) or not curIsOn
tuner[key] = newVal
local on = type(newVal) == "number" and newVal >= 1 or newVal == true
tog.Text = on and onText or offText;
tog.BackgroundColor3 = on and Color3.fromRGB(0, 200, 100) or Color3.fromRGB(60, 60, 70);
knob.Position = on and UDim2.fromOffset(47, 3) or UDim2.fromOffset(3, 3)
captureLive()
end)
return card
end
addSlider("Redline", "Rev Limit", {
min = 4000,
max = 16000,
step = 250,
cat = "Engine",
desc = "Max RPM before limiter"
})
addSlider("E_Redline", "Secondary Rev Limit", {
min = 4000,
max = 16000,
step = 250,
cat = "Engine",
desc = "Secondary limiter"
})
addSlider("PeakRPM", "Peak Power RPM", {
min = 3000,
max = 16000,
step = 250,
cat = "Engine",
desc = "RPM at peak power"
})
addSlider("IdleRPM", "Idle RPM", {
min = 500,
max = 3000,
step = 50,
cat = "Engine",
desc = "Idle speed"
})
addSlider("Horsepower", "Horsepower", {
min = 20,
max = 1200,
step = 10,
cat = "Engine",
desc = "Engine output"
})
addSlider("E_Horsepower", "Extra Horsepower", {
min = 50,
max = 1200,
step = 10,
cat = "Engine",
desc = "Secondary output"
})
addSlider("RevAccel", "Throttle Response", {
min = 50,
max = 600,
step = 10,
cat = "Engine",
desc = "Engine responsiveness"
})
addToggle("Turbochargers", "Turbocharger", "Forced Induction", "Turbo system", "Installed", "Not Installed")
addToggle("Superchargers", "Supercharger", "Forced Induction", "Supercharger system", "Installed", "Not Installed")
addSlider("T_Boost", "Turbo Boost", {
min = 0,
max = 40,
step = 1,
cat = "Forced Induction",
desc = "Turbo boost pressure"
})
addSlider("S_Boost", "Supercharger Boost", {
min = 0,
max = 40,
step = 1,
cat = "Forced Induction",
desc = "Supercharger boost"
})
addSlider("Weight", "Vehicle Weight", {
min = 100,
max = 3000,
step = 20,
cat = "Weight",
desc = "Total mass (kg)"
})
addSlider("WeightDistribution", "Weight Balance", {
min = 20,
max = 80,
step = 1,
cat = "Weight",
desc = "Front weight %"
})
addSlider("CGHeight", "Center of Gravity", {
min = 0,
max = 3,
step = 0.05,
cat = "Weight",
desc = "CG height"
})
addSlider("FinalDrive", "Final Drive", {
min = 1,
max = 8,
step = 0.1,
cat = "Transmission",
desc = "Final drive ratio"
})
addSlider("ShiftUpTime", "Upshift Time", {
min = 0,
max = 1,
step = 0.05,
cat = "Transmission",
desc = "Upshift duration (s)"
})
addSlider("ShiftDnTime", "Downshift Time", {
min = 0,
max = 1,
step = 0.05,
cat = "Transmission",
desc = "Downshift duration (s)"
})
do
local card = Instance.new("Frame", scroll);
card.Size = UDim2.new(1, - 6, 0, 88);
card.BackgroundColor3 = Color3.fromRGB(29, 29, 38);
card.Name = "Ratios";
card:SetAttribute("Category", "Transmission");
card:SetAttribute("Key", "gear ratios");
Instance.new("UICorner", card).CornerRadius = UDim.new(0, 10);
local s = Instance.new("UIStroke", card);
s.Color = Color3.fromRGB(44, 44, 54);
local lbl = Instance.new("TextLabel", card);
lbl.Position = UDim2.fromOffset(10, 6);
lbl.Size = UDim2.new(1, - 20, 0, 14);
lbl.BackgroundTransparency = 1;
lbl.Text = "Gear Ratios (1 - 5)";
lbl.Font = Enum.Font.GothamBold;
lbl.TextSize = 12;
lbl.TextColor3 = Color3.new(1, 1, 1);
lbl.TextXAlignment = Enum.TextXAlignment.Left;
local sub2 = Instance.new("TextLabel", card);
sub2.Position = UDim2.fromOffset(10, 20);
sub2.Size = UDim2.new(1, - 20, 0, 11);
sub2.BackgroundTransparency = 1;
sub2.Text = "Transmission • Individual gear ratios";
sub2.Font = Enum.Font.Gotham;
sub2.TextSize = 9;
sub2.TextColor3 = Color3.fromRGB(135, 135, 145);
sub2.TextXAlignment = Enum.TextXAlignment.Left;
local row = Instance.new("Frame", card);
row.Position = UDim2.fromOffset(6, 36);
row.Size = UDim2.new(1, - 12, 0, 44);
row.BackgroundTransparency = 1;
local l = Instance.new("UIListLayout", row);
l.FillDirection = Enum.FillDirection.Horizontal;
l.Padding = UDim.new(0, 6);
l.HorizontalAlignment = Enum.HorizontalAlignment.Center;
for i = 1, 5 do
local col = Instance.new("Frame", row);
col.Size = UDim2.fromOffset(80, 44);
col.BackgroundColor3 = Color3.fromRGB(40, 40, 50);
Instance.new("UICorner", col).CornerRadius = UDim.new(0, 8);
local gl = Instance.new("TextLabel", col);
gl.Size = UDim2.new(1, 0, 0, 14);
gl.BackgroundTransparency = 1;
gl.Text = "Gear " .. i;
gl.Font = Enum.Font.GothamBold;
gl.TextSize = 10;
gl.TextColor3 = Color3.fromRGB(160, 160, 170);
local box = Instance.new("TextBox", col);
box.Position = UDim2.fromOffset(4, 16);
box.Size = UDim2.new(1, - 8, 0, 22);
box.Text = tostring(tuner.Ratios[i] or 0);
box.Font = Enum.Font.GothamBold;
box.TextSize = 12;
box.TextColor3 = Color3.fromRGB(255, 220, 100);
box.BackgroundColor3 = Color3.fromRGB(36, 36, 44);
box.ClearTextOnFocus = false;
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 6);
box.FocusLost:Connect(function(enter)
if enter then
local n = tonumber(box.Text);
if n then
tuner.Ratios[i] = n;
captureLive()
end
end
end)
end;
table.insert(allCards, card)
end
addToggle("ABS", "ABS", "Brakes", "Anti-lock Braking System", "Enabled", "Disabled")
addSlider("ABSThreshold", "ABS Threshold", {
min = 0,
max = 100,
step = 2,
cat = "Brakes",
desc = "ABS activation point"
})
addToggle("TCS", "Traction Control", "Brakes", "Traction Control System", "Enabled", "Disabled")
addSlider("TCSThreshold", "TCS Threshold", {
min = 0,
max = 100,
step = 2,
cat = "Brakes",
desc = "TCS activation point"
})
addSlider("BrakesRatio", "Brake Balance", {
min = 0,
max = 100,
step = 2,
cat = "Brakes",
desc = "Front brake bias %"
})
addSlider("FBrakeForce", "Front Brake Force", {
min = 0,
max = 5000,
step = 50,
cat = "Brakes",
desc = "Front braking force"
})
addSlider("RBrakeForce", "Rear Brake Force", {
min = 0,
max = 5000,
step = 50,
cat = "Brakes",
desc = "Rear braking force"
})
addSlider("SpeedLimit", "Top Speed Limit", {
min = 50,
max = 600,
step = 10,
cat = "Useful",
desc = "Maximum speed (km/h)"
})
addSlider("SteerAngle", "Steering Angle", {
min = 5,
max = 50,
step = 1,
cat = "Useful",
desc = "Max steering angle"
})
addSlider("FTireFriction", "Front Grip", {
min = 0.2,
max = 3,
step = 0.05,
cat = "Useful",
desc = "Front tire grip"
})
addSlider("RTireFriction", "Rear Grip", {
min = 0.2,
max = 3,
step = 0.05,
cat = "Useful",
desc = "Rear tire grip"
})
addSlider("Drag", "Aerodynamic Drag", {
min = 0,
max = 2,
step = 0.05,
cat = "Useful",
desc = "Air resistance"
})
local configCard = Instance.new("Frame", scroll);
configCard.Size = UDim2.new(1, - 6, 0, 110);
configCard.BackgroundColor3 = Color3.fromRGB(34, 34, 48);
configCard.Name = "__CONFIG__";
configCard:SetAttribute("Category", "Config");
configCard:SetAttribute("Key", "preset config");
Instance.new("UICorner", configCard).CornerRadius = UDim.new(0, 10);
local sc = Instance.new("UIStroke", configCard);
sc.Color = Color3.fromRGB(90, 90, 180);
sc.Thickness = 1.2;
local cTitle = Instance.new("TextLabel", configCard);
cTitle.Position = UDim2.fromOffset(10, 8);
cTitle.Size = UDim2.new(1, - 20, 0, 16);
cTitle.BackgroundTransparency = 1;
cTitle.Text = "Presets • Save / Load";
cTitle.Font = Enum.Font.GothamBold;
cTitle.TextSize = 12;
cTitle.TextColor3 = Color3.fromRGB(160, 180, 255);
cTitle.TextXAlignment = Enum.TextXAlignment.Left;
local cDesc = Instance.new("TextLabel", configCard);
cDesc.Position = UDim2.fromOffset(10, 24);
cDesc.Size = UDim2.new(1, - 20, 0, 10);
cDesc.BackgroundTransparency = 1;
cDesc.Text = "Save current setup for later use";
cDesc.Font = Enum.Font.Gotham;
cDesc.TextSize = 9;
cDesc.TextColor3 = Color3.fromRGB(130, 130, 150);
cDesc.TextXAlignment = Enum.TextXAlignment.Left;
local btnSave = Instance.new("TextButton", configCard);
btnSave.Position = UDim2.fromOffset(8, 42);
btnSave.Size = UDim2.new(0.5, - 12, 0, 28);
btnSave.Text = "Save Preset";
btnSave.Font = Enum.Font.GothamBold;
btnSave.TextSize = 11;
btnSave.TextColor3 = Color3.new(1, 1, 1);
btnSave.BackgroundColor3 = Color3.fromRGB(70, 90, 220);
Instance.new("UICorner", btnSave).CornerRadius = UDim.new(0, 8);
local btnLoad = Instance.new("TextButton", configCard);
btnLoad.Position = UDim2.new(0.5, 4, 0, 42);
btnLoad.Size = UDim2.new(0.5, - 12, 0, 28);
btnLoad.Text = "Load Preset";
btnLoad.Font = Enum.Font.GothamBold;
btnLoad.TextSize = 11;
btnLoad.TextColor3 = Color3.new(1, 1, 1);
btnLoad.BackgroundColor3 = Color3.fromRGB(50, 50, 60);
Instance.new("UICorner", btnLoad).CornerRadius = UDim.new(0, 8);
local btnReset = Instance.new("TextButton", configCard);
btnReset.Position = UDim2.fromOffset(8, 74);
btnReset.Size = UDim2.new(1, - 16, 0, 28);
btnReset.Text = "Restore Defaults";
btnReset.Font = Enum.Font.GothamBold;
btnReset.TextSize = 11;
btnReset.TextColor3 = Color3.new(1, 1, 1);
btnReset.BackgroundColor3 = Color3.fromRGB(180, 50, 50);
Instance.new("UICorner", btnReset).CornerRadius = UDim.new(0, 8);
table.insert(allCards, configCard)
local _preset = nil
btnSave.MouseButton1Click:Connect(function()
_preset = {};
for k, v in pairs(tuner) do
if type(v) == "number" or type(v) == "boolean" then
_preset[k] = v
end
end;
if tuner.Ratios then
_preset["Ratios"] = {
tuner.Ratios[1],
tuner.Ratios[2],
tuner.Ratios[3],
tuner.Ratios[4],
tuner.Ratios[5]
}
end;
saveGlobal(_preset);
btnSave.Text = "Saved!";
showToast("Preset saved to _G", Color3.fromRGB(70, 90, 220));
task.wait(0.8);
btnSave.Text = "Save Preset"
end)
btnLoad.MouseButton1Click:Connect(function()
local src = _preset or loadGlobal()
if not src then
showToast("No preset saved", Color3.fromRGB(180, 50, 50));
return
end
for k, v in pairs(src) do
if k == "Ratios" then
for i = 1, 5 do
tuner.Ratios[i] = v[i]
end
elseif tuner[k] ~= nil then
tuner[k] = v
end
end
for key, info in pairs(sliderCards) do
if tuner[key] ~= nil then
local v = tuner[key];
local pct = math.clamp((v - info.minV) / (info.maxV - info.minV), 0, 1);
info.fill.Size = UDim2.new(pct, 0, 1, 0);
info.knob.Position = UDim2.new(pct, - 6, 0.5, - 6);
info.valLbl.Text = fmt(v)
end
end
saveGlobal(src);
showToast("Preset loaded", Color3.fromRGB(50, 180, 90))
end)
btnReset.MouseButton1Click:Connect(function()
for k, v in pairs(defaults) do
if k == "Ratios" then
for i = 1, 5 do
tuner.Ratios[i] = v[i]
end
elseif tuner[k] ~= nil then
tuner[k] = v
end
end
for key, info in pairs(sliderCards) do
if tuner[key] ~= nil then
local v = tuner[key];
local pct = math.clamp((v - info.minV) / (info.maxV - info.minV), 0, 1);
info.fill.Size = UDim2.new(pct, 0, 1, 0);
info.knob.Position = UDim2.new(pct, - 6, 0.5, - 6);
info.valLbl.Text = fmt(v)
end
end
captureLive();
showToast("Restored defaults", Color3.fromRGB(180, 50, 50))
end)
-- Tabs
local tabNames = {
"All",
"Engine",
"Forced Induction",
"Weight",
"Transmission",
"Brakes",
"Useful",
"Config"
}
local catKeys = {
"All",
"Engine",
"Forced Induction",
"Weight",
"Transmission",
"Brakes",
"Useful",
"Config"
}
local activeTab = "All"
local function filter()
for _, card in ipairs(allCards) do
local cat = card:GetAttribute("Category");
card.Visible = (activeTab == "All" or cat == activeTab)
end
end
for i, name in ipairs(tabNames) do
local catKey = catKeys[i];
local b = Instance.new("TextButton");
b.Size = UDim2.fromOffset(0, 26);
b.AutomaticSize = Enum.AutomaticSize.X;
b.Text = " " .. name .. " ";
b.Font = Enum.Font.GothamBold;
b.TextSize = 10;
b.TextColor3 = (catKey == activeTab and Color3.new(1, 1, 1) or Color3.fromRGB(170, 170, 180));
b.BackgroundColor3 = (catKey == activeTab and Color3.fromRGB(255, 70, 70) or Color3.fromRGB(36, 36, 44));
b.AutoButtonColor = false;
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 8);
b.Parent = tabBar;
b.MouseButton1Click:Connect(function()
activeTab = catKey;
for _, ch in ipairs(tabBar:GetChildren()) do
if ch:IsA("TextButton") then
ch.BackgroundColor3 = Color3.fromRGB(36, 36, 44);
ch.TextColor3 = Color3.fromRGB(170, 170, 180)
end
end;
b.BackgroundColor3 = Color3.fromRGB(255, 70, 70);
b.TextColor3 = Color3.new(1, 1, 1);
filter()
end)
end
local UIS = game:GetService("UserInputService");
local dragging, dragStart, startPos;
top.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true;
dragStart = input.Position;
startPos = main.Position
end
end);
UIS.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement 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);
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
local minimized = false;
local fullSize = main.Size;
local miniSize = UDim2.fromOffset(500, 50)
btnMin.MouseButton1Click:Connect(function()
minimized = not minimized;
if minimized then
main.Size = miniSize;
btnMin.Text = "□";
content.Visible = false;
actionRow.Visible = false;
carRow.Visible = false
else
main.Size = fullSize;
btnMin.Text = "—";
content.Visible = true;
actionRow.Visible = true;
carRow.Visible = true
end
end)
btnClose.MouseButton1Click:Connect(function()
gui:Destroy()
end)
local function rebuildDropdown()
for _, c in ipairs(dropdown:GetChildren()) do
if c:IsA("TextButton") then
c:Destroy()
end
end
local cars = findAllCars()
for _, car in ipairs(cars) do
local b = Instance.new("TextButton", dropdown);
b.Size = UDim2.new(1, - 6, 0, 28);
b.BackgroundColor3 = (car == currentCar and Color3.fromRGB(255, 70, 70) or Color3.fromRGB(36, 36, 44));
b.Text = " " .. car.Name .. (car == currentCar and " ✓" or "");
b.Font = Enum.Font.Gotham;
b.TextSize = 11;
b.TextColor3 = Color3.new(1, 1, 1);
b.TextXAlignment = Enum.TextXAlignment.Left;
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
if car.Name:lower():find(LocalPlayer.Name:lower(), 1, true) then
b.BackgroundColor3 = (car == currentCar and Color3.fromRGB(0, 170, 90) or Color3.fromRGB(40, 80, 60));
b.Text = " ★ " .. car.Name .. (car == currentCar and " ✓" or "")
end
b.MouseButton1Click:Connect(function()
captureLive()
currentCar = car;
tuner = getTuner(car);
workspace:SetAttribute("TunerLastCar", car.Name)
local s = loadGlobal()
if s then
for k, v in pairs(s) do
if k == "Ratios" and tuner.Ratios then
for i = 1, 5 do
if v[i] ~= nil then
tuner.Ratios[i] = v[i]
end
end
elseif tuner[k] ~= nil then
tuner[k] = v
end
end
end
carLabel.Text = "🚗 " .. car.Name;
carLabel.TextColor3 = Color3.fromRGB(100, 220, 255)
dropdown.Visible = false;
btnPick.Text = "Select"
for key, info in pairs(sliderCards) do
if tuner[key] ~= nil then
local v = tuner[key];
local pct = math.clamp((v - info.minV) / (info.maxV - info.minV), 0, 1);
info.fill.Size = UDim2.new(pct, 0, 1, 0);
info.knob.Position = UDim2.new(pct, - 6, 0.5, - 6);
info.valLbl.Text = fmt(v)
end
end
showToast("Switched & applied tune to " .. car.Name, Color3.fromRGB(70, 90, 220), 1.2)
end)
end
end
rebuildDropdown()
btnPick.MouseButton1Click:Connect(function()
dropdown.Visible = not dropdown.Visible;
btnPick.Text = dropdown.Visible and "Close" or "Select";
if dropdown.Visible then
rebuildDropdown()
end
end)
btnRefresh.MouseButton1Click:Connect(function()
rebuildDropdown()
if currentCar and currentCar.Parent and currentCar:FindFirstChild("Tuner") then
showToast("Refreshed", Color3.fromRGB(60, 140, 255), 1)
else
local nc = getPreferredCar()
if nc then
currentCar = nc;
tuner = getTuner(nc)
local s = loadGlobal()
if s then
for k, v in pairs(s) do
if k == "Ratios" and tuner.Ratios then
for i = 1, 5 do
if v[i] ~= nil then
tuner.Ratios[i] = v[i]
end
end
elseif tuner[k] ~= nil then
tuner[k] = v
end
end
end
carLabel.Text = "🚗 " .. nc.Name .. (s and " ✓ restored" or "");
carLabel.TextColor3 = s and Color3.fromRGB(0, 220, 120) or Color3.fromRGB(100, 220, 255)
for key, info in pairs(sliderCards) do
if tuner[key] ~= nil then
local v = tuner[key];
local pct = math.clamp((v - info.minV) / (info.maxV - info.minV), 0, 1);
info.fill.Size = UDim2.new(pct, 0, 1, 0);
info.knob.Position = UDim2.new(pct, - 6, 0.5, - 6);
info.valLbl.Text = fmt(v)
end
end
showToast("Switched to " .. nc.Name, Color3.fromRGB(0, 180, 90), 1)
else
showToast("No vehicle found", Color3.fromRGB(180, 50, 50), 1)
end
end
end)
btnWarp.MouseButton1Click:Connect(function()
local car = currentCar
if not car or not car.Parent then
car = getPreferredCar();
if car then
currentCar = car;
tuner = getTuner(car);
carLabel.Text = "🚗 " .. car.Name
end
end
if not car or not car.Parent then
showToast("No vehicle found", Color3.fromRGB(180, 50, 50), 1);
return
end
local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")
local seat = car:FindFirstChild("DriveSeat")
if not seat then
showToast("No seat", Color3.fromRGB(180, 50, 50), 1);
return
end
hrp.CFrame = seat.CFrame * CFrame.new(0, 3, 0);
task.wait(0.1);
local hum = char:FindFirstChildOfClass("Humanoid");
if hum then
seat:Sit(hum)
end
end)
btnApply.MouseButton1Click:Connect(function()
captureLive()
local toApply = loadGlobal()
if not toApply or next(toApply) == nil then
showToast("No tune to apply", Color3.fromRGB(180, 50, 50), 1);
return
end
local car = currentCar
if not car or not car.Parent or not car:FindFirstChild("Tuner") then
car = getPreferredCar();
if car then
currentCar = car;
carLabel.Text = "🚗 " .. car.Name
else
showToast("No vehicle", Color3.fromRGB(180, 50, 50), 1);
return
end
end
local targetTuner = getTuner(car)
if not targetTuner then
showToast("Cannot access tuner", Color3.fromRGB(180, 50, 50), 1);
return
end
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local hrp = char and char:FindFirstChild("HumanoidRootPart")
local wasSeated = hum and hum.SeatPart ~= nil
local prevSeat = hum and hum.SeatPart
local targetSeat = car:FindFirstChild("DriveSeat")
btnApply.Text = "Applying..."
if wasSeated and hum and hrp then
hum.Sit = false;
if prevSeat then
pcall(function()
prevSeat.Disabled = true
end)
end;
hum.Jump = true;
pcall(function()
hum:ChangeState(Enum.HumanoidStateType.Jumping)
end)
local t0 = tick();
repeat
task.wait(0.03);
if hum.SeatPart == nil then
break
end;
hum.Jump = true
until tick() - t0 > 0.4
if prevSeat then
pcall(function()
prevSeat.Disabled = false
end)
end;
task.wait(0.06)
end
local count = 0
for k, v in pairs(toApply) do
if k == "Ratios" and type(v) == "table" and targetTuner.Ratios then
for i = 1, 5 do
if v[i] ~= nil then
targetTuner.Ratios[i] = v[i];
count += 1
end
end
elseif targetTuner[k] ~= nil then
targetTuner[k] = v;
count += 1
end
end
tuner = targetTuner
if wasSeated and hum and targetSeat and hum.Parent then
if hrp and targetSeat then
hrp.CFrame = targetSeat.CFrame * CFrame.new(0, 2, 0)
end;
task.wait(0.06);
pcall(function()
targetSeat:Sit(hum)
end)
end
btnApply.Text = "Apply Tune"
showToast("Applied " .. count .. " values to " .. car.Name, Color3.fromRGB(0, 170, 90), 1.2)
end)
local lastNotify = 0
workspace.ChildAdded:Connect(function(obj)
task.wait(0.4)
if not obj:FindFirstChild("Tuner") or not obj:FindFirstChild("DriveSeat") then
return
end
rebuildDropdown()
local isMine = obj.Name:lower():find(LocalPlayer.Name:lower(), 1, true) ~= nil
if not isMine then
return
end
if tick() - lastNotify < 3 then
return
end
lastNotify = tick()
local s = loadGlobal()
if s and next(s) ~= nil then
local t = getTuner(obj)
if t then
for k, v in pairs(s) do
if k == "Ratios" and t.Ratios then
for i = 1, 5 do
if v[i] ~= nil then
t.Ratios[i] = v[i]
end
end
elseif t[k] ~= nil then
t[k] = v
end
end
end
if not currentCar or not currentCar.Parent then
currentCar = obj;
tuner = t or getTuner(obj);
carLabel.Text = "🚗 " .. obj.Name .. " ✓ auto-applied";
carLabel.TextColor3 = Color3.fromRGB(0, 220, 120)
for key, info in pairs(sliderCards) do
if tuner[key] ~= nil then
local v = tuner[key];
local pct = math.clamp((v - info.minV) / (info.maxV - info.minV), 0, 1);
info.fill.Size = UDim2.new(pct, 0, 1, 0);
info.knob.Position = UDim2.new(pct, - 6, 0.5, - 6);
info.valLbl.Text = fmt(v)
end
end
end
showToast("New vehicle — tune auto-applied to " .. obj.Name, Color3.fromRGB(0, 170, 90), 2)
else
showToast("New vehicle: " .. obj.Name, Color3.fromRGB(70, 90, 220), 1.2)
end
end)
workspace.ChildRemoved:Connect(function(obj)
if obj == currentCar then
carLabel.Text = "Vehicle removed — select another";
carLabel.TextColor3 = Color3.fromRGB(255, 80, 80)
end;
task.wait(0.3);
rebuildDropdown()
end)
print("Tuner v3.6 loaded — Vehicle: " .. currentCar.Name)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
