Prompt: -- << LOCAL FUNCTIONS >>

Response:
local defaultSettingsToAdd = {"NoticeSoundId", "NoticeVolume", "NoticePitch", "ErrorSoundId", "ErrorVolume", "ErrorPitch", "AlertSoundId", "AlertVolume", "AlertPitch", "Prefix", "SplitKey"}
local defaultSettings = {}
coroutine.wrap(function()
	if not main.initialized then
		main.client.Signals.Initialized.Event:Wait()
	end
	for i,v in pairs(defaultSettingsToAdd) do
		defaultSettings[v] = settings[v]
	end
end)()
local function getDataTemplate()
	if not main.initialized then
		main.client.Signals.Initialized.Event:Wait()
	end
	return{

		DataKey 		= 0;
		DataToUpdate	= true;
		Theme			= settings.Theme;
		NoticeSoundId	= settings.NoticeSoundId;
		NoticeVolume	= settings.NoticeVolume;
		NoticePitch		= settings.NoticePitch;
		ErrorSoundId	= settings.ErrorSoundId;
		ErrorVolume		= settings.ErrorVolume;
		ErrorPitch		= settings.ErrorPitch;
		AlertSoundId	= settings.AlertSoundId;
		AlertVolume		= settings.AlertVolume;
		AlertPitch		= settings.AlertPitch;
		Prefix 			= settings.Prefix;
		SplitKey		= settings.SplitKey;
		MusicList 		= settings.MusicList;
		MuteLocalSound	= false;
		PreviousServer 	= game.JobId;
		Rank 			= 0;
		SaveRank		= true;
		PermRankedBy	= 3682;
		Donor 			= false;
		Gamepasses 		= {};
		Assets 			= {};

		DefaultSettings = defaultSettings; --If the owner changes these Settings, then update everyones data to the new setting.

		Groups 			= {};
		Friends 		= {};
		CommandsActive 	= {};
		LaserColor 		= Color3.fromRGB(255,0,0);
		PromptedDonor	= false;
		AutomaticRank	= false;
		Items 			= {};
		SetupData		= false;

	}
end

local function dataNotToSave()
	return{
		"Groups";
		"Friend";
		"CommandsActive";
		"LaserColor";
		"PromptedDonor";
		"AutomaticRank";
		"Items";
		"SetupData"
	}
end


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
local u1 = require(game:GetService("Chat"):WaitForChild("ClientChatModules"):WaitForChild("ChatSettings"));
local l__StarterGui__2 = game:GetService("StarterGui");
function SetCoreGuiChatConnections(p1)
	local v1 = 0;
	while true do
		if v1 < 10 then

		else
			break;
		end;
		v1 = v1 + 1;
		local v2, v3 = pcall(function()
			l__StarterGui__2:SetCore("CoreGuiChatConnections", p1);
		end);
		if not v2 then

		else
			break;
		end;
		if not v2 then
			if v1 == 10 then
				error("Error calling SetCore CoreGuiChatConnections: " .. v3);
			end;
		end;
		wait();
	end;
end;
function checkBothChatTypesDisabled()
	if u1.BubbleChatEnabled ~= nil then
		if u1.ClassicChatEnabled ~= nil then

		else
			return false;
		end;
	else
		return false;
	end;
	return not (u1.BubbleChatEnabled or u1.ClassicChatEnabled);
end;
if not game:GetService("GuiService"):IsTenFootInterface() and not game:GetService("UserInputService").VREnabled then
	if checkBothChatTypesDisabled() then
		local v4 = {
			ChatWindow = {}
		};
		v4.ChatWindow.ChatTypes = {};
		v4.ChatWindow.ChatTypes.BubbleChatEnabled = false;
		v4.ChatWindow.ChatTypes.ClassicChatEnabled = false;
		SetCoreGuiChatConnections(v4);
		return;
	end;
else
	return;
end;
(function()
	local v5 = {
		ChatWindow = {},
		SetCore = {},
		GetCore = {}
	};
	v5.ChatWindow.ChatTypes = {};
	v5.ChatWindow.ChatTypes.BubbleChatEnabled = u1.BubbleChatEnabled;
	v5.ChatWindow.ChatTypes.ClassicChatEnabled = u1.ClassicChatEnabled;
	local u3 = require(script:WaitForChild("ChatMain"));
	local v6 = Instance.new("BindableEvent");
	v6.Name = "ToggleVisibility";
	v5.ChatWindow.ToggleVisibility = v6;
	local u4 = "ToggleVisibility";
	v6.Event:connect(function(...)
		u3[u4](u3, ...);
	end);
	local v7 = Instance.new("BindableEvent");
	v7.Name = "SetVisible";
	v5.ChatWindow.SetVisible = v7;
	u4 = "SetVisible";
	v7.Event:connect(function(...)
		u3[u4](u3, ...);
	end);
	local v8 = Instance.new("BindableEvent");
	v8.Name = "FocusChatBar";
	v5.ChatWindow.FocusChatBar = v8;
	u4 = "FocusChatBar";
	v8.Event:connect(function(...)
		u3[u4](u3, ...);
	end);
	local v9 = Instance.new("BindableFunction");
	v9.Name = "GetVisibility";
	v5.ChatWindow.GetVisibility = v9;
	local u5 = "GetVisibility";
	function v9.OnInvoke(...)
		return u3[u5](u3, ...);
	end;
	local v10 = Instance.new("BindableFunction");
	v10.Name = "GetMessageCount";
	v5.ChatWindow.GetMessageCount = v10;
	u5 = "GetMessageCount";
	function v10.OnInvoke(...)
		return u3[u5](u3, ...);
	end;
	local v11 = Instance.new("BindableEvent");
	v11.Name = "TopbarEnabledChanged";
	v5.ChatWindow.TopbarEnabledChanged = v11;
	local l__Event__12 = v11.Event;
	u4 = "TopbarEnabledChanged";
	u5 = l__Event__12;
	l__Event__12.connect(u5, function(...)
		u3[u4](u3, ...);
	end);
	local v13 = Instance.new("BindableFunction");
	v13.Name = "IsFocused";
	v5.ChatWindow.IsFocused = v13;
	u5 = "IsFocused";
	function v13.OnInvoke(...)
		return u3[u5](u3, ...);
	end;
	local v14 = Instance.new("BindableEvent");
	v14.Name = "ChatBarFocusChanged";
	v5.ChatWindow.ChatBarFocusChanged = v14;
	local l__ChatBarFocusChanged__15 = u3.ChatBarFocusChanged;
	local u6 = v14;
	u5 = l__ChatBarFocusChanged__15;
	l__ChatBarFocusChanged__15.connect(u5, function(...)
		u6:Fire(...);
	end);
	u6 = Instance.new;
	u6 = u6("BindableEvent");
	u6.Name = "VisibilityStateChanged";
	v5.ChatWindow.VisibilityStateChanged = u6;
	local l__VisibilityStateChanged__16 = u3.VisibilityStateChanged;
	u5 = l__VisibilityStateChanged__16;
	l__VisibilityStateChanged__16.connect(u5, function(...)
		u6:Fire(...);
	end);
	u6 = Instance.new;
	u6 = u6("BindableEvent");
	u6.Name = "MessagesChanged";
	v5.ChatWindow.MessagesChanged = u6;
	local l__MessagesChanged__17 = u3.MessagesChanged;
	u5 = l__MessagesChanged__17;
	l__MessagesChanged__17.connect(u5, function(...)
		u6:Fire(...);
	end);
	u6 = Instance.new;
	u6 = u6("BindableEvent");
	u6.Name = "MessagePosted";
	v5.ChatWindow.MessagePosted = u6;
	local l__MessagePosted__18 = u3.MessagePosted;
	u5 = l__MessagePosted__18;
	l__MessagePosted__18.connect(u5, function(...)
		u6:Fire(...);
	end);
	u6 = Instance.new;
	u6 = u6("BindableEvent");
	u6.Name = "CoreGuiEnabled";
	v5.ChatWindow.CoreGuiEnabled = u6;
	local l__Event__19 = u6.Event;
	u4 = "CoreGuiEnabled";
	u5 = l__Event__19;
	l__Event__19.connect(u5, function(...)
		u3[u4]:fire(...);
	end);
	u6 = Instance.new;
	u6 = u6("BindableEvent");
	u6.Name = "ChatMakeSystemMessage";
	v5.SetCore.ChatMakeSystemMessage = u6;
	local l__Event__20 = u6.Event;
	u4 = "ChatMakeSystemMessage";
	u5 = l__Event__20;
	l__Event__20.connect(u5, function(...)
		u3[u4 .. "Event"]:fire(...);
	end);
	u6 = Instance.new;
	u6 = u6("BindableEvent");
	u6.Name = "ChatWindowPosition";
	v5.SetCore.ChatWindowPosition = u6;
	local l__Event__21 = u6.Event;
	u4 = "ChatWindowPosition";
	u5 = l__Event__21;
	l__Event__21.connect(u5, function(...)
		u3[u4 .. "Event"]:fire(...);
	end);
	u6 = Instance.new;
	u6 = u6("BindableEvent");
	u6.Name = "ChatWindowSize";
	v5.SetCore.ChatWindowSize = u6;
	local l__Event__22 = u6.Event;
	u4 = "ChatWindowSize";
	u5 = l__Event__22;
	l__Event__22.connect(u5, function(...)
		u3[u4 .. "Event"]:fire(...);
	end);
	u6 = Instance.new;
	u6 = u6("BindableFunction");
	u6.Name = "ChatWindowPosition";
	v5.GetCore.ChatWindowPosition = u6;
	u5 = "ChatWindowPosition";
	function u6.OnInvoke(...)
		return u3["f" .. u5](...);
	end;
	u6 = Instance.new;
	u6 = u6("BindableFunction");
	u6.Name = "ChatWindowSize";
	v5.GetCore.ChatWindowSize = u6;
	u5 = "ChatWindowSize";
	function u6.OnInvoke(...)
		return u3["f" .. u5](...);
	end;
	u6 = Instance.new;
	u6 = u6("BindableEvent");
	u6.Name = "ChatBarDisabled";
	v5.SetCore.ChatBarDisabled = u6;
	local l__Event__23 = u6.Event;
	u4 = "ChatBarDisabled";
	u5 = l__Event__23;
	l__Event__23.connect(u5, function(...)
		u3[u4 .. "Event"]:fire(...);
	end);
	u6 = Instance.new;
	u6 = u6("BindableFunction");
	u6.Name = "ChatBarDisabled";
	v5.GetCore.ChatBarDisabled = u6;
	u5 = "ChatBarDisabled";
	function u6.OnInvoke(...)
		return u3["f" .. u5](...);
	end;
	u6 = Instance.new;
	u6 = u6("BindableEvent");
	u6.Name = "SpecialKeyPressed";
	v5.ChatWindow.SpecialKeyPressed = u6;
	local l__Event__24 = u6.Event;
	u4 = "SpecialKeyPressed";
	u5 = l__Event__24;
	l__Event__24.connect(u5, function(...)
		u3[u4](u3, ...);
	end);
	u6 = SetCoreGuiChatConnections;
	u6(v5);
end)();


Prompt:
-- ================================================================================
-- PUBLIC FUNCTIONS
-- ================================================================================

Response:
function Damping.new()
	local damping = setmetatable({
		P = 5;
		D = 0.1;
		Position = V3();
		Velocity = V3();
		Goal = V3();
		Last = tick();
	}, Damping)

	return damping
end -- Damping.new()

function Damping:CheckNAN()
	self.Velocity = V3(CheckNAN(self.Velocity.X, 0), CheckNAN(self.Velocity.Y, 0), CheckNAN(self.Velocity.Z, 0))
	self.Position = V3(CheckNAN(self.Position.X, self.Goal.X), CheckNAN(self.Position.Y, self.Goal.Y), CheckNAN(self.Position.Z, self.Goal.Z))
end -- Damping:CheckNAN()

function Damping:Update()
	local t = tick()
	local dt = (t - self.Last)
	self.Last = t
	self.Velocity = (self.Velocity + (self.P * ((self.Goal - self.Position) + (-self.Velocity * self.D))))
	self.Position = (self.Position + (self.Velocity * dt))
	self:CheckNAN()
	return self.Position
end -- Damping:Update()

function Damping:UpdateAngle()
	self.Goal = (self.Position + DeltaAngleV3(self.Position, self.Goal))
	return self:Update()
end -- Damping:UpdateAngle()


Prompt: -- Constants

Response:
local Current_Camera = workspace:WaitForChild("Camera")
local Local_Player = PlayersService.LocalPlayer


Prompt:
--[[

	enumList = EnumList.new(name: string, enums: string[])

	enumList:Is(item)

	Example:

		direction = EnumList.new("Direction", {"Up", "Down", "Left", "Right"})
		leftDir = direction.Left
		print("IsDirection", direction:Is(leftDir))

--]]

Response:
type EnumNames = {string}

local Symbol = require(script.Parent.Symbol)

local EnumList = {}

function EnumList.new(name: string, enums: EnumNames)
	local scope = Symbol.new(name, nil)
	local enumItems: {[string]: Symbol.Symbol} = {}
	for _,enumName in ipairs(enums) do
		enumItems[enumName] = Symbol.new(enumName, scope)
	end
	local self = setmetatable({
		_scope = scope;
	}, {
		__index = function(_t, k)
			if (enumItems[k]) then
				return enumItems[k]
			elseif (EnumList[k]) then
				return EnumList[k]
			else
				error("Unknown " .. name .. ": " .. tostring(k), 2)
			end
		end;
		__newindex = function()
			error("Cannot add new " .. name, 2)
		end;
	})
	return self
end

function EnumList:Is(obj: any): boolean
	return Symbol.IsInScope(obj, self._scope)
end

export type EnumList = typeof(EnumList.new("", {""}))

return EnumList


Prompt:
--[[
	Singleton, holds the current minigame, and constructs new minigames
]]

Response:
local ServerStorage = game:GetService("ServerStorage")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local BaseMinigame = require(ServerStorage.Source.BaseMinigame)
local Flags = require(ReplicatedStorage.Source.Common.Flags)

local minigameModules = {
	require(ServerStorage.Source.Minigames.Platform),
	require(ServerStorage.Source.Minigames.Bombs),
	require(ServerStorage.Source.Minigames.Volcano)
}

local nextRoundIndex = Flags.FirstRound and (Flags.FirstRound - 1) or math.random(1, #minigameModules)

local RoundController = {}

local currentMinigame

function RoundController.selectNextMinigame()
	nextRoundIndex = nextRoundIndex + 1

	if nextRoundIndex > #minigameModules then
		nextRoundIndex = 1
	end
end

function RoundController.getNextMinigame()
	return minigameModules[nextRoundIndex]
end

function RoundController.initialiseMinigame()
	local minigameClass = minigameModules[nextRoundIndex]

	currentMinigame = BaseMinigame.new(minigameClass)
end


Prompt:
--[=[
	Constructs a new DataStoreWriter. In general, you will not use this API directly.

	@return DataStoreWriter
]=]

Response:
function DataStoreWriter.new()
	local self = setmetatable({}, DataStoreWriter)

	self._rawSetData = {}
	self._writers = {}

	return self
end


Prompt:
--[=[
	Subscriptions are used in the callback for an [Observable](/api/Observable). Standard usage
	is as follows.

	```lua
	-- Constucts an observable which will emit a, b, c via a subscription
	Observable.new(function(sub)
		sub:Fire("a")
		sub:Fire("b")
		sub:Fire("c")
		sub:Complete() -- ends stream
	end)
	```
	@class Subscription
]=]

Response:
local require = require(script.Parent.loader).load(script)

local MaidTaskUtils = require("MaidTaskUtils")

local ENABLE_STACK_TRACING = false

local Subscription = {}
Subscription.ClassName = "Subscription"
Subscription.__index = Subscription

local stateTypes = {
	PENDING = "pending";
	FAILED = "failed";
	COMPLETE = "complete";
	CANCELLED = "cancelled";
}


Prompt: --//Configure//--

Response:
local EngineSound = "http://www.roblox.com/asset/?id=426479434"
local enginevolume = 3
local enginePitchAdjust = 1

local IdleSound = "http://www.roblox.com/asset/?id=426479434" --{If you dont have a separate sound, use engine sound ID}
local idlePitchAdjust = 0.9

local TurboSound = "http://www.roblox.com/asset/?id=286070281"
local turbovolume = 10

local SuperchargerSound = "http://www.roblox.com/asset/?id=404779487"
local superchargervolume = 10

local HornSound = "http://www.roblox.com/asset/?id=143133249"
local hornvolume = 4

local StartupSound = "http://www.roblox.com/asset/?id=169394147"
local startupvolume = 3
local startuplength = 0 --{adjust this for a longer startup duration}

local WHEELS_VISIBLE = false --If your wheels transparency is a problem, change this value to false
local BRAKES_VISIBLE = false --This is to hide the realistic brakes, you can set this to false if you'd like to see how the brakes work
local AUTO_FLIP = true --If false, your car will not flip itself back over in the event of a turnover

local SpeedoReading = "KPH" --{KPH, MPH}

local RevDecay = 150 --{The higher this value, the faster it will decay}

								--//INSPARE//--
								  --//SS6//--
							 --//Build 1.0//--

									--and i'll write your name.

 script.Parent.Name = "VehicleSeat"
wait(0.1)

checker = Instance.new("Model")
checker.Name = "PGSCH"
checker.Parent = game.Workspace

checkertb = Instance.new("Part")
checkertb.Name = "Test"
checkertb.Parent = checker
checkertb.CanCollide = false
checkertb.TopSurface = Enum.SurfaceType.SmoothNoOutlines
checkertb.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
checkertb.Transparency = 0.8

checkertop = Instance.new("Part")
checkertop.Name = "Top"
checkertop.Parent = checker
checkertop.Anchored = true
checkertop.CanCollide = false
checkertop.TopSurface = Enum.SurfaceType.SmoothNoOutlines
checkertop.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
checkertop.Transparency = 0.8

checker1 = Instance.new("Attachment", checkertb)
checker2 = Instance.new("Attachment", checkertop)

checkerrope = Instance.new("RopeConstraint", checkertb)
checkerrope.Attachment0 = checker1
checkerrope.Attachment1 = checker2

checkerbf = Instance.new("BodyForce", checkertb)
checkerbf.Force = Vector3.new(0, -1000000, 0)

alertbbg = Instance.new("BillboardGui", script.Parent)
alertbbg.Size = UDim2.new(0, 500, 0, 100)
alertbbg.StudsOffset = Vector3.new(0,8,0)
alertbbg.AlwaysOnTop = true
alertbbg.Enabled = false

alerttext = Instance.new("TextLabel", alertbbg)
alerttext.BackgroundColor3 = Color3.new(97/255, 255/255, 176/255)
alerttext.BackgroundTransparency = 0.5
alerttext.TextSize = 24
alerttext.TextStrokeTransparency = 0.8
alerttext.Size = UDim2.new(1,0,1,0)
alerttext.BorderSizePixel = 0
alerttext.TextColor3 = Color3.new(1,1,1)
alerttext.TextWrapped = true
alerttext.Font = "SourceSans"
alerttext.Text = "PGSPhysicsSolver must be enabled to use this chassis!                                                                                Enable this feature in the Workspace."
finesse = true
vr = 0
checker.ChildRemoved:connect(function(instance)
 if finesse == true then
    alertbbg.Enabled = true
vr = 1
end
end)

wait(0.35)
if vr == 0 then
finesse = false
checker:remove()

local PreS = script.Assets.PreSet:Clone()
PreS.Parent = script.Parent
PreS.Disabled = false
script.Parent:WaitForChild("PreSet")
script.Parent.CFrame = script.Parent.CFrame * CFrame.Angles(math.rad(0.59), math.rad(0), math.rad(0))

if BRAKES_VISIBLE == true then
	bv = 0
else
	bv = 1
end


Prompt:
--[[
	Functions like a hypothetical 'Instance.Destroyed' event - when the instance
	is destroyed, cleans up the given task using the default `cleanup` function.
	Returns a function which can be called to stop listening for destruction.

	Relying on this function is dangerous - this should only ever be used when
	no more suitable solution exists. In particular, it's almost certainly the
	wrong solution if you're not dealing with instances passed in by the user.

	NOTE: yes, this uses polling. I've been working on making this function
	work better with events for months, and even then I can't avoid polling. I
	just want something that works in all edge cases, even it if might not be
	the theoretically best solution. This is the best choice for the short term.

	You can find the 'better' version with less polling in the
	`cleanupOnDestroy_smart` file if you're interested in helping out :)
]]

Response:
local RunService = game:GetService("RunService")

local Package = script.Parent.Parent
local cleanup = require(Package.Utility.cleanup)

type TaskData = {
	connection: RBXScriptConnection,
	task: cleanup.Task,
	cleaned: boolean
}

local function noOp()
	-- intentionally blank - no operation!
end

local tasks: {TaskData} = {}
local numTasks = 0
local currentIndex = 1


Prompt: --//Setup//--

Response:
local Button = script.Parent

local ID = Button.EmoteID

local EmotesHolder = Button.Parent
local CurrentAnimation = EmotesHolder.CurrentAnimation

local Action


Prompt: --MasterControl needs access to ControlState in order to be able to fully enable and disable control

Response:
MasterControl.ControlState = ControlState

local DynamicThumbstickModule = require(script.MasterControl:WaitForChild('DynamicThumbstick'))
local ThumbstickModule = require(script.MasterControl:WaitForChild('Thumbstick'))
local ThumbpadModule = require(script.MasterControl:WaitForChild('Thumbpad'))
local DPadModule = require(script.MasterControl:WaitForChild('DPad'))
local DefaultModule = ControlModules.Thumbstick
local TouchJumpModule = require(script.MasterControl:WaitForChild('TouchJump'))
local ClickToMoveModule = FFlagUserNoCameraClickToMove and require(script.MasterControl:WaitForChild('ClickToMoveController')) or nil

MasterControl.TouchJumpModule = TouchJumpModule
local VRNavigationModule = require(script.MasterControl:WaitForChild('VRNavigation'))
local keyboardModule = require(script.MasterControl:WaitForChild('KeyboardMovement'))
ControlModules.Gamepad = require(script.MasterControl:WaitForChild('Gamepad'))

function getTouchModule()

	local module = nil
	if not IsUserChoice then
		if DynamicThumbstickAvailable and DevMovementMode == Enum.DevTouchMovementMode.DynamicThumbstick then
			module = DynamicThumbstickModule
			isJumpEnabled = false
		elseif DevMovementMode == Enum.DevTouchMovementMode.Thumbstick then
			module = ThumbstickModule
			isJumpEnabled = true
		elseif DevMovementMode == Enum.DevTouchMovementMode.Thumbpad then
			module = ThumbpadModule
			isJumpEnabled = true
		elseif DevMovementMode == Enum.DevTouchMovementMode.DPad then
			module = DPadModule
			isJumpEnabled = false
		elseif DevMovementMode == Enum.DevTouchMovementMode.ClickToMove then
			if FFlagUserNoCameraClickToMove then
				module = ClickToMoveModule
				isJumpEnabled = false -- TODO: What should this be, true or false?
			else
				module = nil
			end
		elseif DevMovementMode == Enum.DevTouchMovementMode.Scriptable then
			module = nil
		end
	else
		if DynamicThumbstickAvailable and UserMovementMode == Enum.TouchMovementMode.DynamicThumbstick then
			module = DynamicThumbstickModule
			isJumpEnabled = false
		elseif UserMovementMode == Enum.TouchMovementMode.Default or UserMovementMode == Enum.TouchMovementMode.Thumbstick then
			module = ThumbstickModule
			isJumpEnabled = true
		elseif UserMovementMode == Enum.TouchMovementMode.Thumbpad then
			module = ThumbpadModule
			isJumpEnabled = true
		elseif UserMovementMode == Enum.TouchMovementMode.DPad then
			module = DPadModule
			isJumpEnabled = false
		elseif UserMovementMode == Enum.TouchMovementMode.ClickToMove then
			if FFlagUserNoCameraClickToMove then
				module = ClickToMoveModule
				isJumpEnabled = false -- TODO: What should this be, true or false?
			else
				module = nil
			end
		end
	end
	return module
end

function setJumpModule(isEnabled)
	if not isEnabled then
		TouchJumpModule:Disable()
	elseif ControlState.Current == ControlModules.Touch then
		TouchJumpModule:Enable()
	end
end

function setClickToMove()
	if DevMovementMode == Enum.DevTouchMovementMode.ClickToMove or DevMovementMode == Enum.DevComputerMovementMode.ClickToMove or
		UserMovementMode == Enum.ComputerMovementMode.ClickToMove or UserMovementMode == Enum.TouchMovementMode.ClickToMove then
		if lastInputType == Enum.UserInputType.Touch then
			ClickToMoveTouchControls = ControlState.Current
		end
	elseif ClickToMoveTouchControls then
		ClickToMoveTouchControls:Disable()
		ClickToMoveTouchControls = nil
	end
end

ControlModules.Touch = {}
ControlModules.Touch.Current = nil
ControlModules.Touch.LocalPlayerChangedCon = nil
ControlModules.Touch.GameSettingsChangedCon = nil

function ControlModules.Touch:RefreshControlStyle()
	if ControlModules.Touch.Current then
		ControlModules.Touch.Current:Disable()
	end
	setJumpModule(false)
	TouchJumpModule:Disable()
	ControlModules.Touch:Enable()
end
function ControlModules.Touch:DisconnectEvents()
	if ControlModules.Touch.LocalPlayerChangedCon then
		ControlModules.Touch.LocalPlayerChangedCon:disconnect()
		ControlModules.Touch.LocalPlayerChangedCon = nil
	end
	if ControlModules.Touch.GameSettingsChangedCon then
		ControlModules.Touch.GameSettingsChangedCon:disconnect()
		ControlModules.Touch.GameSettingsChangedCon = nil
	end
end
function ControlModules.Touch:Enable()
	DevMovementMode = LocalPlayer.DevTouchMovementMode
	IsUserChoice = DevMovementMode == Enum.DevTouchMovementMode.UserChoice
	if IsUserChoice then
		UserMovementMode = GameSettings.TouchMovementMode
	end

	local newModuleToEnable = getTouchModule()
	if newModuleToEnable then
		setClickToMove()
		setJumpModule(isJumpEnabled)

		newModuleToEnable:Enable()
		ControlModules.Touch.Current = newModuleToEnable

		if isJumpEnabled then TouchJumpModule:Enable() end
	end

	-- This being within the above if statement was causing issues with ClickToMove, which isn't a module within this script.
	ControlModules.Touch:DisconnectEvents()
	ControlModules.Touch.LocalPlayerChangedCon = LocalPlayer:GetPropertyChangedSignal("DevTouchMovementMode"):connect(function()
		ControlModules.Touch:RefreshControlStyle()
	end)
	ControlModules.Touch.GameSettingsChangedCon = GameSettings:GetPropertyChangedSignal("TouchMovementMode"):connect(function()
		ControlModules.Touch:RefreshControlStyle()
	end)
end
function ControlModules.Touch:Disable()
	ControlModules.Touch:DisconnectEvents()

	local newModuleToDisable = getTouchModule()

	if newModuleToDisable == ThumbstickModule or
		newModuleToDisable == DPadModule or
		newModuleToDisable == ThumbpadModule or
		newModuleToDisable == DynamicThumbstickModule then
		newModuleToDisable:Disable()
		setJumpModule(false)
		TouchJumpModule:Disable()
	end

	-- UserMovementMode will still have the previous value at this point
	if FFlagUserNoCameraClickToMove and UserMovementMode == Enum.ComputerMovementMode.ClickToMove then
		ClickToMoveModule:Disable()
	end
end

local function getKeyboardModule()
	-- NOTE: Click to move still uses keyboard. Leaving cases in case this ever changes.
	local whichModule = nil
	if not IsUserChoice then
		if DevMovementMode == Enum.DevComputerMovementMode.KeyboardMouse then
			whichModule = keyboardModule
		elseif DevMovementMode == Enum.DevComputerMovementMode.ClickToMove then
			whichModule = keyboardModule
		end
	else
		if UserMovementMode == Enum.ComputerMovementMode.KeyboardMouse or UserMovementMode == Enum.ComputerMovementMode.Default then
			whichModule = keyboardModule
		elseif UserMovementMode == Enum.ComputerMovementMode.ClickToMove then
			whichModule = keyboardModule
		end
	end

	return whichModule
end

ControlModules.Keyboard = {}
function ControlModules.Keyboard:RefreshControlStyle()
	ControlModules.Keyboard:Disable()
	ControlModules.Keyboard:Enable()
end
function ControlModules.Keyboard:Enable()
	DevMovementMode = LocalPlayer.DevComputerMovementMode
	IsUserChoice = DevMovementMode == Enum.DevComputerMovementMode.UserChoice
	if IsUserChoice then
		UserMovementMode = GameSettings.ComputerMovementMode
	end

	local newModuleToEnable = getKeyboardModule()
	if newModuleToEnable then
		newModuleToEnable:Enable()
	end

	if FFlagUserNoCameraClickToMove and UserMovementMode == Enum.ComputerMovementMode.ClickToMove then
		ClickToMoveModule:Enable()
	end

	ControlModules.Keyboard:DisconnectEvents()
	ControlModules.Keyboard.LocalPlayerChangedCon = LocalPlayer.Changed:connect(function(property)
		if property == 'DevComputerMovementMode' then
			ControlModules.Keyboard:RefreshControlStyle()
		end
	end)

	ControlModules.Keyboard.GameSettingsChangedCon = GameSettings.Changed:connect(function(property)
		if property == 'ComputerMovementMode' then
			ControlModules.Keyboard:RefreshControlStyle()
		end
	end)
end
function ControlModules.Keyboard:DisconnectEvents()
	if ControlModules.Keyboard.LocalPlayerChangedCon then
		ControlModules.Keyboard.LocalPlayerChangedCon:disconnect()
		ControlModules.Keyboard.LocalPlayerChangedCon = nil
	end
	if ControlModules.Keyboard.GameSettingsChangedCon then
		ControlModules.Keyboard.GameSettingsChangedCon:disconnect()
		ControlModules.Keyboard.GameSettingsChangedCon = nil
	end
end
function ControlModules.Keyboard:Disable()
	ControlModules.Keyboard:DisconnectEvents()
	local newModuleToDisable = getKeyboardModule()
	if newModuleToDisable then
		newModuleToDisable:Disable()
	end

	-- UserMovementMode will still be set to previous movement type
	if FFlagUserNoCameraClickToMove and UserMovementMode == Enum.ComputerMovementMode.ClickToMove then
		ClickToMoveModule:Disable()
	end
end

ControlModules.VRNavigation = {}

function ControlModules.VRNavigation:Enable()
	VRNavigationModule:Enable()
end

function ControlModules.VRNavigation:Disable()
	VRNavigationModule:Disable()
end

if not FFlagUserNoCameraClickToMove and IsTouchDevice then
	BindableEvent_OnFailStateChanged = script.Parent:WaitForChild("OnClickToMoveFailStateChange")
end


Prompt: --bp.Position = shelly.PrimaryPart.Position

Response:
if not shellyGood then bp.Parent,bg.Parent= nil,nil return end
bp.Parent = nil
wait(math.random(3,8))
end

local soundBank = game.ReplicatedStorage.Sounds.NPC.Shelly:GetChildren()

shelly.Health.Changed:connect(function()
if shellyGood then
bp.Parent,bg.Parent= nil,nil
shelly.PrimaryPart.Transparency =1
shelly.PrimaryPart.CanCollide = false
shelly.Shell.Transparency = 1
shelly.HitShell.Transparency = 0
shelly.HitShell.CanCollide = true
shellyGood = false
ostrich = tick()
shelly:SetPrimaryPartCFrame(shelly.PrimaryPart.CFrame*CFrame.new(0,2,0))
local hitSound = soundBank[math.random(1,#soundBank)]:Clone()
hitSound.PlayOnRemove = true
hitSound.Parent = shelly.PrimaryPart
wait()
hitSound:Destroy()

repeat task.wait() until tick()-ostrich > 20
shelly.PrimaryPart.Transparency = 0
shelly.PrimaryPart.CanCollide = true
shelly.Shell.Transparency = 0
shelly.HitShell.Transparency = 1
shelly.HitShell.CanCollide = false
bp.Parent,bg.Parent = shelly.PrimaryPart,shelly.PrimaryPart
shellyGood = true
end
end)

while true do
if shellyGood then
MoveShelly()
else
task.wait(1)
end
end


Prompt:
--s.Pitch = 0
--[[for x = 1, 50 do
s.Pitch = s.Pitch + 0.10 1.900
s:play()
wait(0.001)
end]]
--[[Chopper level 5=1.2, Chopper level 4=1.04]]

Response:
while s.Pitch<1 do
s.Pitch=s.Pitch+1
s:Play()
if s.Pitch>1 then
	s.Pitch=1
end
wait(-9)
end

while true do
for x = 1, 500 do
s:play()
wait(-9)
end
end


Prompt: --- me.Size=UDim2.new(0,me.AbsoluteSize.X,0,UDim2.new(0,0,0,ui.AbsoluteContentSize.Y))

Response:
sizeY=ui.AbsoluteContentSize.Y
sizeX=me.AbsoluteSize.X
me.Size=UDim2.new(0,sizeX,0,sizeY)


Prompt: --Tune

Response:
OverheatSpeed = .35 --How fast the car will overheat
CoolingEfficiency = .075 --How fast the car will cool down
RunningTemp = 85 --In degrees

Fan = true --Cooling fan
FanTemp = 105 --At what temperature the cooling fan will activate
FanSpeed = .15
FanVolume = .25

BlowupTemp = 130 --At what temperature the engine will blow up


Prompt:
--Updated 7/6/2019
--Not made by me, i just fixed some things and added a sound.


Prompt: -- Decompiled with the Synapse X Luau decompiler.

Response:
local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
end)();
return function(p1, p2)
	p2 = p2 or 1;
	local v1 = u1.GFX.CacheProperty(p1, "TextColor3");
	if v1 == Color3.new(1, 1, 1) then
		p1.TextColor3 = Color3.new(v1.r / 2, v1.g / 2, v1.b / 2);
	else
		p1.TextColor3 = Color3.new(v1.r * 2, v1.g * 2, v1.b * 2);
	end;
	return u1.Functions.Tween(p1, { p2, 5, 1 }, {
		TextColor3 = v1
	});
end;


Prompt:
-- ================================================================================
-- VARIABLES
-- ================================================================================
-- Services

Response:
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerScriptService = game:GetService("ServerScriptService")
local PhysicsService = game:GetService("PhysicsService")


Prompt: --CHANGE THIS TO FALSE IF YOU DO NOT WANT TO SUPPORT THE CREATOR WITH ADVERTISEMENTS.

Response: local doModelAdvertisement = false


Prompt: -- 5.) Put this in MiscWeld under Weld stuff here:

Response:
MakeWeld(car.Misc.Tach.M,car.DriveSeat,"Motor").Name="M"
ModelWeld(misc.Tach.Parts,misc.Tach.M)


Prompt: -- << SERVICES/VARIABLES >>

Response:
local players = game:GetService("Players")
local tweenService = game:GetService("TweenService")
local debris = game:GetService("Debris")
local hdMain = require(game:GetService("ReplicatedStorage"):WaitForChild("HDAdminSetup")):GetMain()
local hd = hdMain:GetModule("API")
local rankId = tonumber(rankAndBelowToRemove) or hd:GetRankId(rankAndBelowToRemove)


Prompt: --[[ Main Script ]]

Response:
--

local Seat = script.Parent

Seat.ChildAdded:connect(function(Child)

		if Child.Name == "SeatWeld" then

script.Parent.Parent.Union.Transparency = 1
script.Parent.Parent.open.Transparency = 0
				end
end)

Seat.ChildRemoved:connect(function(child)
	if child.Name == "SeatWeld" then
script.Parent.Parent.Union.Transparency = 0
script.Parent.Parent.open.Transparency = 01
	end
end)


Prompt: --Combat Variables--

Response:
local munition = combat.resetMunition()
local lastAttack = tick()
local target = nil

if not _G.ApachePathing then
	pathing.init()
end

function takeOff()
	startEngine()
	criticalAction = true
	while flight.checkHeight(desiredHeight) == 1 do
		wait(0.2)
	end
	criticalAction = false
end

function startEngine()
	bp.Position = body.Position
	bp.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
	bg.CFrame = myRoot.CFrame
	bg.MaxTorque = bgTorque

	body.BackBladeHinge.AngularVelocity = 1000
	body.FrontBladeHinge.AngularVelocity = 1000
	local soundTween = game:GetService("TweenService"):Create(body.Sound,TweenInfo.new(5),{Volume = 1})
	soundTween:Play()
	wait(5)
	engineRunning = true
end

function killEngine()
	engineRunning = false
	bp.MaxForce = Vector3.new()
	body.BackBladeHinge.AngularVelocity = 0
	body.FrontBladeHinge.AngularVelocity = 0
	body.FrontBladeHinge.AngularSpeed = 0
	game:GetService("TweenService"):Create(script.Parent["Main Propeller"],TweenInfo.new(5),{AssemblyAngularVelocity = Vector3.new()}):Play()
	local soundTween = game:GetService("TweenService"):Create(body.Sound,TweenInfo.new(5),{Volume = 0})
	soundTween:Play()
	wait(5)
	bg.MaxTorque = Vector3.new()
end

function findTurns(waypoints)
	local importantWaypoints = {}
	table.insert(importantWaypoints,waypoints[1])

	local index = 0
	local canseeIndex = 1
	local currentWaypoint = importantWaypoints[1]
	while true do
		if canseeIndex ~= #waypoints then
			local lookCFrame = CFrame.lookAt(currentWaypoint.Position,waypoints[canseeIndex].Position)
			for offset = -15, 15, 5 do
				local params = RaycastParams.new()
				params.FilterDescendantsInstances = {script.Parent}
				local tempCFrame = lookCFrame * CFrame.new(offset,0,0)
				local dist = core.checkDist(tempCFrame.Position,waypoints[canseeIndex])
				local result = workspace:Raycast(tempCFrame.Position,tempCFrame.LookVector*dist,params)

				if result then

					currentWaypoint = waypoints[canseeIndex]
					table.insert(importantWaypoints,waypoints[canseeIndex-1])
					break
				end
			end
			canseeIndex = canseeIndex + 1
		else
			table.insert(importantWaypoints,waypoints[canseeIndex])
			break
		end
	end

	return importantWaypoints
end

function flyPath(pos)

	local waypoints = pathing.findPath(myRoot.Position,pos)

	if not waypoints then
		warn("No valid path to target")
		wait(30)
		return false
	end

	waypoints = findTurns(waypoints)

	local timeout = core.checkDist(myRoot,pos)
	local killPath = false
	if waypoints then
		for _,waypoint in ipairs(waypoints) do

			local currentTarget = target

			--While flying to next point
			while not flight.flyToPos(waypoint.Position) and not dodgingObstacles.Value do

				if currentTarget ~= target or (target and not combat.getMunition(munition)) then
					killPath = true
					break
				end

				timeout = timeout - 1
				if timeout < 0 then
					killPath = true
					break
				end
				wait()
			end
			if killPath then
				break
			end
		end
	end
end

function combatFlight()
	if core.checkSight(target) then

		local turnAngle = core.findAngle(myRoot.Position,target.Position,myRoot)
		if core.checkDistXZ(myRoot,target) > 25 then
			--Angles the helicopter to fly towards the target

			flight.flyTowards(-35,-turnAngle)
		else
			flight.flyTowards(0,-turnAngle)
		end
	else

		flyPath(target.Position)

	end

	--When too close to target fly forward to gain some distance
	if target and core.checkDistXZ(target,myRoot) < 50 then
		for i = 1, 20 do
			wait()
			flight.flyTowards(-25,0)
			if dodgingObstacles.Value then
				break
			end
		end
	end
end

function flyHome()
	local params = RaycastParams.new()
	params.FilterDescendantsInstances = {script.Parent}
	local dist = (myRoot.Position-home.Position).Magnitude
	local result = workspace:Raycast(myRoot.Position,(home.Position - myRoot.Position).Unit * dist, params)
	if not result then
		if flight.flyToPos(home.Position) then

			criticalAction = true
			engineRunning = false
			flight.land(home)

			--Once we completely land we are available for other missions
			if core.checkDist(home.Position,myRoot) < 30 then
				criticalAction = false
				munition = combat.resetMunition()
				killEngine()
			end
		end
	else
		flyPath(home.Position)
	end
end

function crash()
	body.BladeAttach.Smoke.Enabled = true
	body.RearBladeAttach.Smoke.Enabled = true

	flight.flyTowards(math.random(-80,80),nil,math.random(-80,80))

	for i = 1, math.random(4,10) do

		local posX = math.random(-body.Size.X,body.Size.X)
		local posY = math.random(-body.Size.Y,body.Size.Y)
		local posZ = math.random(-body.Size.Z,body.Size.Z)/3
		local pos = Vector3.new(posX,posY,posZ)
		pos = pos/2

		local attach = Instance.new("Attachment")
		attach.Parent = body
		attach.Position = pos

		local fire = Instance.new("Fire")
		--fire.Parent = attach
		fire.Size = math.random(3,8)
		fire.Heat = math.random(math.random(10,20))
	end

	bg.MaxTorque = Vector3.new(100,100,100)

	local crashSpeed = math.random(1,3)/5
	local crashed = false
	body.Touched:Connect(function(part)
		if part:GetMass() > 50 or part:IsGrounded() then
			crashed = true
		end
	end)
	local maxIterations = 200
	while not crashed do
		flight.physics()
		bp.Position = bp.Position - Vector3.new(0,crashSpeed,0)
		maxIterations = maxIterations - 1
		if maxIterations < 0 then
			break
		end
		wait()
	end

	body.Sound:Stop()
	bp:Destroy()
	bg:Destroy()

	body.FrontBladeHinge:Destroy()
	body.BackBladeHinge:Destroy()
	script.Parent["Main Propeller"].CanCollide = false

	local x = Instance.new("Explosion")
	x.Parent = myRoot
	x.BlastRadius = 50
	x.BlastPressure = 0
	x.DestroyJointRadiusPercent = 0
	x.Position = myRoot.Position
end


Prompt:
--[=[
	@param keyCode Enum.KeyCode
	@return isDown: boolean

	Returns `true` if the key is down.

	```lua
	local w = keyboard:IsKeyDown(Enum.KeyCode.W)
	if w then ... end
	```
]=]

Response:
function Keyboard:IsKeyDown(keyCode)
	return UserInputService:IsKeyDown(keyCode)
end


Prompt: --[[ TELEPORT SERVICE ]]

Response:
--

if (game.VIPServerId ~= "" and game.VIPServerOwnerId == 0) then

	warn("Booting Server !")

	local waitTime = 30

	Players.PlayerAdded:connect(function(player)
		wait(waitTime)
		waitTime = waitTime / 2
		TeleportService:Teleport(game.PlaceId, player)
	end)

	for _,player in pairs(Players:GetPlayers()) do
		TeleportService:Teleport(game.PlaceId, player)
		wait(waitTime)
		waitTime = waitTime / 2
	end
else
	game:BindToClose(function()
		local con

		if (#Players:GetPlayers() == 0) then
			return
		end

		if (game:GetService("RunService"):IsStudio()) then
			return
		end

		for i,v in pairs(game.Players:GetChildren()) do
			AddUI(v)
		end

		con = Players.PlayerAdded:connect(function(v)
			wait(1)
			AddUI(v)
		end)

		wait(15)

		con:Disconnect()

		local reservedServerCode = TeleportService:ReserveServer(game.PlaceId)

		for _,player in pairs(Players:GetPlayers()) do
			TeleportService:TeleportToPrivateServer(game.PlaceId, reservedServerCode, { player })
		end
		Players.PlayerAdded:connect(function(player)
			TeleportService:TeleportToPrivateServer(game.PlaceId, reservedServerCode, { player })
		end)
		while (#Players:GetPlayers() > 0) do
			wait(1)
		end

	end)
end


Prompt: --[[[Default Controls]]

Response:
	--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.ButtonB				,
		ContlrToggleTCS			= Enum.KeyCode.DPadDown				,
		ContlrToggleABS			= Enum.KeyCode.ButtonL3				,
	}


Prompt: -- Postdeath gui

Response:
local postDeathGui = PostDeathGui.new()
local postDeathGuiFrame = postDeathGui:createFrame(PostDeath)


Prompt: --[[Susupension]]

Response:
	Tune.SusEnabled		= true		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled

	--Front Suspension
	Tune.FSusDamping	= 500		-- Spring Dampening
	Tune.FSusStiffness	= 9000		-- Spring Force
	Tune.FSusLength		= 2			-- Suspension length (in studs)
	Tune.FSusMaxExt		= .3		-- Max Extension Travel (in studs)
	Tune.FSusMaxComp	= .1		-- 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	= 9000		-- Spring Force
	Tune.RSusLength		= 2			-- Suspension length (in studs)
	Tune.RSusMaxExt		= .3		-- Max Extension Travel (in studs)
	Tune.RSusMaxComp	= .1		-- 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


Prompt:
--[=[
	@within TableUtil
	@function Copy
	@param tbl table -- Table to copy
	@param deep boolean? -- Whether or not to perform a deep copy
	@return table

	Creates a copy of the given table. By default, a shallow copy is
	performed. For deep copies, a second boolean argument must be
	passed to the function.

	:::caution No cyclical references
	Deep copies are _not_ protected against cyclical references. Passing
	a table with cyclical references _and_ the `deep` parameter set to
	`true` will result in a stack-overflow.
]=]

Response:
local function Copy(t: Table, deep: boolean?): Table
	if not deep then
		return table.clone(t)
	end
	local function DeepCopy(tbl)
		local tCopy = table.clone(tbl)
		for k,v in pairs(tCopy) do
			if type(v) == "table" then
				tCopy[k] = DeepCopy(v)
			end
		end
		return tCopy
	end
	return DeepCopy(t)
end


Prompt: --> Variables

Response:
local XPPerLevel = GameConfig.XPPerLevel
local PlayerLeveling = {}


Prompt:
--edit the function below to return true when you want this response/prompt to be valid
--player is the player speaking to the dialogue, and dialogueFolder is the object containing the dialogue data

Response:
return function(player, dialogueFolder)
	local plrData = require(game.ReplicatedStorage.Source.Modules.Util):GetPlayerData(player)
	return plrData.Classes.Base.Paladin.JumpStrike1.Value ~= true or plrData.Classes.Base.Paladin.XP.Value < 150
end


Prompt: -- ROBLOX deviation: wrap in function to pass jests methods (it, describe, etc)

Response:
local each = function(jestMethods_: Object?)
	local jestMethods = (if jestMethods_ ~= nil then jestMethods_ else {}) :: Object
	--[[
		ROBLOX deviation START: TestEZ it/test/describe are functions, make them callable objects
		to handle them the same way as jest's API and support both.
	]]
	Array.forEach(Object.keys(jestMethods), function(key)
		local maybeMethod = jestMethods[key]
		jestMethods[key] = if typeof(maybeMethod) == "function"
			then setmetatable({}, {
				__call = function(_self, ...)
					return maybeMethod(...)
				end,
			})
			else maybeMethod
	end)
	-- ROBLOX deviation END
	return setmetatable({
		withGlobal = function(g: Global)
			return function(table_: Global_EachTable, ...)
				return install(g, maybeHandleTemplateString(table_), ...)
			end
		end,
	}, {
		__call = function(_self, table_: Global_EachTable, ...): ReturnType<typeof(install)>
			-- ROBLOX deviation: jestMethods, are passed as parameters, not taken from global
			return install(jestMethods :: Global, maybeHandleTemplateString(table_), ...)
		end,
	})
end

exports.bind = bind

exports.default = each

exports.NIL = NIL

return exports


Prompt: --HumanoidRootPart.Velocity = Velocity

Response: script:Destroy()


Prompt: --[[ Script Variables ]]

Response:
--
while not Players.LocalPlayer do
	wait()
end
local LocalPlayer = Players.LocalPlayer
local DPadFrame = nil
local TouchObject = nil
local OnInputEnded = nil		-- defined in Create()


Prompt: --/Other

Response:
module.EnableLaser 		= true
module.EnableFlashlight = false
module.InfraRed 		= false


Prompt: -- SETTINGS

Response:
local brakeColor_on = BrickColor.new("Really red")
local brakeColor_off = BrickColor.new("Reddish brown")
local lightColor_on = BrickColor.new("Institutional white")
local lightColor_off = light_L.BrickColor
print("headlight off color will be " .. lightColor_off.Name)
local smokeOpacity_throttleOn = 0.5
local smokeOpacity_throttleOff = 0.1
local fireSize_big = 7
local fireSize_small = 3

function seatChildAddedHandler(child)
	if child.Name=="SeatWeld" then
		print("Turn car ON")
		driverInSeat = true
		smoke.Enabled = true
		smoke.Opacity = smokeOpacity_throttleOff
		light_L.BrickColor = lightColor_on
		light_R.BrickColor = lightColor_on
		fire.Size = fireSize_big
		fire.Enabled = true
		wait(0.3)
		fire.Size = fireSize_small
		if seat.Throttle==0 then
			fire.Enabled = false
		end
	end
end

function seatChildRemovedHandler(child)
	if child.Name=="SeatWeld" then
		print("Turn car OFF")
		driverInSeat = false
		smoke.Enabled = false
		light_L.BrickColor = lightColor_off
		light_R.BrickColor = lightColor_off
	end
end

function showBigFire()
	fire.Size = fireSize_big
	fire.Enabled = true
	wait(0.3)
	if seat.Throttle==1 then
		fire.Size = fireSize_small
	end
	wait(1)
	if seat.Throttle==1 then
		fire.Enabled = false
	end
end

local tiltForce = 84000
local tiltTime = 1
function tiltJeepBack()
	print("tiltJeepBack()")
	wait(tiltTime)
end

function tiltJeepForward()
	print("tiltJeepForward()")
	wait(tiltTime)
end

function seatChangedHandler(prop)
	if prop=="Throttle" then
		if seat.Throttle==1 then
			-- Throttle Forward
			brake_L.BrickColor = brakeColor_off
			brake_R.BrickColor = brakeColor_off
			smoke.Opacity = smokeOpacity_throttleOn
			local co = coroutine.create(showBigFire)
			coroutine.resume(co)
			local co2 = coroutine.create(tiltJeepBack)
			coroutine.resume(co2)
		elseif seat.Throttle==0 then
			-- Throttle Off
			brake_L.BrickColor = brakeColor_on
			brake_R.BrickColor = brakeColor_on
			smoke.Opacity = smokeOpacity_throttleOff
			fire.Enabled = false
			wait(0.9)
			if brake_L.BrickColor==brakeColor_on then
				brake_L.BrickColor = brakeColor_off
			end
			if brake_R.BrickColor==brakeColor_on then
				brake_R.BrickColor = brakeColor_off
			end
		elseif seat.Throttle==-1 then
			-- Throttle Reverse
			brake_L.BrickColor = lightColor_on
			brake_R.BrickColor = lightColor_on
			smoke.Opacity = smokeOpacity_throttleOff
			fire.Enabled = false
			local co = coroutine.create(tiltJeepForward)
			coroutine.resume(co)
		end
	end
end


Prompt: --Put in Starter Characater Script

Response:
local Human = script.Parent:WaitForChild("Humanoid")
local LastHealth = Human.Health

Human.Changed:Connect(function()
if Human.Health > LastHealth then
LastHealth = Human.Health
end
if Human.Health < LastHealth and LastHealth > 30 then
LastHealth = Human.Health
 local Tracks = script:GetChildren()
	local RandomTracks = math.random(1,#Tracks)
	local ChosenTrack = Tracks[RandomTracks]
	if ChosenTrack ~= nil then
		ChosenTrack:play()
	end
end
end)


Prompt: -- move back UI --

Response:
titleStart = {}
titleStart.Position = UDim2.new(-1, 0, 0, 0)

soloStart = {}
soloStart.Position = UDim2.new(-1, 0, 0.4, 0)

customizeStart = {}
customizeStart.Position = UDim2.new(-1, 0 , 0.55, 0)

achievementsStart = {}
achievementsStart.Position = UDim2.new(-1, 0 , 0.7, 0)

settingsStart = {}
settingsStart.Position = UDim2.new(-1, 0 , 0.85, 0)

backStart = {}
backStart.Position = UDim2.new(0.5, 0, 0.85, 0)


Prompt: -- How many times per second the gun can fire

Response: local FireRate = 1 / 1.25


Prompt:
--[[function Global:SyncMemberWithClient(object,memberName,value,player)
	if player then
		game.ReplicatedStorage.PublicMembers.SyncMember:FireClient(player,object,memberName,value)
	else
		game.ReplicatedStorage.PublicMembers.SyncMember:FireAllClients(object,memberName,value)
	end
end]]

Response: return Global


Prompt: --[[ The Module ]]

Response:
--
local TransparencyController = {}
TransparencyController.__index = TransparencyController

function TransparencyController.new()
	local self = setmetatable({}, TransparencyController)

	self.lastUpdate = tick()
	self.transparencyDirty = false
	self.enabled = false
	self.lastTransparency = nil

	self.descendantAddedConn, self.descendantRemovingConn = nil, nil
	self.toolDescendantAddedConns = {}
	self.toolDescendantRemovingConns = {}
	self.cachedParts = {}

	return self
end

function TransparencyController:HasToolAncestor(object: Instance)
	if object.Parent == nil then return false end
	return object.Parent:IsA('Tool') or self:HasToolAncestor(object.Parent)
end

function TransparencyController:IsValidPartToModify(part: BasePart)
	if part:IsA('BasePart') or part:IsA('Decal') then
		return not self:HasToolAncestor(part)
	end
	return false
end

function TransparencyController:CachePartsRecursive(object)
	if object then
		if self:IsValidPartToModify(object) then
			self.cachedParts[object] = true
			self.transparencyDirty = true
		end
		for _, child in pairs(object:GetChildren()) do
			self:CachePartsRecursive(child)
		end
	end
end

function TransparencyController:TeardownTransparency()
	for child, _ in pairs(self.cachedParts) do
		child.LocalTransparencyModifier = 0
	end
	self.cachedParts = {}
	self.transparencyDirty = true
	self.lastTransparency = nil

	if self.descendantAddedConn then
		self.descendantAddedConn:disconnect()
		self.descendantAddedConn = nil
	end
	if self.descendantRemovingConn then
		self.descendantRemovingConn:disconnect()
		self.descendantRemovingConn = nil
	end
	for object, conn in pairs(self.toolDescendantAddedConns) do
		conn:Disconnect()
		self.toolDescendantAddedConns[object] = nil
	end
	for object, conn in pairs(self.toolDescendantRemovingConns) do
		conn:Disconnect()
		self.toolDescendantRemovingConns[object] = nil
	end
end

function TransparencyController:SetupTransparency(character)
	self:TeardownTransparency()

	if self.descendantAddedConn then self.descendantAddedConn:disconnect() end
	self.descendantAddedConn = character.DescendantAdded:Connect(function(object)
		-- This is a part we want to invisify
		if self:IsValidPartToModify(object) then
			self.cachedParts[object] = true
			self.transparencyDirty = true
		-- There is now a tool under the character
		elseif object:IsA('Tool') then
			if self.toolDescendantAddedConns[object] then self.toolDescendantAddedConns[object]:Disconnect() end
			self.toolDescendantAddedConns[object] = object.DescendantAdded:Connect(function(toolChild)
				self.cachedParts[toolChild] = nil
				if toolChild:IsA('BasePart') or toolChild:IsA('Decal') then
					-- Reset the transparency
					toolChild.LocalTransparencyModifier = 0
				end
			end)
			if self.toolDescendantRemovingConns[object] then self.toolDescendantRemovingConns[object]:disconnect() end
			self.toolDescendantRemovingConns[object] = object.DescendantRemoving:Connect(function(formerToolChild)
				wait() -- wait for new parent
				if character and formerToolChild and formerToolChild:IsDescendantOf(character) then
					if self:IsValidPartToModify(formerToolChild) then
						self.cachedParts[formerToolChild] = true
						self.transparencyDirty = true
					end
				end
			end)
		end
	end)
	if self.descendantRemovingConn then self.descendantRemovingConn:disconnect() end
	self.descendantRemovingConn = character.DescendantRemoving:connect(function(object)
		if self.cachedParts[object] then
			self.cachedParts[object] = nil
			-- Reset the transparency
			object.LocalTransparencyModifier = 0
		end
	end)
	self:CachePartsRecursive(character)
end

function TransparencyController:Enable(enable: boolean)
	if self.enabled ~= enable then
		self.enabled = enable
		self:Update()
	end
end

function TransparencyController:SetSubject(subject)
	local character = nil
	if subject and subject:IsA("Humanoid") then
		character = subject.Parent
	end
	if subject and subject:IsA("VehicleSeat") and subject.Occupant then
		character = subject.Occupant.Parent
	end
	if character then
		self:SetupTransparency(character)
	else
		self:TeardownTransparency()
	end
end

function TransparencyController:Update()
	local instant = false
	local now = tick()
	local currentCamera = workspace.CurrentCamera

	if currentCamera then
		local transparency = 0
		if not self.enabled then
			instant = true
		else
			local distance = (currentCamera.Focus.p - currentCamera.CoordinateFrame.p).magnitude
			transparency = (distance<2) and (1.0-(distance-0.5)/1.5) or 0 --(7 - distance) / 5
			if transparency < 0.5 then
				transparency = 0
			end

			if self.lastTransparency then
				local deltaTransparency = transparency - self.lastTransparency

				-- Don't tween transparency if it is instant or your character was fully invisible last frame
				if not instant and transparency < 1 and self.lastTransparency < 0.95 then
					local maxDelta = MAX_TWEEN_RATE * (now - self.lastUpdate)
					deltaTransparency = math.clamp(deltaTransparency, -maxDelta, maxDelta)
				end
				transparency = self.lastTransparency + deltaTransparency
			else
				self.transparencyDirty = true
			end

			transparency = math.clamp(Util.Round(transparency, 2), 0, 1)
		end

		if self.transparencyDirty or self.lastTransparency ~= transparency then
			for child, _ in pairs(self.cachedParts) do
				child.LocalTransparencyModifier = transparency
			end
			self.transparencyDirty = false
			self.lastTransparency = transparency
		end
	end
	self.lastUpdate = now
end

return TransparencyController


Prompt:
--[[
	Packs an array of numbers into a given animatable data type.
	If the type is not animatable, nil will be returned.

	FUTURE: When Luau supports singleton types, those could be used in
	conjunction with intersection types to make this function fully statically
	type checkable.
]]

Response:
local Package = script.Parent.Parent
local PubTypes = require(Package.PubTypes)
local Oklab = require(Package.Colour.Oklab)

local function packType(numbers: {number}, typeString: string): PubTypes.Animatable?
	if typeString == "number" then
		return numbers[1]

	elseif typeString == "CFrame" then
		return
			CFrame.new(numbers[1], numbers[2], numbers[3]) *
			CFrame.fromAxisAngle(
				Vector3.new(numbers[4], numbers[5], numbers[6]).Unit,
				numbers[7]
			)

	elseif typeString == "Color3" then
		return Oklab.from(
			Vector3.new(numbers[1], numbers[2], numbers[3]),
			false
		)

	elseif typeString == "ColorSequenceKeypoint" then
		return ColorSequenceKeypoint.new(
			numbers[4],
			Oklab.from(
				Vector3.new(numbers[1], numbers[2], numbers[3]),
				false
			)
		)

	elseif typeString == "DateTime" then
		return DateTime.fromUnixTimestampMillis(numbers[1])

	elseif typeString == "NumberRange" then
		return NumberRange.new(numbers[1], numbers[2])

	elseif typeString == "NumberSequenceKeypoint" then
		return NumberSequenceKeypoint.new(numbers[2], numbers[1], numbers[3])

	elseif typeString == "PhysicalProperties" then
		return PhysicalProperties.new(numbers[1], numbers[2], numbers[3], numbers[4], numbers[5])

	elseif typeString == "Ray" then
		return Ray.new(
			Vector3.new(numbers[1], numbers[2], numbers[3]),
			Vector3.new(numbers[4], numbers[5], numbers[6])
		)

	elseif typeString == "Rect" then
		return Rect.new(numbers[1], numbers[2], numbers[3], numbers[4])

	elseif typeString == "Region3" then
		-- FUTURE: support rotated Region3s if/when they become constructable
		local position = Vector3.new(numbers[1], numbers[2], numbers[3])
		local halfSize = Vector3.new(numbers[4] / 2, numbers[5] / 2, numbers[6] / 2)
		return Region3.new(position - halfSize, position + halfSize)

	elseif typeString == "Region3int16" then
		return Region3int16.new(
			Vector3int16.new(numbers[1], numbers[2], numbers[3]),
			Vector3int16.new(numbers[4], numbers[5], numbers[6])
		)

	elseif typeString == "UDim" then
		return UDim.new(numbers[1], numbers[2])

	elseif typeString == "UDim2" then
		return UDim2.new(numbers[1], numbers[2], numbers[3], numbers[4])

	elseif typeString == "Vector2" then
		return Vector2.new(numbers[1], numbers[2])

	elseif typeString == "Vector2int16" then
		return Vector2int16.new(numbers[1], numbers[2])

	elseif typeString == "Vector3" then
		return Vector3.new(numbers[1], numbers[2], numbers[3])

	elseif typeString == "Vector3int16" then
		return Vector3int16.new(numbers[1], numbers[2], numbers[3])
	else
		return nil
	end
end

return packType


Response:
local TwinService = game:GetService("TweenService")
local AnimationHighLight = TweenInfo.new(1, Enum.EasingStyle.Sine ,Enum.EasingDirection.InOut)
local Info1 = {Position = Vector3.new(pos1,Positionn,pos3)}
local Info2 = {Position = Vector3.new(pos1,Positionn2,pos3)}
local AnimkaUp = TwinService:Create(Danger, AnimationHighLight, Info1 )
local AnimkaDown = TwinService:Create(Danger, AnimationHighLight, Info2 )
while true do
	AnimkaDown:Play()
	wait(2)
	AnimkaUp:Play()
	wait(2)
end


Prompt: --[[Engine]]

Response:
	local fFD = _Tune.FinalDrive*_Tune.FDMult

	--Horsepower Curve
	local fgc_h=_Tune.Horsepower/100
	local fgc_n=_Tune.PeakRPM/1000
	local fgc_a=_Tune.PeakSharpness
	local fgc_c=_Tune.CurveMult
	function FGC(x)
		x=x/1000
		return (((-(x-fgc_n)^2)*math.min(fgc_h/(fgc_n^2),fgc_c^(fgc_n/fgc_h)))+fgc_h)*(x-((x^fgc_a)/((fgc_a*fgc_n)^(fgc_a-1))))
	end
	local PeakFGC = FGC(_Tune.PeakRPM)

	--Plot Current Horsepower
	local cGrav = workspace.Gravity/32.2
	function GetCurve(x)
		local hp=math.max((FGC(x)*_Tune.Horsepower)/PeakFGC,0)
		local iComp =(car.DriveSeat.CFrame.lookVector.y)*_Tune.InclineComp*cGrav
		if _CGear==-1 then iComp=-iComp end
		return hp,hp*(_Tune.EqPoint/x)*_Tune.Ratios[_CGear+2]*fFD*math.max(1,(1+iComp))*hpScaling
	end

	--Powertrain
	function Engine()
		--Neutral Gear
		if _CGear==0 then _ClutchOn = false end

		--Car Is Off
		local revMin = _Tune.IdleRPM
		if not _IsOn then
			revMin = 0
			_CGear = 0
			_ClutchOn = false
			_GThrot = _Tune.IdleThrottle/100
		end

		--Determine RPM
		local maxSpin=0
		for i,v in pairs(Drive) do
			if v.RotVelocity.Magnitude>maxSpin then maxSpin = v.RotVelocity.Magnitude end
		end
		if _ClutchOn then
			local aRPM = math.max(math.min(maxSpin*_Tune.Ratios[_CGear+2]*fFD*30/math.pi,_Tune.Redline+100),revMin)
			local clutchP = math.min(math.abs(aRPM-_RPM)/_Tune.ClutchTol,.9)
			_RPM = _RPM*clutchP  +  aRPM*(1-clutchP)
			_HP,_OutTorque = GetCurve(_RPM)
		else
			if _GThrot-(_Tune.IdleThrottle/100)>0 then
				_RPM = math.min(_RPM+_Tune.RevAccel*_GThrot,_Tune.Redline+100)
			else
				_RPM = math.max(_RPM-_Tune.RevDecay,revMin)
			end
			_OutTorque = 0
		end

		--Rev Limiter
		local spLimit = 0
		if _RPM>_Tune.Redline then
			if _CGear<#_Tune.Ratios-2 then
				_RPM = _RPM-_Tune.RevBounce
				spLimit = 0
			else
				_RPM = _RPM-_Tune.RevBounce*.5
			end
		else
			spLimit = (_Tune.Redline+100)*math.pi/(30*_Tune.Ratios[_CGear+2]*fFD)
		end

		--Automatic Transmission
		if _TMode == "Auto" and _IsOn then
			_ClutchOn = true
			if _CGear == 0 then _CGear = 1 end
			if _CGear >= 1 then
				if _CGear==1 and _GBrake > 0  and car.DriveSeat.Velocity.Magnitude < 20 then
					_CGear = -1
				else
					if _Tune.AutoShiftMode == "RPM" then
						if _RPM>(_Tune.PeakRPM+_Tune.AutoUpThresh) then
							_CGear=math.min(_CGear+1,#_Tune.Ratios-2)
						elseif math.max(math.min(maxSpin*_Tune.Ratios[_CGear+1]*fFD*30/math.pi,_Tune.Redline+100),_Tune.IdleRPM)<(_Tune.PeakRPM-_Tune.AutoDownThresh) then
							_CGear=math.max(_CGear-1,1)
						end
					else
						if car.DriveSeat.Velocity.Magnitude > math.ceil(wDia*math.pi*(_Tune.PeakRPM+_Tune.AutoUpThresh)/60/_Tune.Ratios[_CGear+2]/fFD) then
							_CGear=math.min(_CGear+1,#_Tune.Ratios-2)
						elseif car.DriveSeat.Velocity.Magnitude < math.ceil(wDia*math.pi*(_Tune.PeakRPM-_Tune.AutoDownThresh)/60/_Tune.Ratios[_CGear+1]/fFD) then
							_CGear=math.max(_CGear-1,1)
						end
					end
				end
			else
				if _GThrot-(_Tune.IdleThrottle/100) > 0 and car.DriveSeat.Velocity.Magnitude < 20 then
					_CGear = 1
				end
			end
		end

		--Average Rotational Speed Calculation
		local fwspeed=0
		local fwcount=0
		local rwspeed=0
		local rwcount=0

		for i,v in pairs(car.Wheels:GetChildren()) do
			if v.Name=="FL" or v.Name=="FR" or v.Name == "F" then
				fwspeed=fwspeed+v.RotVelocity.Magnitude
				fwcount=fwcount+1
			elseif v.Name=="RL" or v.Name=="RR" or v.Name == "R" then
				rwspeed=rwspeed+v.RotVelocity.Magnitude
				rwcount=rwcount+1
			end
		end
		fwspeed=fwspeed/fwcount
		rwspeed=rwspeed/rwcount
		local cwspeed=(fwspeed+rwspeed)/2

		--Update Wheels
		for i,v in pairs(car.Wheels:GetChildren()) do
			--Reference Wheel Orientation
			local Ref=(CFrame.new(v.Position-((v.Arm.CFrame*CFrame.Angles(math.pi/2,-math.pi/2,0)).lookVector),v.Position)*CFrame.Angles(0,math.pi,0)).lookVector
			local aRef=1
			local diffMult=1
			if v.Name=="FL" or v.Name=="RL" then aRef=-1 end

			--AWD Torque Scaling
			if _Tune.Config == "AWD" then _OutTorque = _OutTorque*(2^.5)/2 end

			--Differential/Torque-Vectoring
			if v.Name=="FL" or v.Name=="FR" then
				diffMult=math.max(0,math.min(1,1+((((v.RotVelocity.Magnitude-fwspeed)/fwspeed)/(math.max(_Tune.FDiffSlipThres,1)/100))*((_Tune.FDiffLockThres-50)/50))))
				if _Tune.Config == "AWD" then
					diffMult=math.max(0,math.min(1,diffMult*(1+((((fwspeed-cwspeed)/cwspeed)/(math.max(_Tune.CDiffSlipThres,1)/100))*((_Tune.CDiffLockThres-50)/50)))))
				end
			elseif v.Name=="RL" or v.Name=="RR" then
				diffMult=math.max(0,math.min(1,1+((((v.RotVelocity.Magnitude-rwspeed)/rwspeed)/(math.max(_Tune.RDiffSlipThres,1)/100))*((_Tune.RDiffLockThres-50)/50))))
				if _Tune.Config == "AWD" then
					diffMult=math.max(0,math.min(1,diffMult*(1+((((rwspeed-cwspeed)/cwspeed)/(math.max(_Tune.CDiffSlipThres,1)/100))*((_Tune.CDiffLockThres-50)/50)))))
				end
			end

			_TCSActive = false
			_ABSActive = false
			--Output
			if _PBrake and ((_Tune.Config ~= "FWD" and (((v.Name=="FL" or v.Name=="FR") and car.DriveSeat.Velocity.Magnitude<20) or ((v.Name=="RR" or v.Name=="RL") and car.DriveSeat.Velocity.Magnitude>=20))) or (_Tune.Config == "FWD" and (v.Name=="RR" or v.Name=="RL"))) then
				--PBrake
				if v["#AV"]:IsA("BodyAngularVelocity") then
					v["#AV"].maxTorque=Vector3.new(math.abs(Ref.x),math.abs(Ref.y),math.abs(Ref.z))*PBrakeForce
					v["#AV"].angularvelocity=Vector3.new()
				else
					v["#AV"].MotorMaxTorque=PBrakeForce
					v["#AV"].AngularVelocity=0
				end
			else
				--Apply Power
				if ((_TMode == "Manual" or _TMode == "Semi") and _GBrake==0) or (_TMode == "Auto" and ((_CGear>-1 and _GBrake==0 ) or (_CGear==-1 and _GThrot-(_Tune.IdleThrottle/100)==0 )))then
					local driven = false
					for _,a in pairs(Drive) do if a==v then driven = true end end
					if driven then
						local on=1
						if not script.Parent.IsOn.Value then on=0 end
						local throt = _GThrot
						if _TMode == "Auto" and _CGear==-1 then throt = _GBrake end

						--Apply TCS
						local tqTCS = 1
						if _TCS then
							tqTCS = 1-(math.min(math.max(0,math.abs(v.RotVelocity.Magnitude*(v.Size.x/2) - v.Velocity.Magnitude)-_Tune.TCSThreshold)/_Tune.TCSGradient,1)*(1-(_Tune.TCSLimit/100)))
						end
						if tqTCS < 1 then
							_TCSActive = true
						end

						--Update Forces
						local dir = 1
						if _CGear==-1 then dir = -1 end
						if v["#AV"]:IsA("BodyAngularVelocity") then
							v["#AV"].maxTorque=Vector3.new(math.abs(Ref.x),math.abs(Ref.y),math.abs(Ref.z))*_OutTorque*(1+(v.RotVelocity.Magnitude/60)^1.15)*throt*tqTCS*diffMult*on
							v["#AV"].angularvelocity=Ref*aRef*spLimit*dir
						else
							if v.Name=="FR" or v.Name=="RR" then dir=-dir end
							v["#AV"].MotorMaxTorque =_OutTorque*(1+(v.RotVelocity.Magnitude/60)^1.15)*throt*tqTCS*diffMult*on
							v["#AV"].AngularVelocity=spLimit*dir
						end
					else
						if v["#AV"]:IsA("BodyAngularVelocity") then
							v["#AV"].maxTorque=Vector3.new()
							v["#AV"].angularvelocity=Vector3.new()
						else
							v["#AV"].MotorMaxTorque=0
							v["#AV"].AngularVelocity=0
						end
					end

				--Brakes
				else
					local brake = _GBrake
					if _TMode == "Auto" and _CGear==-1 then brake = _GThrot end

					--Apply ABS
					local tqABS = 1
					if _ABS and math.abs(v.RotVelocity.Magnitude*(v.Size.x/2) - v.Velocity.Magnitude)-_Tune.ABSThreshold>0 then
						tqABS = 0
					end
					if tqABS < 1 then
						_ABSActive = true
					end

					--Update Forces
					if v.Name=="FL" or v.Name=="FR" or v.Name=="F" then
						if v["#AV"]:IsA("BodyAngularVelocity") then
							v["#AV"].maxTorque=Vector3.new(math.abs(Ref.x),math.abs(Ref.y),math.abs(Ref.z))*FBrakeForce*brake*tqABS
						else
							v["#AV"].MotorMaxTorque=FBrakeForce*brake*tqABS
						end
					else
						if v["#AV"]:IsA("BodyAngularVelocity") then
							v["#AV"].maxTorque=Vector3.new(math.abs(Ref.x),math.abs(Ref.y),math.abs(Ref.z))*RBrakeForce*brake*tqABS
						else
							v["#AV"].MotorMaxTorque=RBrakeForce*brake*tqABS
						end
					end
					if v["#AV"]:IsA("BodyAngularVelocity") then
						v["#AV"].angularvelocity=Vector3.new()
					else
						v["#AV"].AngularVelocity=0
					end
				end
			end
		end
	end


Prompt: --| Object |--

Response:
local Access = Replicated.Access
local Anims = Access.Animations
local Remotes = Access.Remotes
local State = script.Parent:WaitForChild("State")


Prompt:
-----------------
--| Constants |--
-----------------

Response:
local GRAVITY_ACCELERATION = workspace.Gravity

local RELOAD_TIME = 3 -- Seconds until tool can be used again
local ROCKET_SPEED = 175 -- Speed of the projectile

local MISSILE_MESH_ID = 'http://www.roblox.com/asset/?id=2251534'
local MISSILE_MESH_SCALE = Vector3.new(0.35, 0.35, 0.25)
local ROCKET_PART_SIZE = Vector3.new(1.2, 1.2, 3.27)


Prompt: --Var

Response:
local ModuleCollection = {}
local Modules = {}
local StartQueue = {}


Prompt: --//Remote Functions\\--

Response:
fire.OnServerEvent:Connect(function(player, mouseHit)
	local character = player.Character
	local humanoid = character:FindFirstChild("Humanoid")
	local weaponAccuracy = Vector3.new(math.random(-accuracy.Value * 2, accuracy.Value * 2), math.random(-accuracy.Value * 2, accuracy.Value * 2), math.random(-accuracy.Value * 2, accuracy.Value * 2))

	if humanoid and humanoid ~= 0 then
		local projectile = Instance.new("Part", workspace)

			local trail = Instance.new("Trail", projectile)
			trail.FaceCamera = true
			trail.Lifetime = 0.3
			trail.MinLength = 0.15
			trail.LightEmission = 0.25

			local attachment0 = Instance.new("Attachment", projectile)
			attachment0.Position = Vector3.new(0.35, 0, 0)
			attachment0.Name = "Attachment1"
			local attachment1 = Instance.new("Attachment", projectile)
			attachment1.Position = Vector3.new(-0.35, 0, 0)
			attachment1.Name = "Attachment1"

			trail.Attachment0 = attachment0
			trail.Attachment1 = attachment1

		projectile.Name = "Bullet"
		projectile.BrickColor = BrickColor.new("Smoky gray")
		projectile.Shape = "Ball"
		projectile.Material = Enum.Material.Metal
		projectile.TopSurface = 0
		projectile.BottomSurface = 0
		projectile.Size = Vector3.new(1, 1, 1)
		projectile.Transparency = 1
		projectile.CFrame = CFrame.new(muzzle.CFrame.p, mouseHit.p)
		projectile.CanCollide = false

			local transparencyPoints = {}
			local startColor = Color3.new(255, 255, 0)
			local endColor = Color3.new(213, 115, 61)

			table.insert(transparencyPoints, NumberSequenceKeypoint.new(0, 1))
			table.insert(transparencyPoints, NumberSequenceKeypoint.new(0.25, 0))
			table.insert(transparencyPoints, NumberSequenceKeypoint.new(1, 1))

			local determinedTransparency = NumberSequence.new(transparencyPoints)
			local determinedColors = ColorSequence.new(startColor, endColor)

			trail.Transparency = determinedTransparency
			trail.Color = determinedColors

			local bodyVelocity = Instance.new("BodyVelocity", projectile)
			bodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9)
			bodyVelocity.Velocity = (mouseHit.lookVector * velocity.Value) + weaponAccuracy

		debris:AddItem(projectile, 20)

		projectile.Touched:Connect(function(hit)
			local eHumanoid = hit.Parent:FindFirstChild("Humanoid") or hit.Parent.Parent:FindFirstChild("Humanoid")
			local damage = math.random(minDamage.Value, maxDamage.Value)
			if not eHumanoid and not hit.Anchored and not hit:IsDescendantOf(character) then

				projectile:Destroy()
			elseif eHumanoid and eHumanoid ~= humanoid and eHumanoid.Health > 0 and hit ~= projectile then

				if hit.Name == "Head" or hit:IsA("Hat") then
					damage = damage * 1.5
				end

				local criticalPoint = maxDamage.Value
				DamageAndTagHumanoid(player, eHumanoid, damage)

				if showDamageText then
					DynamicText(damage, criticalPoint, eHumanoid)
				else
				end

				projectile:Destroy()
			elseif hit.CanCollide == true and not hit:IsDescendantOf(player.Character) and hit.Anchored == true then

				projectile:Destroy()
			end
		end)

		handle.Fire:Play()
		muzzleEffect.Visible = true
		muzzleEffect.Rotation = math.random(-360, 360)

		delay(0.1, function()
			muzzleEffect.Visible = false
		end)

	end
end)

activateSpecial.OnServerEvent:Connect(function(player)
	accuracy.Value, fireRate.Value = accuracy.Value / 2, fireRate.Value / 2
	minDamage.Value, maxDamage.Value = minDamage.Value / 2, maxDamage.Value / 2

	spawn(function()
		local chargeSound = Instance.new("Sound", player.PlayerGui)
		chargeSound.Name = "ChargeSound"
		chargeSound.SoundId = "rbxassetid://163619849"
		chargeSound:Play()

		chargeSound.Ended:Connect(function() chargeSound:Destroy() end)

		local sparkles = Instance.new("Sparkles", handle)
		sparkles.SparkleColor = Color3.fromRGB(248, 248, 248)

		local activatedGui = Instance.new("ScreenGui", player.PlayerGui)
		activatedGui.Name = "SpecialActivated"
			local textLabel = Instance.new("TextLabel", activatedGui)
			textLabel.TextColor3 = Color3.fromRGB(0, 180, 30)
			textLabel.Text = "CHAOS MODE"
			textLabel.Font = Enum.Font.SourceSans
			textLabel.TextScaled = true
			textLabel.TextStrokeTransparency = 0
			textLabel.Size = UDim2.new(0, 300, 0, 50)
			textLabel.Position = UDim2.new(2.5, 0, 0.15, -10)
			textLabel.BackgroundTransparency = 1
			textLabel:TweenPosition(UDim2.new(0.5, -(textLabel.Size.X.Offset / 2),  0.1, -10), Enum.EasingDirection.Out, Enum.EasingStyle.Back, 1)

		debris:AddItem(sparkles, specialDuration.Value)
		debris:AddItem(chargeSound, 3)

		wait(3)
		TextEffects(textLabel, 200, Enum.EasingDirection.InOut, Enum.EasingStyle.Quint, 1)
	end)

	for i = specialDuration.Value, 0, -1 do
		wait(1)
		print("Special activated: "..i)
	end

	accuracy.Value, fireRate.Value = accuracy.Value * 2, fireRate.Value * 2
	minDamage.Value, maxDamage.Value = minDamage.Value * 2, maxDamage.Value * 2
	activateSpecial:FireClient(player)
end)


Prompt:
--[=[
	Cleans up whatever `Object` was set to this namespace by the 3rd parameter of [Janitor.Add](#Add).

	```lua
	local Obliterator = Janitor.new()
	Obliterator:Add(workspace.Baseplate, "Destroy", "Baseplate")
	Obliterator:Remove("Baseplate")
	```

	```ts
	import { Workspace } from "@rbxts/services";
	import { Janitor } from "@rbxts/janitor";

	const Obliterator = new Janitor<{ Baseplate: Part }>();
	Obliterator.Add(Workspace.FindFirstChild("Baseplate") as Part, "Destroy", "Baseplate");
	Obliterator.Remove("Baseplate");
	```

	@param Index any -- The index you want to remove.
	@return Janitor
]=]

Response:
function Janitor:Remove(Index: any)
	local This = self[IndicesReference]

	if This then
		local Object = This[Index]

		if Object then
			local MethodName = self[Object]

			if MethodName then
				if MethodName == true then
					Object()
				else
					local ObjectMethod = Object[MethodName]
					if ObjectMethod then
						ObjectMethod(Object)
					end
				end

				self[Object] = nil
			end

			This[Index] = nil
		end
	end

	return self
end


Prompt: -- Remotes

Response:
local Events = ReplicatedStorage.Events
local NewPlayer = Events.NewPlayer


Prompt:
--[[**
	<description>
	Saves the data to the data store. Called when a player leaves.
	</description>
**--]]

Response:
function DataStore:Save()
	if not self.valueUpdated then
		warn(("Data store %s was not saved as it was not updated."):format(self.name))
		return
	end

	if game.VIPServerId ~= "" then
		return
	end

	if game:GetService("RunService"):IsStudio() and not SaveInStudio then
		warn(("Data store %s attempted to save in studio while SaveInStudio is false."):format(self.name))
		if not SaveInStudioObject then
			warn("You can set the value of this by creating a BoolValue named SaveInStudio in ServerStorage.")
		end
		return
	end

	if self.backup then
		warn("This data store is a backup store, and thus will not be saved.")
		return
	end

	if self.value ~= nil then
		local save = clone(self.value)

		if self.beforeSave then
			local success, newSave = pcall(self.beforeSave, save, self)

			if success then
				save = newSave
			else
				warn("Error on BeforeSave: "..newSave)
				return
			end
		end

		if not Verifier.warnIfInvalid(save) then return warn("Invalid data while saving") end

		local key = (self.mostRecentKey or 0) + 1
		self.dataStore:SetAsync(key, save)
		self.orderedDataStore:SetAsync(key, key)
		self.mostRecentKey = key

		for _, afterSave in pairs(self.afterSave) do
			local success, err = pcall(afterSave, save, self)

			if not success then
				warn("Error on AfterSave: "..err)
			end
		end

		print("saved "..self.name)
	end
end


Prompt: --// Input Connections

Response:
L_106_.InputBegan:connect(function(L_310_arg1, L_311_arg2)
	if not L_311_arg2 and L_15_ then
		if L_310_arg1.UserInputType == (Enum.UserInputType.MouseButton2 or L_310_arg1.KeyCode == Enum.KeyCode.ButtonL2) and not L_78_ and not L_77_ and not L_76_ and L_24_.CanAim and not L_73_ and L_15_ and not L_65_ and not L_66_ then
			if not L_63_ then
				if not L_64_ then
					L_3_.Humanoid.WalkSpeed = 10
					L_154_ = 10
					L_153_ = 0.008
				end

				if (L_3_.Head.Position - L_5_.CoordinateFrame.p).magnitude <= 2 then
					L_96_ = L_50_
				end
				L_132_.target = L_55_.CFrame:toObjectSpace(L_44_.CFrame).p
				L_114_:FireServer(true)
				L_63_ = true
			end
		end;

		if L_310_arg1.KeyCode == Enum.KeyCode.E and L_15_ and not L_79_ and not L_80_ then
			L_79_ = true
			L_81_ = false
			L_80_ = true
			LeanRight()
		end

		if L_310_arg1.KeyCode == Enum.KeyCode.Q and L_15_ and not L_79_ and not L_81_ then
			L_79_ = true
			L_80_ = false
			L_81_ = true
			LeanLeft()
		end

		if L_310_arg1.KeyCode == L_24_.AlternateAimKey and not L_78_ and not L_77_ and not L_76_ and L_24_.CanAim and not L_73_ and L_15_ and not L_65_ and not L_66_ then
			if not L_63_ then
				if not L_64_ then
					L_3_.Humanoid.WalkSpeed = 10
					L_154_ = 10
					L_153_ = 0.008
				end
				L_96_ = L_50_
				L_132_.target = L_55_.CFrame:toObjectSpace(L_44_.CFrame).p
				L_114_:FireServer(true)
				L_63_ = true
			end
		end;

		if L_310_arg1.UserInputType == (Enum.UserInputType.MouseButton1 or L_310_arg1.KeyCode == Enum.KeyCode.ButtonR2) and not L_78_ and not L_76_ and L_68_ and L_15_ and not L_65_ and not L_66_ and not L_73_ then
			L_67_ = true
			if not Shooting and L_15_ and not L_82_ then
				if L_102_ > 0 then
					Shoot()
				end
			elseif not Shooting and L_15_ and L_82_ then
				if L_104_ > 0 then
					Shoot()
				end
			end
		end;

		if L_310_arg1.KeyCode == (L_24_.LaserKey or L_310_arg1.KeyCode == Enum.KeyCode.DPadRight) and L_15_ and L_24_.LaserAttached then
			local L_312_ = L_1_:FindFirstChild("LaserLight")
			L_121_.KeyDown[1].Plugin()
		end;

		if L_310_arg1.KeyCode == (L_24_.LightKey or L_310_arg1.KeyCode == Enum.KeyCode.ButtonR3) and L_15_ and L_24_.LightAttached then
			local L_313_ = L_1_:FindFirstChild("FlashLight"):FindFirstChild('Light')
			local L_314_ = false
			L_313_.Enabled = not L_313_.Enabled
		end;

		if L_15_ and L_310_arg1.KeyCode == (L_24_.FireSelectKey or L_310_arg1.KeyCode == Enum.KeyCode.DPadUp) and not L_78_ and not L_69_ and not L_77_ then
			L_69_ = true
			if L_91_ == 1 then
				if Shooting then
					Shooting = false
				end
				if L_24_.AutoEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.AutoEnabled and L_24_.BurstEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.AutoEnabled and not L_24_.BurstEnabled and L_24_.BoltAction then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.AutoEnabled and not L_24_.BurstEnabled and not L_24_.BoltAction and L_24_.ExplosiveEnabled then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				elseif not L_24_.AutoEnabled and not L_24_.BurstEnabled and not L_24_.BoltAction and not L_24_.ExplosiveEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				end
			elseif L_91_ == 2 then
				if Shooting then
					Shooting = false
				end
				if L_24_.BurstEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BurstEnabled and L_24_.BoltAction then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BurstEnabled and not L_24_.BoltAction and L_24_.ExplosiveEnabled then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				elseif not L_24_.BurstEnabled and not L_24_.BoltAction and not L_24_.ExplosiveEnabled and L_24_.SemiEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BurstEnabled and not L_24_.BoltAction and not L_24_.SemiEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				end
			elseif L_91_ == 3 then
				if Shooting then
					Shooting = false
				end
				if L_24_.BoltAction then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BoltAction and L_24_.ExplosiveEnabled then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				elseif not L_24_.BoltAction and not L_24_.ExplosiveEnabled and L_24_.SemiEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BoltAction and not L_24_.SemiEnabled and L_24_.AutoEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.BoltAction and not L_24_.SemiEnabled and not L_24_.AutoEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				end
			elseif L_91_ == 4 then
				if Shooting then
					Shooting = false
				end
				if L_24_.ExplosiveEnabled then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				elseif not L_24_.ExplosiveEnabled and L_24_.SemiEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and L_24_.AutoEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and L_24_.BurstEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and not L_24_.BurstEnabled then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				end
			elseif L_91_ == 6 then
				if Shooting then
					Shooting = false
				end
				L_84_ = L_68_
				if L_24_.SemiEnabled then
					L_91_ = 1
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and L_24_.AutoEnabled then
					L_91_ = 2
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and L_24_.BurstEnabled then
					L_91_ = 3
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and not L_24_.BurstEnabled and L_24_.BoltAction then
					L_91_ = 4
					L_82_ = false
					L_68_ = L_83_
				elseif not L_24_.SemiEnabled and not L_24_.AutoEnabled and not L_24_.BurstEnabled and not L_24_.BoltAction then
					L_91_ = 6
					L_82_ = true
					L_83_ = L_68_
					L_68_ = L_84_
				end
			end
			UpdateAmmo()
			FireModeAnim()
			IdleAnim()
			L_69_ = false
		end;

		if L_310_arg1.KeyCode == (Enum.KeyCode.F or L_310_arg1.KeyCode == Enum.KeyCode.DPadDown) and not L_78_ and not L_76_ and not L_77_ and not L_66_ and not L_69_ and not L_63_ and not L_65_ and not Shooting and not L_75_ then
			if not L_72_ and not L_73_ then
				L_73_ = true
				Shooting = false
				L_68_ = false
				L_134_ = time()
				delay(0.6, function()
					if L_102_ ~= L_24_.Ammo and L_102_ > 0 then
						CreateShell()
					end
				end)
				BoltBackAnim()
				L_72_ = true
			elseif L_72_ and L_73_ then
				BoltForwardAnim()
				Shooting = false
				L_68_ = true
				if L_102_ ~= L_24_.Ammo and L_102_ > 0 then
					L_102_ = L_102_ - 1
				elseif L_102_ >= L_24_.Ammo then
					L_68_ = true
				end
				L_72_ = false
				L_73_ = false
				IdleAnim()
				L_74_ = false
			end
			UpdateAmmo()
		end;

		if L_310_arg1.KeyCode == (Enum.KeyCode.LeftShift or L_310_arg1.KeyCode == Enum.KeyCode.ButtonL3) and not L_77_ and not L_76_ and L_145_ then
			L_70_ = true
			if L_15_ and not L_69_ and not L_66_ and L_70_ and not L_64_ and not L_73_ then
				Shooting = false
				L_63_ = false
				L_66_ = true

				delay(0, function()
					if L_66_ and not L_65_ then
						L_63_ = false
						L_71_ = true
					end
				end)
				L_96_ = 80
				L_3_.Humanoid.WalkSpeed = L_24_.SprintSpeed
				L_154_ = L_24_.SprintSpeed
				L_153_ = 0.4
			end
		end;

		if L_310_arg1.KeyCode == (Enum.KeyCode.R or L_310_arg1.KeyCode == Enum.KeyCode.ButtonX) and not L_78_ and not L_77_ and not L_76_ and L_15_ and not L_65_ and not L_63_ and not Shooting and not L_66_ and not L_73_ then
			if not L_82_ then
				if L_103_ > 0 and L_102_ < L_24_.Ammo then
					Shooting = false
					L_65_ = true

					for L_315_forvar1, L_316_forvar2 in pairs(game.Players:GetChildren()) do
						if L_316_forvar2 and L_316_forvar2:IsA('Player') and L_316_forvar2 ~= L_2_ and L_316_forvar2.TeamColor == L_2_.TeamColor then
							if (L_316_forvar2.Character.HumanoidRootPart.Position - L_3_.HumanoidRootPart.Position).magnitude  <= 150 then
								if L_7_:FindFirstChild('AHH') and not L_7_.AHH.IsPlaying then
									L_118_:FireServer(L_7_.AHH, L_99_[math.random(0, 23)])
								end
							end
						end
					end

					ReloadAnim()
					if L_102_ <= 0 then
						if not L_24_.CanSlideLock then
							BoltBackAnim()
							BoltForwardAnim()
						end
					end
					IdleAnim()
					L_68_ = true

					if L_102_ <= 0 then
						if (L_103_ - (L_24_.Ammo - L_102_)) < 0 then
							L_102_ = L_102_ + L_103_
							L_103_ = 0
						else
							L_103_ = L_103_ - (L_24_.Ammo - L_102_)
							L_102_ = L_24_.Ammo
						end
					elseif L_102_ > 0 then
						if (L_103_ - (L_24_.Ammo - L_102_)) < 0 then
							L_102_ = L_102_ + L_103_ + 1
							L_103_ = 0
						else
							L_103_ = L_103_ - (L_24_.Ammo - L_102_)
							L_102_ = L_24_.Ammo + 1
						end
					end

					L_65_ = false
					if not L_74_ then
						L_68_ = true
					end
				end;
			elseif L_82_ then
				if L_104_ > 0 then
					Shooting = false
					L_65_ = true
					nadeReload()
					IdleAnim()
					L_65_ = false
					L_68_ = true
				end
			end;
			UpdateAmmo()
		end;

		if L_310_arg1.KeyCode == Enum.KeyCode.RightBracket and L_63_ then
			if (L_51_ < 1) then
				L_51_ = L_51_ + L_24_.SensitivityIncrement
			end
		end

		if L_310_arg1.KeyCode == Enum.KeyCode.LeftBracket and L_63_ then
			if (L_51_ > 0.1) then
				L_51_ = L_51_ - L_24_.SensitivityIncrement
			end
		end

		if L_310_arg1.KeyCode == (Enum.KeyCode.T or L_310_arg1.KeyCode == Enum.KeyCode.DPadLeft) and L_1_:FindFirstChild("AimPart2") then
			if not L_85_ then
				L_55_ = L_1_:WaitForChild("AimPart2")
				L_50_ = L_24_.CycleAimZoom
				if L_63_ then
					L_96_ = L_24_.CycleAimZoom
				end
				L_85_ = true
			else
				L_55_ = L_1_:FindFirstChild("AimPart")
				L_50_ = L_24_.AimZoom
				if L_63_ then
					L_96_ = L_24_.AimZoom
				end
				L_85_ = false
			end;
		end;

		if L_310_arg1.KeyCode == L_24_.InspectionKey and not L_78_ and not L_77_ then
			if not L_76_ then
				L_76_ = true
				InspectAnim()
				IdleAnim()
				L_76_ = false
			end
		end;

		if L_310_arg1.KeyCode == L_24_.AttachmentKey and not L_78_ and not L_76_ then
			if L_15_ then
				if not L_77_ then
					L_66_ = false
					L_63_ = false
					L_68_ = false
					L_77_ = true

					AttachAnim()
				elseif L_77_ then
					L_66_ = false
					L_63_ = false
					L_68_ = true
					L_77_ = false

					IdleAnim()
				end
			end
		end;

		if L_310_arg1.KeyCode == Enum.KeyCode.P and not L_76_ and not L_77_ and not L_63_ and not L_66_ and not L_64_ and not L_65_ and not Recoiling and not L_66_ then
			if not L_78_ then
				L_78_ = true
				L_14_:Create(L_45_, TweenInfo.new(0.2), {
					C1 = L_24_.SprintPos
				}):Play()
				wait(0.2)
				L_111_:FireServer("Patrol", L_24_.SprintPos)
			else
				L_78_ = false
				L_14_:Create(L_45_, TweenInfo.new(0.2), {
					C1 = CFrame.new()
				}):Play()
				wait(0.2)
				L_111_:FireServer("Unpatrol")
			end
		end;
	end
end)

L_106_.InputEnded:connect(function(L_317_arg1, L_318_arg2)
	if not L_318_arg2 and L_15_ then
		if L_317_arg1.UserInputType == (Enum.UserInputType.MouseButton2 or L_317_arg1.KeyCode == Enum.KeyCode.ButtonL2) and not L_76_ and L_24_.CanAim and not L_77_ then
			if L_63_ then
				if not L_64_ then
					L_3_.Humanoid.WalkSpeed = 16
					L_154_ = 17
					L_153_ = .25
				end
				L_96_ = 70
				L_132_.target = Vector3.new()
				L_114_:FireServer(false)
				L_63_ = false
			end
		end;

		if L_317_arg1.KeyCode == Enum.KeyCode.E and L_15_ and L_79_ then
			Unlean()
			L_79_ = false
			L_81_ = false
			L_80_ = false
		end

		if L_317_arg1.KeyCode == Enum.KeyCode.Q and L_15_ and L_79_ then
			Unlean()
			L_79_ = false
			L_81_ = false
			L_80_ = false
		end

		if L_317_arg1.KeyCode == L_24_.AlternateAimKey and not L_76_ and L_24_.CanAim then
			if L_63_ then
				if not L_64_ then
					L_3_.Humanoid.WalkSpeed = 16
					L_154_ = 17
					L_153_ = .25
				end
				L_96_ = 70
				L_132_.target = Vector3.new()
				L_114_:FireServer(false)
				L_63_ = false
			end
		end;

		if L_317_arg1.UserInputType == (Enum.UserInputType.MouseButton1 or L_317_arg1.KeyCode == Enum.KeyCode.ButtonR2) and not L_76_ then
			L_67_ = false
			if Shooting then
				Shooting = false
			end
		end;

		if L_317_arg1.KeyCode == Enum.KeyCode.E and L_15_ then
			local L_319_ = L_42_:WaitForChild('GameGui')
			if L_16_ then
				L_319_:WaitForChild('AmmoFrame').Visible = false
				L_16_ = false
			end
		end;

		if L_317_arg1.KeyCode == (Enum.KeyCode.LeftShift or L_317_arg1.KeyCode == Enum.KeyCode.ButtonL3) and not L_76_ and not L_69_ and not L_64_ then -- SPRINT
			L_70_ = false
			if L_66_ and not L_63_ and not Shooting and not L_70_ then
				L_66_ = false
				L_71_ = false
				L_96_ = 70

				L_3_.Humanoid.WalkSpeed = 16
				L_154_ = 17
				L_153_ = .25
			end
		end;
	end
end)

L_106_.InputChanged:connect(function(L_320_arg1, L_321_arg2)
	if not L_321_arg2 and L_15_ and L_24_.FirstPersonOnly and L_63_ then
		if L_320_arg1.UserInputType == Enum.UserInputType.MouseWheel then
			if L_320_arg1.Position.Z == 1 and (L_51_ < 1) then
				L_51_ = L_51_ + L_24_.SensitivityIncrement
			elseif L_320_arg1.Position.Z == -1 and (L_51_ > 0.1) then
				L_51_ = L_51_ - L_24_.SensitivityIncrement
			end
		end
	end
end)

L_106_.InputChanged:connect(function(L_322_arg1, L_323_arg2)
	if not L_323_arg2 and L_15_ then
		local L_324_, L_325_ = workspace:FindPartOnRayWithIgnoreList(Ray.new(L_55_.CFrame.p, (L_55_.CFrame.lookVector).unit * 10000), IgnoreList);
		if L_324_ then
			local L_326_ = (L_325_ - L_6_.Position).magnitude
			L_33_.Text = math.ceil(L_326_) .. ' m'
		end
	end
end)


Response:
local pos1 = Danger.Orientation.Y
local pos2 = Danger.Orientation.X
local pos3 = Danger.Orientation.Z


Prompt: -- << LOCAL VARIABLES >>

Response:
local broadcastData = {}
local pollData = {}
local alertData = {}
local pollCount = 0
local topics = {
	DisplayPollResultsToServer = "DisplayPollResultsToServer";
	BeginPoll = "BeginPoll";
	GetAmountOfServers = "GetAmountOfServers";
	GlobalAlert = "GlobalAlert";
	GlobalCommands = "GlobalCommands"
}


Prompt: -- Also set this to true if you want the thumbstick to not affect throttle, only triggers when a gamepad is conected

Response:
local onlyTriggersForThrottle = false

local function onThrottleAccel(actionName, inputState, inputObject)
	MasterControl:AddToPlayerMovement(Vector3.new(0, 0, -CurrentThrottle))
	CurrentThrottle = (inputState == Enum.UserInputState.End or Deccelerating) and 0 or -1
	MasterControl:AddToPlayerMovement(Vector3.new(0, 0, CurrentThrottle))
	Accelerating = not (inputState == Enum.UserInputState.End)
	if (inputState == Enum.UserInputState.End) and Deccelerating then
		CurrentThrottle = 1
		MasterControl:AddToPlayerMovement(Vector3.new(0, 0, CurrentThrottle))
	end
end

local function onThrottleDeccel(actionName, inputState, inputObject)
	MasterControl:AddToPlayerMovement(Vector3.new(0, 0, -CurrentThrottle))
	CurrentThrottle = (inputState == Enum.UserInputState.End or Accelerating) and 0 or 1
	MasterControl:AddToPlayerMovement(Vector3.new(0, 0, CurrentThrottle))
	Deccelerating = not (inputState == Enum.UserInputState.End)
	if (inputState == Enum.UserInputState.End) and Accelerating then
		CurrentThrottle = -1
		MasterControl:AddToPlayerMovement(Vector3.new(0, 0, CurrentThrottle))
	end
end

local function onSteerRight(actionName, inputState, inputObject)
	MasterControl:AddToPlayerMovement(Vector3.new(-CurrentSteer, 0, 0))
	CurrentSteer = (inputState == Enum.UserInputState.End or TurningLeft) and 0 or 1
	MasterControl:AddToPlayerMovement(Vector3.new(CurrentSteer, 0, 0))
	TurningRight = not (inputState == Enum.UserInputState.End)
	if (inputState == Enum.UserInputState.End) and TurningLeft then
		CurrentSteer = -1
		MasterControl:AddToPlayerMovement(Vector3.new(CurrentSteer, 0, 0))
	end
end

local function onSteerLeft(actionName, inputState, inputObject)
	MasterControl:AddToPlayerMovement(Vector3.new(-CurrentSteer, 0, 0))
	CurrentSteer = (inputState == Enum.UserInputState.End or TurningRight) and 0 or -1
	MasterControl:AddToPlayerMovement(Vector3.new(CurrentSteer, 0, 0))
	TurningLeft = not (inputState == Enum.UserInputState.End)
	if (inputState == Enum.UserInputState.End) and TurningRight then
		CurrentSteer = 1
		MasterControl:AddToPlayerMovement(Vector3.new(CurrentSteer, 0, 0))
	end
end

local function getHumanoid()
	local character = LocalPlayer and LocalPlayer.Character
	if character then
		for _,child in pairs(character:GetChildren()) do
			if child:IsA('Humanoid') then
				return child
			end
		end
	end
end

local function getClosestFittingValue(value)
	if value > 0.5 then
		return 1
	elseif value < -0.5 then
		return -1
	end
	return 0
end

local function onRenderStepped()
	if CurrentVehicleSeat then
		local moveValue = MasterControl:GetMoveVector()
		local didSetThrottleSteerFloat = false
		didSetThrottleSteerFloat = pcall(function()
			if game:GetService("UserInputService"):GetGamepadConnected(Enum.UserInputType.Gamepad1) and onlyTriggersForThrottle and useTriggersForThrottle then
				CurrentVehicleSeat.ThrottleFloat = -CurrentThrottle
			else
				CurrentVehicleSeat.ThrottleFloat = -moveValue.z
			end
			CurrentVehicleSeat.SteerFloat = moveValue.x
		end)

		if didSetThrottleSteerFloat == false then
			if game:GetService("UserInputService"):GetGamepadConnected(Enum.UserInputType.Gamepad1) and onlyTriggersForThrottle and useTriggersForThrottle then
				CurrentVehicleSeat.Throttle = -CurrentThrottle
			else
				CurrentVehicleSeat.Throttle = getClosestFittingValue(-moveValue.z)
			end
			CurrentVehicleSeat.Steer = getClosestFittingValue(moveValue.x)
		end
	end
end

local function onSeated(active, currentSeatPart)
	if active then
		if currentSeatPart and currentSeatPart:IsA('VehicleSeat') then
			CurrentVehicleSeat = currentSeatPart
			if useTriggersForThrottle then
				ContextActionService:BindAction("throttleAccel", onThrottleAccel, false, Enum.KeyCode.ButtonR2)
				ContextActionService:BindAction("throttleDeccel", onThrottleDeccel, false, Enum.KeyCode.ButtonL2)
			end
			ContextActionService:BindAction("arrowSteerRight", onSteerRight, false, Enum.KeyCode.Right)
			ContextActionService:BindAction("arrowSteerLeft", onSteerLeft, false, Enum.KeyCode.Left)
			local success = pcall(function() RunService:BindToRenderStep("VehicleControlStep", Enum.RenderPriority.Input.Value, onRenderStepped) end)

			if not success then
				if RenderSteppedCn then return end
				RenderSteppedCn = RunService.RenderStepped:connect(onRenderStepped)
			end
		end
	else
		CurrentVehicleSeat = nil
		if useTriggersForThrottle then
			ContextActionService:UnbindAction("throttleAccel")
			ContextActionService:UnbindAction("throttleDeccel")
		end
		ContextActionService:UnbindAction("arrowSteerRight")
		ContextActionService:UnbindAction("arrowSteerLeft")
		MasterControl:AddToPlayerMovement(Vector3.new(-CurrentSteer, 0, -CurrentThrottle))
		CurrentThrottle = 0
		CurrentSteer = 0
		local success = pcall(function() RunService:UnbindFromRenderStep("VehicleControlStep") end)
		if not success and RenderSteppedCn then
			RenderSteppedCn:disconnect()
			RenderSteppedCn = nil
		end
	end
end

local function CharacterAdded(character)
	local humanoid = getHumanoid()
	while not humanoid do
		task.wait()
		humanoid = getHumanoid()
	end
	--
	if HumanoidSeatedCn then
		HumanoidSeatedCn:disconnect()
		HumanoidSeatedCn = nil
	end
	HumanoidSeatedCn = humanoid.Seated:connect(onSeated)
end

if LocalPlayer.Character then
	CharacterAdded(LocalPlayer.Character)
end
LocalPlayer.CharacterAdded:connect(CharacterAdded)

return VehicleController


Prompt: --> Variables

Response:
local Timer = Fountain:GetAttribute("Timer") -- How long you must wait to heal (in seconds)
local Cooldown = {}


Prompt: --> Functions

Response:
local function MoveCamera(newCamPart)
	local camera = workspace.CurrentCamera
	camera.CFrame = newCamPart.CFrame
end


Prompt: -- Variables

Response:
local Animations = ServerStorage.Animations
local replacementAnimations = {
	{
		name = "run",
		id = (Animations.WalkAnimationID.Value ~= ""
				and "http://www.roblox.com/asset/?id=" .. Animations.WalkAnimationID.Value) or "",
		isLoaded = false,
	},
	{
		name = "idle",
		id = (Animations.IdleAnimationID.Value ~= ""
				and "http://www.roblox.com/asset/?id=" .. Animations.IdleAnimationID.Value) or "",
		isLoaded = false,
	},
	{
		name = "cheer",
		id = (Animations.CheerAnimationID.Value ~= ""
				and "http://www.roblox.com/asset/?id=" .. Animations.CheerAnimationID.Value) or "",
		isLoaded = false,
	},
}


Prompt: --[[ Camera Maths Utilities Library ]]

Response:
--
local Util = require(script.Parent:WaitForChild("CameraUtils"))


Prompt:
-- Note: DotProduct check in CoordinateFrame::lookAt() prevents using values within about
-- 8.11 degrees of the +/- Y axis, that's why these limits are currently 80 degrees

Response:
local MIN_Y = math.rad(-80)
local MAX_Y = math.rad(80)

local VR_ANGLE = math.rad(15)
local VR_LOW_INTENSITY_ROTATION = Vector2.new(math.rad(15), 0)
local VR_HIGH_INTENSITY_ROTATION = Vector2.new(math.rad(45), 0)
local VR_LOW_INTENSITY_REPEAT = 0.1
local VR_HIGH_INTENSITY_REPEAT = 0.4

local ZERO_VECTOR2 = Vector2.new(0,0)
local ZERO_VECTOR3 = Vector3.new(0,0,0)

local TOUCH_SENSITIVTY = Vector2.new( 0.002 * math.pi, 0.0015 * math.pi)
local MOUSE_SENSITIVITY = Vector2.new( 0.002 * math.pi, 0.0015 * math.pi )

local MAX_TIME_FOR_DOUBLE_TAP = 1.5
local MAX_TAP_POS_DELTA = 15
local MAX_TAP_TIME_DELTA = 0.75

local SEAT_OFFSET = Vector3.new(0,5,0)
local VR_SEAT_OFFSET = Vector3.new(0,4,0)
local HEAD_OFFSET = Vector3.new(0,1.5,0)
local R15_HEAD_OFFSET = Vector3.new(0,2,0)

local bindAtPriorityFlagExists, bindAtPriorityFlagEnabled = pcall(function()
	return UserSettings():IsUserFeatureEnabled("UserPlayerScriptsBindAtPriority")
end)
local FFlagPlayerScriptsBindAtPriority = bindAtPriorityFlagExists and bindAtPriorityFlagEnabled

local newDefaultCameraAngleFlagExists, newDefaultCameraAngleFlagEnabled = pcall(function()
	return UserSettings():IsUserFeatureEnabled("UserNewDefaultCameraAngle")
end)
local FFlagUserNewDefaultCameraAngle = newDefaultCameraAngleFlagExists and newDefaultCameraAngleFlagEnabled

local Util = require(script.Parent:WaitForChild("CameraUtils"))
local ZoomController = require(script.Parent:WaitForChild("ZoomController"))


Prompt: --!strict

Response:
local Sift = script.Parent.Parent

local None = require(Sift.None)
local copyDeep = require(script.Parent.copyDeep)


Prompt: --Declarations

Response:
local target = AItorso -- is of type torso
local torsoPos = AItorso.Position
local	targpos = target.Position


Prompt: -- Functions

Response:
local function getRotationBetween(u, v, axis)
	local dot, uxv = u:Dot(v), u:Cross(v)
	if (dot < -0.99999) then return CFrame.fromAxisAngle(axis, math.pi) end
	return CFrame.new(0, 0, 0, uxv.x, uxv.y, uxv.z, 1 + dot)
end

local function twistAngle(cf, direction)
    local axis, theta = cf:ToAxisAngle()
    local w, v = math.cos(theta/2),  math.sin(theta/2)*axis
	local proj = v:Dot(direction)*direction
    local twist = CFrame.new(0, 0, 0, proj.x, proj.y, proj.z, w)
    local nAxis, nTheta = twist:ToAxisAngle()
	return math.sign(v:Dot(direction))*nTheta
end


Prompt:
--[[
	Constructs a new computed state object, which follows the value of another
	state object using a spring simulation.
]]

Response:
local Package = script.Parent.Parent
local PubTypes = require(Package.PubTypes)
local Types = require(Package.Types)
local logError = require(Package.Logging.logError)
local logErrorNonFatal = require(Package.Logging.logErrorNonFatal)
local unpackType = require(Package.Animation.unpackType)
local SpringScheduler = require(Package.Animation.SpringScheduler)
local useDependency = require(Package.Dependencies.useDependency)
local initDependency = require(Package.Dependencies.initDependency)
local updateAll = require(Package.Dependencies.updateAll)
local xtypeof = require(Package.Utility.xtypeof)
local unwrap = require(Package.State.unwrap)

local class = {}

local CLASS_METATABLE = {__index = class}
local WEAK_KEYS_METATABLE = {__mode = "k"}