local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local Workspace = game:GetService("Workspace") local lp = Players.LocalPlayer do local old = CoreGui:FindFirstChild("GD_ModShop") if old then old:Destroy() end end local F = { Black = Enum.Font.GothamBlack, Bold = Enum.Font.GothamBold, SemiBold = Enum.Font.GothamSemibold, Regular = Enum.Font.Gotham, Mono = Enum.Font.Code, } local T = { bg = Color3.fromHex("0a0a0a"), s1 = Color3.fromHex("111111"), s2 = Color3.fromHex("181818"), s3 = Color3.fromHex("202020"), s4 = Color3.fromHex("2a2a2a"), line = Color3.fromHex("1e1e1e"), acc = Color3.fromHex("ffffff"), t = Color3.fromHex("eeeeee"), t2 = Color3.fromHex("888888"), t3 = Color3.fromHex("444444"), grn = Color3.fromHex("4ade80"), red = Color3.fromHex("f87171"), ylw = Color3.fromHex("fbbf24"), } local cfg = { EngineStage = 1, TurboStage = 0, LongBlockStage = 1, WeightStage = 1, Drivetrain = "RWD", FCamber = -2.0, RCamber = -2.5, FOffset = 0, ROffset = 0, TireStage = 1, BrakeStage = 1, PBrakeStage = 1, BodyColor = Color3.fromHex("111111"), FinishType = "Gloss", ExhaustMuffler = 1, HighEQ = 0, MidEQ = 0, LowEQ = 0, BackfireStage = 0, StackBoost = false, CustomHP = false, HPOverride = 300, MaxRPM = 8000, TrafficGhost = false, TrafficPct = 100, InfNitro = false, SpeedLock = false, SpeedLockVal = 200, } local MULT = { engine = {1, 1.08, 1.15, 1.20, 1.25}, turbo_psi = {0, 6, 12, 18}, turbo_hp = {0, 15, 30, 50}, brake = {1, 1.15, 1.30, 1.45, 1.60}, handbrake = {1, 2.0, 2.6, 3.2, 4.0}, } local function getMyCar() local char = lp.Character if not char then return nil end for _, m in ipairs(Workspace:GetChildren()) do if m:IsA("Model") then local seat = m:FindFirstChild("DriveSeat") if seat and seat.Occupant and seat.Occupant.Parent == char then return m end end end return nil end local function calcHP() if cfg.CustomHP then return cfg.HPOverride end local em = MULT.engine[math.clamp(cfg.EngineStage, 1, 5)] local th = MULT.turbo_hp[math.clamp(cfg.TurboStage + 1, 1, 4)] return math.floor(300 * em * (1 + th / 100)) end local function calcWT() return math.max(750, 1500 - (cfg.WeightStage - 1) * 100) end local function round(n, d) local f = 10 ^ (d or 0) return math.floor(n * f + 0.5) / f end local originalSeatValues = {} local function applyTuning() local car = getMyCar() if not car then return false end car:SetAttribute("EngineStage", cfg.EngineStage) car:SetAttribute("TurboStage", cfg.TurboStage) car:SetAttribute("LongBlockStage", cfg.LongBlockStage) car:SetAttribute("WeightStage", cfg.WeightStage) car:SetAttribute("DrivetrainStage", cfg.Drivetrain) car:SetAttribute("FrontCamber", cfg.FCamber) car:SetAttribute("RearCamber", cfg.RCamber) car:SetAttribute("FrontWheelOffset", cfg.FOffset) car:SetAttribute("RearWheelOffset", cfg.ROffset) car:SetAttribute("TireStage", cfg.TireStage) car:SetAttribute("BrakeStage", cfg.BrakeStage) car:SetAttribute("PBrakeStage", cfg.PBrakeStage) car:SetAttribute("ExhaustMuffler", cfg.ExhaustMuffler) car:SetAttribute("ExhaustHigh", cfg.HighEQ) car:SetAttribute("ExhaustMid", cfg.MidEQ) car:SetAttribute("ExhaustLow", cfg.LowEQ) car:SetAttribute("BackfireStage", cfg.BackfireStage) car:SetAttribute("MaxRPM", cfg.MaxRPM) if cfg.CustomHP then car:SetAttribute("HorsepowerOverride", cfg.HPOverride) car:SetAttribute("UseHPOverride", true) else car:SetAttribute("UseHPOverride", false) end if cfg.StackBoost then car:SetAttribute("TurboStage", 5) car:SetAttribute("SuperchargerStage", 5) end local seat = car:FindFirstChild("DriveSeat") if seat and seat:IsA("VehicleSeat") then local id = tostring(car) if not originalSeatValues[id] then originalSeatValues[id] = { MaxSpeed = seat.MaxSpeed, Torque = seat.Torque, } end local orig = originalSeatValues[id] local ratio = calcHP() / 300 seat.MaxSpeed = math.clamp(orig.MaxSpeed * ratio, 10, 2000) seat.Torque = math.clamp(orig.Torque * ratio, 1, 500) end local gripMult = 1.0 + (cfg.TireStage - 1) * 0.2 for _, p in ipairs(car:GetDescendants()) do if p:IsA("BasePart") then local n = p.Name:lower() if n:find("wheel") or n:find("tire") or n:find("tyre") then pcall(function() local cp = p.CustomPhysicalProperties local baseFric = (cp.Friction > 0) and cp.Friction or 0.5 local baseDen = (cp.Density > 0) and cp.Density or 0.7 p.CustomPhysicalProperties = PhysicalProperties.new( baseDen, math.clamp(baseFric * gripMult, 0.1, 5), cp.Elasticity, cp.FrictionWeight, cp.ElasticityWeight ) end) end end end for _, p in ipairs(car:GetDescendants()) do if p:IsA("BasePart") and p.Name ~= "CoreHitbox" and p.Name ~= "DriveSeat" then p.Color = cfg.BodyColor end end return true end local trafficGhostConn = nil local function setTrafficGhost(enabled) if trafficGhostConn then trafficGhostConn:Disconnect() trafficGhostConn = nil end if enabled then trafficGhostConn = RunService.Heartbeat:Connect(function() local myCar = getMyCar() for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("Model") and obj ~= myCar then local hasSeat = obj:FindFirstChildOfClass("VehicleSeat") or obj:FindFirstChild("DriveSeat") local hasHuman = obj:FindFirstChildOfClass("Humanoid") if hasSeat or hasHuman then for _, p in ipairs(obj:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end end end end) end end local function deleteAllTraffic() for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("Model") and obj ~= getMyCar() then local hasSeat = obj:FindFirstChildOfClass("VehicleSeat") or obj:FindFirstChild("DriveSeat") if hasSeat then obj:Destroy() end end end local scripts = lp:FindFirstChild("PlayerScripts") if scripts then for _, s in ipairs(scripts:GetDescendants()) do if s:IsA("LocalScript") and s.Name:lower():find("traffic") then s.Disabled = true end end end end local nitroConn = nil local function setInfNitro(on) if nitroConn then nitroConn:Disconnect(); nitroConn = nil end if on then nitroConn = RunService.Heartbeat:Connect(function() local car = getMyCar() if not car then return end car:SetAttribute("Nitro", 100) car:SetAttribute("NitroAmount", 100) car:SetAttribute("BoostFuel", 100) end) end end local speedConn = nil local function setSpeedLock(on) if speedConn then speedConn:Disconnect(); speedConn = nil end if on then speedConn = RunService.Heartbeat:Connect(function() local car = getMyCar() if not car then return end local root = car:FindFirstChild("DriveSeat") or car.PrimaryPart if root and root:IsA("BasePart") then local v = root.AssemblyLinearVelocity local spd = v.Magnitude local limitMPS = cfg.SpeedLockVal * 0.44704 if spd > limitMPS then root.AssemblyLinearVelocity = v.Unit * limitMPS end end end) end end local function inst(cls, props, parent) local i = Instance.new(cls) for k, v in pairs(props) do if k ~= "Parent" then i[k] = v end end if parent then i.Parent = parent end return i end local function addCorner(r, p) inst("UICorner", {CornerRadius = UDim.new(0, r)}, p) end local function addStroke(c, t, p) local existing = p:FindFirstChildOfClass("UIStroke") if existing then existing:Destroy() end inst("UIStroke", {Color = c, Thickness = t or 1, ApplyStrokeMode = Enum.ApplyStrokeMode.Border}, p) end local SG = inst("ScreenGui", { Name = "GD_ModShop", ResetOnSpawn = false, ZIndexBehavior = Enum.ZIndexBehavior.Sibling, DisplayOrder = 99, }, CoreGui) local Main = inst("Frame", { Name = "Main", Size = UDim2.new(0, 500, 0, 700), Position = UDim2.new(0.5, -250, 0.5, -350), BackgroundColor3 = T.bg, BorderSizePixel = 0, Active = true, Draggable = true, ClipsDescendants = true, }, SG) addCorner(14, Main) local Header = inst("Frame", { Size = UDim2.new(1, 0, 0, 58), BackgroundColor3 = T.s1, BorderSizePixel = 0, }, Main) addCorner(14, Header) inst("Frame", {Size = UDim2.new(1,0,0,14), Position = UDim2.new(0,0,1,-14), BackgroundColor3 = T.s1, BorderSizePixel = 0}, Header) inst("Frame", {Size = UDim2.new(1,0,0,1), Position = UDim2.new(0,0,1,-1), BackgroundColor3 = T.line, BorderSizePixel = 0}, Header) local CarNameLabel = inst("TextLabel", { Text = "No vehicle", Size = UDim2.new(0,320,0,22), Position = UDim2.new(0,16,0,9), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 17, TextXAlignment = Enum.TextXAlignment.Left, }, Header) inst("TextLabel", { Text = "developed by wish · mod shop", Size = UDim2.new(0,320,0,16), Position = UDim2.new(0,16,0,30), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.Regular, TextSize = 11, TextXAlignment = Enum.TextXAlignment.Left, }, Header) local CloseBtn = inst("TextButton", { Text = "✕", Size = UDim2.new(0,28,0,28), Position = UDim2.new(1,-42,0,15), BackgroundColor3 = T.s3, TextColor3 = T.t2, Font = F.Bold, TextSize = 12, BorderSizePixel = 0, }, Header) addCorner(7, CloseBtn) CloseBtn.MouseButton1Click:Connect(function() SG:Destroy() end) local MinBtn = inst("TextButton", { Text = "−", Size = UDim2.new(0,28,0,28), Position = UDim2.new(1,-76,0,15), BackgroundColor3 = T.s3, TextColor3 = T.t2, Font = F.Bold, TextSize = 15, BorderSizePixel = 0, }, Header) addCorner(7, MinBtn) local VPHolder = inst("Frame", { Size = UDim2.new(1,0,0,155), Position = UDim2.new(0,0,0,58), BackgroundColor3 = T.s1, BorderSizePixel = 0, ClipsDescendants = true, }, Main) local VP = inst("ViewportFrame", { Size = UDim2.new(1,0,1,0), BackgroundColor3 = T.s1, BackgroundTransparency = 0, BorderSizePixel = 0, LightColor = Color3.new(1,1,1), LightDirection = Vector3.new(-1,-2,-1), Ambient = Color3.fromRGB(90,90,90), }, VPHolder) local VPCam = Instance.new("Camera") VPCam.FieldOfView = 40 VPCam.Parent = VP VP.CurrentCamera = VPCam inst("Frame", {Size = UDim2.new(1,0,0,1), Position = UDim2.new(0,0,1,-1), BackgroundColor3 = T.line, BorderSizePixel = 0}, VPHolder) local vpNoCarLabel = inst("TextLabel", { Text = "get in a vehicle", Size = UDim2.new(1,0,1,0), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.SemiBold, TextSize = 13, }, VPHolder) local StatRow = inst("Frame", { Size = UDim2.new(1,0,0,52), Position = UDim2.new(0,0,0,213), BackgroundColor3 = T.bg, BorderSizePixel = 0, }, Main) inst("Frame", {Size = UDim2.new(1,0,0,1), Position = UDim2.new(0,0,1,-1), BackgroundColor3 = T.line, BorderSizePixel = 0}, StatRow) local statLabels = {"POWER","WEIGHT","GRIP","PSI"} local statDefaults = {"300hp","1500kg","1.0×","0"} local statRefs = {} for i = 1, 4 do local col = inst("Frame", { Size = UDim2.new(0.25,0,1,0), Position = UDim2.new((i-1)*0.25,0,0,0), BackgroundTransparency = 1, BorderSizePixel = 0, }, StatRow) if i < 4 then inst("Frame", {Size = UDim2.new(0,1,0,28), Position = UDim2.new(1,0,0.5,-14), BackgroundColor3 = T.line, BorderSizePixel = 0}, col) end inst("TextLabel", {Text = statLabels[i], Size = UDim2.new(1,0,0,14), Position = UDim2.new(0,0,0,7), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.Bold, TextSize = 9}, col) local val = inst("TextLabel", {Text = statDefaults[i], Size = UDim2.new(1,0,0,22), Position = UDim2.new(0,0,0,20), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Black, TextSize = 16}, col) local bar = inst("Frame", {Size = UDim2.new(0.4,0,0,2), Position = UDim2.new(0,0,1,-2), BackgroundColor3 = T.acc, BorderSizePixel = 0}, col) statRefs[i] = {val = val, bar = bar} end local function updateStats() local hp = calcHP() local wt = calcWT() local gp = round(1.0 + (cfg.TireStage-1)*0.2, 1) local psi = MULT.turbo_psi[math.clamp(cfg.TurboStage+1,1,4)] statRefs[1].val.Text = hp.."hp" statRefs[2].val.Text = wt.."kg" statRefs[3].val.Text = tostring(gp).."×" statRefs[4].val.Text = tostring(psi) statRefs[1].bar.Size = UDim2.new(math.clamp(hp/500,0,1),0,0,2) statRefs[2].bar.Size = UDim2.new(math.clamp(1-(wt-750)/750,0,1),0,0,2) statRefs[3].bar.Size = UDim2.new(math.clamp((gp-1)/0.8,0,1),0,0,2) statRefs[4].bar.Size = UDim2.new(math.clamp(psi/18,0,1),0,0,2) end local TABS = {"Engine","Handling","Brakes","Paint","Exhaust","Traffic","Exploit"} local TabBar = inst("Frame", { Size = UDim2.new(1,0,0,40), Position = UDim2.new(0,0,0,265), BackgroundColor3 = T.s1, BorderSizePixel = 0, }, Main) inst("Frame", {Size = UDim2.new(1,0,0,1), Position = UDim2.new(0,0,1,-1), BackgroundColor3 = T.line, BorderSizePixel = 0}, TabBar) local Scroll = inst("ScrollingFrame", { Size = UDim2.new(1,0,0,340), Position = UDim2.new(0,0,0,305), BackgroundTransparency = 1, BorderSizePixel = 0, ScrollBarThickness = 3, ScrollBarImageColor3 = T.s4, CanvasSize = UDim2.new(0,0,0,0), AutomaticCanvasSize = Enum.AutomaticSize.Y, }, Main) local Footer = inst("Frame", { Size = UDim2.new(1,0,0,56), Position = UDim2.new(0,0,1,-56), BackgroundColor3 = T.s1, BorderSizePixel = 0, }, Main) addCorner(14, Footer) inst("Frame", {Size = UDim2.new(1,0,0,14), Position = UDim2.new(0,0,0,0), BackgroundColor3 = T.s1, BorderSizePixel = 0}, Footer) inst("Frame", {Size = UDim2.new(1,0,0,1), Position = UDim2.new(0,0,0,0), BackgroundColor3 = T.line, BorderSizePixel = 0}, Footer) local ResetBtn = inst("TextButton", { Text = "↺", Size = UDim2.new(0,40,0,38), Position = UDim2.new(0,12,0.5,-19), BackgroundColor3 = T.s3, TextColor3 = T.t2, Font = F.Bold, TextSize = 18, BorderSizePixel = 0, }, Footer) addCorner(10, ResetBtn) local ApplyBtn = inst("TextButton", { Text = "Apply mods", Size = UDim2.new(1,-64,0,38), Position = UDim2.new(0,58,0.5,-19), BackgroundColor3 = T.acc, TextColor3 = T.bg, Font = F.Black, TextSize = 14, BorderSizePixel = 0, }, Footer) addCorner(10, ApplyBtn) local Toast = inst("TextLabel", { Text = "", Size = UDim2.new(1,-32,0,34), Position = UDim2.new(0,16,1,-100), BackgroundColor3 = T.s3, TextColor3 = T.grn, Font = F.SemiBold, TextSize = 12, BackgroundTransparency = 1, BorderSizePixel = 0, Visible = false, }, Main) addCorner(8, Toast) local toastThread = nil local function showToast(msg, col) Toast.Text = msg Toast.TextColor3 = col or T.grn Toast.BackgroundTransparency = 0 Toast.Visible = true if toastThread then task.cancel(toastThread) end toastThread = task.delay(2.2, function() Toast.Visible = false toastThread = nil end) end ApplyBtn.MouseButton1Click:Connect(function() local ok = applyTuning() if ok then showToast(" ✓ Applied to " .. (getMyCar() and getMyCar().Name or "vehicle"), T.grn) else showToast(" ✗ Get in a vehicle first", T.red) end end) ResetBtn.MouseButton1Click:Connect(function() showToast(" ↺ Reset to defaults", T.t2) end) local panels = {} local activePanel = nil local tabBtns = {} local activeLine = nil for _, name in ipairs(TABS) do local p = inst("Frame", { Name = name, Size = UDim2.new(1,0,1,0), BackgroundTransparency = 1, BorderSizePixel = 0, Visible = false, }, Scroll) inst("UIListLayout", {Padding = UDim.new(0,8), HorizontalAlignment = Enum.HorizontalAlignment.Center, SortOrder = Enum.SortOrder.LayoutOrder}, p) inst("UIPadding", {PaddingTop = UDim.new(0,12), PaddingBottom = UDim.new(0,16)}, p) panels[name] = p end local function switchTab(name) if activePanel then activePanel.Visible = false end activePanel = panels[name] activePanel.Visible = true Scroll.CanvasPosition = Vector2.new(0,0) for tname, btn in pairs(tabBtns) do btn.TextColor3 = T.t3 if tname == name then btn.TextColor3 = T.acc end end if activeLine then for i, t in ipairs(TABS) do if t == name then activeLine.Position = UDim2.new((i-1)/#TABS, 0, 1, -2) end end end end for i, name in ipairs(TABS) do local short = name == "Handling" and "HNDLNG" or name == "Traffic" and "TRAFFC" or name == "Exploit" and "XPLOIT" or string.upper(name) local btn = inst("TextButton", { Text = short, Size = UDim2.new(1/#TABS,0,1,0), Position = UDim2.new((i-1)/#TABS,0,0,0), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.Bold, TextSize = 9, BorderSizePixel = 0, }, TabBar) tabBtns[name] = btn btn.MouseButton1Click:Connect(function() switchTab(name) end) end activeLine = inst("Frame", { Size = UDim2.new(1/#TABS,0,0,2), Position = UDim2.new(0,0,1,-2), BackgroundColor3 = T.acc, BorderSizePixel = 0, }, TabBar) local function mkLabel(text, parent, order) local f = inst("Frame", {Size = UDim2.new(1,-24,0,20), BackgroundTransparency = 1, BorderSizePixel = 0, LayoutOrder = order or 0}, parent) inst("TextLabel", {Text = string.upper(text), Size = UDim2.new(1,0,1,0), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.SemiBold, TextSize = 10, TextXAlignment = Enum.TextXAlignment.Left}, f) return f end local function mkModRow(icon, title, descText, stages, parent, order, onStage) local row = inst("Frame", { Size = UDim2.new(1,-24,0,50), BackgroundColor3 = T.s2, BorderSizePixel = 0, LayoutOrder = order or 0, ClipsDescendants = true, }, parent) addCorner(10, row) addStroke(T.line, 1, row) local ib = inst("Frame", {Size = UDim2.new(0,32,0,32), Position = UDim2.new(0,11,0.5,-16), BackgroundColor3 = T.s3, BorderSizePixel = 0}, row) addCorner(8, ib) inst("TextLabel", {Text = icon, Size = UDim2.new(1,0,1,0), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 14}, ib) inst("TextLabel", {Text = title, Size = UDim2.new(0,170,0,19), Position = UDim2.new(0,53,0,7), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 13, TextXAlignment = Enum.TextXAlignment.Left}, row) inst("TextLabel", {Text = descText, Size = UDim2.new(0,170,0,15), Position = UDim2.new(0,53,0,27), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.Regular, TextSize = 10, TextXAlignment = Enum.TextXAlignment.Left}, row) local pillW = stages * 28 local pf = inst("Frame", {Size = UDim2.new(0,pillW,0,26), Position = UDim2.new(1,-(pillW+12),0.5,-13), BackgroundTransparency = 1, BorderSizePixel = 0}, row) local ap = nil for i = 1, stages do local lbl = (stages == 4 and i == 1) and "—" or tostring(i) local pill = inst("TextButton", { Text = lbl, Size = UDim2.new(0,22,0,22), Position = UDim2.new(0,(i-1)*28,0,2), BackgroundColor3 = (i==1) and T.acc or T.s4, TextColor3 = (i==1) and T.bg or T.t3, Font = F.Black, TextSize = 10, BorderSizePixel = 0, }, pf) addCorner(5, pill) if i == 1 then ap = pill end pill.MouseButton1Click:Connect(function() if ap then ap.BackgroundColor3 = T.s4; ap.TextColor3 = T.t3 end pill.BackgroundColor3 = T.acc; pill.TextColor3 = T.bg ap = pill onStage(i) updateStats() end) end return row end local function mkSlider(title, minV, maxV, defV, unit, parent, order, onChange) local row = inst("Frame", {Size = UDim2.new(1,-24,0,58), BackgroundColor3 = T.s2, BorderSizePixel = 0, LayoutOrder = order or 0}, parent) addCorner(10, row) addStroke(T.line, 1, row) inst("TextLabel", {Text = title, Size = UDim2.new(0,240,0,18), Position = UDim2.new(0,13,0,8), BackgroundTransparency = 1, TextColor3 = T.t2, Font = F.SemiBold, TextSize = 12, TextXAlignment = Enum.TextXAlignment.Left}, row) local valLbl = inst("TextLabel", {Text = tostring(defV)..unit, Size = UDim2.new(0,110,0,18), Position = UDim2.new(1,-122,0,8), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 13, TextXAlignment = Enum.TextXAlignment.Right}, row) local trk = inst("Frame", {Size = UDim2.new(1,-26,0,3), Position = UDim2.new(0,13,0,38), BackgroundColor3 = T.s4, BorderSizePixel = 0}, row) addCorner(99, trk) local pct = (defV-minV)/math.max(maxV-minV,1) local fill = inst("Frame", {Size = UDim2.new(pct,0,1,0), BackgroundColor3 = T.acc, BorderSizePixel = 0}, trk) addCorner(99, fill) local thumb = inst("Frame", {Size = UDim2.new(0,13,0,13), Position = UDim2.new(pct,-6,0.5,-6), BackgroundColor3 = T.acc, BorderSizePixel = 0}, trk) addCorner(99, thumb) local hit = inst("TextButton", {Size = UDim2.new(1,0,0,22), Position = UDim2.new(0,0,0,-10), BackgroundTransparency = 1, Text = "", BorderSizePixel = 0}, trk) local dragging = false local function upd(px) local rel = math.clamp((px - trk.AbsolutePosition.X) / trk.AbsoluteSize.X, 0, 1) local val = math.floor(minV + rel*(maxV-minV) + 0.5) local p2 = (val-minV)/math.max(maxV-minV,1) fill.Size = UDim2.new(p2,0,1,0) thumb.Position = UDim2.new(p2,-6,0.5,-6) valLbl.Text = tostring(val)..unit onChange(val) end hit.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging = true; upd(i.Position.X) end end) hit.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging = false end end) UserInputService.InputChanged:Connect(function(i) if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then upd(i.Position.X) end end) return valLbl end local function mkToggle(title, sub, defVal, parent, order, onChange) local h = sub and 52 or 44 local row = inst("Frame", {Size = UDim2.new(1,-24,0,h), BackgroundColor3 = T.s2, BorderSizePixel = 0, LayoutOrder = order or 0}, parent) addCorner(10, row) addStroke(T.line, 1, row) inst("TextLabel", { Text = title, Size = UDim2.new(0,290,0,20), Position = sub and UDim2.new(0,13,0,8) or UDim2.new(0,13,0.5,-10), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 13, TextXAlignment = Enum.TextXAlignment.Left, }, row) if sub then inst("TextLabel", {Text = sub, Size = UDim2.new(0,280,0,14), Position = UDim2.new(0,13,0,28), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.Regular, TextSize = 10, TextXAlignment = Enum.TextXAlignment.Left}, row) end local track = inst("TextButton", {Size = UDim2.new(0,40,0,20), Position = UDim2.new(1,-52,0.5,-10), BackgroundColor3 = defVal and T.acc or T.s4, Text = "", BorderSizePixel = 0}, row) addCorner(99, track) local knob = inst("Frame", { Size = UDim2.new(0,14,0,14), Position = defVal and UDim2.new(1,-17,0.5,-7) or UDim2.new(0,3,0.5,-7), BackgroundColor3 = defVal and T.bg or T.t3, BorderSizePixel = 0, }, track) addCorner(99, knob) local state = defVal track.MouseButton1Click:Connect(function() state = not state track.BackgroundColor3 = state and T.acc or T.s4 knob.Position = state and UDim2.new(1,-17,0.5,-7) or UDim2.new(0,3,0.5,-7) knob.BackgroundColor3 = state and T.bg or T.t3 onChange(state) end) return track, knob end local function mkPickGrid(items, parent, order, onPick) local rowH = 88 local rows = math.ceil(#items/2) local g = inst("Frame", {Size = UDim2.new(1,-24,0,rows*(rowH+4)), BackgroundTransparency = 1, BorderSizePixel = 0, LayoutOrder = order or 0}, parent) local cards = {} for i, item in ipairs(items) do local col = (i-1)%2 local row = math.floor((i-1)/2) local card = inst("Frame", { Size = UDim2.new(0.5,-4,0,rowH-4), Position = UDim2.new(col*0.5, col==0 and 0 or 4, 0, row*(rowH+4)), BackgroundColor3 = T.s2, BorderSizePixel = 0, }, g) addCorner(10, card) addStroke(i==1 and T.acc or T.line, 1, card) local top = inst("Frame", {Size = UDim2.new(1,0,0,48), BackgroundColor3 = T.s3, BorderSizePixel = 0}, card) addCorner(10, top) inst("Frame", {Size = UDim2.new(1,0,0,10), Position = UDim2.new(0,0,1,-10), BackgroundColor3 = T.s3, BorderSizePixel = 0}, top) inst("TextLabel", {Text = item[1], Size = UDim2.new(1,0,1,0), BackgroundTransparency = 1, TextColor3 = item[2] or T.t, Font = F.Black, TextSize = 19}, top) inst("TextLabel", {Text = item[3] or "", Size = UDim2.new(1,-12,0,15), Position = UDim2.new(0,9,0,51), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 11, TextXAlignment = Enum.TextXAlignment.Left}, card) inst("TextLabel", {Text = item[4] or "", Size = UDim2.new(1,-12,0,13), Position = UDim2.new(0,9,0,65), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.Regular, TextSize = 10, TextXAlignment = Enum.TextXAlignment.Left}, card) local chk = inst("TextLabel", {Text = "✓", Size = UDim2.new(0,16,0,16), Position = UDim2.new(1,-20,0,5), BackgroundColor3 = T.acc, TextColor3 = T.bg, Font = F.Black, TextSize = 9, Visible = (i==1)}, card) addCorner(99, chk) local hit = inst("TextButton", {Size = UDim2.new(1,0,1,0), BackgroundTransparency = 1, Text = "", BorderSizePixel = 0}, card) hit.MouseButton1Click:Connect(function() for _, cd in ipairs(cards) do cd.chk.Visible = false; addStroke(T.line,1,cd.card) end chk.Visible = true; addStroke(T.acc,1,card); onPick(i, item) end) cards[i] = {card=card, chk=chk} end return g end local function mkColorGrid(colorList, parent, order, onPick) local cols = 7 local rows = math.ceil(#colorList/cols) local g = inst("Frame", {Size = UDim2.new(1,-24,0,rows*38), BackgroundTransparency = 1, BorderSizePixel = 0, LayoutOrder = order or 0}, parent) local swatches = {} for i, entry in ipairs(colorList) do local c = (i-1)%cols local r = math.floor((i-1)/cols) local sw = inst("TextButton", { Size = UDim2.new(0,30,0,30), Position = UDim2.new(0,c*36+4,0,r*36+4), BackgroundColor3 = entry[1], Text = "", BorderSizePixel = 0, }, g) addCorner(7, sw) local ring = inst("UIStroke", {Color = Color3.new(1,1,1), Thickness = 2.5, ApplyStrokeMode = Enum.ApplyStrokeMode.Border, Enabled = (i==1)}, sw) swatches[i] = ring sw.MouseButton1Click:Connect(function() for _, rg in ipairs(swatches) do rg.Enabled = false end ring.Enabled = true; onPick(i, entry) end) end return g end local function mkColorInfo(parent, order) local f = inst("Frame", {Size = UDim2.new(1,-24,0,44), BackgroundColor3 = T.s2, BorderSizePixel = 0, LayoutOrder = order or 0}, parent) addCorner(10, f); addStroke(T.line,1,f) local prev = inst("Frame", {Size = UDim2.new(0,28,0,28), Position = UDim2.new(0,10,0.5,-14), BackgroundColor3 = Color3.fromHex("111111"), BorderSizePixel = 0}, f) addCorner(6, prev) local cname = inst("TextLabel", {Text = "Midnight black", Size = UDim2.new(0,200,0,18), Position = UDim2.new(0,48,0.5,-9), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.SemiBold, TextSize = 13, TextXAlignment = Enum.TextXAlignment.Left}, f) local chex = inst("TextLabel", {Text = "#111111", Size = UDim2.new(0,76,0,18), Position = UDim2.new(1,-88,0.5,-9), BackgroundColor3 = T.s3, BackgroundTransparency = 0, TextColor3 = T.t3, Font = F.Mono, TextSize = 10, TextXAlignment = Enum.TextXAlignment.Center}, f) addCorner(5, chex) return prev, cname, chex end local P = panels -- ─── ENGINE ──────────────────────────────────────────────────────────────── mkLabel("Performance", P.Engine, 1) mkModRow("⚙", "Engine stage", "Stage 1 · stock", 5, P.Engine, 2, function(s) cfg.EngineStage = s end) mkModRow("💨", "Turbocharger", "None · naturally aspirated", 4, P.Engine, 3, function(s) cfg.TurboStage = s-1 end) mkModRow("🔩", "Long block", "Stage 1 · stock redline", 5, P.Engine, 4, function(s) cfg.LongBlockStage = s end) mkModRow("⚖", "Weight reduction", "Stage 1 · no reduction", 5, P.Engine, 5, function(s) cfg.WeightStage = s end) mkLabel("Power override", P.Engine, 6) -- forward-declare so the toggle callback below can reference them without shadowing local hpRow local rpmRow mkToggle("Custom horsepower", "Override stage calculations with a direct HP value", false, P.Engine, 7, function(v) cfg.CustomHP = v hpRow.Visible = v rpmRow.Visible = v updateStats() end) -- assign (no `local` — already declared above) hpRow = inst("Frame", {Size = UDim2.new(1,-24,0,58), BackgroundColor3 = T.s2, BorderSizePixel = 0, LayoutOrder = 8, Visible = false}, P.Engine) addCorner(10, hpRow); addStroke(T.line,1,hpRow) inst("TextLabel", {Text = "Horsepower (100 – 2000)", Size = UDim2.new(0,240,0,18), Position = UDim2.new(0,13,0,8), BackgroundTransparency = 1, TextColor3 = T.t2, Font = F.SemiBold, TextSize = 12, TextXAlignment = Enum.TextXAlignment.Left}, hpRow) local hpLbl = inst("TextLabel", {Text = "300hp", Size = UDim2.new(0,100,0,18), Position = UDim2.new(1,-112,0,8), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 13, TextXAlignment = Enum.TextXAlignment.Right}, hpRow) local hpTrk = inst("Frame", {Size = UDim2.new(1,-26,0,3), Position = UDim2.new(0,13,0,38), BackgroundColor3 = T.s4, BorderSizePixel = 0}, hpRow) addCorner(99, hpTrk) local hpFill = inst("Frame", {Size = UDim2.new(0.105,0,1,0), BackgroundColor3 = T.acc, BorderSizePixel = 0}, hpTrk); addCorner(99,hpFill) local hpThumb = inst("Frame", {Size = UDim2.new(0,13,0,13), Position = UDim2.new(0.105,-6,0.5,-6), BackgroundColor3 = T.acc, BorderSizePixel = 0}, hpTrk); addCorner(99,hpThumb) local hpHit = inst("TextButton", {Size = UDim2.new(1,0,0,22), Position = UDim2.new(0,0,0,-10), BackgroundTransparency = 1, Text = "", BorderSizePixel = 0}, hpTrk) rpmRow = inst("Frame", {Size = UDim2.new(1,-24,0,58), BackgroundColor3 = T.s2, BorderSizePixel = 0, LayoutOrder = 9, Visible = false}, P.Engine) addCorner(10, rpmRow); addStroke(T.line,1,rpmRow) inst("TextLabel", {Text = "Redline RPM (4000 – 16000)", Size = UDim2.new(0,240,0,18), Position = UDim2.new(0,13,0,8), BackgroundTransparency = 1, TextColor3 = T.t2, Font = F.SemiBold, TextSize = 12, TextXAlignment = Enum.TextXAlignment.Left}, rpmRow) local rpmLbl = inst("TextLabel", {Text = "8000rpm", Size = UDim2.new(0,100,0,18), Position = UDim2.new(1,-112,0,8), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 13, TextXAlignment = Enum.TextXAlignment.Right}, rpmRow) local rpmTrk = inst("Frame", {Size = UDim2.new(1,-26,0,3), Position = UDim2.new(0,13,0,38), BackgroundColor3 = T.s4, BorderSizePixel = 0}, rpmRow) addCorner(99, rpmTrk) local rpmFill = inst("Frame", {Size = UDim2.new(0.333,0,1,0), BackgroundColor3 = T.acc, BorderSizePixel = 0}, rpmTrk); addCorner(99,rpmFill) local rpmThumb = inst("Frame", {Size = UDim2.new(0,13,0,13), Position = UDim2.new(0.333,-6,0.5,-6), BackgroundColor3 = T.acc, BorderSizePixel = 0}, rpmTrk); addCorner(99,rpmThumb) local rpmHit = inst("TextButton", {Size = UDim2.new(1,0,0,22), Position = UDim2.new(0,0,0,-10), BackgroundTransparency = 1, Text = "", BorderSizePixel = 0}, rpmTrk) local hpDrag = false local function updHP(px) local rel = math.clamp((px - hpTrk.AbsolutePosition.X) / hpTrk.AbsoluteSize.X, 0, 1) local val = math.floor(100 + rel*1900 + 0.5) local p2 = (val-100)/1900 hpFill.Size = UDim2.new(p2,0,1,0); hpThumb.Position = UDim2.new(p2,-6,0.5,-6) hpLbl.Text = val.."hp"; cfg.HPOverride = val; updateStats() end hpHit.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then hpDrag = true; updHP(i.Position.X) end end) hpHit.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then hpDrag = false end end) UserInputService.InputChanged:Connect(function(i) if hpDrag and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then updHP(i.Position.X) end end) local rpmDrag = false local function updRPM(px) local rel = math.clamp((px - rpmTrk.AbsolutePosition.X) / rpmTrk.AbsoluteSize.X, 0, 1) local val = math.floor(4000 + rel*12000 + 0.5) val = math.floor(val/100)*100 local p2 = (val-4000)/12000 rpmFill.Size = UDim2.new(p2,0,1,0); rpmThumb.Position = UDim2.new(p2,-6,0.5,-6) rpmLbl.Text = val.."rpm"; cfg.MaxRPM = val end rpmHit.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then rpmDrag = true; updRPM(i.Position.X) end end) rpmHit.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then rpmDrag = false end end) UserInputService.InputChanged:Connect(function(i) if rpmDrag and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then updRPM(i.Position.X) end end) mkToggle("Stack turbo + supercharger", nil, false, P.Engine, 10, function(v) cfg.StackBoost = v end) mkLabel("Drivetrain", P.Engine, 11) mkPickGrid({ {"RWD", T.t, "Rear-wheel drive", "Default"}, {"AWD", T.t2, "All-wheel drive", "Upgrade"}, {"FWD", T.t3, "Front-wheel drive", "Swap"}, {"RWD+", T.acc, "RWD tuned", "Performance"}, }, P.Engine, 12, function(_, item) cfg.Drivetrain = item[1] end) -- ─── HANDLING ────────────────────────────────────────────────────────────── mkLabel("Suspension", P.Handling, 1) mkSlider("Front camber", -60, 10, -20, "°", P.Handling, 2, function(v) cfg.FCamber = v/10 end) mkSlider("Rear camber", -60, 10, -25, "°", P.Handling, 3, function(v) cfg.RCamber = v/10 end) mkLabel("Wheel offset", P.Handling, 4) mkSlider("Front axle offset", -20, 20, 0, " mm", P.Handling, 5, function(v) cfg.FOffset = v end) mkSlider("Rear axle offset", -20, 20, 0, " mm", P.Handling, 6, function(v) cfg.ROffset = v end) mkLabel("Tires", P.Handling, 7) mkModRow("🏁","Tire grip","Stage 1 · 1.0× traction",5,P.Handling,8,function(s) cfg.TireStage=s; updateStats() end) -- ─── BRAKES ──────────────────────────────────────────────────────────────── mkLabel("Brake force", P.Brakes, 1) local bkFrame = inst("Frame", {Size = UDim2.new(1,-24,0,70), BackgroundColor3 = T.s2, BorderSizePixel = 0, LayoutOrder = 2}, P.Brakes) addCorner(10,bkFrame); addStroke(T.line,1,bkFrame) local function makePerfBar(label, yPos, parent) inst("TextLabel", {Text = label, Size = UDim2.new(0,150,0,15), Position = UDim2.new(0,13,0,yPos), BackgroundTransparency = 1, TextColor3 = T.t2, Font = F.SemiBold, TextSize = 11, TextXAlignment = Enum.TextXAlignment.Left}, parent) local vl = inst("TextLabel", {Text = "1.00×", Size = UDim2.new(0,90,0,15), Position = UDim2.new(1,-103,0,yPos), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 12, TextXAlignment = Enum.TextXAlignment.Right}, parent) local trk = inst("Frame", {Size = UDim2.new(1,-26,0,3), Position = UDim2.new(0,13,0,yPos+18), BackgroundColor3 = T.s4, BorderSizePixel = 0}, parent) addCorner(99,trk) local fl = inst("Frame", {Size = UDim2.new(0,0,1,0), BackgroundColor3 = T.acc, BorderSizePixel = 0}, trk) addCorner(99,fl) return vl, fl end local bkVal, bkFill = makePerfBar("Brake force", 8, bkFrame) local hbVal, hbFill = makePerfBar("Handbrake", 38, bkFrame) mkModRow("🛑","Brake upgrade","Stage 1 · 1.00× force",5,P.Brakes,3,function(s) cfg.BrakeStage = s local m = MULT.brake[s] bkVal.Text = string.format("%.2f×",m) bkFill.Size = UDim2.new(m/MULT.brake[5],0,1,0) end) mkModRow("🅿","Handbrake upgrade","Stage 1 · 1.00× force",5,P.Brakes,4,function(s) cfg.PBrakeStage = s local m = MULT.handbrake[s] hbVal.Text = string.format("%.2f×",m) hbFill.Size = UDim2.new(math.clamp(m/MULT.handbrake[5],0,1),0,1,0) end) -- ─── PAINT ───────────────────────────────────────────────────────────────── local COLORS = { {Color3.fromHex("111111"),"Midnight black","#111111"}, {Color3.fromHex("1a1a2e"),"Deep navy","#1a1a2e"}, {Color3.fromHex("e63946"),"Racing red","#e63946"}, {Color3.fromHex("f5c518"),"Championship yellow","#f5c518"}, {Color3.fromHex("2d6a4f"),"Racing green","#2d6a4f"}, {Color3.fromHex("4f8ef7"),"Electric blue","#4f8ef7"}, {Color3.fromHex("f0f0f0"),"Glacier white","#f0f0f0"}, {Color3.fromHex("6c6c6c"),"Gunmetal","#6c6c6c"}, {Color3.fromHex("d4a017"),"Satin gold","#d4a017"}, {Color3.fromHex("ff6b35"),"Sunset orange","#ff6b35"}, {Color3.fromHex("9b5de5"),"Ultraviolet","#9b5de5"}, {Color3.fromHex("00b4d8"),"Cyan racer","#00b4d8"}, {Color3.fromHex("ff006e"),"Neon pink","#ff006e"}, {Color3.fromHex("3a3a3a"),"Stealth grey","#3a3a3a"}, } mkLabel("Body color", P.Paint, 1) local cprev, cname, chex = mkColorInfo(P.Paint, 2) mkColorGrid(COLORS, P.Paint, 3, function(_, entry) cfg.BodyColor = entry[1]; cprev.BackgroundColor3 = entry[1]; cname.Text = entry[2]; chex.Text = entry[3] end) mkLabel("Finish type", P.Paint, 4) mkPickGrid({ {"Gloss", T.t, "Gloss", "Active"}, {"Matte", T.t2, "Matte", "Common"}, {"Carbon", T.t2, "Carbon fibre", "Premium"}, {"Chrome", T.acc, "Chrome", "Rare"}, }, P.Paint, 5, function(_, item) cfg.FinishType = item[1] end) -- ─── EXHAUST ─────────────────────────────────────────────────────────────── mkLabel("Muffler", P.Exhaust, 1) mkModRow("🔊","Muffler stage","Stage 1 · stock",3,P.Exhaust,2,function(s) cfg.ExhaustMuffler=s end) mkLabel("EQ tuning", P.Exhaust, 3) mkSlider("High",-10,10,0," dB",P.Exhaust,4,function(v) cfg.HighEQ=v end) mkSlider("Mid", -10,10,0," dB",P.Exhaust,5,function(v) cfg.MidEQ=v end) mkSlider("Low", -10,10,0," dB",P.Exhaust,6,function(v) cfg.LowEQ=v end) mkLabel("Backfire", P.Exhaust, 7) mkModRow("💥","Backfire stage","None · off",4,P.Exhaust,8,function(s) cfg.BackfireStage=s-1 end) -- ─── TRAFFIC ─────────────────────────────────────────────────────────────── mkLabel("NPC collision", P.Traffic, 1) do local row = inst("Frame", {Size = UDim2.new(1,-24,0,72), BackgroundColor3 = T.s2, BorderSizePixel = 0, LayoutOrder = 2}, P.Traffic) addCorner(10,row); addStroke(T.line,1,row) inst("TextLabel", {Text = "Ghost NPC cars", Size = UDim2.new(0,280,0,20), Position = UDim2.new(0,13,0,8), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 13, TextXAlignment = Enum.TextXAlignment.Left}, row) inst("TextLabel", {Text = "You drive through NPC vehicles — held every frame via Heartbeat", Size = UDim2.new(0,280,0,28), Position = UDim2.new(0,13,0,27), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.Regular, TextSize = 10, TextXAlignment = Enum.TextXAlignment.Left}, row) local track = inst("TextButton", {Size = UDim2.new(0,40,0,20), Position = UDim2.new(1,-52,0.5,-10), BackgroundColor3 = T.s4, Text = "", BorderSizePixel = 0}, row) addCorner(99,track) local knob = inst("Frame", {Size = UDim2.new(0,14,0,14), Position = UDim2.new(0,3,0.5,-7), BackgroundColor3 = T.t3, BorderSizePixel = 0}, track) addCorner(99,knob) local state = false track.MouseButton1Click:Connect(function() state = not state track.BackgroundColor3 = state and T.acc or T.s4 knob.Position = state and UDim2.new(1,-17,0.5,-7) or UDim2.new(0,3,0.5,-7) knob.BackgroundColor3 = state and T.bg or T.t3 cfg.TrafficGhost = state setTrafficGhost(state) showToast(state and " ✓ Ghost traffic on" or " ↺ Ghost traffic off", state and T.grn or T.t2) end) end mkLabel("Traffic density", P.Traffic, 3) local pctLbl local densityRow = inst("Frame", {Size = UDim2.new(1,-24,0,78), BackgroundColor3 = T.s2, BorderSizePixel = 0, LayoutOrder = 4}, P.Traffic) addCorner(10,densityRow); addStroke(T.line,1,densityRow) inst("TextLabel", {Text = "NPC car density", Size = UDim2.new(0,240,0,18), Position = UDim2.new(0,13,0,8), BackgroundTransparency = 1, TextColor3 = T.t2, Font = F.SemiBold, TextSize = 12, TextXAlignment = Enum.TextXAlignment.Left}, densityRow) inst("TextLabel", {Text = "Destroys existing cars above the cap immediately", Size = UDim2.new(0,280,0,14), Position = UDim2.new(0,13,0,26), BackgroundTransparency = 1, TextColor3 = T.t3, Font = F.Regular, TextSize = 10, TextXAlignment = Enum.TextXAlignment.Left}, densityRow) pctLbl = inst("TextLabel", {Text = "100%", Size = UDim2.new(0,80,0,18), Position = UDim2.new(1,-92,0,8), BackgroundTransparency = 1, TextColor3 = T.t, Font = F.Bold, TextSize = 13, TextXAlignment = Enum.TextXAlignment.Right}, densityRow) local denTrk = inst("Frame", {Size = UDim2.new(1,-26,0,3), Position = UDim2.new(0,13,0,52), BackgroundColor3 = T.s4, BorderSizePixel = 0}, densityRow) addCorner(99,denTrk) local denFill = inst("Frame", {Size = UDim2.new(1,0,1,0), BackgroundColor3 = T.acc, BorderSizePixel = 0}, denTrk); addCorner(99,denFill) local denThumb = inst("Frame", {Size = UDim2.new(0,13,0,13), Position = UDim2.new(1,-6,0.5,-6), BackgroundColor3 = T.acc, BorderSizePixel = 0}, denTrk); addCorner(99,denThumb) local denHit = inst("TextButton", {Size = UDim2.new(1,0,0,22), Position = UDim2.new(0,0,0,-10), BackgroundTransparency = 1, Text = "", BorderSizePixel = 0}, denTrk) local denDrag = false local function updDensity(px) local rel = math.clamp((px - denTrk.AbsolutePosition.X) / denTrk.AbsoluteSize.X, 0, 1) local val = math.floor(rel*100+0.5) denFill.Size = UDim2.new(rel,0,1,0); denThumb.Position = UDim2.new(rel,-6,0.5,-6) pctLbl.Text = val.."%" cfg.TrafficPct = val local folder = Workspace:FindFirstChild("TrafficFolder") or Workspace:FindFirstChild("Traffic") or Workspace:FindFirstChild("NPCFolder") if folder then folder:SetAttribute("SpawnCap", val) local children = folder:GetChildren() local targetCount = math.floor(#children * (val/100)) for i = #children, targetCount+1, -1 do if children[i] and children[i]:IsA("Model") then children[i]:Destroy() end end end end denHit.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then denDrag = true; updDensity(i.Position.X) end end) denHit.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then denDrag = false end end) UserInputService.InputChanged:Connect(function(i) if denDrag and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then updDensity(i.Position.X) end end) mkLabel("Remove traffic", P.Traffic, 5) local delBtn = inst("TextButton", { Text = "Delete all NPC cars now", Size = UDim2.new(1,-24,0,44), BackgroundColor3 = T.s2, TextColor3 = T.red, Font = F.Bold, TextSize = 13, BorderSizePixel = 0, LayoutOrder = 6, }, P.Traffic) addCorner(10,delBtn); addStroke(T.line,1,delBtn) delBtn.MouseButton1Click:Connect(function() deleteAllTraffic() showToast(" ✓ All traffic removed", T.grn) end) mkToggle("Block future spawns", "Disables the LocalTrafficRenderer so no new cars appear", false, P.Traffic, 7, function(v) local scripts = lp:FindFirstChild("PlayerScripts") if scripts then for _, s in ipairs(scripts:GetDescendants()) do if s:IsA("LocalScript") and s.Name:lower():find("traffic") then s.Disabled = v end end end showToast(v and " ✓ Traffic spawning blocked" or " ↺ Traffic spawning restored", v and T.grn or T.t2) end) -- ─── EXPLOIT ─────────────────────────────────────────────────────────────── mkLabel("Vehicle", P.Exploit, 1) mkToggle("Infinite nitro", "Keeps nitro/boost fuel at 100 every frame", false, P.Exploit, 2, function(v) cfg.InfNitro = v setInfNitro(v) showToast(v and " ✓ Infinite nitro on" or " ↺ Nitro off", v and T.grn or T.t2) end) mkToggle("Speed lock", "Caps your car's velocity to the value below", false, P.Exploit, 3, function(v) cfg.SpeedLock = v setSpeedLock(v) showToast(v and " ✓ Speed lock on" or " ↺ Speed lock off", v and T.grn or T.t2) end) mkSlider("Speed cap", 10, 500, 200, " mph", P.Exploit, 4, function(v) cfg.SpeedLockVal = v end) -- ─── VIEWPORT ────────────────────────────────────────────────────────────── local vpClone = nil local orbitAngle = 0 local lastCar = nil local function rebuildVP() for _, c in ipairs(VP:GetChildren()) do if not c:IsA("Camera") then c:Destroy() end end vpClone = nil local car = getMyCar() vpNoCarLabel.Visible = (car == nil) if not car then return end local m = Instance.new("Model") m.Name = "VPCar" for _, p in ipairs(car:GetDescendants()) do if p:IsA("BasePart") and p.Name ~= "DriveSeat" then local c = p:Clone() c.Anchored = true c.CanCollide = false c.CastShadow = false c.Parent = m end end if #m:GetChildren() == 0 then m:Destroy() vpNoCarLabel.Visible = true return end m.Parent = VP vpClone = m local cf, sz = m:GetBoundingBox() local maxDim = math.max(sz.X, sz.Y, sz.Z) local dist = maxDim / (2 * math.tan(math.rad(VPCam.FieldOfView/2))) * 1.4 orbitAngle = 0 VPCam.CFrame = CFrame.new(Vector3.new(dist, sz.Y*0.3, 0), cf.Position) CarNameLabel.Text = car.Name end local minimised = false local function setMinimised(v) minimised = v Scroll.Visible = not v Footer.Visible = not v StatRow.Visible = not v VPHolder.Visible = not v TabBar.Visible = not v Main.Size = v and UDim2.new(0,500,0,60) or UDim2.new(0,500,0,700) MinBtn.Text = v and "□" or "−" end MinBtn.MouseButton1Click:Connect(function() setMinimised(not minimised) end) RunService.RenderStepped:Connect(function(dt) if minimised then return end local car = getMyCar() if car ~= lastCar then lastCar = car rebuildVP() CarNameLabel.Text = car and car.Name or "No vehicle" end if vpClone and vpClone.Parent == VP then orbitAngle = orbitAngle + dt * 0.38 local cf, sz = vpClone:GetBoundingBox() local maxDim = math.max(sz.X, sz.Y, sz.Z) local dist = maxDim / (2 * math.tan(math.rad(VPCam.FieldOfView/2))) * 1.4 local ox = math.sin(orbitAngle) * dist local oz = math.cos(orbitAngle) * dist VPCam.CFrame = CFrame.new(Vector3.new(ox, sz.Y*0.3, oz), cf.Position) end if car then local boost = car:GetAttribute("Boost") or car:GetAttribute("PSI") or (cfg.TurboStage * 6) statRefs[4].val.Text = tostring(math.floor((boost or 0)*10)/10) end end) switchTab("Engine") updateStats()