--[[ Car Speed Changer - Deobfuskovaná Verze Funkce: Akcelerace, Brzda, Fly mód, Drift a Flip ]] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer -- Načtení UI Knihovny local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))() -- Nastavení (Defaultní hodnoty) local AccelPower = 0.01 local BrakePower = 0.05 local MaxSpeedLimit = 200 local FlightSpeed = 1 local IsFlying = false local IsAccelerating = false local IsBraking = false local DriftEnabled = false local DriftStrength = 5 local IsUnloaded = false -- Keybindy local AccelKey = Enum.KeyCode.W local BrakeKey = Enum.KeyCode.S local StopKey = Enum.KeyCode.P local FlipKey = Enum.KeyCode.F -- Proměnné pro eventy local HeartbeatConn, FlightConn, DriftConn local OriginalParent = LocalPlayer.Character and LocalPlayer.Character.Parent -- Funkce pro nalezení modelu auta local function GetVehicleModel(part) return part:FindFirstAncestor(LocalPlayer.Name .. "'s Car") or (part:FindFirstAncestor("Body") and part:FindFirstAncestor("Body").Parent) or (part:FindFirstAncestor("Misc") and part:FindFirstAncestor("Misc").Parent) or part:FindFirstAncestorWhichIsA("Model") end -- Funkce pro získání sedadla řidiče local function GetVehicleSeat() local character = LocalPlayer.Character if not character then return nil end local humanoid = character:FindFirstChildWhichIsA("Humanoid") if not humanoid then return nil end local seat = humanoid.SeatPart return (seat and seat:IsA("VehicleSeat")) and seat or nil end -- Omezovač rychlosti local function ApplySpeedLimiter(seat) if MaxSpeedLimit == math.huge then return end local velocity = seat.AssemblyLinearVelocity local horizontalVel = Vector3.new(velocity.X, 0, velocity.Z) if horizontalVel.Magnitude > MaxSpeedLimit then local clampedVel = horizontalVel.Unit * MaxSpeedLimit seat.AssemblyLinearVelocity = Vector3.new(clampedVel.X, velocity.Y, clampedVel.Z) end end -- Hlavní fyzika jízdy local function UpdateVehiclePhysics() if IsUnloaded then return end local seat = GetVehicleSeat() if not seat or IsFlying or seat.Anchored then if HeartbeatConn then HeartbeatConn:Disconnect(); HeartbeatConn = nil end return end local velocity = seat.AssemblyLinearVelocity local speed = Vector3.new(velocity.X, 0, velocity.Z).Magnitude if IsBraking then -- Brzdění seat.AssemblyLinearVelocity = velocity * Vector3.new(1 - BrakePower, 1, 1 - BrakePower) elseif IsAccelerating then -- Akcelerace s odporem vzduchu local airDrag = math.clamp(speed / 400, 0, 0.95) local accel = AccelPower * (1 - airDrag) seat.AssemblyLinearVelocity = velocity * Vector3.new(1 + accel, 1, 1 + accel) else -- Pasivní tření (zpomalování při puštění plynu) seat.AssemblyLinearVelocity = velocity * Vector3.new(0.99, 1, 0.99) end ApplySpeedLimiter(seat) end -- Otočení auta (Flip) local function FlipVehicle() local seat = GetVehicleSeat() if not seat then return end local model = GetVehicleModel(seat) if not model or not model:IsA("Model") then return end if not model.PrimaryPart then model.PrimaryPart = (seat.Parent == model and seat) or model:FindFirstChildWhichIsA("BasePart") end local currentCF = model:GetPrimaryPartCFrame() local pos = currentCF.Position local look = Vector3.new(currentCF.LookVector.X, 0, currentCF.LookVector.Z).Unit model:SetPrimaryPartCFrame(CFrame.new(pos + Vector3.new(0, 2, 0), pos + Vector3.new(0, 2, 0) + look)) seat.AssemblyLinearVelocity = Vector3.new() seat.AssemblyAngularVelocity = Vector3.new() end -- Létání (Flight Logic) local function HandleFlight() if IsUnloaded then return end local character = LocalPlayer.Character local seat = GetVehicleSeat() if not seat then return end local model = GetVehicleModel(seat) if not model then return end character.Parent = model -- Prevence proti vypadnutí z auta local camCF = workspace.CurrentCamera.CFrame local currentCF = model:GetPrimaryPartCFrame() local moveDir = Vector3.new(0, 0, 0) if not UserInputService:GetFocusedTextBox() then if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += camCF.RightVector * FlightSpeed end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= camCF.RightVector * FlightSpeed end if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += camCF.LookVector * FlightSpeed end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= camCF.LookVector * FlightSpeed end if UserInputService:IsKeyDown(Enum.KeyCode.E) then moveDir += Vector3.new(0, 1, 0) * (FlightSpeed / 2) end if UserInputService:IsKeyDown(Enum.KeyCode.Q) then moveDir -= Vector3.new(0, 1, 0) * (FlightSpeed / 2) end end model:SetPrimaryPartCFrame(CFrame.new(currentCF.Position + moveDir) * (currentCF - currentCF.Position)) seat.AssemblyLinearVelocity = Vector3.new() seat.AssemblyAngularVelocity = Vector3.new() end -- Drift Logic local function HandleDrift() if IsUnloaded or IsFlying then return end local seat = GetVehicleSeat() if not seat then return end local velocity = seat.AssemblyLinearVelocity local speed = Vector3.new(velocity.X, 0, velocity.Z).Magnitude if speed < 2 then return end local lookVec = seat.CFrame.LookVector local angularVel = seat.AssemblyAngularVelocity -- Výpočet driftu (směrování vektoru rychlosti k LookVectoru) local lerpAlpha = math.clamp(0.003 / DriftStrength, 0.0003, 0.003) local newVel = Vector3.new(velocity.X, 0, velocity.Z):Lerp(lookVec * speed, lerpAlpha) seat.AssemblyLinearVelocity = Vector3.new(newVel.X, velocity.Y, newVel.Z) -- Rotace při driftu local turnSpeed = math.clamp(DriftStrength * 0.06, 0.1, 0.5) local yRot = angularVel.Y if UserInputService:IsKeyDown(Enum.KeyCode.A) then yRot = math.clamp(yRot + turnSpeed, -4, 4) elseif UserInputService:IsKeyDown(Enum.KeyCode.D) then yRot = math.clamp(yRot - turnSpeed, -4, 4) else yRot *= 0.8 end seat.AssemblyAngularVelocity = Vector3.new(angularVel.X * 0.85, yRot, angularVel.Z * 0.85) end -- GUI Tvorba local Window = Rayfield:CreateWindow({ Name = "Car Controller - Cleaned", LoadingTitle = "Vehicle System", LoadingSubtitle = "Deobfuscated Version", ConfigurationSaving = { Enabled = false } }) local TabSpeed = Window:CreateTab("Speed", "gauge") local TabFlight = Window:CreateTab("Flight", "plane") local TabMisc = Window:CreateTab("Misc", "wrench") -- Sekce Speed TabSpeed:CreateSection("Physics Controls") TabSpeed:CreateSlider({ Name = "Acceleration", Range = {0, 50}, Increment = 1, CurrentValue = 10, Callback = function(v) AccelPower = v / 1000 end, }) TabSpeed:CreateSlider({ Name = "Brake Force", Range = {0, 300}, Increment = 1, CurrentValue = 50, Callback = function(v) BrakePower = v / 1000 end, }) TabSpeed:CreateSlider({ Name = "Max Speed Limit", Range = {0, 1000}, Increment = 1, CurrentValue = 200, Callback = function(v) MaxSpeedLimit = (v == 0) and math.huge or v end, }) -- Sekce Flight TabFlight:CreateToggle({ Name = "Enable Flight", CurrentValue = false, Callback = function(v) IsFlying = v if v then FlightConn = RunService.Heartbeat:Connect(HandleFlight) elseif FlightConn then FlightConn:Disconnect() FlightConn = nil if LocalPlayer.Character then LocalPlayer.Character.Parent = workspace end end end, }) TabFlight:CreateSlider({ Name = "Flight Speed", Range = {0, 800}, Increment = 1, CurrentValue = 100, Callback = function(v) FlightSpeed = v / 100 end, }) -- Sekce Misc (Drift & Unload) TabMisc:CreateToggle({ Name = "Drift Mode", CurrentValue = false, Callback = function(v) DriftEnabled = v if v then DriftConn = RunService.Heartbeat:Connect(HandleDrift) elseif DriftConn then DriftConn:Disconnect() DriftConn = nil end end, }) TabMisc:CreateButton({ Name = "Unload Script", Callback = function() IsUnloaded = true if HeartbeatConn then HeartbeatConn:Disconnect() end if FlightConn then FlightConn:Disconnect() end if DriftConn then DriftConn:Disconnect() end Rayfield:Destroy() end }) -- Input Eventy (Klávesnice) UserInputService.InputBegan:Connect(function(input, processed) if processed or IsUnloaded then return end if input.KeyCode == AccelKey then IsAccelerating = true if not HeartbeatConn then HeartbeatConn = RunService.Heartbeat:Connect(UpdateVehiclePhysics) end elseif input.KeyCode == BrakeKey then IsBraking = true if not HeartbeatConn then HeartbeatConn = RunService.Heartbeat:Connect(UpdateVehiclePhysics) end elseif input.KeyCode == StopKey then local seat = GetVehicleSeat() if seat then seat.AssemblyLinearVelocity = Vector3.new() seat.AssemblyAngularVelocity = Vector3.new() end elseif input.KeyCode == FlipKey then FlipVehicle() end end) UserInputService.InputEnded:Connect(function(input) if input.KeyCode == AccelKey then IsAccelerating = false elseif input.KeyCode == BrakeKey then IsBraking = false end end)