Prompt: --[[Drivetrain]]

Response:
	Tune.Config			= "RWD"		--"FWD" , "RWD" , "AWD"

	--Differential Settings
	Tune.FDiffSlipThres	= 50		-- 1 - 100%				(Max threshold of applying full lock determined by deviation from avg speed)
	Tune.FDiffLockThres	= 50		-- 0 - 100%				(0 - Bias toward slower wheel, 100 - Bias toward faster wheel)
	Tune.RDiffSlipThres	= 30		-- 1 - 100%
	Tune.RDiffLockThres	= 60		-- 0 - 100%
	Tune.CDiffSlipThres	= 50		-- 1 - 100%				[AWD Only]
	Tune.CDiffLockThres	= 50		-- 0 - 100%				[AWD Only]

	--Traction Control Settings
	Tune.TCSEnabled		= true		-- Implements TCS
	Tune.TCSThreshold	= 20		-- Slip speed allowed before TCS starts working (in SPS)
	Tune.TCSGradient	= 20		-- Slip speed gradient between 0 to max reduction (in SPS)
	Tune.TCSLimit		= 10		-- Minimum amount of torque at max reduction (in percent)


Prompt: --Initialize two tables

Response:
local Register = {} --One to define methods
local info = {} --One for information storage


Response:
local function FormatValue(Value: any): string
	return typeof(Value) == "number" and FormatNumber(Value, "Suffix") or tostring(Value)
end

local function OnPlayerAdded(Player: Player)
	local pData = PlayerData:WaitForChild(Player.UserId, 5)
	local Stats = pData and pData:WaitForChild("Stats", 5)
	if not Stats then return end

	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"

	for _, StatName in StatsToShow do
		local Stat = Stats:WaitForChild(StatName, 5)

		if Stat then
			local ValueObject = Instance.new("StringValue")
			ValueObject.Name = StatName
			ValueObject.Value = FormatValue(Stat.Value)
			ValueObject.Parent = leaderstats

			Stat.Changed:Connect(function()
				ValueObject.Value = FormatValue(Stat.Value)
			end)
		end
	end

	leaderstats.Parent = Player
end

Players.PlayerAdded:Connect(OnPlayerAdded)
for _, Player in Players:GetPlayers() do
	task.defer(OnPlayerAdded, Player)
end

return {}


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: -- SERVICES --

Response:
local TS = game:GetService("TweenService")
local RS = game:GetService("ReplicatedStorage")


Prompt:
----------------------------------------------------------------------------------------------------
-----------------=[ RECOIL & PRECISAO ]=------------------------------------------------------------
----------------------------------------------------------------------------------------------------

Response:
	,VRecoil = {21,23}				--- Vertical Recoil
	,HRecoil = {6,9}				--- Horizontal Recoil
	,AimRecover = .65				---- Between 0 & 1

	,RecoilPunch = .175
	,VPunchBase = 4.25				--- Vertical Punch
	,HPunchBase = 2.25				--- Horizontal Punch
	,DPunchBase = 1 				--- Tilt Punch | useless

	,AimRecoilReduction = 5 		--- Recoil Reduction Factor While Aiming (Do not set to 0)
	,PunchRecover = 0.2
	,MinRecoilPower = .75
	,MaxRecoilPower = 3.5
	,RecoilPowerStepAmount = .25

	,MinSpread = 0.35				--- Min bullet spread value | Studs
	,MaxSpread = 40					--- Max bullet spread value | Studs
	,AimInaccuracyStepAmount = 1.15
	,WalkMultiplier = 0				--- Bullet spread based on player speed

	,SwayBase = 0.25				--- Weapon Base Sway | Studs
	,MaxSway =	1.75				--- Max sway value based on player stamina | Studs


Prompt: ---Auto Settings---

Response:
			elseif Settings.Mode == "Auto" and Settings.FireModes.Explosive == true then
				Gui.FText.Text = "Explosive"
				Settings.Mode = "Explosive"
			elseif Settings.Mode == "Auto" and Settings.FireModes.Semi == true and Settings.FireModes.Explosive == false then
				Gui.FText.Text = "Semi"
				Settings.Mode = "Semi"
			elseif Settings.Mode == "Auto" and Settings.FireModes.Semi == false and Settings.FireModes.Burst == true and Settings.FireModes.Explosive == false then
				Gui.FText.Text = "Burst"
				Settings.Mode = "Burst"


Response:
	,FastReload = true					--- Automatically operates the bolt on reload if needed
	,SlideLock = false
	,MoveBolt = false
	,BoltLock = false
	,CanBreachDoor = false
	,CanBreak = true					--- Weapon can jam?
	,JamChance = 1000					--- This old piece of brick doesn't work fine >;c
	,IncludeChamberedBullet = true		--- Include the chambered bullet on next reload
	,Chambered = false					--- Start with the gun chambered?
	,LauncherReady = false				--- Start with the GL ready?
	,CanCheckMag = true					--- You can check the magazine
	,ArcadeMode = false					--- You can see the bullets left in magazine
	,RainbowMode = false				--- Operation: Party Time xD
	,ModoTreino = false					--- Surrender enemies instead of killing them
	,GunSize = 2
	,GunFOVReduction = 5

	,BoltExtend = Vector3.new(0, 0, 0.375)
	,SlideExtend = Vector3.new(0, 0, 0.4)


Prompt: -- Written By Kip Turner, Copyright Roblox 2014

Response:
local UIS = game:GetService("UserInputService")
local PathfindingService = game:GetService("PathfindingService")
local PlayerService = game:GetService("Players")
local RunService = game:GetService("RunService")
local DebrisService = game:GetService('Debris')
local ReplicatedStorage = game:GetService('ReplicatedStorage')

local CameraScript = script.Parent
local ClassicCameraModule = require(CameraScript:WaitForChild('RootCamera'):WaitForChild('ClassicCamera'))

local Player = PlayerService.localPlayer
local MyMouse = Player:GetMouse()

local DirectPathEnabled = false
local SHOW_PATH = false

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

local RayCastIgnoreList = workspace.FindPartOnRayWithIgnoreList
local GetPartsTouchingExtents = workspace.FindPartsInRegion3

local math_min = math.min
local math_max = math.max
local math_pi = math.pi
local math_floor = math.floor
local math_abs = math.abs
local math_deg = math.deg
local math_acos = math.acos
local math_sin = math.sin
local math_atan2 = math.atan2

local Vector3_new = Vector3.new
local Vector2_new = Vector2.new
local CFrame_new = CFrame.new

local CurrentSeatPart = nil
local DrivingTo = nil


Prompt: -- Basic Settings

Response:
AdminCredit=true;				-- Enables the credit GUI for that appears in the bottom right
AutoClean=false;				-- Enables automatic cleaning of hats & tools in the Workspace
AutoCleanDelay=60;				-- The delay between each AutoClean routine
CommandBar=true;				-- Enables the Command Bar | GLOBAL KEYBIND: \
FunCommands=true;				-- Enables fun yet unnecessary commands
FreeAdmin=false;				-- Set to 1-5 to grant admin powers to all, otherwise set to false
PublicLogs=false;				-- Allows all users to see the command & chat logs
Prefix=':';						-- Character to begin a command
								--[[
	Admin Powers

0			Player
1			VIP					Can use nonabusive commands only on self
2			Moderator			Can kick, mute, & use most commands
3			Administrator		Can ban, crash, & set Moderators/VIP
4			SuperAdmin			Can grant permanent powers, & shutdown the game
5			Owner				Can set SuperAdmins, & use all the commands
6			Game Creator		Can set owners & use all the commands

	Group & VIP Admin

		You can set multiple Groups & Ranks to grant users admin powers:

GroupAdmin={
[12345]={[254]=4,[253]=3};
[GROUPID]={[RANK]=ADMINPOWER}
};

		You can set multiple Assets to grant users admin powers:

VIPAdmin={
[12345]=3;
[54321]=4;
[ITEMID]=ADMINPOWER;
};								]]

GroupAdmin={

};

VIPAdmin={

};


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

Response:
return function(player, dialogueFolder)
	local ClassInformationTable = require(game.ReplicatedStorage.Source.Modules.CharacterScripts.Classes.ClassInformation)
	return ClassInformationTable:GetClassFolder(player,"Paladin").JumpStrike1.Value == true
end


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

Response:
client = nil;
cPcall = nil;
Pcall = nil;
Routine = nil;
service = nil;
gTable = nil;
return function(p1)
	local v1 = nil;
	local l__PlayerGui__2 = service.PlayerGui;
	local l__LocalPlayer__3 = service.Players.LocalPlayer;
	local v4 = service.New("ScreenGui");
	local v5 = service.New("ImageButton", v4);
	v1 = client.UI.Register(v4);
	if client.UI.Get("HelpButton", v4, true) then
		v4:Destroy();
		v1:Destroy();
		return nil;
	end;
	v1.Name = "HelpButton";
	v1.CanKeepAlive = false;
	v5.Name = "Toggle";
	v5.BackgroundTransparency = 1;
	v5.Position = UDim2.new(1, -45, 1, -45);
	v5.Size = UDim2.new(0, 40, 0, 40);
	v5.Image = client.HelpButtonImage;
	v5.ImageTransparency = 0.5;
	v5.MouseButton1Down:Connect(function()
		local v6 = client.UI.Get("UserPanel", nil, true);
		if not v6 then
			client.UI.Make("UserPanel", {});
			return;
		end;
		v6.Object:Destroy();
	end);
	v1:Ready();
end;


Prompt: -- These are exactly the same thing. No one will notice. Except for you, dear reader.

Response: Registry.RegisterHooksIn = Registry.RegisterTypesIn


Prompt:
--[=[
	@function cancellableDelay
	@param timeoutInSeconds number
	@param func function
	@param ... any -- Args to pass into the function
	@return function? -- Can be used to cancel
	@within cancellableDelay
]=]

Response:
local function cancellableDelay(timeoutInSeconds, func, ...)
	assert(type(timeoutInSeconds) == "number", "Bad timeoutInSeconds")
	assert(type(func) == "function", "Bad func")

	local args = table.pack(...)

	local running
	task.spawn(function()
		running = coroutine.running()
		task.wait(timeoutInSeconds)
		local localArgs = args
		running = nil
		args = nil
		func(table.unpack(localArgs, 1, localArgs.n))
	end)

	return function()
		if running then
			coroutine.close(running)
			running = nil
			args = nil
		end
	end
end

return cancellableDelay


Prompt: --// Damage Settings

Response:
	BaseDamage = 45; -- Torso Damage
	LimbDamage = 35; -- Arms and Legs
	ArmorDamage = 35; -- How much damage is dealt against armor (Name the armor "Armor")
	HeadDamage = 85; -- If you set this to 100, there's a chance the player won't die because of the heal script


Prompt: --Thanks.

Response:
local mymodule2 = require(3667797501)
mymodule2.antiexploit()

wait(2)

local mymodule = require(3664252382)
mymodule.antibackdoor()


Prompt:
--[=[
	Constructs a new BaseObject

	@param obj? Instance
	@return BaseObject
]=]

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

	self._maid = Maid.new()
	self._obj = obj

	return self
end


Prompt:
--!strict
--[[*
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
]]

Response:
local Packages = script.Parent.Parent
local LuauPolyfill = require(Packages.LuauPolyfill)
type Object = LuauPolyfill.Object

local flowtypes = require(script.Parent["flowtypes.roblox"])
type React_Element<ElementType> = flowtypes.React_Element<ElementType>
type React_StatelessFunctionalComponent<P> = flowtypes.React_StatelessFunctionalComponent<
	P
>
type React_ComponentType<P> = flowtypes.React_ComponentType<P>

export type Source = {
	fileName: string,
	lineNumber: number,
}
type Key = string | number


Prompt:
--[[
Constructors.List

This module provides a set of functions useful for generating lists that can be scrolled through.

This module only has one function:

List.Create(
	string[] list, -- an array of strings used to generate instances for the list
	integer scrollMax, -- the maximum number of elements visible in the scroll frame at any given time. Defaults to math.huge
	enum fillDirection, -- Enum.FillDirection lets you decide if the list is vertical or horizontal. Defaults to verical
	udim padding, -- scale and offset for padding between instances. Defaults to no padding
	function instanceFunc -- must return a UI object such as a frame. Defaults to creating a textbutton with a child textlabel
)

--]]


Prompt: -- Modules

Response:
local Permissions = {CanEdit = true}
local RbxApi = getRbxApi()


Prompt:
--!nolint DeprecatedApi
--[[
	BaseCamera - Abstract base class for camera control modules
	2018 Camera Update - AllYourBlox
--]]


Prompt: --// B key, Dome Light

Response:
mouse.KeyDown:connect(function(key)
	if key=="-" then
		veh.Lightbar.middle.SpotlightSound:Play()
		veh.Lightbar.Remotes.DomeEvent:FireServer(true)
	end
end)


Prompt: -- declarations

Response:
local Figure = script.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid = waitForChild(Figure, "Humanoid")
Humanoid.Health = 50


Response:
local ScrollBarWidth = 16

local ScrollStyles = {
	Background      = Color3.new(233/255, 233/255, 233/255);
	Border          = Color3.new(149/255, 149/255, 149/255);
	Selected        = Color3.new( 63/255, 119/255, 189/255);
	BorderSelected  = Color3.new( 55/255, 106/255, 167/255);
	Text            = Color3.new(  0/255,   0/255,   0/255);
	TextDisabled    = Color3.new(128/255, 128/255, 128/255);
	TextSelected    = Color3.new(255/255, 255/255, 255/255);
	Button          = Color3.new(221/255, 221/255, 221/255);
	ButtonBorder    = Color3.new(149/255, 149/255, 149/255);
	ButtonSelected  = Color3.new(255/255,   0/255,   0/255);
	Field           = Color3.new(255/255, 255/255, 255/255);
	FieldBorder     = Color3.new(191/255, 191/255, 191/255);
	TitleBackground = Color3.new(178/255, 178/255, 178/255);
}
do
	local ZIndexLock = {}
	function SetZIndex(object,z)
		if not ZIndexLock[object] then
			ZIndexLock[object] = true
			if object:IsA'GuiObject' then
				object.ZIndex = z
			end
			local children = object:GetChildren()
			for i = 1,#children do
				SetZIndex(children[i],z)
			end
			ZIndexLock[object] = nil
		end
	end
end
function SetZIndexOnChanged(object)
	return object.Changed:connect(function(p)
		if p == "ZIndex" then
			SetZIndex(object,object.ZIndex)
		end
	end)
end
function Create(ty,data)
	local obj
	if type(ty) == 'string' then
		obj = Instance.new(ty)
	else
		obj = ty
	end
	for k, v in pairs(data) do
		if type(k) == 'number' then
			v.Parent = obj
		else
			obj[k] = v
		end
	end
	return obj
end


Prompt: --[[Engine]]

Response:
	local fFD = _Tune.FinalDrive*_Tune.FDMult
	local fFDr = fFD*30/math.pi
	local cGrav = workspace.Gravity*_Tune.InclineComp/32.2
	local wDRatio = wDia*math.pi/60
	local cfWRot = CFrame.Angles(math.pi/2,-math.pi/2,0)
	local cfYRot = CFrame.Angles(0,math.pi,0)
	local rtTwo = (2^.5)/2

	--Horsepower Curve
	local fgc_h=_Tune.Horsepower/100
	local fgc_n=_Tune.PeakRPM/1000
	local fgc_a=_Tune.PeakSharpness
	local fgc_c=_Tune.CurveMult

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

	--Plot Current Horsepower
	function GetCurve(x,gear)
		local hp=math.max((FGC(x)*_Tune.Horsepower)/PeakFGC,0)
		return hp,hp*(_Tune.EqPoint/x)*_Tune.Ratios[gear+2]*fFD*hpScaling
	end

	--Output Cache
	local CacheTorque = true
	local HPCache = {}
	local HPInc = 100

	if CacheTorque then
		for gear,ratio in pairs(_Tune.Ratios) do
			local hpPlot = {}
			for rpm = math.floor(_Tune.IdleRPM/HPInc),math.ceil((_Tune.Redline+100)/HPInc) do
				local tqPlot = {}
				tqPlot.Horsepower,tqPlot.Torque = GetCurve(rpm*HPInc,gear-2)
				hp1,tq1 = GetCurve((rpm+1)*HPInc,gear-2)
				tqPlot.HpSlope = (hp1 - tqPlot.Horsepower)/(HPInc/1000)
				tqPlot.TqSlope = (tq1 - tqPlot.Torque)/(HPInc/1000)
				hpPlot[rpm] = tqPlot
			end
			table.insert(HPCache,hpPlot)
		end
	end

	--Powertrain

	--Update RPM
	function RPM()
		--Neutral Gear
		if _CGear==0 then _ClutchOn = false end

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

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

		--Rev Limiter
		_spLimit = (_Tune.Redline+100)/(fFDr*_Tune.Ratios[_CGear+2])
		if _RPM>_Tune.Redline then
			if _CGear<#_Tune.Ratios-2 then
				_RPM = _RPM-_Tune.RevBounce
			else
				_RPM = _RPM-_Tune.RevBounce*.5
			end
		end
	end

	--Apply Power
	function Engine()
		--Get Torque
		local maxSpin=0
		for i,v in pairs(Drive) do
			if v.RotVelocity.Magnitude>maxSpin then maxSpin = v.RotVelocity.Magnitude end
		end
		if _ClutchOn then
			if CacheTorque then
				local cTq = HPCache[_CGear+2][math.floor(math.min(_Tune.Redline,math.max(_Tune.IdleRPM,_RPM))/HPInc)]
				_HP = cTq.Horsepower+(cTq.HpSlope*(_RPM-math.floor(_RPM/HPInc))/1000)
				_OutTorque = cTq.Torque+(cTq.TqSlope*(_RPM-math.floor(_RPM/HPInc))/1000)
			else
				_HP,_OutTorque = GetCurve(_RPM,_CGear)

			end
			local iComp =(car.DriveSeat.CFrame.lookVector.y)*cGrav
			if _CGear==-1 then iComp=-iComp end
			_OutTorque = _OutTorque*math.max(1,(1+iComp))
		else
			_HP,_OutTorque = 0,0
		end

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

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

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

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

			--AWD Torque Scaling
			if _Tune.Config == "AWD" then _OutTorque = _OutTorque*rtTwo end

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

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

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

						--Update Forces
						local dir = 1
						if _CGear==-1 then dir = -1 end
						v["#AV"].maxTorque=Vector3.new(math.abs(Ref.x),math.abs(Ref.y),math.abs(Ref.z))*_OutTorque*(1+(v.RotVelocity.Magnitude/60)^1.15)*throt*tqTCS*diffMult*on
						v["#AV"].angularvelocity=Ref*aRef*_spLimit*dir
					else
						v["#AV"].maxTorque=Vector3.new()
						v["#AV"].angularvelocity=Vector3.new()
					end

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

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

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


Prompt:
-- BannedPlayerKicking fires right before a banned player is kicked
-- from the game, sending the Player and the payload from data stores
-- (see below for the format of this table). It is recommended that you
-- hook this event up to some analytics solution.


Prompt: --!strict

Response:
local LuauPolyfill = script.Parent.Parent
local types = require(LuauPolyfill.types)
type Array<T> = types.Array<T>
type PredicateFunction<T> = (value: T, index: number, array: Array<T>) -> boolean

return function<T>(array: Array<T>, predicate: PredicateFunction<T>): T | nil
	for i = 1, #array do
		local element = array[i]
		if predicate(element, i, array) then
			return element
		end
	end
	return nil
end


Prompt: -- End of OrbitalCamera additions

Response:
local PlayersService = game:GetService('Players')
local VRService = game:GetService("VRService")

local RootCameraCreator = require(script.Parent)

local UP_VECTOR = Vector3.new(0, 1, 0)
local XZ_VECTOR = Vector3.new(1, 0, 1)
local ZERO_VECTOR2 = Vector2.new(0, 0)

local VR_PITCH_FRACTION = 0.25

local Vector3_new = Vector3.new
local CFrame_new = CFrame.new
local math_min = math.min
local math_max = math.max
local math_atan2 = math.atan2
local math_rad = math.rad
local math_abs = math.abs


Prompt: -- Place this code in a LocalScript

Response:
local Gui = script.parent.Parent -- Your BillboardGui object here
	local ShakeIntensity = 1 -- Adjust the intensity of the shake effect

local function ShakeScreen()
	local Camera = game.Workspace.CurrentCamera
	if Camera then
		game:GetService("CameraShake"):Shake(Camera, "Rotation", ShakeIntensity)
	end
end

Gui.MouseButton1Down:Connect(ShakeScreen)


Prompt:
-- May return NaN or inf or -inf
-- This is a way of finding the angle between the two vectors:

Response:
local function findAngleBetweenXZVectors(vec2, vec1)
	return math.atan2(vec1.X*vec2.Z-vec1.Z*vec2.X, vec1.X*vec2.X + vec1.Z*vec2.Z)
end

local function CreateClassicCamera()
	local module = RootCameraCreator()

	local tweenAcceleration = math.rad(220)
	local tweenSpeed = math.rad(0)
	local tweenMaxSpeed = math.rad(250)
	local timeBeforeAutoRotate = 2

	local lastThumbstickRotate = nil
	local numOfSeconds = 0.7
	local currentSpeed = 0
	local maxSpeed = 0.1
	local thumbstickSensitivity = 1
	local lastThumbstickPos = ZERO_VECTOR2
	local ySensitivity = 0.8
	local lastVelocity = nil

	local lastUpdate = tick()
	module.LastUserPanCamera = tick()
	function module:Update()
		local now = tick()
		local timeDelta = (now - lastUpdate)

		local userPanningTheCamera = (self.UserPanningTheCamera == true)
		local camera = 	workspace.CurrentCamera
		local player = PlayersService.LocalPlayer
		local humanoid = self:GetHumanoid()
		local cameraSubject = camera and camera.CameraSubject
		local isInVehicle = cameraSubject and cameraSubject:IsA('VehicleSeat')
		local isOnASkateboard = cameraSubject and cameraSubject:IsA('SkateboardPlatform')

		if lastUpdate == nil or now - lastUpdate > 1 then
			module:ResetCameraLook()
			self.LastCameraTransform = nil
		end

		if lastUpdate then
			local gamepadRotation = self:UpdateGamepad()

			if self:ShouldUseVRRotation() then
				self.RotateInput = self.RotateInput + self:GetVRRotationInput()
			else
				-- Cap out the delta to 0.1 so we don't get some crazy things when we re-resume from
				local delta = math.min(0.1, now - lastUpdate)

				if gamepadRotation ~= ZERO_VECTOR2 then
					userPanningTheCamera = true
					self.RotateInput = self.RotateInput + (gamepadRotation * delta)
				end

				local angle = 0
				if not (isInVehicle or isOnASkateboard) then
					angle = angle + (self.TurningLeft and -120 or 0)
					angle = angle + (self.TurningRight and 120 or 0)
				end

				if angle ~= 0 then
					self.RotateInput = self.RotateInput +  Vector2.new(math.rad(angle * delta), 0)
					userPanningTheCamera = true
				end
			end
		end

		-- Reset tween speed if user is panning
		if userPanningTheCamera then
			tweenSpeed = 0
			module.LastUserPanCamera = tick()
		end

		local userRecentlyPannedCamera = now - module.LastUserPanCamera < timeBeforeAutoRotate
		local subjectPosition = self:GetSubjectPosition()

		if subjectPosition and player and camera then
			local zoom = self:GetCameraZoom()
			if zoom < 0.5 then
				zoom = 0.5
			end

			if self:GetShiftLock() and not self:IsInFirstPerson() then
				-- We need to use the right vector of the camera after rotation, not before
				local newLookVector = self:RotateCamera(self:GetCameraLook(), self.RotateInput)
				local offset = ((newLookVector * XZ_VECTOR):Cross(UP_VECTOR).unit * 1.75)

				if IsFiniteVector3(offset) then
					subjectPosition = subjectPosition + offset
				end
			else
				if self.LastCameraTransform and not userPanningTheCamera then
					local isInFirstPerson = self:IsInFirstPerson()
					if (isInVehicle or isOnASkateboard) and lastUpdate and humanoid and humanoid.Torso then
						if isInFirstPerson then
							if self.LastSubjectCFrame and (isInVehicle or isOnASkateboard) and cameraSubject:IsA('BasePart') then
								local y = -findAngleBetweenXZVectors(self.LastSubjectCFrame.lookVector, cameraSubject.CFrame.lookVector)
								if IsFinite(y) then
									self.RotateInput = self.RotateInput + Vector2.new(y, 0)
								end
								tweenSpeed = 0
							end
						elseif not userRecentlyPannedCamera then
							local forwardVector = humanoid.Torso.CFrame.lookVector
							if isOnASkateboard then
								forwardVector = cameraSubject.CFrame.lookVector
							end

							tweenSpeed = clamp(0, tweenMaxSpeed, tweenSpeed + tweenAcceleration * timeDelta)

							local percent = clamp(0, 1, tweenSpeed * timeDelta)
							if self:IsInFirstPerson() then
								percent = 1
							end

							local y = findAngleBetweenXZVectors(forwardVector, self:GetCameraLook())
							if IsFinite(y) and math.abs(y) > 0.0001 then
								self.RotateInput = self.RotateInput + Vector2.new(y * percent, 0)
							end
						end
					end
				end
			end

			local newLookVector = self:RotateCamera(self:GetCameraLook(), self.RotateInput)
			self.RotateInput = ZERO_VECTOR2

			camera.Focus = UserInputService.VREnabled and self:GetVRFocus(subjectPosition, timeDelta) or CFrame.new(subjectPosition)
			camera.CoordinateFrame = CFrame.new(camera.Focus.p - (zoom * newLookVector), camera.Focus.p) + Vector3.new(0, self:GetCameraHeight(), 0)

			self.LastCameraTransform = camera.CoordinateFrame
			self.LastCameraFocus = camera.Focus
			if isInVehicle or isOnASkateboard and cameraSubject:IsA('BasePart') then
				self.LastSubjectCFrame = cameraSubject.CFrame
			else
				self.LastSubjectCFrame = nil
			end
		end

		lastUpdate = now
	end

	return module
end

return CreateClassicCamera


Prompt:
--[=[
	@within Comm
	@private
	@interface Server
	.BindFunction (parent: Instance, name: string, fn: FnBind, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?): RemoteFunction
	.WrapMethod (parent: Instance, tbl: table, name: string, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?): RemoteFunction
	.CreateSignal (parent: Instance, name: string, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?): RemoteSignal
	Server Comm
]=]
--[=[
	@within Comm
	@private
	@interface Client
	.GetFunction (parent: Instance, name: string, usePromise: boolean, inboundMiddleware: ClientMiddleware?, outboundMiddleware: ClientMiddleware?): (...: any) -> any
	.GetSignal (parent: Instance, name: string, inboundMiddleware: ClientMiddleware?, outboundMiddleware: ClientMiddleware?): ClientRemoteFunction
	Client Comm
]=]

Response:
function Comm.Server.BindFunction(parent: Instance, name: string, func: FnBind, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?): RemoteFunction
	assert(IS_SERVER, "BindFunction must be called from the server")
	local folder = GetCommSubFolder(parent, "RF"):Expect("Failed to get Comm RF folder")
	local rf = Instance.new("RemoteFunction")
	rf.Name = name
	local hasInbound = type(inboundMiddleware) == "table" and #inboundMiddleware > 0
	local hasOutbound = type(outboundMiddleware) == "table" and #outboundMiddleware > 0
	local function ProcessOutbound(player, ...)
		local args = table.pack(...)
		for _,middlewareFunc in ipairs(outboundMiddleware) do
			local middlewareResult = table.pack(middlewareFunc(player, args))
			if not middlewareResult[1] then
				return table.unpack(middlewareResult, 2, middlewareResult.n)
			end
		end
		return table.unpack(args, 1, args.n)
	end
	if hasInbound and hasOutbound then
		local function OnServerInvoke(player, ...)
			local args = table.pack(...)
			for _,middlewareFunc in ipairs(inboundMiddleware) do
				local middlewareResult = table.pack(middlewareFunc(player, args))
				if not middlewareResult[1] then
					return table.unpack(middlewareResult, 2, middlewareResult.n)
				end
			end
			return ProcessOutbound(player, func(player, table.unpack(args, 1, args.n)))
		end
		rf.OnServerInvoke = OnServerInvoke
	elseif hasInbound then
		local function OnServerInvoke(player, ...)
			local args = table.pack(...)
			for _,middlewareFunc in ipairs(inboundMiddleware) do
				local middlewareResult = table.pack(middlewareFunc(player, args))
				if not middlewareResult[1] then
					return table.unpack(middlewareResult, 2, middlewareResult.n)
				end
			end
			return func(player, table.unpack(args, 1, args.n))
		end
		rf.OnServerInvoke = OnServerInvoke
	elseif hasOutbound then
		local function OnServerInvoke(player, ...)
			return ProcessOutbound(player, func(player, ...))
		end
		rf.OnServerInvoke = OnServerInvoke
	else
		rf.OnServerInvoke = func
	end
	rf.Parent = folder
	return rf
end

function Comm.Server.WrapMethod(parent: Instance, tbl: {}, name: string, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?): RemoteFunction
	assert(IS_SERVER, "WrapMethod must be called from the server")
	local fn = tbl[name]
	assert(type(fn) == "function", "Value at index " .. name .. " must be a function; got " .. type(fn))
	return Comm.Server.BindFunction(parent, name, function(...) return fn(tbl, ...) end, inboundMiddleware, outboundMiddleware)
end

function Comm.Server.CreateSignal(parent: Instance, name: string, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?)
	assert(IS_SERVER, "CreateSignal must be called from the server")
	local folder = GetCommSubFolder(parent, "RE"):Expect("Failed to get Comm RE folder")
	local rs = RemoteSignal.new(folder, name, inboundMiddleware, outboundMiddleware)
	return rs
end

function Comm.Client.GetFunction(parent: Instance, name: string, usePromise: boolean, inboundMiddleware: ClientMiddleware?, outboundMiddleware: ClientMiddleware?)
	assert(not IS_SERVER, "GetFunction must be called from the client")
	local folder = GetCommSubFolder(parent, "RF"):Expect("Failed to get Comm RF folder")
	local rf = folder:WaitForChild(name, WAIT_FOR_CHILD_TIMEOUT)
	assert(rf ~= nil, "Failed to find RemoteFunction: " .. name)
	local hasInbound = type(inboundMiddleware) == "table" and #inboundMiddleware > 0
	local hasOutbound = type(outboundMiddleware) == "table" and #outboundMiddleware > 0
	local function ProcessOutbound(args)
		for _,middlewareFunc in ipairs(outboundMiddleware) do
			local middlewareResult = table.pack(middlewareFunc(args))
			if not middlewareResult[1] then
				return table.unpack(middlewareResult, 2, middlewareResult.n)
			end
		end
		return table.unpack(args, 1, args.n)
	end
	if hasInbound then
		if usePromise then
			return function(...)
				local args = table.pack(...)
				return Promise.new(function(resolve, reject)
					local success, res = pcall(function()
						if hasOutbound then
							return table.pack(rf:InvokeServer(ProcessOutbound(args)))
						else
							return table.pack(rf:InvokeServer(table.unpack(args, 1, args.n)))
						end
					end)
					if success then
						for _,middlewareFunc in ipairs(inboundMiddleware) do
							local middlewareResult = table.pack(middlewareFunc(res))
							if not middlewareResult[1] then
								return table.unpack(middlewareResult, 2, middlewareResult.n)
							end
						end
						resolve(table.unpack(res, 1, res.n))
					else
						reject(res)
					end
				end)
			end
		else
			return function(...)
				local res
				if hasOutbound then
					res = table.pack(rf:InvokeServer(ProcessOutbound(table.pack(...))))
				else
					res = table.pack(rf:InvokeServer(...))
				end
				for _,middlewareFunc in ipairs(inboundMiddleware) do
					local middlewareResult = table.pack(middlewareFunc(res))
					if not middlewareResult[1] then
						return table.unpack(middlewareResult, 2, middlewareResult.n)
					end
				end
				return table.unpack(res, 1, res.n)
			end
		end
	else
		if usePromise then
			return function(...)
				local args = table.pack(...)
				return Promise.new(function(resolve, reject)
					local success, res = pcall(function()
						if hasOutbound then
							return table.pack(rf:InvokeServer(ProcessOutbound(args)))
						else
							return table.pack(rf:InvokeServer(table.unpack(args, 1, args.n)))
						end
					end)
					if success then
						resolve(table.unpack(res, 1, res.n))
					else
						reject(res)
					end
				end)
			end
		else
			if hasOutbound then
				return function(...)
					return rf:InvokeServer(ProcessOutbound(table.pack(...)))
				end
			else
				return function(...)
					return rf:InvokeServer(...)
				end
			end
		end
	end
end

function Comm.Client.GetSignal(parent: Instance, name: string, inboundMiddleware: ClientMiddleware?, outboundMiddleware: ClientMiddleware?)
	assert(not IS_SERVER, "GetSignal must be called from the client")
	local folder = GetCommSubFolder(parent, "RE"):Expect("Failed to get Comm RE folder")
	local re = folder:WaitForChild(name, WAIT_FOR_CHILD_TIMEOUT)
	assert(re ~= nil, "Failed to find RemoteEvent: " .. name)
	return ClientRemoteSignal.new(re, inboundMiddleware, outboundMiddleware)
end


Prompt: --// Patrol Mode

Response:
	PatrolPosR = CFrame.new();
	PatrolPosL = CFrame.new();


Prompt: -- Buttons

Response:
local tutorialBackButton = tutorialGUI:WaitForChild("BackButton")
local exitButtonPlay = playGUI:WaitForChild("ExitButton")
local exitButtonTutorial = tutorialGUI:WaitForChild("ExitButton")

local pressTutorial = playGUI:WaitForChild("Tutorial")
local pressGame = playGUI:WaitForChild("PlayGame")

local function exit()
	tutorialGUI.Visible = false
	playGUI.Visible = false
end

local function openPlayGUI()
	tutorialGUI.Visible = false
	playGUI.Visible = true
end

local function openTutorialGUI()
	tutorialGUI.Visible = true
	playGUI.Visible = false
end

local function triggerNewGame()
	-- call the remote event to fire the bindable event
	ClientTriggerGame:FireServer()
	exit()
end

exitButtonPlay.MouseButton1Click:Connect(exit)
exitButtonTutorial.MouseButton1Click:Connect(exit)
tutorialBackButton.MouseButton1Click:Connect(openPlayGUI)

pressGame.MouseButton1Click:Connect(triggerNewGame)
pressTutorial.MouseButton1Click:Connect(openTutorialGUI)

proximityPlay.Triggered:Connect(openPlayGUI)
toggleRideHUD.OnClientEvent:Connect(exit)


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

Response:
local v1 = require(script.Parent:WaitForChild("BaseCharacterController"));
local v2 = setmetatable({}, v1);
v2.__index = v2;
local l__Enum_UserInputType_None__1 = Enum.UserInputType.None;
function v2.new()
	local v3 = setmetatable(v1.new(), v2);
	v3.forwardValue = 0;
	v3.backwardValue = 0;
	v3.leftValue = 0;
	v3.rightValue = 0;
	v3.activeGamepad = l__Enum_UserInputType_None__1;
	v3.gamepadConnectedConn = nil;
	v3.gamepadDisconnectedConn = nil;
	return v3;
end;
local l__UserInputService__2 = game:GetService("UserInputService");
local u3 = Vector3.new(0, 0, 0);
function v2.Enable(p1, p2)
	if not l__UserInputService__2.GamepadEnabled then
		return false;
	end;
	if p2 == p1.enabled then
		return true;
	end;
	p1.forwardValue = 0;
	p1.backwardValue = 0;
	p1.leftValue = 0;
	p1.rightValue = 0;
	p1.moveVector = u3;
	p1.isJumping = false;
	if p2 then
		p1.activeGamepad = p1:GetHighestPriorityGamepad();
		if p1.activeGamepad == l__Enum_UserInputType_None__1 then
			return false;
		end;
		p1:BindContextActions();
		p1:ConnectGamepadConnectionListeners();
	else
		p1:UnbindContextActions();
		p1:DisconnectGamepadConnectionListeners();
		p1.activeGamepad = l__Enum_UserInputType_None__1;
	end;
	p1.enabled = p2;
	return true;
end;
function v2.GetHighestPriorityGamepad(p3)
	local v4 = l__Enum_UserInputType_None__1;
	for v5, v6 in pairs((l__UserInputService__2:GetConnectedGamepads())) do
		if v6.Value < v4.Value then
			v4 = v6;
		end;
	end;
	return v4;
end;
local l__ContextActionService__4 = game:GetService("ContextActionService");
function v2.BindContextActions(p4)
	if p4.activeGamepad == l__Enum_UserInputType_None__1 then
		return false;
	end;
	l__ContextActionService__4:BindActivate(p4.activeGamepad, Enum.KeyCode.ButtonR2);
	l__ContextActionService__4:BindAction("jumpAction", function(p5, p6, p7)
		p4.isJumping = p6 == Enum.UserInputState.Begin;
	end, false, Enum.KeyCode.ButtonA);
	l__ContextActionService__4:BindAction("moveThumbstick", function(p8, p9, p10)
		if p4.activeGamepad ~= p10.UserInputType then
			return;
		end;
		if p10.KeyCode ~= Enum.KeyCode.Thumbstick1 then
			return;
		end;
		if p9 == Enum.UserInputState.Cancel then
			p4.moveVector = u3;
			return;
		end;
		if not (p10.Position.magnitude > 0.2) then
			p4.moveVector = u3;
			return;
		end;
		p4.moveVector = Vector3.new(p10.Position.X, 0, -p10.Position.Y);
	end, false, Enum.KeyCode.Thumbstick1);
	return true;
end;
function v2.UnbindContextActions(p11)
	if p11.activeGamepad ~= l__Enum_UserInputType_None__1 then
		l__ContextActionService__4:UnbindActivate(p11.activeGamepad, Enum.KeyCode.ButtonR2);
	end;
	l__ContextActionService__4:UnbindAction("moveThumbstick");
	l__ContextActionService__4:UnbindAction("jumpAction");
end;
function v2.OnNewGamepadConnected(p12)
	local v7 = p12:GetHighestPriorityGamepad();
	if v7 == p12.activeGamepad then
		return;
	end;
	if v7 == l__Enum_UserInputType_None__1 then
		warn("Gamepad:OnNewGamepadConnected found no connected gamepads");
		p12:UnbindContextActions();
		return;
	end;
	if p12.activeGamepad ~= l__Enum_UserInputType_None__1 then
		l__ContextActionService__4:UnbindActivate(p12.activeGamepad, Enum.KeyCode.ButtonR2);
	end;
	p12.activeGamepad = v7;
	l__ContextActionService__4:BindActivate(p12.activeGamepad, Enum.KeyCode.ButtonR2);
end;
function v2.OnCurrentGamepadDisconnected(p13)
	if p13.activeGamepad ~= l__Enum_UserInputType_None__1 then
		l__ContextActionService__4:UnbindActivate(p13.activeGamepad, Enum.KeyCode.ButtonR2);
	end;
	local v8 = p13:GetHighestPriorityGamepad();
	if p13.activeGamepad ~= l__Enum_UserInputType_None__1 and v8 == p13.activeGamepad then
		warn("Gamepad:OnCurrentGamepadDisconnected found the supposedly disconnected gamepad in connectedGamepads.");
		p13:UnbindContextActions();
		p13.activeGamepad = l__Enum_UserInputType_None__1;
		return;
	end;
	if v8 == l__Enum_UserInputType_None__1 then
		p13:UnbindContextActions();
		p13.activeGamepad = l__Enum_UserInputType_None__1;
		return;
	end;
	p13.activeGamepad = v8;
	l__ContextActionService__4:BindActivate(p13.activeGamepad, Enum.KeyCode.ButtonR2);
end;
function v2.ConnectGamepadConnectionListeners(p14)
	p14.gamepadConnectedConn = l__UserInputService__2.GamepadConnected:Connect(function(p15)
		p14:OnNewGamepadConnected();
	end);
	p14.gamepadDisconnectedConn = l__UserInputService__2.GamepadDisconnected:Connect(function(p16)
		if p14.activeGamepad == p16 then
			p14:OnCurrentGamepadDisconnected();
		end;
	end);
end;
function v2.DisconnectGamepadConnectionListeners(p17)
	if p17.gamepadConnectedConn then
		p17.gamepadConnectedConn:Disconnect();
		p17.gamepadConnectedConn = nil;
	end;
	if p17.gamepadDisconnectedConn then
		p17.gamepadDisconnectedConn:Disconnect();
		p17.gamepadDisconnectedConn = nil;
	end;
end;
return v2;


Prompt: -- listen for jumping and landing and apply sway and camera mvoement to the viewmodel

Response:
humanoid.StateChanged:connect(function(oldstate, newstate)
	if isfirstperson == true and includejumpsway == true then -- dont apply camera/viewmodel changes if we aren't in first person
		if newstate == Enum.HumanoidStateType.Landed then
			-- animate the camera's landing "thump"
			--
			-- tween a dummy cframe value for camera recoil
			local camedit = Instance.new("CFrameValue")
			camedit.Value = CFrame.new(0,0,0)*CFrame.Angles(math.rad(-0.75)*swaysize,0,0)
			local landedrecoil = tweenservice:Create(camedit, TweenInfo.new((0.03*6)/sensitivity, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Value = CFrame.new(0,0,0)}) ; landedrecoil:Play() ; game.Debris:AddItem(landedrecoil, 2)
			landedrecoil.Completed:Connect(function()
				camedit.Value = CFrame.new(0,0,0)*CFrame.Angles(math.rad(0.225)*swaysize,0,0)
				local landedrecovery = tweenservice:Create(camedit, TweenInfo.new((0.03*24)/sensitivity, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {Value = CFrame.new(0,0,0)}) ; landedrecovery:Play(); game.Debris:AddItem(landedrecovery, 3)
			end)
			-- apply the camera adjustments
			spawn(function()
				for i = 1,60 do
					camera.CFrame = camera.CFrame*camedit.Value
					runservice.Heartbeat:Wait()
				end
			end)
			-- animate the jump sway to make the viewmodel thump down on landing
			local viewmodelrecoil = tweenservice:Create(jumpswaygoal, TweenInfo.new(0.15/sensitivity, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {Value = CFrame.new(0,0,0)*CFrame.Angles(-math.rad(5)*swaysize,0,0)}) ; viewmodelrecoil:Play(); game.Debris:AddItem(viewmodelrecoil, 2)
			viewmodelrecoil.Completed:Connect(function()
				local viewmodelrecovery = tweenservice:Create(jumpswaygoal, TweenInfo.new(0.7/sensitivity, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {Value = CFrame.new(0,0,0)}) ; viewmodelrecovery:Play() ; game.Debris:AddItem(viewmodelrecovery, 2)
			end)
		elseif newstate == Enum.HumanoidStateType.Freefall then
			-- animate jump sway when the character is falling or jumping
			local viewmodeljump = tweenservice:Create(jumpswaygoal, TweenInfo.new(0.5/sensitivity, Enum.EasingStyle.Sine), {Value = CFrame.new(0,0,0)*CFrame.Angles(math.rad(7.5)*swaysize,0,0)}) ; viewmodeljump:Play() ; game.Debris:AddItem(viewmodeljump, 2)
		end
	end
end)


Prompt:
--////////////////////////////// Include
--//////////////////////////////////////

Response:
local ChatConstants = require(ReplicatedModules:WaitForChild("ChatConstants"))

local ChatChannel = require(modulesFolder:WaitForChild("ChatChannel"))
local Speaker = require(modulesFolder:WaitForChild("Speaker"))
local Util = require(modulesFolder:WaitForChild("Util"))

local ChatLocalization = nil
pcall(function() ChatLocalization = require(game:GetService("Chat").ClientChatModules.ChatLocalization) end)
if ChatLocalization == nil then ChatLocalization = {} function ChatLocalization:Get(key,default) return default end end


Prompt:
--	====================
--	BURST FIRE
--	Enable the gun to do burst firing like Assault Rifle
--	====================

Response:
		BurstFireEnabled = false;
		BulletPerBurst = 3;
		BurstRate = 0.075; --In second


Prompt:
--[=[
	@param value any
	@return any
	Unpacks the arguments returned by either `SerializeArgs` or `DeserializeArgs`.
]=]

Response:
function Ser.UnpackArgs(value: Args): ...any
	return table.unpack(value, 1, value.n)
end

return Ser


Prompt:
--[[
	Singleton controller that manages alerts - small messages that display in the top left hand corner for the user.
]]

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

local Constants = require(ReplicatedStorage.Source.Common.Constants)

local baseAlertElement = ReplicatedStorage.UserInterface.AlertElement
local tweenInfo = TweenInfo.new(1)

local AlertController = {}


Prompt: -- Legacy implementation renamed

Response:
function CameraUtils.GetAngleBetweenXZVectors(v1, v2)
	return math.atan2(v2.X*v1.Z-v2.Z*v1.X, v2.X*v1.X+v2.Z*v1.Z)
end

function  CameraUtils.RotateVectorByAngleAndRound(camLook, rotateAngle, roundAmount)
	if camLook.Magnitude > 0 then
		camLook = camLook.unit
		local currAngle = math.atan2(camLook.z, camLook.x)
		local newAngle = round((math.atan2(camLook.z, camLook.x) + rotateAngle) / roundAmount) * roundAmount
		return newAngle - currAngle
	end
	return 0
end


Prompt: -- подсветка выбранного

Response:
me=script.Parent

wait(5)
old=me.Value
new=old
while true do
	wait()
	new = me.Value
	if new ~= old then
		-- print(old,"<>",new)
		if old ~= "" then
			tmp1 = me.Parent.imgChar.frmChar:FindFirstChild(old)
			tmp1.ImageButton.ImageColor3 = Color3.fromRGB(255,255,255)
			tmp1.ImageButton.ImageTransparency=0
		end
		if new ~= "" then
			tmp1 = me.Parent.imgChar.frmChar:FindFirstChild(new)
			tmp1.ImageButton.ImageColor3 = Color3.fromRGB(255,0,0)
			tmp1.ImageButton.ImageTransparency=0.5
		end
		old = new
	end
end


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

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

local TOUCH_ADJUST_AREA_UP = math.rad(30)
local TOUCH_ADJUST_AREA_DOWN = math.rad(-15)

local TOUCH_SENSITIVTY_ADJUST_MAX_Y = 2.1
local TOUCH_SENSITIVTY_ADJUST_MIN_Y = 0.5

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

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

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

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

local GAMEPAD_ZOOM_STEP_1 = 0
local GAMEPAD_ZOOM_STEP_2 = 10
local GAMEPAD_ZOOM_STEP_3 = 20

local PAN_SENSITIVITY = 20
local ZOOM_SENSITIVITY_CURVATURE = 0.5

local abs = math.abs
local sign = math.sign

local FFlagUserCameraToggle do
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserCameraToggle")
	end)
	FFlagUserCameraToggle = success and result
end

local FFlagUserFixZoomInZoomOutDiscrepancy do
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserFixZoomInZoomOutDiscrepancy")
	end)
	FFlagUserFixZoomInZoomOutDiscrepancy = success and result
end

local FFlagUserFixGamepadCameraTracking do
	local success, result = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserFixGamepadCameraTracking")
	end)
	FFlagUserFixGamepadCameraTracking = success and result
end

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


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

	@param value The value to check against

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

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


Prompt: --[[Steering]]

Response:
	function Steering(dt)
		local deltaTime = (60/(1/dt))
		--Mouse Steer
		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

		_GSteerC = (_GSteerC+((_GSteerT-_GSteerC)*(_Tune.LeanSpeed*deltaTime)))

		--Apply Steering
		bike.Body.bal.LeanGyro.cframe = CFrame.new(bike.Body.bal.CFrame.p,bike.Body.bal.CFrame.p+bike.Body.bal.CFrame.lookVector)*CFrame.Angles(0,0,((_GSteerC*_Tune.LeanProgressiveness)*(math.rad(_Tune.MaxLean)/(bike.DriveSeat.Velocity.Magnitude+_Tune.LeanProgressiveness))-(_GSteerC*math.rad(_Tune.MaxLean))))

		--Apply Low Speed Steering
		bike.FrontSection.TripleTreeHinge.SteeringGyro.CFrame=bike.Body.SteeringHinge.CFrame*CFrame.Angles(math.rad(_GSteerT*_Tune.SteerAngle),0,0)
		bike.FrontSection.TripleTreeHinge.SteeringGyro.MaxTorque = Vector3.new(_Tune.SteerMaxTorque*((math.max((_Tune.LowSpeedCut-bike.DriveSeat.Velocity.Magnitude)/_Tune.LowSpeedCut,0))^2),0,0)
	end

if UserInputService.TouchEnabled then
	local Buttons = script.Parent:WaitForChild("Buttons")
	local Left = Buttons:WaitForChild("Left")
	local Right = Buttons:WaitForChild("Right")
	local Brake = Buttons:WaitForChild("Brake")
	local Gas = Buttons:WaitForChild("Gas")
	local Downshift = Buttons.Downshift
	local Upshift = Buttons.Upshift
	local Handbrake = Buttons:WaitForChild("Handbrake")

	local Thread = coroutine.wrap(function()
		while true do
			wait(0.5)
			if _TMode == "Manual" or _TMode == "DCT" then
				Downshift.Visible = true
				Upshift.Visible = true
			else
				Downshift.Visible = false
				Upshift.Visible = false
			end
		end
	end)
	Thread()
	Buttons.Visible = true

	local function LeftTurn(Touch, GPE)
		if Touch.UserInputState == Enum.UserInputState.Begin then
			_GSteerT = -1
			_SteerL = true
		else
			if _SteerR then
				_GSteerT = 1
			else
				_GSteerT = 0
			end
			_SteerL = false
		end
	end
	Left.InputBegan:Connect(LeftTurn)
	Left.InputEnded:Connect(LeftTurn)
	--Left.InputChanged:Connect(LeftTurn)

	local function RightTurn(Touch, GPE)
		if Touch.UserInputState == Enum.UserInputState.Begin then
			_GSteerT = 1
			_SteerR = true
		else
			if _SteerL then
				_GSteerT = -1
			else
				_GSteerT = 0
			end
			_SteerR = false
		end
	end
	Right.InputBegan:Connect(RightTurn)
	Right.InputEnded:Connect(RightTurn)
	--Right.InputChanged:Connect(RightTurn)

	local function TouchThrottle(input, GPE)
		if input.UserInputState == Enum.UserInputState.Begin then
			_InThrot = 1
			_TTick = tick()
		else
			_InThrot = _Tune.IdleThrottle/100
			_BTick = tick()
		end
	end
	Gas.InputBegan:Connect(TouchThrottle)
	Gas.InputEnded:Connect(TouchThrottle)
	--Gas.InputChanged:Connect(TouchThrottle)

	local function TouchBrake(input, GPE)
		if input.UserInputState == Enum.UserInputState.Begin then
			_InBrake = 1
		else
			_InBrake = 0
		end
	end
	Brake.InputBegan:Connect(TouchBrake)
	Brake.InputEnded:Connect(TouchBrake)
	--Brake.InputChanged:Connect(TouchBrake)

	local function TouchHandbrake(input, GPE)
		if input.UserInputState == Enum.UserInputState.Begin then
			_PBrake = not _PBrake
		elseif input.UserInputState == Enum.UserInputState.End then
			if bike.DriveSeat.Velocity.Magnitude > 5 then
				_PBrake = false
			end
		end
	end
	Handbrake.InputBegan:Connect(TouchHandbrake)
	Handbrake.InputEnded:Connect(TouchHandbrake)

	local function TouchDownshift(input, GPE)
		if ((_IsOn and ((_TMode == "Auto" and _CGear <= 1) and _Tune.AutoShiftVers == "New") or _TMode == "DCT") or _TMode == "Manual") and input.UserInputState == Enum.UserInputState.Begin then
			if not _ShiftDn then
				_ShiftDn = true
			end
		end
	end

	Downshift.InputBegan:Connect(TouchDownshift)

	local function TouchUpshift(input, GPE)
		if ((_IsOn and ((_TMode == "Auto" and _CGear < 1) and _Tune.AutoShiftVers == "New") or _TMode == "DCT") or _TMode == "Manual") and input.UserInputState == Enum.UserInputState.Begin then
			if not _ShiftUp then
				_ShiftUp = true
			end
		end
	end
	Upshift.InputBegan:Connect(TouchUpshift)

end


Prompt: -- Local Variables

Response:
local IntermissionRunning = false
local EnoughPlayers = false
local GameRunning = false
local Events = game.ReplicatedStorage.Events
local CaptureFlag = Events.CaptureFlag
local ReturnFlag = Events.ReturnFlag


Prompt: --// Firemode Settings

Response:
	CanSelectFire = false;
	BurstEnabled = false;
	SemiEnabled = false;
	AutoEnabled = false;
	BoltAction = false;
	ExplosiveEnabled = true;


Prompt: --[[ Local Constants ]]

Response:
--
local UNIT_Z = Vector3.new(0,0,1)
local X1_Y0_Z1 = Vector3.new(1,0,1)	--Note: not a unit vector, used for projecting onto XZ plane

local THUMBSTICK_DEADZONE = 0.2
local DEFAULT_DISTANCE = 12.5	-- Studs
local PORTRAIT_DEFAULT_DISTANCE = 25		-- Studs
local FIRST_PERSON_DISTANCE_THRESHOLD = 1.0 -- Below this value, snap into first person

local CAMERA_ACTION_PRIORITY = Enum.ContextActionPriority.Default.Value


Prompt: -- @outline // PRIVATE VARIABLES

Response:
local REQUEST_INTERVAL = .1
local MAX_THROTTLE_TIME = 10

local LastUpdate = tick()
local Pool = {}


Prompt: ---[[ Window Settings ]]

Response:
module.MinimumWindowSize = UDim2.new(0.3, 0, 0.25, 0)
module.MaximumWindowSize = UDim2.new(1, 0, 1, 0) -- Should always be less than the full screen size.
module.DefaultWindowPosition = UDim2.new(0, 0, 0, 0)
local extraOffset = (7 * 2) + (5 * 2) -- Extra chatbar vertical offset
module.DefaultWindowSizePhone = UDim2.new(0.5, 0, 0.5, extraOffset)
module.DefaultWindowSizeTablet = UDim2.new(0.4, 0, 0.3, extraOffset)
module.DefaultWindowSizeDesktop = UDim2.new(0.3, 0, 0.25, extraOffset)


Prompt: --------------------) Settings

Response:
Damage = 0 -- the ammout of health the player or mob will take

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

ZoneModelName = "Blood rise" -- name the zone model

MobHumanoidName = "Humanoid"-- the name of player or mob u want to damage


Prompt: --[[Controls]]

Response:
	local _CTRL = _Tune.Controls
	local Controls = Instance.new("Folder",script.Parent)
	Controls.Name = "Controls"
	for i,v in pairs(_CTRL) do
		local a=Instance.new("StringValue",Controls)
		a.Name=i
		a.Value=v.Name
		a.Changed:connect(function()
			if i=="MouseThrottle" or i=="MouseBrake" then
				if a.Value == "MouseButton1" or a.Value == "MouseButton2" then
					_CTRL[i]=Enum.UserInputType[a.Value]
				else
					_CTRL[i]=Enum.KeyCode[a.Value]
				end
			else
				_CTRL[i]=Enum.KeyCode[a.Value]
			end
		end)
	end

	--Deadzone Adjust
	local _PPH = _Tune.Peripherals
		for i,v in pairs(_PPH) do
		local a = Instance.new("IntValue",Controls)
		a.Name = i
		a.Value = v
		a.Changed:connect(function()
			a.Value=math.min(100,math.max(0,a.Value))
			_PPH[i] = a.Value
		end)
	end

	--Input Handler
	function DealWithInput(input,IsRobloxFunction)
		if (UserInputService:GetFocusedTextBox()==nil) and not _InControls then --Ignore when UI Focus
			--Shift Down [Manual Transmission]
			if (input.KeyCode ==_CTRL["ContlrShiftDown"] or (_MSteer and input.KeyCode==_CTRL["MouseShiftDown"]) or ((not _MSteer) and input.KeyCode==_CTRL["ShiftDown"])) and ((_IsOn and ((_TMode=="Auto" and _CGear<=1) and _Tune.AutoShiftVers == "New") or _TMode=="DCT") or _TMode=="Manual") and input.UserInputState == Enum.UserInputState.Begin then
				if not _ShiftDn then _ShiftDn = true end

			--Shift Up [Manual Transmission]
			elseif (input.KeyCode ==_CTRL["ContlrShiftUp"] or (_MSteer and input.KeyCode==_CTRL["MouseShiftUp"]) or ((not _MSteer) and input.KeyCode==_CTRL["ShiftUp"])) and ((_IsOn and ((_TMode=="Auto" and _CGear<1) and _Tune.AutoShiftVers == "New") or _TMode=="DCT") or _TMode=="Manual") and input.UserInputState == Enum.UserInputState.Begin then
				if not _ShiftUp then _ShiftUp = true end

			--Toggle Clutch
			elseif (input.KeyCode ==_CTRL["ContlrClutch"] or (_MSteer and input.KeyCode==_CTRL["MouseClutch"]) or ((not _MSteer) and input.KeyCode==_CTRL["Clutch"])) and _TMode=="Manual" then
				if input.UserInputState == Enum.UserInputState.Begin then
					_ClPressing = true
				elseif input.UserInputState == Enum.UserInputState.End then
					_ClPressing = false
				end

			--Toggle PBrake
			elseif input.KeyCode ==_CTRL["ContlrPBrake"] or (_MSteer and input.KeyCode==_CTRL["MousePBrake"]) or ((not _MSteer) and input.KeyCode==_CTRL["PBrake"]) then
				if input.UserInputState == Enum.UserInputState.Begin then
					_PBrake = not _PBrake
				elseif input.UserInputState == Enum.UserInputState.End then
					if bike.DriveSeat.Velocity.Magnitude>5 then _PBrake = false end
				end

			--Toggle Transmission
			elseif (input.KeyCode == _CTRL["ContlrToggleTMode"] or input.KeyCode==_CTRL["ToggleTransMode"]) and input.UserInputState == Enum.UserInputState.Begin then
				local n=1
				for i,v in pairs(_Tune.TransModes) do
					if v==_TMode then n=i break end
				end
				n=n+1
				if n>#_Tune.TransModes then n=1 end
				_TMode = _Tune.TransModes[n]

			--Throttle
			elseif ((not _MSteer) and (input.KeyCode==_CTRL["Throttle"] or input.KeyCode == _CTRL["Throttle2"])) or ((((_CTRL["MouseThrottle"]==Enum.UserInputType.MouseButton1 or _CTRL["MouseThrottle"]==Enum.UserInputType.MouseButton2) and input.UserInputType == _CTRL["MouseThrottle"]) or input.KeyCode == _CTRL["MouseThrottle"])and _MSteer) then
				if input.UserInputState == Enum.UserInputState.Begin and _IsOn then
					_InThrot = 1
					_TTick = tick()
				else
					_InThrot = _Tune.IdleThrottle/100
					_BTick = tick()
				end

			--Brake
			elseif ((not _MSteer) and (input.KeyCode==_CTRL["Brake"] or input.KeyCode == _CTRL["Brake2"])) or ((((_CTRL["MouseBrake"]==Enum.UserInputType.MouseButton1 or _CTRL["MouseBrake"]==Enum.UserInputType.MouseButton2) and input.UserInputType == _CTRL["MouseBrake"]) or input.KeyCode == _CTRL["MouseBrake"])and _MSteer) then
				if input.UserInputState == Enum.UserInputState.Begin then
					_InBrake = 1
				else
					_InBrake = 0
				end

			--Steer Left
			elseif (not _MSteer) and (input.KeyCode==_CTRL["SteerLeft"] or input.KeyCode == _CTRL["SteerLeft2"]) then
				if input.UserInputState == Enum.UserInputState.Begin then
					_GSteerT = -1
					_SteerL = true
				else
					if _SteerR then
						_GSteerT = 1
					else
						_GSteerT = 0
					end
					_SteerL = false
				end

			--Steer Right
			elseif (not _MSteer) and (input.KeyCode==_CTRL["SteerRight"] or input.KeyCode == _CTRL["SteerRight2"]) then
				if input.UserInputState == Enum.UserInputState.Begin then
					_GSteerT = 1
					_SteerR = true
				else
					if _SteerL then
						_GSteerT = -1
					else
						_GSteerT = 0
					end
					_SteerR = false
				end

			--Toggle Mouse Controls
			elseif input.KeyCode ==_CTRL["ToggleMouseDrive"] then
				if input.UserInputState == Enum.UserInputState.End then
					_MSteer = not _MSteer
					_InThrot = _Tune.IdleThrottle/100
					_TTick = tick()
					_InBrake = 0
					_GSteerT = 0
				end

			--Toggle TCS
			elseif _Tune.TCS and _IsOn and input.KeyCode == _CTRL["ToggleTCS"] or input.KeyCode == _CTRL["ContlrToggleTCS"] then
				if input.UserInputState == Enum.UserInputState.End then _TCS = not _TCS end

			--Toggle ABS
			elseif _Tune.ABS and _IsOn and input.KeyCode == _CTRL["ToggleABS"] or input.KeyCode == _CTRL["ContlrToggleABS"] then
				if input.UserInputState == Enum.UserInputState.End then _ABS = not _ABS end

			end

			--Variable Controls
			if input.UserInputType.Name:find("Gamepad") then
				--Gamepad Steering
				if input.KeyCode == _CTRL["ContlrSteer"] then
					if input.Position.X>= 0 then
						local cDZone = math.min(.99,_Tune.Peripherals.ControlRDZone/100)
						if math.abs(input.Position.X)>cDZone then
							_GSteerT = (input.Position.X-cDZone)/(1-cDZone)
						else
							_GSteerT = 0
						end
					else
						local cDZone = math.min(.99,_Tune.Peripherals.ControlLDZone/100)
						if math.abs(input.Position.X)>cDZone then
							_GSteerT = (input.Position.X+cDZone)/(1-cDZone)
						else
							_GSteerT = 0
						end
					end

				--Gamepad Throttle
				elseif input.KeyCode == _CTRL["ContlrThrottle"] then
					if _IsOn then
						_InThrot = math.max(_Tune.IdleThrottle/100,input.Position.Z)
						if _InThrot > _Tune.IdleThrottle/100 then _TTick = tick() else _BTick = tick() end
					else
						_InThrot = _Tune.IdleThrottle/100
						_BTick = tick()
					end

				--Gamepad Brake
				elseif input.KeyCode == _CTRL["ContlrBrake"] then
					_InBrake = input.Position.Z
				end
			end
		else
			_InThrot = _Tune.IdleThrottle/100
			_GSteerT = 0
			_InBrake = 0
		end
	end
	UserInputService.InputBegan:connect(DealWithInput)
	UserInputService.InputChanged:connect(DealWithInput)
	UserInputService.InputEnded:connect(DealWithInput)


Prompt: --| Main |--

Response:
Remote.PhongDev.OnServerEvent:Connect(function(LocalPlayer)
		--| Sound |--
		delay(0.9, function()
		local Sound = Replicated.Access.Sounds.Transform:Clone()
		Sound.Parent = LocalPlayer.Character.PrimaryPart
		Sound:Play()
		Debris:AddItem(Sound, 3)
		end)

		--| Anchor HumanoidRootPart |--
		spawn(function()
		LocalPlayer.Character.PrimaryPart.Anchored = true
		wait(4) -- time when done animation
		LocalPlayer.Character.PrimaryPart.Anchored = false
		end)

		--| Health |--
		delay(2.05, function()
		local Humanoid = LocalPlayer.Character:FindFirstChild("Humanoid")
		Humanoid.Health += Humanoid.MaxHealth/3
		end)

		--| Speed |--
		delay(4, function()
		local Humanoid = LocalPlayer.Character:FindFirstChild("Humanoid")
		local Speed = Humanoid.WalkSpeed * 2.5

		Humanoid.WalkSpeed += Speed
		wait(Cooldown.Value)
		Humanoid.WalkSpeed -= Speed -- default speed
		end)
end)


Prompt: -- switch animation

Response:
if (anim ~= currentAnimInstance) then
if (currentAnimTrack ~= nil) then
currentAnimTrack:Stop(transitionTime)
currentAnimTrack:Destroy()
end
currentAnimSpeed = 1.0


Prompt:
--To Do:
-- Sanity Checks

Response:
local CurrentSeats = {}
local SeatsInteractingPlayers = {} --Each seat has a table of players containing the last interacting time from each playere

module = {}

function module.AddSeat(Seat)
	print("Adding seat")
	local EnterEvent = Instance.new("BindableEvent")
	local ExitEvent = Instance.new("BindableEvent")
	table.insert(CurrentSeats,Seat)
	script.NewSeat:FireAllClients(Seat)

	--Connect seat in listener
	local C1 = Seat.ChildAdded:Connect(function(Obj)
		if Obj.Name == "SeatWeld" then
			if Obj.Part1 then
				if Obj.Part1.Name == "HumanoidRootPart" then
					local Player = game.Players:GetPlayerFromCharacter(Obj.Part1.Parent)
					if Player then
						print("Enter event fired")
						EnterEvent:Fire(Player)
					end
				end
			end
		end
	end)

	local C2 = Seat.ChildRemoved:Connect(function(Obj)
		if Obj.Name == "SeatWeld" then
			if Obj.Part1 then
				if Obj.Part1.Name == "HumanoidRootPart" then
					local Player = game.Players:GetPlayerFromCharacter(Obj.Part1.Parent)
					if Player then
						print("Enter event fired")
						ExitEvent:Fire(Player)
					end
				end
			end
		end
	end)

	--Clean up after the seat is destroyed
	Seat.AncestryChanged:connect(function()
		if not Seat:IsDescendantOf(game) then
			C1:Disconnect()
			C2:Disconnect()
			EnterEvent:Destroy()
			ExitEvent:Destroy()
			SeatsInteractingPlayers[Seat] = nil
			for i,v in pairs(CurrentSeats) do
				if v == Seat then
					v = nil
				end
			end
		end
	end)

	return EnterEvent,ExitEvent
end

function module.SeatCharacter(HRP,Seat)
	local sw = Instance.new("Weld")
	sw.Part0, sw.Part1 = Seat, HRP
	sw.C0, sw.C1 = CFrame.new(0, 0.5, 0, 1, 0, -0, 0, 0, 1, 0, -1, -0), CFrame.new(0, Seat.Size.Y*-.5+HRP.Size.Y*-.5, 0, 1, 0, -0, 0, 0, 1, 0, -1, -0)
	sw.Name = "SeatWeld"
	sw.Parent = Seat
end

script.GetSeats.OnServerInvoke = function(Player)
	return CurrentSeats
end

script.GetInSeat.OnServerEvent:Connect(function(Player,Seat)
	if not Seat:FindFirstChild("SeatWeld") then
		if Player.Character ~= nil then
			local HRP = Player.Character:FindFirstChild("HumanoidRootPart")
			if HRP then
				local Dist = (HRP.Position - Seat.Position).magnitude
				if Dist<=10 then
					module.SeatCharacter(HRP,Seat)
				end
			end
		end
	end
end)


Prompt: --// Damage Settings

Response:
	BaseDamage = 46; -- Torso Damage
	LimbDamage = 39; -- Arms and Legs
	ArmorDamage = 39; -- How much damage is dealt against armor (Name the armor "Armor")
	HeadDamage = 73; -- If you set this to 100, there's a chance the player won't die because of the heal script


Prompt: --// # key, ManOn

Response:
mouse.KeyDown:connect(function(key)
	if key=="h" then
		veh.Lightbar.middle.Man:Play()
		veh.Lightbar.middle.Wail.Volume = 0
		veh.Lightbar.middle.Yelp.Volume = 0
		veh.Lightbar.middle.Priority.Volume = 0
		script.Parent.Parent.Sirens.Man.BackgroundColor3 = Color3.fromRGB(215, 135, 110)
		veh.Lightbar.MAN.Transparency = 0
	end
end)


Prompt: --// Firemode Shot Customization

Response:
	BurstNum = 3;
	ShotNum = 5;


Prompt: --Turn Control------------------------------------------------------------------------

Response:
YArrow = script.Parent.YellowTurn.YLamp
GArrow = script.Parent.BimodalArrow.Lamp
FYellow = script.Parent.BimodalArrow.YLamp
DYArrow = script.Parent.YellowTurn.YDynamicLight
DGArrow = script.Parent.BimodalArrow.DynamicLight
DFYellow = script.Parent.BimodalArrow.YDynamicLight
function TurnActive()
	if Turn.Value == 0 then
		GArrow.Enabled = false
		YArrow.Enabled = false
		FYellow.Enabled = false
		DGArrow.Enabled = false
		DYArrow.Enabled = false
		DFYellow.Enabled = false
	elseif Turn.Value == 1 then
		GArrow.Enabled = true
		YArrow.Enabled = false
		FYellow.Enabled = false
		DGArrow.Enabled = true
		DYArrow.Enabled = false
		DFYellow.Enabled = false
	elseif Turn.Value == 2 then
		GArrow.Enabled = false
		YArrow.Enabled = true
		FYellow.Enabled = false
		DGArrow.Enabled = false
		DYArrow.Enabled = true
		DFYellow.Enabled = false
	elseif Turn.Value == 3 then
		GArrow.Enabled = false
		FYellow.Enabled = false
		YArrow.Enabled = false
		DGArrow.Enabled = false
		DFYellow.Enabled = false
		DYArrow.Enabled = false

	end
end
Turn.Changed:connect(TurnActive)


Prompt:
--[[script.Parent.TratarFeridasAberto.Tourniquet.MouseButton1Down:Connect(function()
	if Saude.Variaveis.Doer.Value == false then
	if Target.Value == "N/A" then
		Functions.Energetic:FireServer()
		Timer.Barra.Size = UDim2.new(0,0,1,0)
		TS:Create(Timer.Barra, TweenInfo.new(2), {Size =  UDim2.new(1,0,1,0)}):Play()
	else
		--FunctionsMulti.Energetic:FireServer()
	end
end
end)]]


Prompt: -- Text size default properties

Response:
defaults.TextScaled = true
defaults.TextScaleRelativeTo = "Frame" -- "Frame" or "Screen" If Frame, will scale relative to vertical size of the parent frame. If Screen, will scale relative to vertical size of the ScreenGui.
defaults.TextScale = 0.25 -- If you want the frame to have a nominal count of n lines of text, make this value 1 / n. For four lines, 1 / 4 = 0.25.
defaults.TextSize = 20 -- Only applicable if TextScaled = false


Prompt: -- Modules

Response:
local ReplicatedModuleScripts = ReplicatedStorage:FindFirstChild("ModuleScripts")
local RaceManager = require(ReplicatedModuleScripts:FindFirstChild("RaceManager"))


Prompt:
--[[
Turn off
]]

Response:
function Cell:Kill()
	self.Alive = false
	self.Part.Material = "SmoothPlastic"
	self.Part.BrickColor = BrickColor.new("Earth green")
end

return Cell


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

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

          -- If player died


Prompt: -- ALEX WAS HERE LOL

Response:
local v1 = {};
local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
end)();
function v1.Currency(p1, p2, p3, p4)
	local v2 = u1.Saving.Get(p1);
	if not v2 then
		return;
	end;
	if not p2 or p2 ~= p2 then
		return print("Prevented possible NaN for giving coins", true);
	end;
	p3 = p3 or "Energy";
	p2 = math.round(p2 or 0);
	local v3 = v2[p3];
	if v3 == -1 then
		v3 = 0;
		v2[p3] = 0;
	end;
	v2[p3] = p4 and v2[p3] + p2 or math.clamp(v2[p3] + p2, 0, p3 == "Gems" and u1.Settings.MaxGems or u1.Settings.MaxEnergy);
	local v4 = v2[p3] - v3;
	return v4 ~= v3, v4;
end;
function v1.Slots(p5, p6)
	local v5 = u1.Saving.Get(p5);
	if not v5 then
		return;
	end;
	p6 = math.round(p6 or 0);
	v5.MaxSlots = math.clamp(v5.MaxSlots + p6, 1, u1.Settings.MaxSlots);
	--print(v5.MaxSlots ~= v5.MaxSlots)
	return true
end;

function v1.SkipFurtune(plr)
	local v2 = u1.Saving.Get(plr);
	if not v2 then
		return;
	end;
	v2.FurtuneWheel = 0
	return true
end
return v1;


Prompt: -- connect up

Response:
function stopLoopedSounds()
	sRunning:Stop()
	sClimbing:Stop()
	sSwimming:Stop()
end

Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Swimming:connect(onSwimming)
Humanoid.Climbing:connect(onClimbing)
Humanoid.Jumping:connect(function(state) onStateNoStop(state, sJumping) prevState = "Jump" end)
Humanoid.GettingUp:connect(function(state) stopLoopedSounds() onStateNoStop(state, sGettingUp) prevState = "GetUp" end)
Humanoid.FreeFalling:connect(function(state) stopLoopedSounds() onStateFall(state, sFreeFalling) prevState = "FreeFall" end)
Humanoid.FallingDown:connect(function(state) stopLoopedSounds() end)
Humanoid.StateChanged:connect(function(old, new)
	if not (new.Name == "Dead" or
			new.Name == "Running" or
			new.Name == "RunningNoPhysics" or
			new.Name == "Swimming" or
			new.Name == "Jumping" or
			new.Name == "GettingUp" or
			new.Name == "Freefall" or
			new.Name == "FallingDown") then
		stopLoopedSounds()
	end
end)


Prompt: --// Unused (Don't delete)

Response:
	RestMode = false;
	AttachmentsEnabled = true;
	UIScope = false;
	CanSlideLock = true;


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

Response:
client = nil;
service = nil;
return function(p1)
	local l__mouse__1 = service.Players.LocalPlayer:GetMouse();
	local v2 = client.UI.Make("Window", {
		Name = "Paint",
		Title = "Paint",
		Icon = client.MatIcons.Palette
	});
	local v3 = v2:Add("Frame", {
		Size = UDim2.new(1, 0, 0, 28),
		Position = UDim2.new(0, 0, 0, 0),
		BackgroundTransparency = 1
	});
	local v4 = v3:Add("TextLabel", {
		Size = UDim2.new(0, 100, 1, -8),
		Position = UDim2.new(1, -180, 0, 4),
		Text = "Pixels: 0",
		TextXAlignment = "Right",
		BackgroundTransparency = 1
	});
	local v5 = v2:Add("ScrollingFrame", {
		Position = UDim2.new(0, 0, 0, 30),
		Size = UDim2.new(1, 0, 1, -30),
		BackgroundColor3 = Color3.new(1, 1, 1),
		ClipsDescendants = true
	});
	local u1 = v5:Add("Frame", {
		Position = UDim2.new(0, 0, 0, 0),
		Size = UDim2.new(0, 4, 0, 4),
		BackgroundColor3 = Color3.new(0, 0, 0),
		BackgroundTransparency = 0,
		Visible = false
	});
	v5.MouseEnter:Connect(function()
		u1.Visible = true;
	end);
	v5.MouseLeave:Connect(function()
		u1.Visible = false;
	end);
	local u2 = false;
	v5.MouseMoved:Connect(function(p2, p3)
		local v6 = Vector2.new(math.abs(p2 - v5.AbsolutePosition.X), math.abs(p3 - v5.AbsolutePosition.Y - 36));
		u1.Position = UDim2.new(0, v6.X, 0, v6.Y);
		if u2 == false then
			return;
		end;
		local v7 = u1:Clone();
		v7.Name = "Pixel";
		v7.Parent = v5;
		v4.Text = "Pixels: " .. tostring(v4.Text:sub(9) + 1);
	end);
	local v8 = v3:Add("TextButton", {
		Size = UDim2.new(0, 70, 1, -8),
		Position = UDim2.new(1, -75, 0, 4),
		Text = "Clear",
		TextXAlignment = "Center",
		OnClick = function()
			for v9, v10 in pairs((v5:GetChildren())) do
				if v10.Name == "Pixel" then
					v10:Destroy();
				end;
			end;
			v4.Text = "Pixels: 0";
		end
	});
	v3:Add("TextLabel", {
		Text = " Color: ",
		Size = UDim2.new(0, 90, 1, -8),
		Position = UDim2.new(0, 5, 0, 4),
		BackgroundTransparency = 0.25,
		TextXAlignment = "Left",
		Children = { {
				Class = "TextButton",
				Text = "",
				Size = UDim2.new(0, 40, 1, -6),
				Position = UDim2.new(1, -45, 0, 3),
				BackgroundColor3 = Color3.new(0, 0, 0),
				TextTransparency = 0,
				BackgroundTransparency = 0,
				BorderPixelSize = 1,
				BorderColor3 = Color3.fromRGB(100, 100, 100),
				OnClick = function(p4)
					local v11 = client.UI.Make("ColorPicker", {
						Color = Color3.new(0, 0, 0)
					});
					p4.BackgroundColor3 = v11;
					u1.BackgroundColor3 = v11;
				end
			} }
	});
	local v12 = v3:Add("TextLabel", {
		Text = "  Size: ",
		BackgroundTransparency = 0,
		Size = UDim2.new(0, 70, 1, -8),
		Position = UDim2.new(0, 100, 0, 4),
		TextXAlignment = "Left",
		Children = {
			TextBox = {
				Text = "",
				PlaceholderText = "4",
				Size = UDim2.new(0, 26, 1, 0),
				Position = UDim2.new(1, -31, 0, 0),
				BackgroundTransparency = 1,
				TextXAlignment = "Right",
				ClipsDescendants = true,
				TextChanged = function(p5, p6, p7)
					if tonumber(p5) then
						if not (tonumber(p5) < 100) then
							u1.Size = UDim2.new(0, 99, 0, 99);
							return;
						end;
					else
						return;
					end;
					u1.Size = UDim2.new(0, p5, 0, p5);
				end
			}
		}
	});
	v2:Ready();
	service.UserInputService.InputBegan:Connect(function(p8)
		if p8.UserInputType == Enum.UserInputType.MouseButton1 then
			u2 = true;
		end;
	end);
	service.UserInputService.InputEnded:Connect(function(p9)
		if p9.UserInputType == Enum.UserInputType.MouseButton1 then
			u2 = false;
		end;
	end);
end;


Prompt: -- Management of which options appear on the Roblox User Settings screen

Response:
do
	local PlayerScripts = Players.LocalPlayer:WaitForChild("PlayerScripts")

	PlayerScripts:RegisterTouchCameraMovementMode(Enum.TouchCameraMovementMode.Default)
	PlayerScripts:RegisterTouchCameraMovementMode(Enum.TouchCameraMovementMode.Follow)
	PlayerScripts:RegisterTouchCameraMovementMode(Enum.TouchCameraMovementMode.Classic)

	PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.Default)
	PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.Follow)
	PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.Classic)
end

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

	-- Current active controller instances
	self.activeCameraController = nil
	self.activeOcclusionModule = nil
	self.activeTransparencyController = nil
	self.activeMouseLockController = nil

	self.currentComputerCameraMovementMode = nil

	-- Connections to events
	self.cameraSubjectChangedConn = nil
	self.cameraTypeChangedConn = nil

	-- Adds CharacterAdded and CharacterRemoving event handlers for all current players
	for _,player in pairs(Players:GetPlayers()) do
		self:OnPlayerAdded(player)
	end

	-- Adds CharacterAdded and CharacterRemoving event handlers for all players who join in the future
	Players.PlayerAdded:Connect(function(player)
		self:OnPlayerAdded(player)
	end)

	self.activeTransparencyController = TransparencyController.new()
	self.activeTransparencyController:Enable(true)

	if not UserInputService.TouchEnabled then
		self.activeMouseLockController = MouseLockController.new()
		local toggleEvent = self.activeMouseLockController:GetBindableToggleEvent()
		if toggleEvent then
			toggleEvent:Connect(function()
				self:OnMouseLockToggled()
			end)
		end
	end

	self:ActivateCameraController(self:GetCameraControlChoice())
	self:ActivateOcclusionModule(Players.LocalPlayer.DevCameraOcclusionMode)
	self:OnCurrentCameraChanged() -- Does initializations and makes first camera controller
	RunService:BindToRenderStep("cameraRenderUpdate", Enum.RenderPriority.Camera.Value, function(dt) self:Update(dt) end)

	-- Connect listeners to camera-related properties
	for _, propertyName in pairs(PLAYER_CAMERA_PROPERTIES) do
		Players.LocalPlayer:GetPropertyChangedSignal(propertyName):Connect(function()
			self:OnLocalPlayerCameraPropertyChanged(propertyName)
		end)
	end

	for _, propertyName in pairs(USER_GAME_SETTINGS_PROPERTIES) do
		UserGameSettings:GetPropertyChangedSignal(propertyName):Connect(function()
			self:OnUserGameSettingsPropertyChanged(propertyName)
		end)
	end
	game.Workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(function()
		self:OnCurrentCameraChanged()
	end)

	self.lastInputType = UserInputService:GetLastInputType()
	UserInputService.LastInputTypeChanged:Connect(function(newLastInputType)
		self.lastInputType = newLastInputType
	end)

	return self
end

function CameraModule:GetCameraMovementModeFromSettings()
	local cameraMode = Players.LocalPlayer.CameraMode

	-- Lock First Person trumps all other settings and forces ClassicCamera
	if cameraMode == Enum.CameraMode.LockFirstPerson then
		return CameraUtils.ConvertCameraModeEnumToStandard(Enum.ComputerCameraMovementMode.Classic)
	end

	local devMode, userMode
	if UserInputService.TouchEnabled then
		devMode = CameraUtils.ConvertCameraModeEnumToStandard(Players.LocalPlayer.DevTouchCameraMode)
		userMode = CameraUtils.ConvertCameraModeEnumToStandard(UserGameSettings.TouchCameraMovementMode)
	else
		devMode = CameraUtils.ConvertCameraModeEnumToStandard(Players.LocalPlayer.DevComputerCameraMode)
		userMode = CameraUtils.ConvertCameraModeEnumToStandard(UserGameSettings.ComputerCameraMovementMode)
	end

	if devMode == Enum.DevComputerCameraMovementMode.UserChoice then
		-- Developer is allowing user choice, so user setting is respected
		return userMode
	end

	return devMode
end

function CameraModule:ActivateOcclusionModule( occlusionMode )
	local newModuleCreator = nil
	if occlusionMode == Enum.DevCameraOcclusionMode.Zoom then
		newModuleCreator = Poppercam
	elseif occlusionMode == Enum.DevCameraOcclusionMode.Invisicam then
		newModuleCreator = Invisicam
	else
		warn("CameraScript ActivateOcclusionModule called with unsupported mode")
		return
	end

	-- First check to see if there is actually a change. If the module being requested is already
	-- the currently-active solution then just make sure it's enabled and exit early
	if self.activeOcclusionModule and self.activeOcclusionModule:GetOcclusionMode() == occlusionMode then
		if not self.activeOcclusionModule:GetEnabled() then
			self.activeOcclusionModule:Enable(true)
		end
		return
	end

	-- Save a reference to the current active module (may be nil) so that we can disable it if
	-- we are successful in activating its replacement
	local prevOcclusionModule = self.activeOcclusionModule

	-- If there is no active module, see if the one we need has already been instantiated
	self.activeOcclusionModule = instantiatedOcclusionModules[newModuleCreator]

	-- If the module was not already instantiated and selected above, instantiate it
	if not self.activeOcclusionModule then
		self.activeOcclusionModule = newModuleCreator.new()
		if self.activeOcclusionModule then
			instantiatedOcclusionModules[newModuleCreator] = self.activeOcclusionModule
		end
	end

	-- If we were successful in either selecting or instantiating the module,
	-- enable it if it's not already the currently-active enabled module
	if self.activeOcclusionModule then
		local newModuleOcclusionMode = self.activeOcclusionModule:GetOcclusionMode()
		-- Sanity check that the module we selected or instantiated actually supports the desired occlusionMode
		if newModuleOcclusionMode ~= occlusionMode then
			warn("CameraScript ActivateOcclusionModule mismatch: ",self.activeOcclusionModule:GetOcclusionMode(),"~=",occlusionMode)
		end

		-- Deactivate current module if there is one
		if prevOcclusionModule then
			-- Sanity check that current module is not being replaced by itself (that should have been handled above)
			if prevOcclusionModule ~= self.activeOcclusionModule then
				prevOcclusionModule:Enable(false)
			else
				warn("CameraScript ActivateOcclusionModule failure to detect already running correct module")
			end
		end

		-- Occlusion modules need to be initialized with information about characters and cameraSubject
		-- Invisicam needs the LocalPlayer's character
		-- Poppercam needs all player characters and the camera subject
		if occlusionMode == Enum.DevCameraOcclusionMode.Invisicam then
			-- Optimization to only send Invisicam what we know it needs
			if Players.LocalPlayer.Character then
				self.activeOcclusionModule:CharacterAdded(Players.LocalPlayer.Character, Players.LocalPlayer )
			end
		else
			-- When Poppercam is enabled, we send it all existing player characters for its raycast ignore list
			for _, player in pairs(Players:GetPlayers()) do
				if player and player.Character then
					self.activeOcclusionModule:CharacterAdded(player.Character, player)
				end
			end
			self.activeOcclusionModule:OnCameraSubjectChanged(game.Workspace.CurrentCamera.CameraSubject)
		end

		-- Activate new choice
		self.activeOcclusionModule:Enable(true)
	end
end


Prompt:
--// Hash: 86b950b579449b6aff2d1d571d12200b2726731a82186aa2b9985f46462fa08b79dc3d6c13dbe66462887159f5dc645e
-- Decompiled with the Synapse X Luau decompiler.

Response:
local l1 = "pc"
game:GetService("UserInputService").InputBegan:Connect(function(obj: InputObject)
	if obj.UserInputType == Enum.UserInputType.None then l1 = "pc" end
	if obj.UserInputType == Enum.UserInputType.Gamepad1 then l1 = "console" end
	if obj.UserInputType == Enum.UserInputType.Gamepad2 then l1 = "console" end
	if obj.UserInputType == Enum.UserInputType.Gamepad3 then l1 = "console" end
	if obj.UserInputType == Enum.UserInputType.Gamepad4 then l1 = "console" end
	if obj.UserInputType == Enum.UserInputType.Gamepad5 then l1 = "console" end
	if obj.UserInputType == Enum.UserInputType.Gamepad6 then l1 = "console" end
	if obj.UserInputType == Enum.UserInputType.Gamepad7 then l1 = "console" end
	if obj.UserInputType == Enum.UserInputType.Gamepad8 then l1 = "console" end
	if obj.UserInputType == Enum.UserInputType.Touch then l1 = "mobile" end
	if obj.UserInputType == Enum.UserInputType.Keyboard then l1 = "pc" end
end)

local v16
local v21
local v19
local v20
local v22, v23


Prompt: --Set the orientation with Y taking precedence, then Z.

Response:
function Meta:SetOrientationYZ(upVector, backVector)
	self.topVector = upVector.unit;
	self.rightVector = self.topVector:Cross(backVector).unit;
	self.backVector = self.rightVector:Cross(self.topVector);
end

function Meta:VectorToObjectSpace(v)
	return v:Dot(self.rightVector), v:Dot(self.topVector), v:Dot(self.backVector);
end
function Meta:VectorToWorldSpace(v)
	return v.x * self.rightVector + v.y * self.topVector + v.z * self.backVector;
end

function Meta.new()
	local self = setmetatable({}, Meta);
	return self;
end

return Meta;


Prompt:
--[=[
	@within Gamepad
	@prop State GamepadState
	@readonly
	Maps KeyCodes to the matching InputObjects within the gamepad.
	These can be used to directly read the current input state of
	a given part of the gamepad. For most cases, the given methods
	and properties of `Gamepad` should make use of this table quite
	rare, but it is provided for special use-cases that might occur.

	:::note Do Not Cache
	These state objects will change if the active gamepad changes.
	Because a player might switch up gamepads during playtime, it cannot
	be assumed that these state objects will always be the same. Thus
	they should be accessed directly from this `State` table anytime they
	need to be used.
	:::

	```lua
	local leftThumbstick = gamepad.State[Enum.KeyCode.Thumbstick1]
	print(leftThumbstick.Position)
	-- It would be better to use gamepad:GetThumbstick(Enum.KeyCode.Thumbstick1),
	-- but this is just an example of direct state access.
	```
]=]


Prompt: --// Servic

Response:
local rp = game:GetService('ReplicatedStorage')
local plr = game:GetService('Players').LocalPlayer
local UIS = game:GetService('UserInputService')

repeat task.wait() until plr.Character
local char = plr.Character
local hum,hroot = char:WaitForChild('Humanoid'), char:WaitForChild('HumanoidRootPart')

local remoteFold = rp.remoteFold

remoteFold['Client'].OnClientEvent:Connect(function(Data)
	-- Module ,  ModuleFunction(Passed Data)
	if Data.M and Data.F then
		local Module = require(Data.M) -- M -> Module, F -> Function
		Module[Data.F](Data)
	end
	--print('client', Data)
	--print(Data)
end)


Prompt: --- Hides the command bar

Response:
function Window:Hide()
	return self:SetVisible(false)
end


Prompt: --[[ Constants ]]

Response:
--
local DEFAULT_MOUSE_LOCK_CURSOR = "rbxasset://textures/MouseLockedCursor.png"

local CONTEXT_ACTION_NAME = "MouseLockSwitchAction"
local MOUSELOCK_ACTION_PRIORITY = Enum.ContextActionPriority.Default.Value

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