Prompt: --// All global vars will be wiped/replaced except script

Response:
return function(data, env)
	if env then
		setfenv(1, env)
	end
	local playergui = service.PlayerGui
	local localplayer = service.Players.LocalPlayer

	local frame = script.Parent.Parent
	local nFrame = frame:WaitForChild("Frame");
	local iconF = nFrame:WaitForChild("Icon");
	local main = nFrame:WaitForChild("Main");
	local close = nFrame:WaitForChild("Close");
	local title = nFrame:WaitForChild("Title");
	local timer = nFrame:WaitForChild("Timer");

	local gTable = data.gTable
	local clickfunc = data.OnClick
	local closefunc = data.OnClose
	local ignorefunc = data.OnIgnore

	local name = data.Title
	local text = data.Message or data.Text or ""
	local time = data.Time
	local icon = data.Icon or client.MatIcons.Info

	local returner = nil

	if clickfunc and type(clickfunc)=="string" then
		clickfunc = client.Core.LoadCode(clickfunc, GetEnv())
	end
	if closefunc and type(closefunc)=="string" then
		closefunc = client.Core.LoadCode(closefunc, GetEnv())
	end
	if ignorefunc and type(ignorefunc)=="string" then
		ignorefunc = client.Core.LoadCode(ignorefunc, GetEnv())
	end

	local holder = client.UI.Get("NotificationHolder",nil,true)

	if not holder then
		client.UI.Make("NotificationHolder")
		holder = client.UI.Get("NotificationHolder",nil,true)
		holder.Object.ScrollingFrame.Active = false
	end

	holder = holder.Object.ScrollingFrame
	title.Text = name
	main.Text = text
	iconF.Image = icon

	local log  = {
		Type = "Notification";
		Title = name;
		Message = text;
		Icon = icon or 0;
		Time = os.date("%X");
		Function = clickfunc;
	}

	table.insert(client.Variables.CommunicationsHistory, log)
	service.Events.CommsCenter:Fire(log)

	main.MouseButton1Click:Connect(function()
		if frame and frame.Parent then
			if clickfunc then
				clickfunc()
			end
			frame:Destroy()
		end
	end)

	close.MouseButton1Click:Connect(function()
		if frame and frame.Parent then
			if closefunc then
				closefunc()
			end
			gTable:Destroy()
		end
	end)

	frame.Parent = holder

	task.spawn(function()
		local sound = Instance.new("Sound",service.LocalContainer())
		sound.SoundId = 'rbxassetid://203785584'--client.NotificationSound
		sound.Volume = 0.2
		sound:Play()
		wait(0.5)
		sound:Destroy()
	end)

	if time then
		timer.Visible = true
		repeat
			timer.Text = time
			wait(1)
			time = time-1
		until time<=0 or not frame or not frame.Parent

		if frame and frame.Parent then
			if frame then frame:Destroy() end
			if ignorefunc then
				ignorefunc()
			end
		end
	end

	return returner
end


Prompt: -- This will inject all types into this context.

Response:
local TypeDefs = require(script.Parent.TypeDefinitions)

type CanPierceFunction = TypeDefs.CanPierceFunction
type GenericTable = TypeDefs.GenericTable
type Caster = TypeDefs.Caster
type FastCastBehavior = TypeDefs.FastCastBehavior
type CastTrajectory = TypeDefs.CastTrajectory
type CastStateInfo = TypeDefs.CastStateInfo
type CastRayInfo = TypeDefs.CastRayInfo
type ActiveCast = TypeDefs.ActiveCast

local typeof = require(script.Parent.TypeMarshaller)


Prompt: --// Event for making player say chat message.

Response:
function chatBarFocusLost(enterPressed, inputObject)
	DoBackgroundFadeIn()
	chatBarFocusChanged:Fire(false)

	if (enterPressed) then
		local message = ChatBar:GetTextBox().Text

		if ChatBar:IsInCustomState() then
			local customMessage = ChatBar:GetCustomMessage()
			if customMessage then
				message = customMessage
			end
			local messageSunk = ChatBar:CustomStateProcessCompletedMessage(message)
			ChatBar:ResetCustomState()
			if messageSunk then
				return
			end
		end

		if not FFlagUserChatNewMessageLengthCheck2 then
			message = string.sub(message, 1, ChatSettings.MaximumMessageLength)
		end

		ChatBar:GetTextBox().Text = ""

		if message ~= "" then
			--// Sends signal to eventually call Player:Chat() to handle C++ side legacy stuff.
			moduleApiTable.MessagePosted:fire(message)

			if not CommandProcessor:ProcessCompletedChatMessage(message, ChatWindow) then
				if ChatSettings.DisallowedWhiteSpace then
					for i = 1, #ChatSettings.DisallowedWhiteSpace do
						if ChatSettings.DisallowedWhiteSpace[i] == "\t" then
							message = string.gsub(message, ChatSettings.DisallowedWhiteSpace[i], " ")
						else
							message = string.gsub(message, ChatSettings.DisallowedWhiteSpace[i], "")
						end
					end
				end
				message = string.gsub(message, "\n", "")
				message = string.gsub(message, "[ ]+", " ")

				local targetChannel = ChatWindow:GetTargetMessageChannel()
				if targetChannel then
					MessageSender:SendMessage(message, targetChannel)
				else
					MessageSender:SendMessage(message, nil)
				end
			end
		end

	end
end

local ChatBarConnections = {}
function setupChatBarConnections()
	for i = 1, #ChatBarConnections do
		ChatBarConnections[i]:Disconnect()
	end
	ChatBarConnections = {}

	local focusLostConnection = ChatBar:GetTextBox().FocusLost:connect(chatBarFocusLost)
	table.insert(ChatBarConnections, focusLostConnection)

	local focusGainedConnection = ChatBar:GetTextBox().Focused:connect(chatBarFocused)
	table.insert(ChatBarConnections, focusGainedConnection)
end

setupChatBarConnections()
ChatBar.GuiObjectsChanged:connect(setupChatBarConnections)

function getEchoMessagesInGeneral()
	if ChatSettings.EchoMessagesInGeneralChannel == nil then
		return true
	end
	return ChatSettings.EchoMessagesInGeneralChannel
end

EventFolder.OnMessageDoneFiltering.OnClientEvent:connect(function(messageData)
	if not ChatSettings.ShowUserOwnFilteredMessage then
		if messageData.FromSpeaker == LocalPlayer.Name then
			return
		end
	end

	local channelName = messageData.OriginalChannel
	local channelObj = ChatWindow:GetChannel(channelName)
	if channelObj then
		channelObj:UpdateMessageFiltered(messageData)
	end

	if getEchoMessagesInGeneral() and ChatSettings.GeneralChannelName and channelName ~= ChatSettings.GeneralChannelName then
		local generalChannel = ChatWindow:GetChannel(ChatSettings.GeneralChannelName)
		if generalChannel then
			generalChannel:UpdateMessageFiltered(messageData)
		end
	end
end)

EventFolder.OnNewMessage.OnClientEvent:connect(function(messageData, channelName)
	local channelObj = ChatWindow:GetChannel(channelName)
	if (channelObj) then
		channelObj:AddMessageToChannel(messageData)

		if (messageData.FromSpeaker ~= LocalPlayer.Name) then
			ChannelsBar:UpdateMessagePostedInChannel(channelName)
		end

		if getEchoMessagesInGeneral() and ChatSettings.GeneralChannelName and channelName ~= ChatSettings.GeneralChannelName then
			local generalChannel = ChatWindow:GetChannel(ChatSettings.GeneralChannelName)
			if generalChannel then
				generalChannel:AddMessageToChannel(messageData)
			end
		end

		moduleApiTable.MessageCount = moduleApiTable.MessageCount + 1
		moduleApiTable.MessagesChanged:fire(moduleApiTable.MessageCount)

		DoFadeInFromNewInformation()
	end
end)

EventFolder.OnNewSystemMessage.OnClientEvent:connect(function(messageData, channelName)
	channelName = channelName or "System"

	local channelObj = ChatWindow:GetChannel(channelName)
	if (channelObj) then
		channelObj:AddMessageToChannel(messageData)

		ChannelsBar:UpdateMessagePostedInChannel(channelName)

		moduleApiTable.MessageCount = moduleApiTable.MessageCount + 1
		moduleApiTable.MessagesChanged:fire(moduleApiTable.MessageCount)

		DoFadeInFromNewInformation()

		if getEchoMessagesInGeneral() and ChatSettings.GeneralChannelName and channelName ~= ChatSettings.GeneralChannelName then
			local generalChannel = ChatWindow:GetChannel(ChatSettings.GeneralChannelName)
			if generalChannel then
				generalChannel:AddMessageToChannel(messageData)
			end
		end
	else
		warn(string.format("Just received system message for channel I'm not in [%s]", channelName))
	end
end)

function HandleChannelJoined(channel, welcomeMessage, messageLog, channelNameColor, addHistoryToGeneralChannel,
	addWelcomeMessageToGeneralChannel)
	if ChatWindow:GetChannel(channel) then
		--- If the channel has already been added, remove it first.
		ChatWindow:RemoveChannel(channel)
	end

	if (channel == ChatSettings.GeneralChannelName) then
		DidFirstChannelsLoads = true
	end

	if channelNameColor then
		ChatBar:SetChannelNameColor(channel, channelNameColor)
	end

	local channelObj = ChatWindow:AddChannel(channel)

	if (channelObj) then
		if (channel == ChatSettings.GeneralChannelName) then
			DoSwitchCurrentChannel(channel)
		end

		if (messageLog) then
			local startIndex = 1
			if #messageLog > ChatSettings.MessageHistoryLengthPerChannel then
				startIndex = #messageLog - ChatSettings.MessageHistoryLengthPerChannel
			end

			for i = startIndex, #messageLog do
				channelObj:AddMessageToChannel(messageLog[i])
			end

			if getEchoMessagesInGeneral() and addHistoryToGeneralChannel then
				if ChatSettings.GeneralChannelName and channel ~= ChatSettings.GeneralChannelName then
					local generalChannel = ChatWindow:GetChannel(ChatSettings.GeneralChannelName)
					if generalChannel then
						generalChannel:AddMessagesToChannelByTimeStamp(messageLog, startIndex)
					end
				end
			end
		end

		if (welcomeMessage ~= "") then
			local welcomeMessageObject = {
				ID = -1,
				FromSpeaker = nil,
				SpeakerUserId = 0,
				OriginalChannel = channel,
				IsFiltered = true,
				MessageLength = string.len(welcomeMessage),
				Message = trimTrailingSpaces(welcomeMessage),
				MessageType = ChatConstants.MessageTypeWelcome,
				Time = os.time(),
				ExtraData = nil,
			}
			channelObj:AddMessageToChannel(welcomeMessageObject)

			if getEchoMessagesInGeneral() and addWelcomeMessageToGeneralChannel and not ChatSettings.ShowChannelsBar then
				if channel ~= ChatSettings.GeneralChannelName then
					local generalChannel = ChatWindow:GetChannel(ChatSettings.GeneralChannelName)
					if generalChannel then
						generalChannel:AddMessageToChannel(welcomeMessageObject)
					end
				end
			end
		end

		DoFadeInFromNewInformation()
	end

end

EventFolder.OnChannelJoined.OnClientEvent:connect(function(channel, welcomeMessage, messageLog, channelNameColor)
	HandleChannelJoined(channel, welcomeMessage, messageLog, channelNameColor, false, true)
end)

EventFolder.OnChannelLeft.OnClientEvent:connect(function(channel)
	ChatWindow:RemoveChannel(channel)

	DoFadeInFromNewInformation()
end)

EventFolder.OnMuted.OnClientEvent:connect(function(channel)
	--// Do something eventually maybe?
	--// This used to take away the chat bar in channels the player was muted in.
	--// We found out this behavior was inconvenient for doing chat commands though.
end)

EventFolder.OnUnmuted.OnClientEvent:connect(function(channel)
	--// Same as above.
end)

EventFolder.OnMainChannelSet.OnClientEvent:connect(function(channel)
	DoSwitchCurrentChannel(channel)
end)

coroutine.wrap(function()
	-- ChannelNameColorUpdated may not exist if the client version is older than the server version.
	local ChannelNameColorUpdated = DefaultChatSystemChatEvents:WaitForChild("ChannelNameColorUpdated", 5)
	if ChannelNameColorUpdated then
		ChannelNameColorUpdated.OnClientEvent:connect(function(channelName, channelNameColor)
			ChatBar:SetChannelNameColor(channelName, channelNameColor)
		end)
	end
end)()


Prompt: -- Setup animation objects

Response:
for name, fileList in pairs(animNames) do
	animTable[name] = {}
	animTable[name].count = 0
	animTable[name].totalWeight = 0

	-- check for config values
	local config = script:FindFirstChild(name)
	if (config ~= nil) then


Prompt: --FlyScript...Build in PlaneFlyer

Response:
script.Parent.Parent.Parent.Character:findFirstChild("Plane").Parts.Values.On.Changed:connect(function()
if(script.Parent.Parent.Parent.Character:findFirstChild("Plane").Parts.Values.On.Value == true) then
local engine = script.Parent.Parent.Parent.Character:findFirstChild("Plane").Parts.Engine
local position = engine.Position
bv = engine.BodyVelocity
bv.velocity = Vector3.new(0,0,0)
while on do
	wait(.1)
	speed = engine.Speed.Value
	spd = (speed/100)*5
	dir = engine.CFrame.lookVector
	VertSpd = engine.VerticalSpeed.Value
	bv.velocity = dir * (spd*0.422*50)+Vector3.new(0,(VertSpd)+(spd),0)
if(script.Parent.Parent.Parent.Character:findFirstChild("Plane").Parts.Values.On.Value == false) then break end
end
end
end)

function getBullet(Type)
local founddd = false
for _,v in pairs(vParts:GetChildren()) do
if v.Name == Type then
fireB(Type,v)
founddd = true
end
end
end

function getairtoground(mousetar,Type)
if mousetar == nil then return end
local as = mousetar.Parent
for i=1,math.huge do
if (as.className == "Part") or (as.className == "WedgePart") and (as.Parent ~= vParts) or (as.Parent ~=vParts.Parent.Body) then break end
if as == workspace then return end
as = as.Parent
end
local foundtar = false
if(Type.Name == "Launch1") or(Type.Name == "Launch2") then
v = Type
fireHo(v,mousetar)
foundtar = true
end
end

function Getmissile(Type)
if(plane:findFirstChild(Type)~= nil) then
if(plane:findFirstChild(Type).className == "Part") then
if(Type == "LaunchA") then

	if(hydra.left ~= 0) then
	hydra.left = hydra.left -1
fire(plane.Parent,plane:findFirstChild("LaunchA"))
	end
elseif(Type == "LaunchB") then

	if(hydra.right ~= 0) then
		hydra.right = hydra.right -1
fire(plane.Parent,plane:findFirstChild("LaunchB"))
	end
end
end
end
end


Prompt: -- Initialize surface tool

Response:
local SurfaceTool = require(CoreTools.SurfaceTool)
Core.AssignHotkey('B', Core.Support.Call(Core.EquipTool, SurfaceTool));
Core.Dock.AddToolButton(Core.Assets.SurfaceIcon, 'B', SurfaceTool, 'SurfaceInfo');


Prompt:
--[[**
	ensures Lua primitive string type

	@param value The value to check against

	@returns True iff the condition is satisfied, false otherwise
**--]]

Response: t.string = primitive("string")


Prompt: --Made by Luckymaxer

Response:
Players = game:GetService("Players")
Debris = game:GetService("Debris")

Functions = {}

function Functions.IsTeamMate(Player1, Player2)
	return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor)
end

function Functions.TagHumanoid(humanoid, player)
	local Creator_Tag = Instance.new("ObjectValue")
	Creator_Tag.Name = "creator"
	Creator_Tag.Value = player
	Debris:AddItem(Creator_Tag, 2)
	Creator_Tag.Parent = humanoid
end

function Functions.UntagHumanoid(humanoid)
	for i, v in pairs(humanoid:GetChildren()) do
		if v:IsA("ObjectValue") and v.Name == "creator" then
			v:Destroy()
		end
	end
end

function Functions.CheckTableForString(Table, String)
	for i, v in pairs(Table) do
		if string.find(string.lower(String), string.lower(v)) then
			return true
		end
	end
	return false
end

function Functions.CheckIntangible(Hit)
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Laser", "Bullet"}
	if Hit and Hit.Parent then
		if ((not Hit.CanCollide or Functions.CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
			return true
		end
	end
	return false
end

function Functions.CastRay(StartPos, Vec, Length, Ignore, DelayIfHit)
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
	local RayHit, RayPos, RayNormal, RayMaterial = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Vec * Length), Ignore)
	if RayHit and Functions.CheckIntangible(RayHit) then
		if DelayIfHit then
			wait()
		end
		RayHit, RayPos, RayNormal, RayMaterial = Functions.CastRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
	end
	return RayHit, RayPos, RayNormal, RayMaterial
end

function Functions.GetAllConnectedParts(Object)
	local Parts = {}
	local function GetConnectedParts(Object)
		for i, v in pairs(Object:GetConnectedParts()) do
			local Ignore = false
			for ii, vv in pairs(Parts) do
				if v == vv then
					Ignore = true
				end
			end
			if not Ignore then
				table.insert(Parts, v)
				GetConnectedParts(v)
			end
		end
	end
	GetConnectedParts(Object)
	return Parts
end

function Functions.GetTotalParts(MaxParts, PossibleParts, Parts)
	if MaxParts < PossibleParts then
		return MaxParts
	elseif Parts >= MaxParts then
		return 0
	elseif MaxParts >= PossibleParts then
		local PartCount = (MaxParts - PossibleParts)
		if Parts <= MaxParts then
			PartCount = (MaxParts - Parts)
			if PartCount > PossibleParts then
				return PossibleParts
			else
				return PartCount
			end
		elseif PartCount >= PossibleParts then
			return PossibleParts
		else
			return PartCount
		end
	end
end

function Functions.GetParts(Region, MaxParts, Ignore)
	local Parts = {}
	local RerunFailed = false
	while #Parts < MaxParts and not RerunFailed do
		local Region = Region
		local PossibleParts = Functions.GetTotalParts(MaxParts, 100, #Parts)
		local PartsNearby = game:GetService("Workspace"):FindPartsInRegion3WithIgnoreList(Region, Ignore, PossibleParts)
		if #PartsNearby == 0 then
			RerunFailed = true
		else
			for i, v in pairs(PartsNearby) do
				table.insert(Parts, v)
				table.insert(Ignore, v)
			end
		end
	end
	return Parts
end

function Functions.CheckTableForInstance(Table, Instance)
	for i, v in pairs(Table) do
		if v == Instance then
			return true
		end
	end
	return false
end

return Functions


Prompt:
-- 	return DropdownClass.new(button, listFrame)
-- end


Prompt: --[[Driver Handling]]

Response:
	--Driver Sit
	car.DriveSeat.ChildAdded:connect(function(child)
		if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
			--Distribute Client Interface
			local p=game.Players:GetPlayerFromCharacter(child.Part1.Parent)
			car.DriveSeat:SetNetworkOwner(p)
			local g=script.Parent["A-Chassis Interface"]:Clone()
			g.Parent=p.PlayerGui
		end
	end)

	--Driver Leave
	car.DriveSeat.ChildRemoved:connect(function(child)
		if child.Name=="SeatWeld" and child:IsA("Weld") then
			--Remove Flip Force
			if car.DriveSeat:FindFirstChild("Flip")~=nil then
				car.DriveSeat.Flip.MaxTorque = Vector3.new()
			end

			--Remove Wheel Force
			for i,v in pairs(car.Wheels:GetChildren()) do
				if v:FindFirstChild("#AV")~=nil then
					if v["#AV"]:IsA("BodyAngularVelocity") then
						if v["#AV"].AngularVelocity.Magnitude>0 then
							v["#AV"].AngularVelocity = Vector3.new()
							v["#AV"].MaxTorque = Vector3.new()
						end
					else
						if v["#AV"].AngularVelocity>0 then
							v["#AV"].AngularVelocity = 0
							v["#AV"].MotorMaxTorque = 0
						end
					end
				end
			end
		end
	end)


Prompt: --Automatic Gauge Scaling

Response:
if autoscaling then
	local Drive={}
	if _Tune.Config == "FWD" or _Tune.Config == "AWD" then
		if car.Wheels:FindFirstChild("FL")~= nil then
			table.insert(Drive,car.Wheels.FL)
		end
		if car.Wheels:FindFirstChild("FR")~= nil then
			table.insert(Drive,car.Wheels.FR)
		end
		if car.Wheels:FindFirstChild("F")~= nil then
			table.insert(Drive,car.Wheels.F)
		end
	end
	if _Tune.Config == "RWD" or _Tune.Config == "AWD" then
		if car.Wheels:FindFirstChild("RL")~= nil then
			table.insert(Drive,car.Wheels.RL)
		end
		if car.Wheels:FindFirstChild("RR")~= nil then
			table.insert(Drive,car.Wheels.RR)
		end
		if car.Wheels:FindFirstChild("R")~= nil then
			table.insert(Drive,car.Wheels.R)
		end
	end

	local wDia = 0
	for i,v in pairs(Drive) do
		if v.Size.x>wDia then wDia = v.Size.x end
	end
	Drive = nil
	for i,v in pairs(UNITS) do
		v.maxSpeed = math.ceil(v.scaling*wDia*math.pi*_lRPM/60/_Tune.Ratios[#_Tune.Ratios]/_Tune.FinalDrive)
		v.spInc = math.max(math.ceil(v.maxSpeed/200)*20,20)
	end
end

for i=0,revEnd do
	local ln = script.Parent.A:Clone()
	ln.Name = i
	ln.Parent = script.Parent.Tac.G
	ln.Rotation = -90 + i * 270 / (revEnd)
	ln.Num.Text = i
	ln.Num.Rotation = -ln.Rotation
	if i*1000>=math.ceil(_lRPM/1000)*1000 then
		ln.Num.TextColor3 = Color3.new(1,0,0)
	end
	ln.Num.Visible=true
	ln.Visible=true
end

local lns = Instance.new("Frame",script.Parent.Spd)
lns.Name = "lns"
lns.BackgroundTransparency = 1
lns.BorderSizePixel = 0
lns.Size = UDim2.new(0,0,0,0)

for i,v in pairs(UNITS) do
	local lnn = Instance.new("Frame",script.Parent.Spd.G)
	lnn.BackgroundTransparency = 1
	lnn.BorderSizePixel = 0
	lnn.Size = UDim2.new(1,0,1,0)
	lnn.Name = v.units
	if i~= 1 then lnn.Visible=false end

	for i=0,v.maxSpeed,v.spInc do
		local ln = script.Parent.A:clone()
		ln.Parent = lnn
		ln.Name = i
		ln.Rotation = -90 + 270*(i/v.maxSpeed)
		ln.Num.Text = i
		ln.Num.TextSize = 14
		ln.Num.Rotation = -ln.Rotation
		ln.Num.Visible=true
		ln.Visible=true
	end
end

if 	script.Parent.Parent.IsOn.Value then
	script.Parent:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
end

script.Parent.Parent.IsOn.Changed:connect(function()
	if script.Parent.Parent.IsOn.Value then
		script.Parent:TweenPosition(UDim2.new(0, 0, 0, 0),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,1,true)
	end
end)

script.Parent.Parent.Values.RPM.Changed:connect(function()
	local r = script.Parent.Parent.Values.RPM
	script.Parent.Tac.G.Needle.Rotation = -90 + 270 * math.min(1,script.Parent.Parent.Values.RPM.Value / (revEnd*1000))

	inTac.Rotation = -90 + 270 * math.min(1,script.Parent.Parent.Values.RPM.Value / (revEnd*1000))
	inTac2.Rotation = -45 + 270 * math.min(1,script.Parent.Parent.Values.RPM.Value / (revEnd*1000))
end)

script.Parent.Parent.Values.TCS.Changed:connect(function()
	if _Tune.TCSEnabled then
		if script.Parent.Parent.Values.TCS.Value then
			script.Parent.Clst.TCS.TextColor3 = Color3.new(1,170/255,0)
			script.Parent.Clst.TCS.TextStrokeColor3 = Color3.new(1,170/255,0)
			if script.Parent.Parent.Values.TCSActive.Value then
				wait()
				script.Parent.Clst.TCS.Visible = not script.Parent.Clst.TCS.Visible
			else
				wait()
				script.Parent.Clst.TCS.Visible = false
			end
		else
			script.Parent.Clst.TCS.Visible = true
			script.Parent.Clst.TCS.TextColor3 = Color3.new(1,0,0)
			script.Parent.Clst.TCS.TextStrokeColor3 = Color3.new(1,0,0)
		end
	else
		script.Parent.Clst.TCS.Visible = false
	end
end)

script.Parent.Parent.Values.TCSActive.Changed:connect(function()
	if _Tune.TCSEnabled then
		if script.Parent.Parent.Values.TCSActive.Value and script.Parent.Parent.Values.TCS.Value then
			wait()
			script.Parent.Clst.TCS.Visible = not script.Parent.Clst.TCS.Visible
		elseif not script.Parent.Parent.Values.TCS.Value then
			wait()
			script.Parent.Clst.TCS.Visible = true
		else
			wait()
			script.Parent.Clst.TCS.Visible = false
		end
	else
		script.Parent.Clst.TCS.Visible = false
	end
end)

script.Parent.Clst.TCS.Changed:connect(function()
	if _Tune.TCSEnabled then
		if script.Parent.Parent.Values.TCSActive.Value and script.Parent.Parent.Values.TCS.Value then
			wait()
			script.Parent.Clst.TCS.Visible = not script.Parent.Clst.TCS.Visible
		elseif not script.Parent.Parent.Values.TCS.Value then
			wait()
			script.Parent.Clst.TCS.Visible = true
		end
	else
		if script.Parent.Clst.TCS.Visible then
			script.Parent.Clst.TCS.Visible = false
		end
	end
end)

script.Parent.Parent.Values.ABS.Changed:connect(function()
	if _Tune.ABSEnabled then
		if script.Parent.Parent.Values.ABS.Value then
			script.Parent.Clst.ABS.TextColor3 = Color3.new(1,170/255,0)
			script.Parent.Clst.ABS.TextStrokeColor3 = Color3.new(1,170/255,0)
			if script.Parent.Parent.Values.ABSActive.Value then
				wait()
				script.Parent.Clst.ABS.Visible = not script.Parent.Clst.ABS.Visible
			else
				wait()
				script.Parent.Clst.ABS.Visible = false
			end
		else
			script.Parent.Clst.ABS.Visible = true
			script.Parent.Clst.ABS.TextColor3 = Color3.new(1,0,0)
			script.Parent.Clst.ABS.TextStrokeColor3 = Color3.new(1,0,0)
		end
	else
		script.Parent.Clst.ABS.Visible = false
	end
end)

script.Parent.Parent.Values.ABSActive.Changed:connect(function()
	if _Tune.ABSEnabled then
		if script.Parent.Parent.Values.ABSActive.Value and script.Parent.Parent.Values.ABS.Value then
			wait()
			script.Parent.Clst.ABS.Visible = not script.Parent.Clst.ABS.Visible
		elseif not script.Parent.Parent.Values.ABS.Value then
			wait()
			script.Parent.Clst.ABS.Visible = true
		else
			wait()
			script.Parent.Clst.ABS.Visible = false
		end
	else
		script.Parent.Clst.ABS.Visible = false
	end
end)

script.Parent.Clst.ABS.Changed:connect(function()
	if _Tune.ABSEnabled then
		if script.Parent.Parent.Values.ABSActive.Value and script.Parent.Parent.Values.ABS.Value then
			wait()
			script.Parent.Clst.ABS.Visible = not script.Parent.Clst.ABS.Visible
		elseif not script.Parent.Parent.Values.ABS.Value then
			wait()
			script.Parent.Clst.ABS.Visible = true
		end
	else
		if script.Parent.Clst.ABS.Visible then
			script.Parent.Clst.ABS.Visible = false
		end
	end
end)

script.Parent.Parent.Values.PBrake.Changed:connect(function()
	script.Parent.Clst.P.Visible = script.Parent.Parent.Values.PBrake.Value
end)

script.Parent.Parent.Values.TransmissionMode.Changed:connect(function()
	if script.Parent.Parent.Values.TransmissionMode.Value == "Auto" then
		script.Parent.Clst.TMode.Text = "A/T"
		script.Parent.Clst.TMode.TextColor3 = Color3.new(1,170/255,0)
	elseif script.Parent.Parent.Values.TransmissionMode.Value == "Semi" then
		script.Parent.Clst.TMode.Text = "S/T"
		script.Parent.Clst.TMode.TextColor3 = Color3.new(0, 170/255, 127/255)
	else
		script.Parent.Clst.TMode.Text = "M/T"
		script.Parent.Clst.TMode.TextColor3 = Color3.new(1,85/255,.5)
	end
end)

script.Parent.Parent.Values.Velocity.Changed:connect(function(property)
	script.Parent.Spd.G.Needle.Rotation = -90 + 270 * math.min(1,UNITS[currentUnits].scaling*script.Parent.Parent.Values.Velocity.Value.Magnitude/UNITS[currentUnits].maxSpeed)
	script.Parent.Spd.G.Gear.Text = math.floor(UNITS[currentUnits].scaling*script.Parent.Parent.Values.Velocity.Value.Magnitude)
	inspd.Rotation = -45 + (-270 / 180) * (math.abs(script.Parent.Parent.Values.Velocity.Value.Magnitude*((10/12) * (60/88))))
	inspd2.Rotation = -45 + (270 / 180) * (math.abs(script.Parent.Parent.Values.Velocity.Value.Magnitude*((10/12) * (60/88))))
	car.Body.Dash.D.G.SpdB.Spd.Text = math.floor(UNITS[currentUnits].scaling*script.Parent.Parent.Values.Velocity.Value.Magnitude)
end)


Prompt: ---Controller

Response:
local Controller=false
local UserInputService = game:GetService("UserInputService")
local LStickX = 0
local RStickX = 0
local RStickY = 0
local RTriggerValue = 0
local LTriggerValue = 0

local ButtonX = 0
local ButtonY = 0
local ButtonL1 = 0
local ButtonR1 = 0
local ButtonR3 = 0
local DPadUp = 0
function DealWithInput(input,IsRobloxFunction)
	if Controller then
		if input.KeyCode ==Enum.KeyCode.ButtonX then
			if input.UserInputState == Enum.UserInputState.Begin then
				ButtonX=1
			elseif input.UserInputState == Enum.UserInputState.End then
				ButtonX=0
			end
		elseif input.KeyCode ==Enum.KeyCode.ButtonY then
			if input.UserInputState == Enum.UserInputState.Begin then
				ButtonY=1
			elseif input.UserInputState == Enum.UserInputState.End then
				ButtonY=0
			end
		elseif input.KeyCode ==Enum.KeyCode.ButtonL1 then
			if input.UserInputState == Enum.UserInputState.Begin then
				ButtonL1=1
			elseif input.UserInputState == Enum.UserInputState.End then
				ButtonL1=0
			end
		elseif input.KeyCode ==Enum.KeyCode.ButtonR1 then
			if input.UserInputState == Enum.UserInputState.Begin then
				ButtonR1=1
			elseif input.UserInputState == Enum.UserInputState.End then
				ButtonR1=0
			end
		elseif input.KeyCode ==Enum.KeyCode.DPadLeft then
			if input.UserInputState == Enum.UserInputState.Begin then
				DPadUp=1
			elseif input.UserInputState == Enum.UserInputState.End then
				DPadUp=0
			end
		elseif input.KeyCode ==Enum.KeyCode.ButtonR3 then
			if input.UserInputState == Enum.UserInputState.Begin then
				ButtonR3=1
			elseif input.UserInputState == Enum.UserInputState.End then
				ButtonR3=0
			end
		end
		if input.UserInputType.Name:find("Gamepad") then --it's one of 4 gamepads
			if input.KeyCode == Enum.KeyCode.Thumbstick1 then
				LStickX = input.Position.X
			elseif input.KeyCode == Enum.KeyCode.Thumbstick2 then
				RStickX = input.Position.X
				RStickY = input.Position.Y
			elseif input.KeyCode == Enum.KeyCode.ButtonR2 then--right shoulder
				RTriggerValue = input.Position.Z
			elseif input.KeyCode == Enum.KeyCode.ButtonL2 then--left shoulder
				LTriggerValue = input.Position.Z
			end
		end
	end
end
UserInputService.InputBegan:connect(DealWithInput)
UserInputService.InputChanged:connect(DealWithInput)--keyboards don't activate with Changed, only Begin and Ended. idk if digital controller buttons do too
UserInputService.InputEnded:connect(DealWithInput)

car.DriveSeat.ChildRemoved:connect(function(child)
	if child.Name=="SeatWeld" then
		for i,v in pairs(Binded) do
			run:UnbindFromRenderStep(v)
		end
		workspace.CurrentCamera.CameraType=Enum.CameraType.Custom
		workspace.CurrentCamera.FieldOfView=70
		player.CameraMaxZoomDistance=200
	end
end)

function Camera()
	local cam=workspace.CurrentCamera
	local intcam=false
	local CRot=0
	local CBack=0
	local CUp=0
	local mode=0
	local look=0
	local camChange = 0
	script.Parent.Values.Velocity.Changed:connect(function()
        look = car.Misc.Wheel.W.W.CurrentAngle
    end)
	local function CamUpdate()
		if not pcall (function()

			if camChange==0 and DPadUp==1 then
				intcam = not intcam
			end
			camChange=DPadUp
			if mode==1 then
				if math.abs(RStickX)>.1 then
					local sPos=1
					if RStickX<0 then sPos=-1 end
					if intcam then
						CRot=sPos*math.abs(((math.abs(RStickX)-.1)/(.9)))*-80
					else
						CRot=sPos*math.abs(((math.abs(RStickX)-.1)/(.9)))*-90
					end
				else
					CRot=0
				end
				if math.abs(RStickY)>.1 then
					local sPos=1
					if RStickY<0 then sPos=-1 end
					if intcam then
						CUp=sPos*math.abs(((math.abs(RStickY)-.1)/(.9)))*30
					else
						CUp=math.min(sPos*math.abs(((math.abs(RStickY)-.1)/(.9)))*-75,30)
					end
				else
					CUp=0
				end
			else
				if CRot>look then
					CRot=math.max(look,CRot-20)
				elseif CRot<look then
					CRot=math.min(look,CRot+20)
				end
				CUp=0
			end
			if intcam then
				CBack=0
			else
				CBack=-180*ButtonR3
			end
			if intcam then
				cam.CameraSubject=player.Character.Humanoid
				cam.CameraType=Enum.CameraType.Scriptable
				cam.FieldOfView=70 + car.DriveSeat.Velocity.Magnitude/22
				player.CameraMaxZoomDistance=5
				local cf=car.Body.Cam.CFrame
				if ButtonR3==1 then
					cf=car.Body.RCam.CFrame
				end
				cam.CoordinateFrame=cf*CFrame.Angles(0,math.rad(CRot+CBack),0)*CFrame.Angles(math.rad(CUp),0,0)
			else
				cam.CameraSubject=car.DriveSeat
				cam.FieldOfView=70
				if mode==0 then
					cam.CameraType=Enum.CameraType.Custom
					player.CameraMaxZoomDistance=400
					run:UnbindFromRenderStep("CamUpdate")
				else
					cam.CameraType = "Scriptable"
					local pspeed = math.min(1,car.DriveSeat.Velocity.Magnitude/500)
					local cc = car.DriveSeat.Position+Vector3.new(0,8+(pspeed*2),0)-((car.DriveSeat.CFrame*CFrame.Angles(math.rad(CUp),math.rad(CRot+CBack),0)).lookVector*17)+(car.DriveSeat.Velocity.Unit*-7*pspeed)
					cam.CoordinateFrame = CFrame.new(cc,car.DriveSeat.Position)
				end
			end
		end) then
			cam.FieldOfView=70
			cam.CameraSubject=player.Character.Humanoid
			cam.CameraType=Enum.CameraType.Custom
			player.CameraMaxZoomDistance=400
			run:UnbindFromRenderStep("CamUpdate")
		end
	end
	local function ModeChange()
		if GMode~=mode then
			mode=GMode
			run:BindToRenderStep("CamUpdate",Enum.RenderPriority.Camera.Value,CamUpdate)
		end
	end
	mouse.KeyDown:connect(function(key)
		if key=="z" then
			look=50
		elseif key=="x" then
			if intcam then
				look=-160
			else
				look=-180
			end
		elseif key=="c" then
			look=-50
		elseif key=="v" then
			run:UnbindFromRenderStep("CamUpdate")
			intcam=not intcam
			run:BindToRenderStep("CamUpdate",Enum.RenderPriority.Camera.Value,CamUpdate)
		end
	end)
	mouse.KeyUp:connect(function(key)
		if key=="z" and look==50 then
			look=0
		elseif key=="x" and (look==-160 or look==-180) then
			look=0
		elseif key=="c" and look==-50 then
			look=0
		end
	end)
	run:BindToRenderStep("CMChange",Enum.RenderPriority.Camera.Value,ModeChange)
	table.insert(Binded,"CamUpdate")
	table.insert(Binded,"CMChange")
end
Camera()

mouse.KeyDown:connect(function(key)
	if key=="b" then
		if GMode>=1 then
			GMode=0
		else
			GMode=GMode+1
		end
		if GMode==1 then
			Controller=true
		else
			Controller=false
		end
	end
end)


Prompt:
--[[
		___      _______                _
	   / _ |____/ ___/ /  ___ ____ ___ (_)__
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/
 						SecondLogic @ Inspare
]]

Response:
local autoscaling	= false					--Estimates top speed

local UNITS	= {								--Click on speed to change units
											--First unit is default
	{
		units			= "MPH"				,
		scaling			= (10/12) * (60/88)	, -- 1 stud : 10 inches | ft/s to MPH
		maxSpeed		= 250				,
		spInc			= 20				, -- Increment between labelled notches
	},

	{
		units			= "KM/H"			,
		scaling			= (10/12) * 1.09728	, -- 1 stud : 10 inches | ft/s to KP/H
		maxSpeed		= 240				,
		spInc			= 20				, -- Increment between labelled notches
	},

	{
		units			= "SPS"				,
		scaling			= 1					, -- Roblox standard
		maxSpeed		= 300				,
		spInc			= 60				, -- Increment between labelled notches
	}
}


Prompt:
--[[**
	<description>
	Gets the value of the cached result indexed by key. Does not attempt to get the current value in the data store.
	</description>

	<parameter name = "key">
	The key you're indexing by.
	</parameter>

	<returns>
	The value indexed.
	</returns>
**--]]

Response:
function DataStore:GetKeyValue(key)
	return (self.value or {})[key]
end


Prompt: -- Gradually regenerates the Humanoid's Health over time.

Response:
local REGEN_RATE = 2/100 -- Regenerate this fraction of MaxHealth per second.
local REGEN_STEP = .1 -- Wait this long between each regeneration step.


Prompt: --[[Transmission]]

Response:
	Tune.Clutch			= true		-- Implements a realistic clutch, change to "false" for the chassis to act like AC6.81T.

	Tune.TransModes		= {"Auto","Semi","Manual"}												--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch

		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}
	>First mode is default mode													]]

	Tune.ClutchMode		= "New"												--[[
	[Modes]
		"New"		: Speed controls clutch engagement			(AC6C V1.2)
		"Old"		: Speed and RPM control clutch engagement	(AC6C V1.1)		]]

	--Transmission Settings
	Tune.Stall			= true		-- Stalling, enables the car to stall. An ignition plugin would be necessary. Disables if Tune.Clutch is false.
	Tune.ClutchRel		= false		-- If true, the driver must let off the gas before shifting to a higher gear. Recommended false for beginners.
	Tune.ClutchEngage	= 25		-- How fast engagement is (0 = instant, 99 = super slow)
	Tune.SpeedEngage 	= 15		-- Speed the clutch fully engages at (Based on SPS)

	--Clutch: "Old" mode
	Tune.ClutchRPMMult	= 1.0		-- Clutch RPM multiplier, recommended to leave at 1.0

	--Automatic Settings
	Tune.AutoShiftMode	= "Speed"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM										]]
	Tune.AutoShiftType	= "Rev"												--[[
	[Types]
		"Rev"		: Clutch engages fully once RPM reached			(AC6C V1)
		"DCT"		: Clutch engages after a set time has passed	(AC6.81T)	]]
	Tune.AutoShiftVers	= "New"												--[[
	[Versions]
		"New"		: Shift from Reverse, Neutral, and Drive		(AC6.81T)
		"Old"		: Auto shifts into R or D when stopped.			(AC6.52S2)	]]
	Tune.AutoUpThresh	= -200		-- Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		-- Automatic downshift point (relative to peak RPM, positive = Under-rev)

	--Automatic: Revmatching
	Tune.ShiftThrot		= 100		-- Throttle level when shifting down to revmatch, 0 - 100%

	--Automatic: DCT
	Tune.ShiftUpTime	= 0.25		-- Time required to shift into next gear, from a lower gear to a higher one.
	Tune.ShiftDnTime	= 0.125		-- Time required to shift into next gear, from a higher gear to a lower one.

	--Gear Ratios

	Tune.FinalDrive		= 4
	Tune.Ratios			= {
		--[[Reverse]]	5			,
		--[[Neutral]]	0			,
		--[[ 1 ]]		3.9			,
		--[[ 2 ]]		2.52		,
		--[[ 3 ]]		1.85		,
		--[[ 4 ]]		1.38		,
		--[[ 5 ]]		1.05		,
		--[[ 6 ]]		.87			,
		--[[ 7 ]]		.845		,
	}
	Tune.FDMult			= 1			-- Ratio multiplier (keep this at 1 if car is not struggling with torque)


Prompt: --Get serverhandler.

Response: local player = game.Players.LocalPlayer


Prompt:
--[[**
	ensures Roblox NumberRange type

	@param value The value to check against

	@returns True iff the condition is satisfied, false otherwise
**--]]

Response: t.NumberRange = primitive("NumberRange")


Prompt: -- Initialize lighting tool

Response:
local LightingTool = require(CoreTools.LightingTool)
Core.AssignHotkey('U', Core.Support.Call(Core.EquipTool, LightingTool));
Core.Dock.AddToolButton(Core.Assets.LightingIcon, 'U', LightingTool, 'LightingInfo');


Prompt: --// Stances

Response:
function Prone()
	UpdateAmmo()
	L_104_:FireServer("Prone")

	L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
		CameraOffset = Vector3.new(0, -3, 0)
	}):Play()
	L_3_:WaitForChild("Humanoid").WalkSpeed = 4

	L_144_ = 4
	L_143_ = 0.025

	L_61_ = true

	Proned2 = Vector3.new(0, 0.5, 0.5)
	L_119_(L_9_,  CFrame.new(0, -2.4201169, -0.0385534465, -0.99999994, -5.86197757e-012, -4.54747351e-013, 5.52669195e-012, 0.998915195, 0.0465667509, 0, 0.0465667509, -0.998915195), nil, function(L_269_arg1)
		return math.sin(math.rad(L_269_arg1))
	end, 0.25)
	L_119_(L_10_,  CFrame.new(1.00000191, -1, -5.96046448e-008, 1.31237243e-011, -0.344507754, 0.938783348, 0, 0.938783467, 0.344507784, -1, 0, -1.86264515e-009) , nil, function(L_270_arg1)
		return math.sin(math.rad(L_270_arg1))
	end, 0.25)
	L_119_(L_11_,  CFrame.new(-0.999996185, -1, -1.1920929e-007, -2.58566502e-011, 0.314521015, -0.949250221, 0, 0.94925046, 0.314521164, 1, 3.7252903e-009, 1.86264515e-009) , nil, function(L_271_arg1)
		return math.sin(math.rad(L_271_arg1))
	end, 0.25)
end

function Stand()
	UpdateAmmo()
	L_104_:FireServer("Stand")

	L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
		CameraOffset = Vector3.new(0, 0, 0)
	}):Play()

	L_61_ = false

	if not L_60_ then
		L_3_:WaitForChild("Humanoid").WalkSpeed = 16
		L_143_ = .2
		L_144_ = 17
	elseif L_60_ then
		L_3_:WaitForChild("Humanoid").WalkSpeed = 16
		L_144_ = 10
		L_143_ = 0.02
	end

	Proned2 = Vector3.new(0, 0, 0)
	L_119_(L_9_, CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), nil, function(L_272_arg1)
		return math.sin(math.rad(L_272_arg1))
	end, 0.25)
	L_119_(L_10_,  CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), nil, function(L_273_arg1)
		return math.sin(math.rad(L_273_arg1))
	end, 0.25)
	L_119_(L_11_,  CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0), nil, function(L_274_arg1)
		return math.sin(math.rad(L_274_arg1))
	end, 0.25)
end

function Crouch()
	UpdateAmmo()
	L_104_:FireServer("Crouch")

	L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
		CameraOffset = Vector3.new(0, -1, 0)
	}):Play()
	L_3_:WaitForChild("Humanoid").WalkSpeed = 9

	L_144_ = 9
	L_143_ = 0.035

	L_61_ = true

	Proned2 = Vector3.new(0, 0, 0)
	L_119_(L_9_, CFrame.new(0, -1.04933882, 0, -1, 0, -1.88871293e-012, 1.88871293e-012, -3.55271368e-015, 1, 0, 1, -3.55271368e-015), nil, function(L_275_arg1)
		return math.sin(math.rad(L_275_arg1))
	end, 0.25)
	L_119_(L_10_,  CFrame.new(1, 0.0456044674, -0.494239986, 6.82121026e-013, -1.22639676e-011, 1, -0.058873821, 0.998265445, -1.09836602e-011, -0.998265445, -0.058873821, 0), nil, function(L_276_arg1)
		return math.sin(math.rad(L_276_arg1))
	end, 0.25)
	L_119_(L_11_,  CFrame.new(-1.00000381, -0.157019258, -0.471293032, -8.7538865e-012, -8.7538865e-012, -1, 0.721672177, 0.692235112, 1.64406284e-011, 0.692235112, -0.721672177, 0), nil, function(L_277_arg1)
		return math.sin(math.rad(L_277_arg1))
	end, 0.25)
	L_119_(L_6_:WaitForChild("Neck"), nil, CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), function(L_278_arg1)
		return math.sin(math.rad(L_278_arg1))
	end, 0.25)
end

function LeanRight()
	if L_87_ ~= 2 then
		L_104_:FireServer("LeanRight")
		L_119_(L_9_, nil, CFrame.new(0, 0.200000003, 0, -0.939692616, 0, -0.342020124, -0.342020124, 0, 0.939692616, 0, 1, 0), function(L_279_arg1)
			return math.sin(math.rad(L_279_arg1))
		end, 0.25)
		L_119_(L_10_, nil, CFrame.new(0.300000012, 0.600000024, 0, 0, 0.342020124, 0.939692616, 0, 0.939692616, -0.342020124, -1, 0, 0), function(L_280_arg1)
			return math.sin(math.rad(L_280_arg1))
		end, 0.25)
		L_119_(L_11_,  nil, nil, function(L_281_arg1)
			return math.sin(math.rad(L_281_arg1))
		end, 0.25)
		L_119_(L_6_:WaitForChild("Clone"), nil, CFrame.new(-0.400000006, -0.300000012, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0), function(L_282_arg1)
			return math.sin(math.rad(L_282_arg1))
		end, 0.25)
		if not L_61_ then
			L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
				CameraOffset = Vector3.new(1, -0.5, 0)
			}):Play()
		elseif L_61_ then
			if L_87_ == 1 then
				L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
					CameraOffset = Vector3.new(1, -1.5, 0)
				}):Play()
			end
		end;
	end
end

function LeanLeft()
	if L_87_ ~= 2 then
		L_104_:FireServer("LeanLeft")
		L_119_(L_9_, nil, CFrame.new(0, 0.200000003, 0, -0.939692616, 0, 0.342020124, 0.342020124, 0, 0.939692616, 0, 1, 0), function(L_283_arg1)
			return math.sin(math.rad(L_283_arg1))
		end, 0.25)
		L_119_(L_10_, nil, nil, function(L_284_arg1)
			return math.sin(math.rad(L_284_arg1))
		end, 0.25)
		L_119_(L_11_,  nil, CFrame.new(-0.300000012, 0.600000024, 0, 0, -0.342020124, -0.939692616, 0, 0.939692616, -0.342020124, 1, 0, 0), function(L_285_arg1)
			return math.sin(math.rad(L_285_arg1))
		end, 0.25)
		L_119_(L_6_:WaitForChild("Clone"), nil, CFrame.new(0.400000006, -0.300000012, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0), function(L_286_arg1)
			return math.sin(math.rad(L_286_arg1))
		end, 0.25)
		if not L_61_ then
			L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
				CameraOffset = Vector3.new(-1, -0.5, 0)
			}):Play()
		elseif L_61_ then
			if L_87_ == 1 then
				L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
					CameraOffset = Vector3.new(-1, -1.5, 0)
				}):Play()
			end
		end;
	end
end

function Unlean()
	if L_87_ ~= 2 then
		L_104_:FireServer("Unlean")
		L_119_(L_9_, nil, CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0), function(L_287_arg1)
			return math.sin(math.rad(L_287_arg1))
		end, 0.25)
		L_119_(L_10_, nil, CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0), function(L_288_arg1)
			return math.sin(math.rad(L_288_arg1))
		end, 0.25)
		L_119_(L_11_,  nil, CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0), function(L_289_arg1)
			return math.sin(math.rad(L_289_arg1))
		end, 0.25)
		if L_6_:FindFirstChild('Clone') then
			L_119_(L_6_:WaitForChild("Clone"), nil, CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0), function(L_290_arg1)
				return math.sin(math.rad(L_290_arg1))
			end, 0.25)
		end
		if not L_61_ then
			L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
				CameraOffset = Vector3.new(0, 0, 0)
			}):Play()
		elseif L_61_ then
			if L_87_ == 1 then
				L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
					CameraOffset = Vector3.new(0, -1, 0)
				}):Play()
			end
		end;
	end
end

local L_154_ = false

L_99_.InputBegan:connect(function(L_291_arg1, L_292_arg2)
	if not L_292_arg2 and L_15_ == true then
		if L_15_ then
			if L_291_arg1.KeyCode == Enum.KeyCode.C then
				if L_87_ == 0 and not L_63_ and L_15_ then
					L_87_ = 1
					Crouch()

					L_88_ = false
					L_90_ = true
					L_89_ = false
				elseif L_87_ == 1 and not L_63_ and L_15_ then
					L_87_ = 2
					Prone()

					L_90_ = false
					L_88_ = true
					L_89_ = false
					L_154_ = true
				end
			end

			if L_291_arg1.KeyCode == Enum.KeyCode.X then
				if L_87_ == 2 and not L_63_ and L_15_ then
					L_154_ = false
					L_87_ = 1
					Crouch()

					L_88_ = false
					L_90_ = true
					L_89_ = false
				elseif L_87_ == 1 and not L_63_ and L_15_ then
					L_87_ = 0
					Stand()

					L_88_ = false
					L_90_ = false
					L_89_ = true
				end
			end
		end
	end
end)


Prompt: --[[Weight and CG]]

Response:
	Tune.Weight			= 3439		-- Total weight (in pounds, under Earth's gravity)
	Tune.WeightBSize	= {			-- Size of weight brick, dimensions of your car in inches divided by 10
	 --[[Width]]		7.03	,
	 --[[Height]]		5.35	,
	 --[[Length]]		18.11	}
	Tune.WeightDist		= 55		-- Weight distribution (0 - on rear wheels, 100 - on front wheels, can be <0 or >100)
	Tune.CGHeight		= .8		-- Center of gravity height (studs relative to median of all wheels)
	Tune.WBVisible		= false		-- Makes the weight brick visible

	--Unsprung Weight
	Tune.FWheelDensity	= .1		-- Front Wheel Density
	Tune.RWheelDensity	= .1		-- Rear Wheel Density

	Tune.AxleSize		= 1.5		-- Size of structural members (larger = MORE STABLE / carry more weight)
	Tune.AxleDensity	= .1		-- Density of structural members

	Tune.CustomSuspensionDensity	= 0	-- Density of suspension joints, only applies to custom suspension


Prompt:
-- The middle number adjusts how high/low the hat will be placed on the head. The higher the number is, the lower the hat will be
-- placed. If  you are at zero, and you want the hat to go  lower, make the number a negative. Negative numbers will make the hat
-- be place higher on your robloxian head.


Prompt: --// Renders

Response:
local L_153_

L_98_:connect(function()
	if L_15_ then
		L_148_, L_149_ = L_148_ or 0, L_149_ or 0
		if L_151_ == nil or L_150_ == nil then
			L_151_ = L_44_.C0
			L_150_ = L_44_.C1
		end

		local L_259_ = (math.sin(L_142_ * L_144_ / 2) * L_143_)
		local L_260_ = (math.sin(L_142_ * L_144_) * L_143_)
		local L_261_ = CFrame.new(L_259_, L_260_, 0.02)

		local L_262_ = (math.sin(L_138_ * L_141_ / 2) * L_140_)
		local L_263_ = (math.cos(L_138_ * L_141_) * L_140_)
		local L_264_ = CFrame.new(L_262_, L_263_, 0.02)

		if L_135_ then
			L_142_ = L_142_ + .017
			if L_24_.WalkAnimEnabled == true then
				L_136_ = L_261_
			else
				L_136_ = CFrame.new()
			end
		else
			L_142_ = 0
			L_136_ = CFrame.new()
		end

		L_134_.t = Vector3.new(L_129_, L_130_, 0)
		local L_265_ = L_134_.p
		local L_266_ = L_265_.X / L_131_ * (L_60_ and L_133_ or L_132_)
		local L_267_ = L_265_.Y / L_131_ * (L_60_ and L_133_ or L_132_)

		L_5_.CFrame = L_5_.CFrame:lerp(L_5_.CFrame * L_137_, 0.2)

		if L_60_ then
			L_125_ = CFrame.Angles(math.rad(-L_266_), math.rad(L_266_), math.rad(L_267_)) * CFrame.fromAxisAngle(Vector3.new(5, 0, -1), math.rad(L_266_))
			L_138_ = 0
			L_139_ = CFrame.new()
		elseif not L_60_ then
			L_125_ = CFrame.Angles(math.rad(-L_267_), math.rad(-L_266_), math.rad(-L_266_)) * CFrame.fromAxisAngle(L_43_.Position, math.rad(-L_267_))
			L_138_ = L_138_ + 0.017
			L_139_ = L_264_
		end

		if L_24_.SwayEnabled ==  true then
			L_44_.C0 = L_44_.C0:lerp(L_151_ * L_125_ * L_136_ * L_139_, 0.1)
		else
			L_44_.C0 = L_44_.C0:lerp(L_151_ * L_136_, 0.1)
		end

		if L_63_ and not L_66_ and L_68_ and not L_60_ and not L_62_ and not Shooting then
			L_44_.C1 = L_44_.C1:lerp(L_44_.C0 * L_24_.SprintPos, 0.1)
		elseif not L_63_ and not L_66_ and not L_68_ and not L_60_ and not L_62_ and not Shooting then
			L_44_.C1 = L_44_.C1:lerp(CFrame.new(), 0.1)
		end

		if L_60_ and not L_63_ then
			if not L_61_ then
				L_84_ = L_24_.AimCamRecoil
				L_83_ = L_24_.AimGunRecoil
				L_85_ = L_24_.AimKickback
			elseif L_61_ then
				if L_87_ == 1 then
					L_84_ = L_24_.AimCamRecoil / 1.5
					L_83_ = L_24_.AimGunRecoil / 1.5
					L_85_ = L_24_.AimKickback / 1.5
				end

				if L_87_ == 2 then
					L_84_ = L_24_.AimCamRecoil / 2
					L_83_ = L_24_.AimGunRecoil / 2
					L_85_ = L_24_.AimKickback / 2
				end
			end

			if (L_3_.Head.Position - L_5_.CoordinateFrame.p).magnitude < 2 then
				L_44_.C1 = L_44_.C1:lerp(L_44_.C0 * L_52_.CFrame:toObjectSpace(L_43_.CFrame), L_24_.AimSpeed)

				L_41_:WaitForChild('Sense'):WaitForChild('Sensitivity').Visible = true
				L_41_:WaitForChild('Sense'):WaitForChild('Sensitivity').Text = L_50_
				L_99_.MouseDeltaSensitivity = L_50_
			end
		elseif not L_60_ and not L_63_ and L_15_ then
			if (L_3_.Head.Position - L_5_.CoordinateFrame.p).magnitude < 2 then
				L_44_.C1 = L_44_.C1:lerp(CFrame.new(), L_24_.UnaimSpeed)

				L_41_:WaitForChild('Sense'):WaitForChild('Sensitivity').Visible = false
				L_41_:WaitForChild('Sense'):WaitForChild('Sensitivity').Text = L_50_
				L_99_.MouseDeltaSensitivity = L_51_
			end

			if not L_61_ then
				L_84_ = L_24_.camrecoil
				L_83_ = L_24_.gunrecoil
				L_85_ = L_24_.Kickback
			elseif L_61_ then
				if L_87_ == 1 then
					L_84_ = L_24_.camrecoil / 1.5
					L_83_ = L_24_.gunrecoil / 1.5
					L_85_ = L_24_.Kickback / 1.5
				end

				if L_87_ == 2 then
					L_84_ = L_24_.camrecoil / 2
					L_83_ = L_24_.gunrecoil / 2
					L_85_ = L_24_.Kickback / 2
				end
			end
		end

		if Recoiling then
			L_137_ = CFrame.Angles(L_84_, 0, 0)
			--cam.CoordinateFrame = cam.CoordinateFrame *  CFrame.fromEulerAnglesXYZ(math.rad(camrecoil*math.random(0,3)), math.rad(camrecoil*math.random(-1,1)), math.rad(camrecoil*math.random(-1,1)))
			L_44_.C0 = L_44_.C0:lerp(L_44_.C0 * CFrame.new(0, 0, L_83_) * CFrame.Angles(-math.rad(L_85_), 0, 0), 0.3)
		elseif not Recoiling then
			L_137_ = CFrame.Angles(0, 0, 0)
			L_44_.C0 = L_44_.C0:lerp(CFrame.new(), 0.2)
		end

		if L_61_ then
			L_3_:WaitForChild('Humanoid').Jump = false
		end

		if L_15_ then
			L_5_.FieldOfView = L_5_.FieldOfView * (1 - L_24_.ZoomSpeed) + (L_91_ * L_24_.ZoomSpeed)
			if (L_3_.Head.Position - L_5_.CoordinateFrame.p).magnitude >= 2 then
				L_84_ = L_24_.AimCamRecoil
				L_83_ = L_24_.AimGunRecoil
				L_85_ = L_24_.AimKickback

				L_41_:WaitForChild('Sense'):WaitForChild('Sensitivity').Visible = true
				L_41_:WaitForChild('Sense'):WaitForChild('Sensitivity').Text = L_50_
				L_99_.MouseDeltaSensitivity = L_50_
			elseif (L_3_.Head.Position - L_5_.CoordinateFrame.p).magnitude < 2 and not L_60_ and not L_61_ then
				L_84_ = L_24_.camrecoil
				L_83_ = L_24_.gunrecoil
				L_85_ = L_24_.Kickback

				L_41_:WaitForChild('Sense'):WaitForChild('Sensitivity').Visible = false
				L_41_:WaitForChild('Sense'):WaitForChild('Sensitivity').Text = L_50_
				L_99_.MouseDeltaSensitivity = L_51_
			end
		end

		if L_15_ and L_24_.CameraGo then --and (char.Head.Position - cam.CoordinateFrame.p).magnitude < 2 then
			L_4_.TargetFilter = game.Workspace
			local L_268_ =  L_3_:WaitForChild("HumanoidRootPart").CFrame * CFrame.new(0, 1.5, 0) * CFrame.new(L_3_:WaitForChild("Humanoid").CameraOffset)
			L_47_.C0 = L_8_.CFrame:toObjectSpace(L_268_)
			L_47_.C1 = CFrame.Angles(-math.asin((L_4_.Hit.p - L_4_.Origin.p).unit.y), 0, 0)
			L_99_.MouseIconEnabled = false
		end

		if L_15_ and (L_3_.Head.Position - L_5_.CoordinateFrame.p).magnitude >= 2 then
			L_4_.Icon = "http://www.roblox.com/asset?id=" .. L_24_.TPSMouseIcon
			L_99_.MouseIconEnabled = true

			if L_3_:FindFirstChild('Right Arm') and L_3_:FindFirstChild('Left Arm') then
				L_3_['Right Arm'].LocalTransparencyModifier = 1
				L_3_['Left Arm'].LocalTransparencyModifier = 1
			end
		end;
	end
end)


Prompt:
------------------------------------------------------------------------
-- count separators ("=") in a long string delimiter
-- * used by luaX:read_long_string
------------------------------------------------------------------------

Response:
function luaX:skip_sep(ls)
  local count = 0
  local s = ls.current
  -- lua_assert(s == "[" or s == "]")
  self:save_and_next(ls)
  while ls.current == "=" do
    self:save_and_next(ls)
    count = count + 1
  end
  return (ls.current == s) and count or (-count) - 1
end


Prompt: --[[Transmission]]

Response:
	Tune.TransModes		= {"Auto", "Semi", "Manual"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch

		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}
		>First mode is default mode													]]

	--Automatic Settings
	Tune.AutoShiftMode	= "RPM"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)

	--Gear Ratios
	Tune.FinalDrive		= 4.06			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.70		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		3.53		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		2.04		,
		--[[ 3 ]]		1.38		,
		--[[ 4 ]]		1.03		,
		--[[ 5 ]]		0.81		,
		--[[ 6 ]]		0.64		,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)


Prompt:
-- Make sure to add any characters that are currently in the game
-- to the collision group (otherwise the above event wouldn't catch
-- them

Response:
for _, player in ipairs(Players:GetPlayers()) do
	onPlayerAdded(player)
end


Response:
function onSwimming(speed)
	if speed > 1.00 then
		local scale = 10.0
		playAnimation("swim", 0.4, Humanoid)
		setAnimationSpeed(speed / scale)
		pose = "Swimming"
	else
		playAnimation("swimidle", 0.4, Humanoid)
		pose = "Standing"
	end
end

function animateTool()
	if (toolAnim == "None") then
		playToolAnimation("toolnone", toolTransitionTime, Humanoid, Enum.AnimationPriority.Idle)
		return
	end

	if (toolAnim == "Slash") then
		playToolAnimation("toolslash", 0, Humanoid, Enum.AnimationPriority.Action)
		return
	end

	if (toolAnim == "Lunge") then
		playToolAnimation("toollunge", 0, Humanoid, Enum.AnimationPriority.Action)
		return
	end
end

function getToolAnim(tool)
	for _, c in ipairs(tool:GetChildren()) do
		if c.Name == "toolanim" and c.className == "StringValue" then
			return c
		end
	end
	return nil
end

local lastTick = 0

function stepAnimate(currentTime)
	local amplitude = 1
	local frequency = 1
  	local deltaTime = currentTime - lastTick
  	lastTick = currentTime

	local climbFudge = 0
	local setAngles = false

  	if (jumpAnimTime > 0) then
  		jumpAnimTime = jumpAnimTime - deltaTime
  	end

	if (pose == "FreeFall" and jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	elseif (pose == "Seated") then
		playAnimation("sit", 0.5, Humanoid)
		return
	elseif (pose == "Running") then
		playAnimation("walk", 0.2, Humanoid)
	elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
		stopAllAnimations()
		amplitude = 0.1
		frequency = 1
		setAngles = true
	end

	-- Tool Animation handling
	local tool = Character:FindFirstChildOfClass("Tool")
	if tool and tool:FindFirstChild("Handle") then
		local animStringValueObject = getToolAnim(tool)

		if animStringValueObject then
			toolAnim = animStringValueObject.Value
			-- message recieved, delete StringValue
			animStringValueObject.Parent = nil
			toolAnimTime = currentTime + .3
		end

		if currentTime > toolAnimTime then
			toolAnimTime = 0
			toolAnim = "None"
		end

		animateTool()
	else
		stopToolAnimations()
		toolAnim = "None"
		toolAnimInstance = nil
		toolAnimTime = 0
	end
end


Prompt: --[[Wheel Alignment]]

Response:
	--[Don't physically apply alignment to wheels]
	--[Values are in degrees]
	Tune.FCamber		= 0
	Tune.RCamber		= 0
	Tune.FCaster		= 0
	Tune.RCaster		= 0	--Will only work with 4WS enabled (Avxnturador)
	Tune.FToe			= 0
	Tune.RToe			= 0


Prompt: -- Returns the ancestor that contains a Humanoid, if it exists

Response:
local function FindCharacterAncestor(subject)
	if subject and subject ~= workspace then
		local humanoid = subject:FindFirstChildOfClass('Humanoid')
		if humanoid then
			return subject, humanoid
		else
			return FindCharacterAncestor(subject.Parent)
		end
	end
	return nil
end


Prompt: --Returns the selected frame.

Response:
function ControllerGroups:GetSelectedFrame()
	return GuiService.SelectedObject
end


Prompt: --------------------[ ADS FUNCTIONS ]-------------------------------------------------

Response:
function aimGun()
	if Reloading or Knifing or isCrawling or (not S.canADS) then return end

	mouseSensitivity = aimSensitivity

	for _, Plugin in pairs(Plugins.Aimed) do
		spawn(function()
			Plugin()
		end)
	end

	Aimed = true
	Aiming = true
	Running = false
	spreadZoom = "Aimed"
	baseSpread = S.spreadSettings[spreadZoom][spreadStance][spreadMotion]
	if S.aimSettings.Anim then
		local currentFOV = Cam.FieldOfView
		local currentTrans = Scope.BackgroundTransparency
		tweenJoint(LWeld, armC0[1], S.aimedC1.leftArm, Sine, S.aimSettings.Speed)
		tweenJoint(RWeld, armC0[2], S.aimedC1.rightArm, Sine, S.aimSettings.Speed)
		tweenJoint(LWeld2, nil, CF(), Sine, S.aimSettings.Speed)
		tweenJoint(RWeld2, nil, CF(), Sine, S.aimSettings.Speed)
		tweenJoint(Grip, nil, aimedGripCF, Sine, S.aimSettings.Speed)
		tweenJoint(headWeld2, nil, CF(0, -0.5, 0) * CFANG(0, 0, S.aimSettings.headTilt) * CF(0, 0.5, 0), Sine, S.aimSettings.Speed)
		local t0 = tick()
		while true do
			RS.RenderStepped:wait()
			local Alpha = math.min((tick() - t0) / S.aimSettings.Speed, 1) * 90
			if (not Aimed) then break end
			if (not Selected) then break end
			aimAlpha = Sine(Alpha)
			aimHeadOffset = headOffset.X * aimAlpha
			jumpAnimMultiplier = numLerp(1, S.fallSettings.aimEffect, aimAlpha)
			translationDivisor = numLerp(7, 20, aimAlpha)
			rotationMultiplier = numLerp(S.momentumSettings.Amplitude.unAimed, S.momentumSettings.Amplitude.Aimed, aimAlpha)
			armTiltMultiplier = numLerp(1, 0.2, aimAlpha)
			Cam.FieldOfView = numLerp(currentFOV, S.aimSettings.FOV, aimAlpha)
			if S.guiScope then
				Scope.BackgroundTransparency = numLerp(currentTrans, 0, aimAlpha)
			end
			if Alpha == 90 then break end
		end
	else
		LWeld.C0, LWeld.C1 = armC0[1], S.aimedC1.leftArm
		RWeld.C0, RWeld.C1 = armC0[2], S.aimedC1.rightArm
		LWeld2.C1, RWeld2.C1 = CF(), CF()
		animWeld.C0 = CF(0, 1, 0)
		Grip.C1 = aimedGripCF
		headWeld2.C1 = CF(0, -0.5, 0) * CFANG(0, 0, S.aimSettings.headTilt) * CF(0, 0.5, 0)
		aimAlpha = 1
		aimHeadOffset = headOffset.X
		jumpAnimMultiplier = S.fallSettings.aimEffect
		translationDivisor = 20
		rotationMultiplier = S.momentumSettings.Amplitude.Aimed
		armTiltMultiplier = 0.2
		Cam.FieldOfView = S.aimSettings.FOV
	end
	Aiming = (not Aimed)
	if (not Aiming) and S.guiScope then
		spawn(function()
			scopeSteady.Visible = true
			Scope.BackgroundTransparency = 1
			scopeMain.Visible = true

			if armTable then
				for _, Obj in pairs(armTable[1].Model:GetChildren()) do
					if Obj:IsA("BasePart") then
						Obj.LocalTransparencyModifier = 1
					end
				end
				for _, Obj in pairs(armTable[2].Model:GetChildren()) do
					if Obj:IsA("BasePart") then
						Obj.LocalTransparencyModifier = 1
					end
				end
			elseif armModel then
				for _, Obj in pairs(armModel:GetChildren()) do
					if Obj:IsA("BasePart") then
						Obj.LocalTransparencyModifier = 1
					end
				end
			end
			for _, Obj in pairs(playerFolder:GetChildren()) do
				if Obj:IsA("BasePart") then
					Obj.LocalTransparencyModifier = 1
				end
			end
			for _, Obj in pairs(Gun:GetChildren()) do
				if Obj:IsA("BasePart") then
					Obj.LocalTransparencyModifier = 1
				end
			end
		end)
		spawn(function()
			local camAng = 0
			local idleCam = function()
				return V3(
					RAD(SIN(camAng * S.scopeSettings.Frequency.Idling)) * stanceSway * camSway * S.scopeSettings.Amplitude.Idling,
					RAD(SIN(camAng * 5 / 2 * S.scopeSettings.Frequency.Idling)) * stanceSway * camSway * S.scopeSettings.Amplitude.Idling * 0.75,
					0
				)
			end
			local walkCam = function()
				return V3(
					RAD(SIN(camAng * S.scopeSettings.Frequency.Walking)) * camSway * stanceSway * S.scopeSettings.Amplitude.Walking,
					RAD(SIN(camAng * 5 / 2 * S.scopeSettings.Frequency.Walking)) * camSway * stanceSway * S.scopeSettings.Amplitude.Walking * 0.75,
					0
				)
			end
			while Aimed do
				local dt = RS.RenderStepped:wait()
				camOffsets.guiScope.Rot = (Sine(idleAlpha) * idleCam()) + (Sine(walkAlpha) * walkCam())
				camAng = camAng + RAD(105 * dt) * stanceSway * camSway
			end
		end)
	end
end

function unAimGun(Exception)
	if (not S.canADS) then return end

	mouseSensitivity = S.sensitivitySettings.Default

	for _, Plugin in pairs(Plugins.UnAimed) do
		spawn(function()
			Plugin()
		end)
	end

	if S.guiScope then
		spawn(function()
			if armTable then
				for _, Obj in pairs(armTable[1].Model:GetChildren()) do
					if Obj:IsA("BasePart") then
						Obj.LocalTransparencyModifier = 0
					end
				end
				for _, Obj in pairs(armTable[2].Model:GetChildren()) do
					if Obj:IsA("BasePart") then
						Obj.LocalTransparencyModifier = 0
					end
				end
			elseif armModel then
				for _, Obj in pairs(armModel:GetChildren()) do
					if Obj:IsA("BasePart") then
						Obj.LocalTransparencyModifier = 0
					end
				end
			end
			for _, Obj in pairs(playerFolder:GetChildren()) do
				if Obj:IsA("BasePart") then
					Obj.LocalTransparencyModifier = 0
				end
			end
			for _, Obj in pairs(Gun:GetChildren()) do
				if Obj:IsA("BasePart") then
					Obj.LocalTransparencyModifier = 0
				end
			end
		end)
	end

	if (not Exception) then
		if (not Aimed) then return end
		if (Reloading and Exception) or Knifing then return end
		spreadZoom = "unAimed"
		baseSpread = S.spreadSettings[spreadZoom][spreadStance][spreadMotion]
		Aimed = false
		Aiming = true
		if S.aimSettings.Anim then
			local currentFOV = Cam.FieldOfView
			local currentTrans = (Scope.BackgroundTransparency == 1 and (S.guiScope and 0 or 1) or Scope.BackgroundTransparency)
			scopeMain.Visible = false
			scopeSteady.Visible = false
			tweenJoint(LWeld, armC0[1], S.unAimedC1.leftArm, Sine, S.aimSettings.Speed)
			tweenJoint(RWeld, armC0[2], S.unAimedC1.rightArm, Sine, S.aimSettings.Speed)
			tweenJoint(headWeld2, nil, CF(), Sine, S.aimSettings.Speed)
			tweenJoint(Grip, nil, S.unAimedC1.Grip, Sine, S.aimSettings.Speed)
			local t0 = tick()
			while true do
				RS.RenderStepped:wait()
				local Alpha = math.min((tick() - t0) / S.aimSettings.Speed, 1) * 90
				if Aimed then break end
				if (not Selected) then break end
				aimAlpha = 1 - Sine(Alpha)--1 - COS(RAD(X))
				aimHeadOffset = headOffset.X * aimAlpha
				jumpAnimMultiplier = numLerp(1, S.fallSettings.aimEffect, aimAlpha)
				translationDivisor = numLerp(7, 20, aimAlpha)
				rotationMultiplier = numLerp(S.momentumSettings.Amplitude.unAimed, S.momentumSettings.Amplitude.Aimed, aimAlpha)
				armTiltMultiplier = numLerp(1, 0.2, aimAlpha)
				Cam.FieldOfView = numLerp(80, currentFOV, aimAlpha)
				Scope.BackgroundTransparency = numLerp(1, currentTrans, aimAlpha)
				if Alpha == 90 then break end
			end
		else
			scopeMain.Visible = false
			scopeSteady.Visible = false
			LWeld.C0, LWeld.C1 = armC0[1], S.unAimedC1.leftArm
			RWeld.C0, RWeld.C1 = armC0[2], S.unAimedC1.rightArm
			headWeld2.C0 = CF()
			Grip.C1 = S.unAimedC1.Grip
			aimAlpha = 0
			aimHeadOffset = 0
			jumpAnimMultiplier = 1
			translationDivisor = 7
			rotationMultiplier = S.momentumSettings.Amplitude.unAimed
			armTiltMultiplier = 1
			Cam.FieldOfView = 80
			Scope.BackgroundTransparency = 1
		end
		Aiming = Aimed
	else
		spawn(function()
			Aimed = false
			Aiming = false
			spreadZoom = "unAimed"
			baseSpread = S.spreadSettings[spreadZoom][spreadStance][spreadMotion]
			local currentFOV = Cam.FieldOfView
			local currentTrans = (Scope.BackgroundTransparency == 1 and (S.guiScope and 0 or 1) or Scope.BackgroundTransparency)
			scopeMain.Visible = false
			scopeSteady.Visible = false
			tweenJoint(headWeld2, nil, CF(), Sine, S.aimSettings.Speed)
			if S.aimSettings.Anim then
				local t0 = tick()
				while true do
					RS.RenderStepped:wait()
					local Alpha = math.min((tick() - t0) / S.aimSettings.Speed, 1) * 90
					if Aimed then break end
					if (not Selected) then break end
					aimAlpha = 1 - Sine(Alpha)--1 - COS(RAD(90 - Alpha))
					aimHeadOffset = headOffset.X * aimAlpha
					jumpAnimMultiplier = numLerp(1, S.fallSettings.aimEffect, aimAlpha)
					translationDivisor = numLerp(7, 20, aimAlpha)
					rotationMultiplier = numLerp(S.momentumSettings.Amplitude.unAimed, S.momentumSettings.Amplitude.Aimed, aimAlpha)
					armTiltMultiplier = numLerp(1, 0.2, aimAlpha)
					Cam.FieldOfView = numLerp(80, currentFOV, aimAlpha)
					Scope.BackgroundTransparency = numLerp(1, currentTrans, aimAlpha)
					if Alpha == 90 then break end
				end
			else
				scopeMain.Visible = false
				scopeSteady.Visible = false
				aimAlpha = 0
				aimHeadOffset = 0
				jumpAnimMultiplier = 1
				translationDivisor = 7
				rotationMultiplier = S.momentumSettings.Amplitude.unAimed
				armTiltMultiplier = 1
				Cam.FieldOfView = 80
				Scope.BackgroundTransparency = 1
			end
		end)
	end
end


Prompt:
--[=[
	@within TableUtil
	@function Zip
	@param ... table
	@return (iter: (t: table, k: any) -> (key: any?, values: table?), tbl: table, startIndex: any?)

	Returns an iterator that can scan through multiple tables at the same time side-by-side, matching
	against shared keys/indices.

	```lua
	local t1 = {10, 20, 30, 40, 50}
	local t2 = {60, 70, 80, 90, 100}

	for key,values in TableUtil.Zip(t1, t2) do
		print(key, values)
	end

	--[[
		Outputs:
		1 {10, 60}
		2 {20, 70}
		3 {30, 80}
		4 {40, 90}
		5 {50, 100}
	--]]
	```
]=]

Response:
local function Zip(...: { [any]: any }): ((t: { any }, k: any) -> (any, any), { any }, any)
	assert(select("#", ...) > 0, "Must supply at least 1 table")
	local function ZipIteratorArray(all: { any }, k: number): (number?, { any }?)
		k += 1
		local values = {}
		for i, t in all do
			local v = t[k]
			if v ~= nil then
				values[i] = v
			else
				return nil, nil
			end
		end
		return k, values
	end
	local function ZipIteratorMap(all: { [any]: any }, k: any): (number?, { any }?)
		local values = {}
		for i, t in all do
			local v = next(t, k)
			if v ~= nil then
				values[i] = v
			else
				return nil, nil
			end
		end
		return k, values
	end
	local all = { ... }
	if #all[1] > 0 then
		return ZipIteratorArray, all, 0
	else
		return ZipIteratorMap, all, nil
	end
end


Prompt:
-----------------
--| Functions |--
-----------------

Response:
local function OnActivated()
	local myModel = MyPlayer.Character
	if Tool.Enabled and myModel and myModel:FindFirstChildOfClass("Humanoid") and myModel.Humanoid.Health > 0 then
		Tool.Enabled = false
		local Pos = MouseLoc:InvokeClient(MyPlayer)
		-- Create a clone of Rocket and set its color
		local rocketClone = Rocket:Clone()
		DebrisService:AddItem(rocketClone, 30)
		rocketClone.BrickColor = MyPlayer.TeamColor

		-- Position the rocket clone and launch!
		local spawnPosition = (ToolHandle.CFrame * CFrame.new(5, 0, 0)).p
		rocketClone.CFrame = CFrame.new(spawnPosition, Pos) --NOTE: This must be done before assigning Parent
		rocketClone.Velocity = rocketClone.CFrame.lookVector * ROCKET_SPEED --NOTE: This should be done before assigning Parent
		rocketClone.Parent = workspace
		rocketClone:SetNetworkOwner(nil)

		wait(RELOAD_TIME)

		Tool.Enabled = true
	end
end

function OnEquipped()
	MyPlayer = PlayersService:GetPlayerFromCharacter(Tool.Parent)
end


Prompt:
--[=[
	Disconnects all connections from a ScriptSignal object without making it unusable.

	```lua
	local connection = ScriptSignal:Connect(function() end)

	connection.Connected -> true
	ScriptSignal:DisconnectAll()
	connection.Connected -> false
	```

	@ignore
]=]

Response:
function ScriptSignal:DisconnectAll()
    local node: ScriptConnectionNode? = self._head
    while node ~= nil do
        local _connection = node._connection

        if _connection ~= nil then
            _connection.Connected = false
            _connection._node = nil
            node._connection = nil
        end

        node = node._next
    end

    self._head = nil
end


Prompt:
--///////////////////////// Constructors
--//////////////////////////////////////

Response:
function module.new()
	local obj = setmetatable({}, methods)

	obj.ObjectPool = moduleObjectPool.new(OBJECT_POOL_SIZE)
	obj.MessageCreators = GetMessageCreators()
	obj.DefaultCreatorType = messageCreatorUtil.DEFAULT_MESSAGE_CREATOR

	messageCreatorUtil:RegisterObjectPool(obj.ObjectPool)

	return obj
end

function module:GetStringTextBounds(text, font, textSize, sizeBounds)
	return messageCreatorUtil:GetStringTextBounds(text, font, textSize, sizeBounds)
end

return module


Prompt:
--[[
TheNexusAvenger

Creates buffer and non-buffer rockets.
--]]

Response:
local RocketCreator = {}

local Resources = require(script.Parent)

local RocketScript = script:WaitForChild("RocketScript")
local PlayerDamagerScript = Resources:GetResource("PlayerDamager")
local ConfigurationScript = Resources:GetResource("Configuration")


Prompt:
-- DRIVE LOOP
----------------------------------------

Response:
while true do

	-- Input values taken from the VehicleSeat
	local steerFloat = vehicleSeat.SteerFloat  -- Forward and backward direction, between -1 and 1
	local throttle = vehicleSeat.ThrottleFloat  -- Left and right direction, between -1 and 1

	-- Convert "steerFloat" to an angle for the HingeConstraint servos
	local turnAngle = steerFloat * MAX_TURN_ANGLE
	wheelHingeR.TargetAngle = turnAngle
	wheelHingeL.TargetAngle = turnAngle

	-- Apply torque to the CylindricalConstraint motors depending on our throttle input and the current speed of the car
	local currentVel = getAverageVelocity()
	local targetVel = 0
	local motorTorque = 0

	-- Idling
	if math.abs(throttle) < 0.1 then
		motorTorque = 100

	-- Accelerating
	elseif math.abs(throttle * currentVel) > 0 then
		-- Reduce torque with speed (if torque was constant, there would be a jerk reaching the target velocity)
		-- This also produces a reduction in speed when turning
		local r = math.abs(currentVel) / MAX_SPEED
		-- Torque should be more sensitive to input at low throttle than high, so square the "throttle" value
		motorTorque = math.exp( - 3 * r * r ) * TORQUE * throttle * throttle
		targetVel = math.sign(throttle) * 10000  -- Arbitrary large number

	-- Braking
	else
		motorTorque = BRAKING_TORQUE * throttle * throttle
	end

	-- Use helper functions to apply torque and target velocity to all motors
	setMotorTorque(motorTorque)
	setMotorVelocity(targetVel)
	wait()
end


Prompt:
-- ROBLOX TODO: spyOn is not implemented
-- local spyOn = JestMock.spyOn
-- exports.spyOn = spyOn

Response:
local mocked = JestMock.mocked
exports.mocked = mocked

return exports


Prompt: -- 3D TextGen

Response:
This = script.Parent
Btn = This.Parent
Lift = Btn.Parent.Parent.Parent
Config = require(Lift.CustomLabel)
Characters = require(script.Characters)

CustomLabel = Config["CUSTOMFLOORLABEL"][tonumber(Btn.Name)]

function ChangeFloor(SF)
	if string.len(SF) == 1 then
		SetLabel(1,SF,-0.04)
		SetLabel(2,"NIL",0)
	else
		SetLabel(1,SF:sub(1,1),0)
		SetLabel(2,SF:sub(2,2),0)
	end
end

function SetLabel(ID,CHAR,OFFSET)
	if This:FindFirstChild("L"..ID) and Characters[CHAR] ~= nil then
		This["L"..ID].Mesh.Offset = Vector3.new(OFFSET, 0, 0)
		for i,l in pairs(Characters[CHAR]) do
			This["L"..ID].Mesh.MeshId = "rbxassetid://"..l
		end
		This["L"..ID].Mesh.Scale = Vector3.new(0.006, 0.008, 0.019)
	end
end

if CustomLabel then
	ChangeFloor(CustomLabel)
else
	ChangeFloor(Btn.Name)
end

script:Destroy()


Prompt: -- / WindLines / --

Response: WindLines:Init(WindLinesSettings)


Prompt:
--[[**
	ensures Roblox NumberSequence type

	@param value The value to check against

	@returns True iff the condition is satisfied, false otherwise
**--]]

Response: t.NumberSequence = primitive("NumberSequence")


Prompt: ---- ARITHMETIC ----

Response:
function ActiveCastStatic:AddVelocity(velocity: Vector3)
	assert(getmetatable(self) == ActiveCastStatic, ERR_NOT_INSTANCE:format("AddVelocity", "ActiveCast.new(...)"))
	assert(self.StateInfo.UpdateConnection ~= nil, ERR_OBJECT_DISPOSED)
	self:SetVelocity(self:GetVelocity() + velocity)
end

function ActiveCastStatic:AddAcceleration(acceleration: Vector3)
	assert(getmetatable(self) == ActiveCastStatic, ERR_NOT_INSTANCE:format("AddAcceleration", "ActiveCast.new(...)"))
	assert(self.StateInfo.UpdateConnection ~= nil, ERR_OBJECT_DISPOSED)
	self:SetAcceleration(self:GetAcceleration() + acceleration)
end

function ActiveCastStatic:AddPosition(position: Vector3)
	assert(getmetatable(self) == ActiveCastStatic, ERR_NOT_INSTANCE:format("AddPosition", "ActiveCast.new(...)"))
	assert(self.StateInfo.UpdateConnection ~= nil, ERR_OBJECT_DISPOSED)
	self:SetPosition(self:GetPosition() + position)
end

function ActiveCastStatic:DbgVisualizeSegment(castStartCFrame: CFrame, castLength: number): ConeHandleAdornment?
	return DbgVisualizeSegment(castStartCFrame, castLength)
end

function ActiveCastStatic:DbgVisualizeHit(atCF: CFrame, wasPenetrated: boolean): SphereHandleAdornment?
	return DbgVisualizeHit(atCF, wasPenetrated)
end


Prompt: -- This function is used to set configuration values from outside configuration objects/folders

Response:
function BaseWeapon:importConfiguration(config)
	if not config or not config:IsA("Configuration") then
		for _, child in pairs(config:GetChildren()) do
			if child:IsA("ValueBase") then
				local valueName = child.Name
				local newValue = child.Value
				local oldValue = self.configValues[valueName]
				self.configValues[valueName] = newValue
				self:onConfigValueChanged(valueName, newValue, oldValue)
			end
		end
	end
end

function BaseWeapon:setConfiguration(config)
	self:cleanupConnection("configChildAdded", "configChildRemoved")
	if not config or not config:IsA("Configuration") then
		return
	end

	for _, child in pairs(config:GetChildren()) do
		if child:IsA("ValueBase") then
			self:onConfigValueAdded(child)
		end
	end
	self.connections.configChildAdded = config.ChildAdded:Connect(function(child)
		if child:IsA("ValueBase") then
			self:onConfigValueAdded(child)
		end
	end)
	self.connections.configChildRemoved = config.ChildRemoved:Connect(function(child)
		if child:IsA("ValueBase") then
			self:onConfigValueRemoved(child)
		end
	end)
end

function BaseWeapon:onChildAdded(child)
	if child:IsA("Configuration") then
		self:setConfiguration(child)
	end
end

function BaseWeapon:onChildRemoved(child)
	if child:IsA("Configuration") then
		self:setConfiguration(nil)
	end
end

function BaseWeapon:onConfigValueChanged(valueName, newValue, oldValue)

end

function BaseWeapon:onRenderStepped(dt)

end

function BaseWeapon:onStepped(dt)

end

function BaseWeapon:getAnimationController()
	if self.animController then
		if not self.instanceIsTool or (self.animController.Parent and self.animController.Parent:IsAncestorOf(self.instance)) then
			return self.animController
		end
	end

	self:setAnimationController(nil)

	if self.instanceIsTool then
		local humanoid = IsServer and self.instance.Parent:FindFirstChildOfClass("Humanoid") or self.instance.Parent:WaitForChild("Humanoid", math.huge)
		local animController = nil
		if not humanoid then
			animController = self.instance.Parent:FindFirstChildOfClass("AnimationController")
		end

		self:setAnimationController(humanoid or animController)
		return self.animController
	end
end

function BaseWeapon:setAnimationController(animController)
	if animController == self.animController then
		return
	end
	self:stopAnimations()
	self.animController = animController
end

function BaseWeapon:stopAnimations()
	for _, track in pairs(self.animTracks) do
		if track.IsPlaying then
			track:Stop()
		end
	end
	self.animTracks = {}
end

function BaseWeapon:getAnimTrack(key)
	local track = self.animTracks[key]
	if not track then
		local animController = self:getAnimationController()
		if not animController then
			warn("No animation controller when trying to play ", key)
			return nil
		end

		local animation = AnimationsFolder:FindFirstChild(key)
		if not animation then
			error(string.format("No such animation \"%s\" ", tostring(key)))
		end

		track = animController:LoadAnimation(animation)
		self.animTracks[key] = track
	end

	return track
end

function BaseWeapon:reload(player, fromNetwork)
	if
		not self.equipped or
		self.reloading or
		not self.canReload or
		self:getAmmoInWeapon() == self:getConfigValue("AmmoCapacity", 30)
	then
		return false
	end

	if not IsServer then
		if self.player ~= nil and self.player ~= Players.LocalPlayer then
			return
		end
		self.weaponsSystem.getRemoteEvent("WeaponReloadRequest"):FireServer(self.instance)
		self:onReloaded(self.player)
	else
		self:onReloaded(player, fromNetwork)
		self.weaponsSystem.getRemoteEvent("WeaponReloaded"):FireAllClients(player, self.instance)
	end
end

function BaseWeapon:onReloaded(player, fromNetwork)
	if fromNetwork and player == Players.LocalPlayer then -- make sure localplayer doesn't reload twice
		return
	end

	self.reloading = true
	self.canReload = false

	-- Play reload animation and sound
	if not IsServer then
		local reloadTrackKey = self:getConfigValue("ReloadAnimation", "RifleReload")
		if reloadTrackKey then
			self.reloadTrack = self:getAnimTrack(reloadTrackKey)
			if self.reloadTrack then
				self.reloadTrack:Play()
			end
		end

		self.curReloadSound = self:tryPlaySound("Reload", nil)
		if self.curReloadSound then
			self.curReloadSound.Ended:Connect(function()
				self.curReloadSound = nil
			end)
		end
	end

	local reloadTime = self:getConfigValue("ReloadTime", 2)
	local startTime = tick()

	if self.connections.reload ~= nil then -- this prevents an endless ammo bug
		return
	end
	self.connections.reload = RunService.Heartbeat:Connect(function()
		-- Stop trying to reload if the player unequipped this weapon or reloading was canceled some other way
		if not self.reloading then
			if self.connections.reload then
				self.connections.reload:Disconnect()
				self.connections.reload = nil
			end
		end

		-- Wait until gun finishes reloading
		if tick() < startTime + reloadTime then
			return
		end

		-- Add ammo to weapon
		if self.ammoInWeaponValue then
			self.ammoInWeaponValue.Value = self:getConfigValue("AmmoCapacity", 30)
		end

		if self.connections.reload then
			self.connections.reload:Disconnect()
			self.connections.reload = nil
		end

		self.reloading = false
		self.canReload = false
	end)
end

function BaseWeapon:cancelReload(player, fromNetwork)
	if not self.reloading then
		return
	end
	if fromNetwork and player == Players.LocalPlayer then
		return
	end

	if not IsServer and not fromNetwork and player == Players.LocalPlayer then
		self.weaponsSystem.getRemoteEvent("WeaponReloadCanceled"):FireServer(self.instance)
	elseif IsServer and fromNetwork then
		self.weaponsSystem.getRemoteEvent("WeaponReloadCanceled"):FireAllClients(player, self.instance)
	end

	self.reloading = false
	self.canReload = true

	if not IsServer and self.reloadTrack and self.reloadTrack.IsPlaying then
		warn("Stopping reloadTrack")
		self.reloadTrack:Stop()
	end
	if self.curReloadSound then
		self.curReloadSound:Stop()
		self.curReloadSound:Destroy()
		self.curReloadSound = nil
	end
end

function BaseWeapon:getAmmoInWeapon()
	if self.ammoInWeaponValue then
		return self.ammoInWeaponValue.Value
	end
	return 0
end

function BaseWeapon:useAmmo(amount)
	if self.ammoInWeaponValue then
		local ammoUsed = math.min(amount, self.ammoInWeaponValue.Value)
		self.ammoInWeaponValue.Value = self.ammoInWeaponValue.Value - ammoUsed
		self.canReload = true
		return ammoUsed
	else
		return 0
	end
end

function BaseWeapon:renderCharge()

end

return BaseWeapon


Prompt: -- Preload animations

Response:
function playAnimation(animName, transitionTime, humanoid)
	if (animName ~= currentAnim) then

		if (oldAnimTrack ~= nil) then
			oldAnimTrack:Stop()
			oldAnimTrack:Destroy()
		end

		local roll = math.random(1, animTable[animName].totalWeight)
		local origRoll = roll
		local idx = 1
		while (roll > animTable[animName][idx].weight) do
			roll = roll - animTable[animName][idx].weight
			idx = idx + 1
		end


Prompt: -- A table that defines an instance's properties, handlers and children.

Response:
export type PropertyTable = {[string | SpecialKey]: any}

return nil


Prompt: -- bools used to check if gui is showing

Response: local welcomeMenuIsShowing = false


Prompt:
--[[
	INPUT: Object character
	OUTPUT: Humanoid humanoid
--]]

Response:
return function(obj)
	if obj then
		for i, child in next, obj:GetChildren() do
			if child:IsA'Humanoid' then
				return child
			end
		end
	else
		return nil
	end
end


Prompt: --									print("Distance from "..character.Name.." = "..distance)

Response:
									if distance <= 2*radius then
										torso.Velocity = (torso.Position - position).unit * 100;
										human:takeDamage(100-(distance-radius)*(100/radius))

										-- If player died


Prompt: -- Public Functions

Response:
function WaypointController:TrackPlayer()
	if self.isPlayerMoving == false then
		self.isPlayerMoving = true
		self.waypointPath:MoveTo()


Prompt:
---Place this INSIDE the model. Don't replace the model name or anything.
------------------------------------------------------------------------------------------

Response:
object = script.Parent
if (object ~= nil) and (object ~= game.Workspace) then
model = object

backup = model:clone() -- Make the backup
waitTime = 65 --Time to wait between regenerations
wait(math.random(0, waitTime))
while true do
wait(waitTime) -- Regen wait time

model:remove()

wait(2.5) -- Display regen message for this amount of time

model = backup:clone()
model.Parent = game.Workspace
model:makeJoints()
message.Parent = nil
end
end


Prompt:
----------------------------------------
-- TEMP:  Implicit run should possibly be removed and done elsewhere as appropriate.

Response: StageManager.run()


Prompt:
--[[**
	ensures value is a table and all keys pass valueCheck and all values are true

	@param valueCheck The function to use to check the values

	@returns A function that will return true iff the condition is passed
**--]]

Response:
function t.set(valueCheck)
	return t.map(valueCheck, t.literal(true))
end

do
	local arrayKeysCheck = t.keys(t.integer)


Prompt: --ASIAN REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

Response:
function weldlol()
	local counts = {}
	local function scan(parent, topart)
		for _,v in pairs(parent:GetDescendants()) do
			if (v:IsA("BasePart")) then
				local weld = Instance.new("WeldConstraint")
				weld.Parent = v
				weld.Part0 = topart
				weld.Part1 = v
				v.Anchored = false
				table.insert(counts,v)
			end
			scan(v)
		end
	end
	scan(script.Parent.LightsPart, script.Parent.HPart)
	scan(script.Parent.LightsPart2, script.Parent.HPart2)
	for _,v in pairs(counts) do
	end
end

weldlol()


Prompt: -- Setup animation objects

Response:
function scriptChildModified(child)
	local fileList = animNames[child.Name]
	if (fileList ~= nil) then
		configureAnimationSet(child.Name, fileList)
	end
end

script.ChildAdded:connect(scriptChildModified)
script.ChildRemoved:connect(scriptChildModified)

for name, fileList in pairs(animNames) do
	configureAnimationSet(name, fileList)
end


Prompt: --		print(animName .. " * " .. idx .. " [" .. origRoll .. "]")

Response:
		local anim = animTable[animName][idx].anim

		-- load it to the humanoid; get AnimationTrack
		toolAnimTrack = humanoid:LoadAnimation(anim)

		-- play the animation
		toolAnimTrack:Play(transitionTime)
		toolAnimName = animName

		currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
	end
end

function stopToolAnimations()
	local oldAnim = toolAnimName

	if (currentToolAnimKeyframeHandler ~= nil) then
		currentToolAnimKeyframeHandler:disconnect()
	end

	toolAnimName = ""
	if (toolAnimTrack ~= nil) then
		toolAnimTrack:Stop()
		toolAnimTrack:Destroy()
		toolAnimTrack = nil
	end

	return oldAnim
end


Prompt: --[[Misc]]

Response:
	Tune.LoadDelay		= .1		-- Delay before initializing chassis (in seconds)
	Tune.AutoStart		= true		-- Set to false if using manual ignition plugin
	Tune.AutoFlip		= true		-- Set to false if using manual flip plugin


Prompt: --- Initialize required modules

Response:
local CollectionService: CollectionService = game:GetService("CollectionService")
local HitboxData = require(script.HitboxCaster)
local Signal = require(script.Signal)

local RaycastHitbox = {}
RaycastHitbox.__index = RaycastHitbox
RaycastHitbox.__type = "RaycastHitboxModule"


Prompt: --// Bullet Physics

Response:
	BulletPhysics = Vector3.new(0,55,0); -- Drop fixation: Lower number = more drop
	BulletSpeed = 2000; -- Bullet Speed
	BulletSpread = 0; -- How much spread the bullet has

	ExploPhysics = Vector3.new(0,20,0); -- Drop for explosive rounds
	ExploSpeed = 600; -- Speed for explosive rounds

	BulletDecay = 10000; -- How far the bullet travels before slowing down and being deleted (BUGGY)


Prompt:
--[[
	Fired when state is left
]]

Response:
function Transitions.onLeaveWarmup(stateMachine, event, from, to)
	ServerWarmup.leave(stateMachine)
end


Prompt: --[[Engine]]

Response:
	--Torque Curve
	Tune.Horsepower		= 300		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16

	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)

	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)


Prompt: --script.Parent.Parent.CameraMode="LockFirstPerson" --first person

Response: local head = game.Workspace:findFirstChild(person.Name):findFirstChild("Head")


Response:
This = script.Parent
Lift = This.Parent.Parent.Parent
CustomLabel = require(This.Parent.Parent.Parent.CustomLabel)
Characters = require(script.Characters)

ArwTime = 0.2

CustomText = CustomLabel["CUSTOMFLOORLABEL"]

Lift:WaitForChild("Floor").Changed:connect(function(floor)
  --custom indicator code--
  ChangeFloor(tostring(floor))
end)

function ChangeFloor(SF)
	if CustomText[tonumber(SF)] then
		SF = CustomText[tonumber(SF)]
	end
	SetDisplay(1,(string.len(SF) == 2 and SF:sub(1,1) or "NIL"))
	SetDisplay(2,(string.len(SF) == 2 and SF:sub(2,2) or SF))
end

function SetDisplay(ID,CHAR)
	if This.Display:FindFirstChild("DIG"..ID) and Characters[CHAR] ~= nil then
 		for i,l in pairs(Characters[CHAR]) do
			for r=1,101 do
				This.Display["DIG"..ID]["D"..r].Color = (l:sub(r,r) == "1" and enabledClr or disabledClr)
			end
		end
	end
end

while wait() do
    if Lift:WaitForChild("MotorMode").Value ~= "idle" then
	    if Lift:WaitForChild("Direction").Value == 1 then
			This.Display.ARW1.U1.Color = arwFadingUp1
			This.Display.ARW1.U2.Color = arwFadingUp2
			This.Display.ARW1.U3.Color = arwFadingUp3
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
			wait(ArwTime)
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = arwFadingUp1
			This.Display.ARW1.U3.Color = arwFadingUp2
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
			wait(ArwTime)
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = arwFadingUp1
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
			wait(ArwTime)
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
			wait(ArwTime)
			This.Display.ARW1.U1.Color = arwFadingUp3
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
			wait(ArwTime)
			This.Display.ARW1.U1.Color = arwFadingUp2
			This.Display.ARW1.U2.Color = arwFadingUp3
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
			wait(ArwTime)
	    elseif Lift:WaitForChild("Direction").Value == -1 then
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = arwFadingDown1
			This.Display.ARW1.D2.Color = arwFadingDown2
			This.Display.ARW1.D3.Color = arwFadingDown3
			wait(ArwTime)
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = arwFadingDown1
			This.Display.ARW1.D3.Color = arwFadingDown2
			wait(ArwTime)
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = arwFadingDown1
			wait(ArwTime)
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
			wait(ArwTime)
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = arwFadingDown3
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
			wait(ArwTime)
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = arwFadingDown2
			This.Display.ARW1.D2.Color = arwFadingDown3
			This.Display.ARW1.D3.Color = disabledClr
			wait(ArwTime)
		else
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
	    end
	else
	    if Lift:WaitForChild("Direction").Value == 1 then
			This.Display.ARW1.U1.Color = arwFadingUp1
			This.Display.ARW1.U2.Color = arwFadingUp2
			This.Display.ARW1.U3.Color = arwFadingUp3
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
	    elseif Lift:WaitForChild("Direction").Value == -1 then
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = arwFadingDown1
			This.Display.ARW1.D2.Color = arwFadingDown2
			This.Display.ARW1.D3.Color = arwFadingDown3
		else
			This.Display.ARW1.U1.Color = disabledClr
			This.Display.ARW1.U2.Color = disabledClr
			This.Display.ARW1.U3.Color = disabledClr
			This.Display.ARW1.D1.Color = disabledClr
			This.Display.ARW1.D2.Color = disabledClr
			This.Display.ARW1.D3.Color = disabledClr
	    end
	end

	if Lift:WaitForChild("Mode").Value ~= "auto" then
		This.Legends.OOS.Color = oosClr
	else
		This.Legends.OOS.Color = disabledClr
	end

	if Lift.Car.Sensor:FindFirstChild("Script") then
		if Lift.Car.Sensor.Script.IsOverload.Value == true then
			This.Legends.OL.Color = overloadClr
		else
			This.Legends.OL.Color = disabledClr
		end
	end

	if Lift.Car.Platform:FindFirstChild("Alarm") then
		if Lift.Car.Platform.Alarm.Playing == true then
			This.Legends.AL.Color = alarmClr
		else
			This.Legends.AL.Color = disabledClr
		end
	end
end


Prompt: --Made by Luckymaxer

Response:
Model = script.Parent

Players = game:GetService("Players")
Debris = game:GetService("Debris")
RunService = game:GetService("RunService")

RbxUtility = require(game.ReplicatedStorage.LoadLibrary.RbxUtility)
Create = RbxUtility.Create

Functions = require(script:WaitForChild("Functions"))

BasePart = Create("Part"){
	Shape = Enum.PartType.Block,
	Material = Enum.Material.Plastic,
	FormFactor = Enum.FormFactor.Custom,
	TopSurface = Enum.SurfaceType.Smooth,
	BottomSurface = Enum.SurfaceType.Smooth,
	Size = Vector3.new(0.2, 0.2, 0.2),
	Locked = true,
	CanCollide = true,
	Anchored = false,
}

Humanoid = Model:WaitForChild("Humanoid")
Humanoid.Health = Humanoid.MaxHealth
Humanoid.AutoRotate = false
Seat = Model:WaitForChild("Seat")
Head = Model:WaitForChild("Head")
Torso = Model:WaitForChild("Torso")

InteractiveControl = script:WaitForChild("InteractiveControl")

Animations = {
	Ride = {Animation = Model:WaitForChild("Ride"), FadeTime = 0, Weight = nil, Speed = nil},
}

Rider = nil

DefaultSpeed = 40
Gravity = 196.20

Humanoid.WalkSpeed = DefaultSpeed

for i, v in pairs(Torso:GetChildren()) do
	if string.find(string.lower(v.ClassName), string.lower("Body")) then
		v:Destroy()
	end
end

Gyro = Create("BodyGyro"){
	Name = "BodyGyro",
	D = 100,
	P = 10000,
	maxTorque = Vector3.new(math.huge, 0, math.huge),
	cframe = Torso.CFrame,
	Parent = Torso,
}

Velocity = Create("BodyVelocity"){
	Name = "BodyVelocity",
	maxForce = Vector3.new(math.huge, 0, math.huge),
	velocity = Vector3.new(0, 0, 0),
	Parent = Torso,
}

BodyAngularVelocity = Create("BodyAngularVelocity"){
	Name = "BodyAngularVelocity",
	maxTorque = Vector3.new(0, math.huge, 0),
	angularvelocity = Vector3.new(0, 0, 0),
	Parent = Torso,
}

Remotes = script:WaitForChild("Remotes")
Remotes:ClearAllChildren()

LastJump = 0
JumpCoolDown = 2
LastLaserFire = 0
LaserCoolDown = 2
MaxLaserDistance = 120
Disabled = false

ServerControl = (Remotes:FindFirstChild("ServerControl") or Create("RemoteFunction"){
	Name = "ServerControl",
	Parent = Remotes,
})

ClientControl = (Remotes:FindFirstChild("ClientControl") or Create("RemoteFunction"){
	Name = "ClientControl",
	Parent = Remotes,
})

function OnServerInvoke(player, Mode, Value)
	if player ~= Rider or not Mode or Disabled then
		return
	end
	if Mode == "Jump" then
		local Now = tick()
		local State = Humanoid:GetState().Name
		if (Now - LastJump) >= JumpCoolDown and State ~= "Freefall" then
			LastJump = Now
			Humanoid.Jump = true
			wait(JumpCoolDown)
			Humanoid.Jump = false
		end
	elseif Mode == "Dismount" then
		Dismount()
	elseif Mode == "Sprint" then
		local Down = Value.Down
		Humanoid.WalkSpeed = (Down and 70 or DefaultSpeed)
	end
end

ServerControl.OnServerInvoke = OnServerInvoke

Humanoid.Changed:connect(function(Property)
	if Property == "Sit" and Humanoid.Sit then
		Humanoid.Sit = false
	end
end)

Humanoid.Died:connect(function()
	Disabled = true
	Debris:AddItem(Model, 3)
	Model:BreakJoints()
end)

function InvokeClient(Mode, Value)
	local ClientReturn = nil
	pcall(function()
		ClientReturn = ClientControl:InvokeClient(Rider, Mode, Value)
	end)
	return ClientReturn
end

function Animate(Time)
	local Occupant = Seat.Occupant
	if not Occupant or not Occupant.Parent or not Occupant:IsA("Humanoid") then
		return
	end
	local character = Occupant.Parent
	local player = Players:GetPlayerFromCharacter(character)
	if not player or Rider ~= player then
		return
	end
	if Humanoid.Health == 0 or Disabled then
		return
	end
	--Motion
	local velocity = (Torso.CFrame.lookVector * Seat.Throttle * Humanoid.WalkSpeed)
	Velocity.velocity = Vector3.new(velocity.X, 0, velocity.Z)
	Velocity.maxForce = Vector3.new(math.huge, 0, math.huge)
	BodyAngularVelocity.angularvelocity = Vector3.new(0, (0.95 * -Seat.Steer), 0)
end

function Dismount()
	if Rider and Rider.Parent then
		local Character = Rider.Character
		if Character then
			local humanoid = nil
			for i, v in pairs(Character:GetChildren()) do
				if v:IsA("Humanoid") then
					humanoid = v
					break
				end
			end
			humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
			humanoid.Jump = true
		end
	end
end

function PlayerSeated(Child)
	local function BreakWeld()
		Debris:AddItem(Child, 0.5)
		if Child and Child.Parent then
			Child:Destroy()
		end
	end
	if not Child:IsA("Weld") or not Child.Name == "SeatWeld" then
		return
	end
	if Child.Part0 ~= Seat or not Child.Part1 or not Child.Part1.Parent then
		return
	end
	Child.C1 = (Child.C1 * CFrame.new(0, -0.5, 0.75))
	local character = Child.Part1.Parent
	local humanoid = character:FindFirstChild("Humanoid")
	if humanoid then
		local Animation = Animations.Ride
		RideTrack = humanoid:LoadAnimation(Animation.Animation)
		RideTrack:Play(Animation.FadeTime, Animation.Weight, Animation.Speed)
	end
	local Player = Players:GetPlayerFromCharacter(character)
	if not Player then
		BreakWeld()
		return
	end
	local PlayerGui = Player:FindFirstChild("PlayerGui")
	if not PlayerGui then
		BreakWeld()
		return
	end
	InteractiveControlCopy = InteractiveControl:Clone()
	local ServerCommunication = Instance.new("ObjectValue")
	ServerCommunication.Name = "ServerControl"
	ServerCommunication.Value = ServerControl
	ServerCommunication.Parent = InteractiveControlCopy
	InteractiveControlCopy.Disabled = false
	InteractiveControlCopy.Parent = PlayerGui
	Rider = Player
end

function PlayerDismounted(Child)
	if not Child:IsA("Weld") or not Child.Name == "SeatWeld" or not Child.Part1 or not Child.Part1.Parent then
		return
	end
	local Player = Players:GetPlayerFromCharacter(Child.Part1.Parent)
	if not Player or Player ~= Rider then
		return
	end
	if InteractiveControlCopy and InteractiveControlCopy.Parent then
		InteractiveControlCopy:Destroy()
	end
	if RideTrack then
		RideTrack:Stop()
	end
	Rider = nil
	Humanoid.WalkSpeed = DefaultSpeed
end

RunService.Heartbeat:connect(Animate)
Seat.ChildAdded:connect(PlayerSeated)
Seat.ChildRemoved:connect(PlayerDismounted)


Prompt: ---Steering

Response:
function Steering()
	if _MSteer then
		local msWidth = math.max(1,mouse.ViewSizeX*_Tune.Peripherals.MSteerWidth/200)
		local mdZone = _Tune.Peripherals.MSteerDZone/100
		local mST = ((mouse.X-mouse.ViewSizeX/2)/msWidth)
		if math.abs(mST)<=mdZone then
			_GSteerT = 0
		else
			_GSteerT = (math.max(math.min((math.abs(mST)-mdZone),(1-mdZone)),0)/(1-mdZone))^_Tune.MSteerExp * (mST / math.abs(mST))
		end
	end
	if _GSteerC < _GSteerT then
		_GSteerC = math.min(_GSteerT,_GSteerC+_Tune.SteerSpeed)
	else
		_GSteerC = math.max(_GSteerT,_GSteerC-_Tune.SteerSpeed)
	end
	local sDecay = (1-math.min(car.DriveSeat.Velocity.Magnitude/_Tune.SteerDecay,1-_Tune.MinSteer))
	for i,v in pairs(car.Wheels:GetChildren()) do
		if v.Name=="F" then
			v.Arm.Steer.cframe=car.Wheels.F.Base.CFrame*CFrame.Angles(0,-math.rad(_GSteerC*_Tune.SteerInner*sDecay),0)
		elseif v.Name=="FL" then
			if _GSteerC>= 0 then
				v.Arm.Steer.cframe=car.Wheels.FL.Base.CFrame*CFrame.Angles(0,-math.rad(_GSteerC*_Tune.SteerOuter*sDecay),0)
			else
				v.Arm.Steer.cframe=car.Wheels.FL.Base.CFrame*CFrame.Angles(0,-math.rad(_GSteerC*_Tune.SteerInner*sDecay),0)
			end
		elseif v.Name=="FR" then
			if _GSteerC>= 0 then
				v.Arm.Steer.cframe=car.Wheels.FR.Base.CFrame*CFrame.Angles(0,-math.rad(_GSteerC*_Tune.SteerInner*sDecay),0)
			else
				v.Arm.Steer.cframe=car.Wheels.FR.Base.CFrame*CFrame.Angles(0,-math.rad(_GSteerC*_Tune.SteerOuter*sDecay),0)
			end
		end
	end
end