Prompt: -- http://www.ryanjuckett.com/programming/damped-springs/

Response:
local EPSILON = 0.0001;

local exp = math.exp;
local cos = math.cos;
local sin = math.sin;
local sqrt = math.sqrt;

local spring = {};
local spring_mt = {__index = spring};

function spring.new(p0, v0, target, angularFrequency, dampingRatio)
	local self = {};
	self.p = p0;
	self.v = v0;
	self.target = target;
	self.angularFrequency = angularFrequency or 10;
	self.dampingRatio = dampingRatio or 1;
	return setmetatable(self, spring_mt);
end

function spring:update(dt)
	local aF = self.angularFrequency;
	local dR =  self.dampingRatio;

	if (aF < EPSILON) then return; end;
	if (dR < 0) then dR = 0; end;

	local epos = self.target;
	local dpos = self.p - epos;
	local dvel = self.v;

	if (dR > 1 + EPSILON) then
		local za = -aF * dR;
		local zb = aF * sqrt(dR*dR - 1);
		local z1 = za - zb;
		local z2 = za + zb;
		local expTerm1 = exp(z1 * dt);
		local expTerm2 = exp(z2 * dt);

		local c1 = (dvel - dpos*z2)/(-2*zb);
		local c2 = dpos - c1;
		self.p = epos + c1*expTerm1 + c2*expTerm2;
		self.v = c1*z1*expTerm1 + c2*z2*expTerm2;
	elseif (dR > 1 - EPSILON) then
		local expTerm = exp(-aF * dt);

		local c1 = dvel + aF*dpos;
		local c2 = dpos;
		local c3 = (c1*dt + c2)*expTerm;

		self.p = epos + c3;
		self.v = (c1*expTerm) - (c3*aF);
	else
		local omegaZeta = aF*dR;
		local alpha = aF*sqrt(1 - dR*dR);
		local expTerm = exp(-omegaZeta*dt);
		local cosTerm = cos(alpha*dt);
		local sinTerm = sin(alpha*dt);

		local c1 = dpos;
		local c2 = (dvel + omegaZeta*dpos) / alpha;
		self.p = epos + expTerm*(c1*cosTerm + c2*sinTerm);
		self.v = -expTerm*((c1*omegaZeta - c2*alpha)*cosTerm + (c1*alpha + c2*omegaZeta)*sinTerm);
	end
end

return spring;


Prompt:
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- STATE CHANGE HANDLERS

Response:
function onRunning(speed)
	local heightScale = if userAnimateScaleRun then getHeightScale() else 1

	local movedDuringEmote = currentlyPlayingEmote and Humanoid.MoveDirection == Vector3.new(0, 0, 0)
	local speedThreshold = movedDuringEmote and (Humanoid.WalkSpeed / heightScale) or 0.75
	if speed > speedThreshold * heightScale then
		local scale = 16.0
		playAnimation("walk", 0.2, Humanoid)
		setAnimationSpeed(speed / scale)
		pose = "Running"
	else
		if emoteNames[currentAnim] == nil and not currentlyPlayingEmote then
			playAnimation("idle", 0.2, Humanoid)
			pose = "Standing"
		end
	end
end

function onDied()
	pose = "Dead"
end

function onJumping()
	playAnimation("jump", 0.1, Humanoid)
	jumpAnimTime = jumpAnimDuration
	pose = "Jumping"
end

function onClimbing(speed)
	if userAnimateScaleRun then
		speed /= getHeightScale()
	end
	local scale = 5.0
	playAnimation("climb", 0.1, Humanoid)
	setAnimationSpeed(speed / scale)
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	if (jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	end
	pose = "FreeFall"
end

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	pose = "Seated"
end

function onPlatformStanding()
	pose = "PlatformStanding"
end


Prompt:
--[[
	Add a new child under the test plan's root node.
]]

Response:
function TestPlan:addChild(phrase, nodeType, nodeModifier)
	nodeModifier = getModifier(phrase, self.testNamePattern, nodeModifier)
	local child = TestNode.new(self, phrase, nodeType, nodeModifier)
	table.insert(self.children, child)
	return child
end


Prompt:
--[[
    Returns a HumanoidDescription representing the outfit that "player" is
    currently wearing, with the addition of one extra item given by "assetId".

    The "assetType" parameter represents which kind of accessories the new one
    belongs to. It must be the name of a property under HumanoidDescription. If
    the user is already wearing items of that type, those are removed first.

    In case of a failure to retrieve "player"'s current outfit, a generic
    character look is generated.
]]

Response:
local MerchBooth = script:FindFirstAncestor("MerchBooth")

local Cryo = require(MerchBooth.Packages.Cryo)
local matchAssetTypeToAccessoryType = require(MerchBooth.Modules.matchAssetTypeToAccessoryType)
local isAccessory = require(MerchBooth.Modules.isAccessory)
local isClassicClothing = require(MerchBooth.Modules.isClassicClothing)

local DEFAULT_BODY_COLOR = Color3.fromRGB(122, 122, 122)

local function generateDescriptionWithItem(player: Player, assetId: number, assetType: Enum.AssetType)
	local character = player and player.Character
	local humanoid = character and character:FindFirstChildOfClass("Humanoid")
	local description = humanoid and humanoid:GetAppliedDescription()

	-- We could run into the "no description" case if, for instance, the game
	-- has characters disabled. In which case, we want a new description with
	-- character colors set to grey (default is black and isn't very visible in
	-- the default dark theme).
	if not description then
		description = Instance.new("HumanoidDescription")
		description.HeadColor = DEFAULT_BODY_COLOR
		description.TorsoColor = DEFAULT_BODY_COLOR
		description.LeftArmColor = DEFAULT_BODY_COLOR
		description.RightArmColor = DEFAULT_BODY_COLOR
		description.LeftLegColor = DEFAULT_BODY_COLOR
		description.RightLegColor = DEFAULT_BODY_COLOR
	end

	if isAccessory(assetType) then
		local accessoryTypeEnum = matchAssetTypeToAccessoryType(assetType)
		local accessories = Cryo.List.filter(description:GetAccessories(true), function(accessory)
			return accessory.AccessoryType ~= accessoryTypeEnum
		end)
		table.insert(accessories, {
			Order = 1,
			AssetId = assetId,
			AccessoryType = accessoryTypeEnum,
		})
		description:SetAccessories(accessories, true)
	elseif isClassicClothing(assetType) then
		if assetType == Enum.AssetType.TShirt then
			description.GraphicTShirt = assetId
		elseif assetType == Enum.AssetType.Shirt then
			description.Shirt = assetId
		elseif assetType == Enum.AssetType.Pants then
			description.Pants = assetId
		end
	end

	return description
end

return generateDescriptionWithItem


Prompt: --[[Rear]]

Response:
--
	Tune.RSusDamping	= 120 		-- Dampening
	Tune.RSusStiffness	= 4000		-- Stiffness

	Tune.RSusLength		= 1.85 		-- Suspension length (in studs)
	Tune.RPreComp		= -0.1 		-- Vehicle height, relative to your suspension settings
	Tune.RExtLimit		= .2 		-- Max Extension Travel (in studs)
	Tune.RCompLimit		= .8 		-- Max Compression Travel (in studs)

	Tune.RBaseOffset	= {				-- Suspension base point
		 --[[Lateral]]		0		,	-- positive = outward
		 --[[Vertical]]		1.7		,	-- positive = upward
		 --[[Forward]]		-.5		}	-- positive = forward

	Tune.RBricksVisible	= false 	-- Makes the front suspension bricks visible (Debug)
	Tune.RConstsVisible	= false 	-- Makes the front suspension constraints visible (Debug)


Prompt: --!strict

Response:
local BloxbizSDK = script.Parent.Parent.Parent.Parent

local UtilsStorage = BloxbizSDK:FindFirstChild("Utils")
local Fusion = require(UtilsStorage:WaitForChild("Fusion"))

export type States = {
	Enabled: Fusion.Value<boolean>,
	Hovering: Fusion.Value<boolean>,
	HeldDown: Fusion.Value<boolean>,
	Selected: Fusion.Value<boolean>,
}

export type Values<T> = {
	MouseDown: T?,
	Selected: T?,
	Hover: T?,
	Disabled: T?,
	Default: T,
}

return function(states: States, values: Values<any>, speed: number?, damping: number?): Fusion.Spring<any>
	return Fusion.Spring(
		Fusion.Computed(function()
			if states.Enabled:get() then
				if states.Selected:get() then
					return values.Selected or values.Default
				elseif states.HeldDown:get() then
					return values.MouseDown or values.Default
				elseif states.Hovering:get() then
					return values.Hover or values.Default
				else
					return values.Default
				end
			else
				return values.Disabled or values.Default
			end
		end),
		speed or 20,
		damping or 1
	)
end


Prompt:
-- NOTE: To hide this from the games folder structure use the command bar and type >hide
-- To Show it again type >show

Response:
local SETTINGS = {
	--The thing you need to use before typing the macro
	PREFIX = "!",
	--The splitter character for between the (). Note: This has to be 1 character
	ARGUMENT_SPLITTER = ",",
	--The default is tab, and this is the key you must press after typing out the macro
	ACTIVATION_KEY = "	",
	--Used for >MS(). If this is on and it requires a service to be added to the file it will also add that chunk of code. (Note: With this off it wont work as intended if it doesnt have the service already in file declared as a varable)
	AUTO_IMPORT = true,
	--turn this off to allow any sort of casing like: >gS(Players),
	CASE_SENSATIVE_COMMANDS = false,
	--Used for >MS() so it knows what paths its allowed to look into (Note: this has to be a top level path)
	SEARCH_LOCATIONS = {"Workspace", "Players", "MaterialService", "ReplicatedFirst", "ReplicatedStorage", "ServerScriptService", "ServerStorage", "StarterGui", "StarterPack", "StarterPlayer", "Teams", "Chat", "TextChatService", "LocalizationService", "TestService"},
	--NOT WORKING RIGHT, ONLY TURN ON IF YOU WANT TO SEE WHAT IT DOES.
	--What its supposed to do is if it sees that a required service is lower than the line you are adding it to then it will move the service up to the current line
	REORGANISE_IMPORTS = false,
}

return SETTINGS


Response:
	if smoke == true then
		mouse.KeyDown:connect(function(key)
		if key == camkey and enabled == false then

		local children = car.Wheels:GetChildren()

		for index, child in pairs(children) do
				if child:IsA("Part") then
						local effect = script.soundeffect:Clone()
						effect.Name = "soundeffectCop"
				effect.Parent = child.SQ
			end
		end
		elseif key == camkey and enabled == true then
			local children = car.Wheels:GetChildren()

			for index, child in pairs(children) do
				if child:IsA("Part") then
					child.SQ.soundeffectCop:Destroy()
				end
			end
		end
		car.DriveSeat.ChildRemoved:Connect(function(child)

			if child.Name == "SeatWeld" then
				local children = car.Wheels:GetChildren()

				for index, child in pairs(children) do
					if child:IsA("Part") then
						child.SQ.soundeffectCop:Destroy()
					end
				end
			end
		end)
	end)
end


Prompt:
--[=[
	Gets the service by name. Throws an error if the service is not found.
]=]

Response:
function KnitServer.GetService(serviceName: string): Service
	assert(started, "Cannot call GetService until Knit has been started")
	assert(type(serviceName) == "string", `ServiceName must be a string; got {type(serviceName)}`)
	return assert(services[serviceName], `Could not find service "{serviceName}"`) :: Service
end


Prompt:
--[=[
	Creates a new controller.

	:::caution
	Controllers must be created _before_ calling `Knit.Start()`.
	:::
	```lua
	-- Create a controller
	local MyController = Knit.CreateController {
		Name = "MyController",
	}

	function MyController:KnitStart()
		print("MyController started")
	end

	function MyController:KnitInit()
		print("MyController initialized")
	end
	```
]=]

Response:
function KnitClient.CreateController(controllerDef: ControllerDef): Controller
	assert(type(controllerDef) == "table", "Controller must be a table; got " .. type(controllerDef))
	assert(type(controllerDef.Name) == "string", "Controller.Name must be a string; got " .. type(controllerDef.Name))
	assert(#controllerDef.Name > 0, "Controller.Name must be a non-empty string")
	assert(not DoesControllerExist(controllerDef.Name), "Controller \"" .. controllerDef.Name .. "\" already exists")
	local controller = controllerDef :: Controller
	controllers[controller.Name] = controller
	return controller
end


Prompt:
-- NOTE, on the first, and last numbers, the ones that make your hat go left/right/ahead/back shouldn't be changed by whole numbers
-- to make your hat giver perfect, if you have to use those two numbers, move it slowly by ".1's"
-- This can also go for the middle number. If your hat is slightly higher than its supposed to be, than edit the number slightly.
-- Do not change the numbers by whole numbers, or else it will go really far off.  Change the numbers by ".1's" and ".2's"


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

Response:
local FE = workspace.FilteringEnabled
local car = script.Parent.Car.Value
local handler = car:WaitForChild("AC6_FE_Sounds")
local _Tune = require(car["A-Chassis Tune"])
local on = 0
local throt=0
local redline=0

for i,v in pairs(car.DriveSeat:GetChildren()) do
	for _,a in pairs(script:GetChildren()) do
		if v.Name==a.Name then v:Stop() wait() v:Destroy() end
	end
end

while wait() do
	local _RPM = script.Parent.Values.RPM.Value

	if script.Parent.Values.Throttle.Value <= _Tune.IdleThrottle/100 then
		throt = math.max(.3,throt-.2)
	else
		throt = math.min(1,throt+.1)
	end
	if script.Parent.Values.RPM.Value > _Tune.Redline-_Tune.RevBounce/4 and script.Parent.Values.Throttle.Value > _Tune.IdleThrottle/100 then
		redline=.5
	else
		redline=1
	end
	if not script.Parent.IsOn.Value then on=math.max(on-.015,0) else on=1 end
	local Pitch = math.max((((script.SetPitch.Value + script.SetRev.Value*_RPM/_Tune.Redline))*on^2),script.SetPitch.Value)
	if FE then
		handler:FireServer("updateSound",Pitch)
	else
		car.DriveSeat.Rev.Pitch = Pitch
	end
end


Prompt: -- Services

Response:
local ContextActionService = game:GetService 'ContextActionService'
local Workspace = game:GetService 'Workspace'


Prompt:
--[=[
	Returns true is the brio is dead.

	```lua
	local brio = Brio.new("a", "b")
	print(brio:IsDead()) --> false

	brio:Kill()

	print(brio:IsDead()) --> true
	```

	@return boolean
]=]

Response:
function Brio:IsDead()
	return self._values == nil
end


Prompt: --DO NOT CHANGE ANYTHING INSIDE OF THIS SCRIPT BESIDES WHAT YOU ARE TOLD TO UNLESS YOU KNOW WHAT YOU'RE DOING OR THE SCRIPT WILL NOT WORK!!

Response:
local hitPart = script.Parent
local debounce = true
local tool = game.ServerStorage.Egg


Prompt: -- Footsteps

Response:
local stepEvent = Evt.Step
stepEvent.OnServerEvent:Connect(function(player,soundId,volume,timeStamp)
	stepEvent:FireAllClients(player,soundId,volume,timeStamp)
end)


Prompt:
--[=[
	Takes a result and converts it to a brio if it is not one.

	@return (source: Observable<Brio<T> | T>) -> Observable<Brio<T>>
]=]

Response:
function RxBrioUtils.toBrio()
	return Rx.map(function(result)
		if Brio.isBrio(result) then
			return result
		end

		return Brio.new(result)
	end)
end


Prompt:
-- This is not ideal in a server script.
-- CFraming should be done on the client for a less choppy experience.

Response:
local base = script.Parent:WaitForChild('Base')

local startCF = base.CFrame
local startTime = os.clock()
local tau = math.pi*2

local VERTICAL_SWING_AMOUNT = 90
local VERTICAL_SWING_TIME = 19

local HORIZONTAL_SWING_AMOUNT = 0
local HORIZONTAL_SWING_TIME = 6

while base and base.Parent do
	wait()
	local d = os.clock() - startTime
	base.CFrame = startCF * CFrame.Angles(0, math.sin(d*tau/HORIZONTAL_SWING_TIME)*math.rad(HORIZONTAL_SWING_AMOUNT)*.5, math.sin(d*tau/VERTICAL_SWING_TIME)*math.rad(VERTICAL_SWING_AMOUNT)*.5)
end


Prompt: --		print("Keyframe : ".. frameName)

Response:
		playToolAnimation(toolAnimName, 0.0, Humanoid)
	end
end

function playToolAnimation(animName, transitionTime, humanoid, priority)

		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:
----				if EntityData.All[newAnimal.Name].dangerZoneDamage then
----					saddledCritters[newAnimal].lastAttack = Rep.Constants.RelativeTime.Value
----					newAnimal:WaitForChild("DangerZone").Touched:connect(function(hit)
----						if (Rep.Constants.RelativeTime.Value - saddledCritters[newAnimal].lastAttack) >= EntityData.All[newAnimal.Name].dangerZoneSpeed then
----							local munched
----
----							if hit.Parent:FindFirstChild("Health") and (not hit:IsDescendantOf(newAnimal.DangerZone.Parent)) and EntityData.All[hit.Parent.Name] and EntityData.All[hit.Parent.Name].health then
------hit.Parent.Health.Value = hit.Parent.Health.Value - EntityData.All[newAnimal.Name].dangerZoneDamage
----								munched = true
----
----								local canDamage = false
----								for  damageType, damageAmount  in next, EntityData.All[newAnimal.Name].damages  do
----									if EntityData.All[hit.Parent.Name].susceptions[damageType] then
----										canDamage = damageAmount
----									end
----								end
----
----								if canDamage then
----									DamageResource(hit.Parent, canDamage, player)
----								end
----
----							elseif hit.Parent:FindFirstChild("Humanoid") then
----								local otherPlayer = game.Players:GetPlayerFromCharacter(hit.Parent)
----								if otherPlayer and not AreAllies(saddledCritters[newAnimal].owner, otherPlayer) then
------ do damage to the player
----									munched = true
----									DamagePlayer(otherPlayer, CalculateToolDamageToPlayers(newAnimal.Name, otherPlayer))
----
----								end
----							end
----
------ if an attack went through
----							if munched then
----								saddledCritters[newAnimal].lastAttack = Rep.Constants.RelativeTime.Value
----								PlaySoundInObject(Rep.Sounds.Bank:FindFirstChild(EntityData.All[newAnimal.name].damageSound), newAnimal.Head)
----								local emitter = game.ReplicatedStorage.Particles.Teeth:Clone()
----								emitter.Parent = newAnimal.Head
----								emitter.EmissionDirection = Enum.NormalId.Top
----								wait()
----								emitter:Emit(1)
----							end
----
----						end
----
----					end)
----				end


Prompt: --// Player Events

Response:
game:GetService("RunService").RenderStepped:connect(function()

	for L_32_forvar1, L_33_forvar2 in pairs(game.Players:GetChildren()) do
		if L_33_forvar2:IsA('Player') and L_33_forvar2.TeamColor ~= L_1_.TeamColor and L_33_forvar2 ~= L_1_ and L_33_forvar2.Character and L_13_ then
			if L_33_forvar2.Character.Head:FindFirstChild('TeamTag') then
				L_33_forvar2.Character.Head.TeamTag:Destroy()
			end
		end

	for L_18_forvar1, L_19_forvar2 in pairs(game.Players:GetChildren()) do
	if L_19_forvar2:IsA('Player') and L_19_forvar2.Character and L_19_forvar2.Character.Head then
		if L_19_forvar2.TeamColor == L_1_.TeamColor then
			if L_19_forvar2.Character.Saude.FireTeam.SquadName.Value ~= '' then
				spawnTag(L_19_forvar2.Character, L_19_forvar2.Character.Saude.FireTeam.SquadColor.Value)
			else
				spawnTag(L_19_forvar2.Character, Color3.fromRGB(255,255,255))
			end
		end;
	end;
end
		end

end)


Prompt: -- Local player

Response:
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:wait()
local humanoid = character:WaitForChild("Humanoid")


Prompt: --------RIGHT DOOR --------

Response:
game.Workspace.doorright.l32.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l41.BrickColor = BrickColor.new(1023)
game.Workspace.doorright.pillar.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)


Prompt: -- Model Position Tweening --

Response:
function Functions.CreateModelTween(Model, TweenInformation, Goal)
	local CFrameValue = Instance.new("CFrameValue")
	CFrameValue.Value = Model.PrimaryPart.CFrame

	CFrameValue.Changed:Connect(function(Value)
		Model:SetPrimaryPartCFrame(Value)
	end)

	local Tween = TweenService:Create(CFrameValue, TweenInformation, Goal)
	Tween:Play()
	Tween.Completed:Wait()
end


Prompt: --[[Transmission]]

Response:
	Tune.TransModes		= {"Auto"}								--[[
	[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		= 1.6		 --	[TRANSMISSION CALCULATIONS FOR NERDS]
	Tune.Ratios			= {			 --		SPEED [SPS]	 = (Wheel diameter(studs) * pi(3.14) * RPM) / (60 * Gear Ratio * Final Drive * Multiplier)
		--[[Reverse]]	3.40		,--		WHEEL TORQUE = Engine Torque * Gear Ratio * Final Drive * Multiplier
		--[[Neutral]]	0			,
		--[[ 1 ]]		3.77      	,
		--[[ 2 ]]		2.34		,
		--[[ 3 ]]		1.52		,
		--[[ 4 ]]		1.14		,
		--[[ 5 ]]		0.86		,
		--[[ 6 ]]		0.69   	,
	}
	Tune.FDMult			= 5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)


Prompt: --End of Editable Values

Response:
local car = script.Parent.Car.Value
local hb = game:GetService('RunService').Heartbeat
local sound = car.Body.Drag.Wind
local sound2 = car.Body.Drag.Body
sound:Play()
sound2:Play()

local function update()
	sound.Volume=Vol*(car.DriveSeat.Velocity.Magnitude/500)
	sound2.Volume=Vol*(car.DriveSeat.Velocity.Magnitude/500)
	car.Body.DownforceF.T.Force = Vector3.new(0,(car.DriveSeat.Velocity.Magnitude/-300)*F,0)
	car.Body.DownforceR.T.Force = Vector3.new(0,(car.DriveSeat.Velocity.Magnitude/-300)*R,0)
	car.Body.Drag.T.Force = Vector3.new(0,0,(car.DriveSeat.Velocity.magnitude^2*(Drag/30)))
end

hb:Connect(update)


Prompt:
--------------------------------------------------------------------------------
-- Popper.lua
-- Prevents your camera from clipping through walls.
--------------------------------------------------------------------------------

Response:
local Players = game:GetService('Players')

local FFlagUserPoppercamLooseOpacityThreshold do
	local success, enabled = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserPoppercamLooseOpacityThreshold")
	end)
	FFlagUserPoppercamLooseOpacityThreshold = success and enabled
end

local camera = game.Workspace.CurrentCamera

local min = math.min
local tan = math.tan
local rad = math.rad
local inf = math.huge
local ray = Ray.new

local function eraseFromEnd(t, toSize)
	for i = #t, toSize + 1, -1 do
		t[i] = nil
	end
end

local nearPlaneZ, projX, projY do
	local function updateProjection()
		local fov = rad(camera.FieldOfView)
		local view = camera.ViewportSize
		local ar = view.X/view.Y

		projY = 2*tan(fov/2)
		projX = ar*projY
	end

	camera:GetPropertyChangedSignal('FieldOfView'):Connect(updateProjection)
	camera:GetPropertyChangedSignal('ViewportSize'):Connect(updateProjection)

	updateProjection()

	nearPlaneZ = camera.NearPlaneZ
	camera:GetPropertyChangedSignal('NearPlaneZ'):Connect(function()
		nearPlaneZ = camera.NearPlaneZ
	end)
end

local blacklist = {} do
	local charMap = {}

	local function refreshIgnoreList()
		local n = 1
		blacklist = {}
		for _, character in pairs(charMap) do
			blacklist[n] = character
			n = n + 1
		end
	end

	local function playerAdded(player)
		local function characterAdded(character)
			charMap[player] = character
			refreshIgnoreList()
		end
		local function characterRemoving()
			charMap[player] = nil
			refreshIgnoreList()
		end

		player.CharacterAdded:Connect(characterAdded)
		player.CharacterRemoving:Connect(characterRemoving)
		if player.Character then
			characterAdded(player.Character)
		end
	end

	local function playerRemoving(player)
		charMap[player] = nil
		refreshIgnoreList()
	end

	Players.PlayerAdded:Connect(playerAdded)
	Players.PlayerRemoving:Connect(playerRemoving)

	for _, player in ipairs(Players:GetPlayers()) do
		playerAdded(player)
	end
	refreshIgnoreList()
end


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

Response:
script.Parent:WaitForChild("Speedo")
script.Parent:WaitForChild("Tach")
script.Parent:WaitForChild("ln")
script.Parent:WaitForChild("Gear")
script.Parent:WaitForChild("Speed")

local car = script.Parent.Parent.Car.Value
car.DriveSeat.HeadsUpDisplay = false

local _Tune = require(car["A-Chassis Tune"])

local _pRPM = _Tune.PeakRPM
local _lRPM = _Tune.Redline

local revEnd = math.ceil(_lRPM/1000)

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
local maxSpeed = math.ceil(wDia*math.pi*_lRPM/60/_Tune.Ratios[#_Tune.Ratios]/_Tune.FinalDrive)
local spInc = math.max(math.ceil(maxSpeed/200)*20,20)

for i=0,revEnd*2 do
	local ln = script.Parent.ln:clone()
	ln.Parent = script.Parent.Tach
	ln.Rotation = 45 + i * 225 / (revEnd*2)
	ln.Num.Text = i/2
	ln.Num.Rotation = -ln.Rotation
	if i*500>=math.floor(_pRPM/500)*500 then
		ln.Frame.BackgroundColor3 = Color3.new(1,0,0)
		if i<revEnd*2 then
			ln2 = ln:clone()
			ln2.Parent = script.Parent.Tach
			ln2.Rotation = 45 + (i+.5) * 225 / (revEnd*2)
			ln2.Num:Destroy()
			ln2.Visible=true
		end
	end
	if i%2==0 then
		ln.Frame.Size = UDim2.new(0,3,0,10)
		ln.Frame.Position = UDim2.new(0,-1,0,100)
		ln.Num.Visible = true
	else
		ln.Num:Destroy()
	end
	ln.Visible=true
end

for i=1,90 do
	local ln = script.Parent.ln:clone()
	ln.Parent = script.Parent.Speedo
	ln.Rotation = 45 + 225*(i/90)
	if i%2==0 then
		ln.Frame.Size = UDim2.new(0,2,0,10)
		ln.Frame.Position = UDim2.new(0,-1,0,100)
	else
		ln.Frame.Size = UDim2.new(0,3,0,5)
	end
	ln.Num:Destroy()
	ln.Visible=true
end
for i=0,maxSpeed,spInc do
	local ln = script.Parent.ln:clone()
	ln.Parent = script.Parent.Speedo
	ln.Rotation = 45 + 225*(i/maxSpeed)
	ln.Num.Text = i
	ln.Num.Rotation = -ln.Rotation
	ln.Frame:Destroy()
	ln.Num.Visible=true
	ln.Visible=true
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()
	script.Parent.Tach.Needle.Rotation = 45 + 225 * math.min(1,script.Parent.Parent.Values.RPM.Value / (revEnd*1000))
end)

script.Parent.Parent.Values.Gear.Changed:connect(function()
	local gearText = script.Parent.Parent.Values.Gear.Value
	if gearText == 0 then gearText = "N"
	elseif gearText == -1 then gearText = "R"
	end
	script.Parent.Gear.Text = gearText
end)

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

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

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

script.Parent.Parent.Values.PBrake.Changed:connect(function()
	script.Parent.PBrake.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.TMode.Text = "A/T"
		script.Parent.TMode.BackgroundColor3 = Color3.new(1,170/255,0)
	else
		script.Parent.TMode.Text = "M/T"
		script.Parent.TMode.BackgroundColor3 = Color3.new(1,85/255,.5)
	end
end)

script.Parent.Parent.Values.Velocity.Changed:connect(function(property)
	script.Parent.Speedo.Needle.Rotation =45 + 225 * math.min(1,script.Parent.Parent.Values.Velocity.Value.Magnitude/maxSpeed)
	script.Parent.Speed.Text = math.floor(script.Parent.Parent.Values.Velocity.Value.Magnitude) .. " SPS"
end)


Prompt:
-- The pierce function can also be used for things like bouncing.
-- In reality, it's more of a function that the module uses to ask "Do I end the cast now, or do I keep going?"
-- Because of this, you can use it for logic such as ray reflection or other redirection methods.
-- A great example might be to pierce or bounce based on something like velocity or angle.
-- You can see this implementation further down in the OnRayPierced function.

Response:
function CanRayPierce(cast, rayResult, segmentVelocity)

	-- Let's keep track of how many times we've hit something.
	local hits = cast.UserData.Hits
	if (hits == nil) then
		-- If the hit data isn't registered, set it to 1 (because this is our first hit)
		cast.UserData.Hits = 1
	else
		-- If the hit data is registered, add 1.
		cast.UserData.Hits += 1
	end

	-- And if the hit count is over 3, don't allow piercing and instead stop the ray.
	if (cast.UserData.Hits > 3) then
		return false
	end

	-- Now if we make it here, we want our ray to continue.
	-- This is extra important! If a bullet bounces off of something, maybe we want it to do damage too!
	-- So let's implement that.
	local hitPart = rayResult.Instance
	if hitPart ~= nil and hitPart.Parent ~= nil then
		local humanoid = hitPart.Parent:FindFirstChildOfClass("Humanoid")
		if humanoid then
			humanoid:TakeDamage(10) -- Damage.
		end
	end

	-- And then lastly, return true to tell FC to continue simulating.
	return true

	--[[
	-- This function shows off the piercing feature literally. Pass this function as the last argument (after bulletAcceleration) and it will run this every time the ray runs into an object.

	-- Do note that if you want this to work properly, you will need to edit the OnRayPierced event handler below so that it doesn't bounce.

	if material == Enum.Material.Plastic or material == Enum.Material.Ice or material == Enum.Material.Glass or material == Enum.Material.SmoothPlastic then
		-- Hit glass, plastic, or ice...
		if hitPart.Transparency >= 0.5 then
			-- And it's >= half transparent...
			return true -- Yes! We can pierce.
		end
	end
	return false
	--]]
end

function Fire(direction)
	-- Called when we want to fire the gun.
	if Tool.Parent:IsA("Backpack") then return end -- Can't fire if it's not equipped.
	-- Note: Above isn't in the event as it will prevent the CanFire value from being set as needed.

	-- UPD. 11 JUNE 2019 - Add support for random angles.
	local directionalCF = CFrame.new(Vector3.new(), direction)
	-- Now, we can use CFrame orientation to our advantage.
	-- Overwrite the existing Direction value.
	local direction = (directionalCF * CFrame.fromOrientation(0, 0, RNG:NextNumber(0, TAU)) * CFrame.fromOrientation(math.rad(RNG:NextNumber(MIN_BULLET_SPREAD_ANGLE, MAX_BULLET_SPREAD_ANGLE)), 0, 0)).LookVector

	-- UPDATE V6: Proper bullet velocity!
	-- IF YOU DON'T WANT YOUR BULLETS MOVING WITH YOUR CHARACTER, REMOVE THE THREE LINES OF CODE BELOW THIS COMMENT.
	-- Requested by https://www.roblox.com/users/898618/profile/
	-- We need to make sure the bullet inherits the velocity of the gun as it fires, just like in real life.
	local humanoidRootPart = Tool.Parent:WaitForChild("HumanoidRootPart", 1)	-- Add a timeout to this.
	local myMovementSpeed = humanoidRootPart.Velocity							-- To do: It may be better to get this value on the clientside since the server will see this value differently due to ping and such.
	local modifiedBulletSpeed = (direction * BULLET_SPEED)-- + myMovementSpeed	-- We multiply our direction unit by the bullet speed. This creates a Vector3 version of the bullet's velocity at the given speed. We then add MyMovementSpeed to add our body's motion to the velocity.

	if PIERCE_DEMO then
		CastBehavior.CanPierceFunction = CanRayPierce
	end

	local simBullet = Caster:Fire(FirePointObject.WorldPosition, direction, modifiedBulletSpeed, CastBehavior)
	-- Optionally use some methods on simBullet here if applicable.

	-- Play the sound
	PlayFireSound()
	PlayReloadSound()
end

function 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


Prompt: --// Return values: bool filterSuccess, bool resultIsFilterObject, variant result

Response:
function methods:InternalApplyRobloxFilterNewAPI(speakerName, message, textFilterContext) --// USES FFLAG
	local alwaysRunFilter = false
	local runFilter = RunService:IsServer() and not RunService:IsStudio()
	if (alwaysRunFilter or runFilter) then

		local fromSpeaker = self:GetSpeaker(speakerName)
		if fromSpeaker == nil then
			return false, nil, nil
		end

		local fromPlayerObj = fromSpeaker:GetPlayer()
		if fromPlayerObj == nil then
			return true, false, message
		end

		if allSpaces(message) then
			return true, false, message
		end

		local success, filterResult = pcall(function()
			local ts = game:GetService("TextService")
			local result = ts:FilterStringAsync(message, fromPlayerObj.UserId, textFilterContext)
			return result
		end)
		if (success) then
			return true, true, filterResult
		else
			warn("Error filtering message:", message, filterResult)
			self:InternalNotifyFilterIssue()
			return false, nil, nil
		end
	end

	--// Simulate filtering latency.
	wait()
	return true, false, message
end

function methods:InternalDoMessageFilter(speakerName, messageObj, channel)
	local filtersIterator = self.FilterMessageFunctions:GetIterator()

	for funcId, func, priority in filtersIterator do
		local success, errorMessage = pcall(function()
			func(speakerName, messageObj, channel)
		end)

		if not success then
			warn(string.format("DoMessageFilter Function '%s' failed for reason: %s", funcId, errorMessage))
		end
	end
end

function methods:InternalDoProcessCommands(speakerName, message, channel)
	local commandsIterator = self.ProcessCommandsFunctions:GetIterator()

	for funcId, func, priority in commandsIterator do
		local success, returnValue = pcall(function()
			local ret = func(speakerName, message, channel)
			if type(ret) ~= "boolean" then
				error("Process command functions must return a bool")
			end
			return ret
		end)

		if not success then
			warn(string.format("DoProcessCommands Function '%s' failed for reason: %s", funcId, returnValue))
		elseif returnValue then
			return true
		end
	end

	return false
end

function methods:InternalGetUniqueMessageId()
	local id = self.MessageIdCounter
	self.MessageIdCounter = id + 1
	return id
end

function methods:InternalAddSpeakerWithPlayerObject(speakerName, playerObj, fireSpeakerAdded)
	if (self.Speakers[speakerName:lower()]) then
		error("Speaker \"" .. speakerName .. "\" already exists!")
	end

	local speaker = Speaker.new(self, speakerName)
	speaker:InternalAssignPlayerObject(playerObj)
	self.Speakers[speakerName:lower()] = speaker

	if fireSpeakerAdded then
		local success, err = pcall(function() self.eSpeakerAdded:Fire(speakerName) end)
		if not success and err then
			print("Error adding speaker: " ..err)
		end
	end

	return speaker
end

function methods:InternalFireSpeakerAdded(speakerName)
	local success, err = pcall(function() self.eSpeakerAdded:Fire(speakerName) end)
	if not success and err then
		print("Error firing speaker added: " ..err)
	end
end


Prompt: -- Render the map at 0FPS (static since we know it doesn't change)

Response:
	for i,d in pairs(workspace.Map:GetDescendants()) do
		if d:IsA("BasePart") then
			local mapObj_Handler = VF_Handler:RenderObject(d)
		end
	end


Prompt: --create tables:

Response:
for i,part in pairs(model:GetChildren()) do
	if string.sub(part.Name, 1,1) == "e" then
		table.insert(e, 1, part)
	end
end
for i,part in pairs(model:GetChildren()) do
	if string.sub(part.Name, 1,1) == "f" then
		table.insert(f, 1, part)
	end
end

function lightOn(T)
	for i, part in pairs (T) do
		if part:FindFirstChild("On") then
			part.On.Value  = true
		end
	end
end

function lightOff(T)
	for i, part in pairs (T) do
		if part:FindFirstChild("On") then
			part.On.Value = false
		end
	end
end

while true do

	lightOn(e)
	wait(0.25)

	lightOff(e)
	wait(0.25)

	lightOn(f)
	wait(0.25)

	lightOff(f)
	wait(0.25)

end


Prompt: --created on December 2, 2016 at 11:44 pm

Response:
local currentTurn = "X"
local lastFirstMove = "X"
local moveCount = 0
local isGameReady = true

function resetGame()
	if lastFirstMove == "X" then
		lastFirstMove = "O"
	else
		lastFirstMove = "X"
	end
	currentTurn = lastFirstMove
	moveCount = 0
	for j = 0, 1, 0.02 do
		for i = 1, 9 do
			if script.Parent["X"..i].Transparency ~= 1 then
				script.Parent["X"..i].Transparency = j
			end
			if script.Parent["O"..i].Transparency ~= 1 then
				script.Parent["O"..i].Transparency = j
			end
		end
		for i = 1, 8 do
			if script.Parent["Win"..i].Transparency ~= 1 then
				script.Parent["Win"..i].Transparency = j
			end
		end
		if script.Parent.Cat.Transparency ~= 1 then
			script.Parent.Cat.Transparency = j
		end
		wait()
	end
	for i = 1, 9 do
		script.Parent["X"..i].Transparency = 1
		script.Parent["O"..i].Transparency = 1
	end
	for i = 1, 8 do
		script.Parent["Win"..i].Transparency = 1
	end
	script.Parent.Cat.Transparency = 1
	isGameReady = true
end

function winGame(num)
	isGameReady = false
	if currentTurn == "X" then
		print("X won!")
	else
		print("O won!")
	end
	script.Parent["Win"..num].Transparency = 0
	wait(2)
	resetGame()
end

function tieGame()
	isGameReady = false
	print("It was a tie!")
	script.Parent.Cat.Transparency = 0
	wait(2)
	resetGame()
end

function checkForWin()
	if script.Parent[currentTurn.. 1].Transparency == 0 and
		script.Parent[currentTurn.. 2].Transparency == 0 and
		script.Parent[currentTurn.. 3].Transparency == 0 then
		winGame(4)
		return
	elseif script.Parent[currentTurn.. 1].Transparency == 0 and
		script.Parent[currentTurn.. 4].Transparency == 0 and
		script.Parent[currentTurn.. 7].Transparency == 0 then
		winGame(1)
		return
	elseif script.Parent[currentTurn.. 1].Transparency == 0 and
		script.Parent[currentTurn.. 5].Transparency == 0 and
		script.Parent[currentTurn.. 9].Transparency == 0 then
		winGame(7)
		return
	elseif script.Parent[currentTurn.. 2].Transparency == 0 and
		script.Parent[currentTurn.. 5].Transparency == 0 and
		script.Parent[currentTurn.. 8].Transparency == 0 then
		winGame(2)
		return
	elseif script.Parent[currentTurn.. 3].Transparency == 0 and
		script.Parent[currentTurn.. 5].Transparency == 0 and
		script.Parent[currentTurn.. 7].Transparency == 0 then
		winGame(8)
		return
	elseif script.Parent[currentTurn.. 3].Transparency == 0 and
		script.Parent[currentTurn.. 6].Transparency == 0 and
		script.Parent[currentTurn.. 9].Transparency == 0 then
		winGame(3)
		return
	elseif script.Parent[currentTurn.. 4].Transparency == 0 and
		script.Parent[currentTurn.. 5].Transparency == 0 and
		script.Parent[currentTurn.. 6].Transparency == 0 then
		winGame(5)
		return
	elseif script.Parent[currentTurn.. 7].Transparency == 0 and
		script.Parent[currentTurn.. 8].Transparency == 0 and
		script.Parent[currentTurn.. 9].Transparency == 0 then
		winGame(6)
		return
	elseif moveCount == 9 then
		tieGame()
	end
end

function setPiece(num)
	if not getSpotState(num) and isGameReady then
		script.Parent[currentTurn..num].Transparency = 0
		moveCount = moveCount + 1
		wait()
		checkForWin()
		if currentTurn == "X" then
			currentTurn = "O"
		else
			currentTurn = "X"
		end
	end
end

function getSpotState(num)
	if script.Parent["X"..num].Transparency == 0 then
		return "X"
	elseif script.Parent["O"..num].Transparency == 0 then
		return "O"
	else
		return false
	end
end

for i = 1, 9 do
	script.Parent["Detector"..i].ClickDetector.MouseClick:connect(function()
		setPiece(i)
	end)
end


Prompt:
--If you want to get teleported to a specific Model, enter the name of the model you want to go to here.
------------------------------------

Response: modelname="tele2"


Response:
local toolAnimName = ""
local toolAnimTrack = nil
local toolAnimInstance = nil
local currentToolAnimKeyframeHandler = nil

function toolKeyFrameReachedFunc(frameName)
	if (frameName == "End") then
		playToolAnimation(toolAnimName, 0.0, Humanoid)
	end
end

function playToolAnimation(animName, transitionTime, humanoid, priority)
		local idx = rollAnimation(animName)
		local anim = animTable[animName][idx].anim

		if (toolAnimInstance ~= anim) then

			if (toolAnimTrack ~= nil) then
				toolAnimTrack:Stop()
				toolAnimTrack:Destroy()
				transitionTime = 0
			end

			-- load it to the humanoid; get AnimationTrack
			toolAnimTrack = humanoid:LoadAnimation(anim)
			if priority then
				toolAnimTrack.Priority = priority
			end

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

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

function stopToolAnimations()
	local oldAnim = toolAnimName

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

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

	return oldAnim
end


Prompt: --!strict

Response:
local Sift = script.Parent.Parent

local copy = require(Sift.Dictionary.copy)


Prompt: -- This will say "edited"

Response:
Notification.OnServerEvent:Connect(function(plr)
	Notification:FireClient(plr,false)
end)


Prompt: -- helper functions

Response:
local function removePlayerNameFromStack(stack)
	-- in order to generalize the data so that errors are properly grouped,
	--  we must strip out any personal information from the callstack.
	if not type(stack) == "string" then
		warn(string.format("Expected stack to be a string, received : %s", type(stack)))
		return tostring(stack)
	end

	local sanitizedStack = string.gsub(stack, "Players%.[^.]+%.", "Players.<Player>.")
	return sanitizedStack
end

local ErrorReporter = {}
ErrorReporter.__index = ErrorReporter

function ErrorReporter.new(networkingImpl)
	if not networkingImpl then
		networkingImpl = Networking.new()
	end

	local er = {
		-- reporter implementations
		_googleAnalyticsReporter = ReporterGoogleAnalytics.new({
			networking = networkingImpl,
		}),
		_playFabReporter = ReporterPlayFab.new(),
	}
	setmetatable(er, ErrorReporter)

	return er
end


Prompt:
--Workspace.CurrentCamera.CameraSubject=game.Players.LocalPlayer.Character.Humanoid
--Workspace.CurrentCamera.CameraType="Custom"

Response:
bin.Name = "Vehicle"
end)

game.Players.LocalPlayer.Character.Humanoid.Changed:connect(function()
	if game.Players.LocalPlayer.Character.Humanoid.Jump then
		script.Parent:remove()
	end
end)


Prompt:
--[=[
	Constructs a new promise.

	::warning
	Do not yield within this func callback, as it will yield on the
	main thread. This is a performance optimization.
	::

	@param func (resolve: (...) -> (), reject: (...) -> ()) -> ()?
	@return Promise<T>
]=]

Response:
function Promise.new(func)
	local self = setmetatable({
		_pendingExecuteList = {};
		_unconsumedException = true;
		_source = ENABLE_TRACEBACK and debug.traceback() or "";
	}, Promise)

	if type(func) == "function" then
		func(self:_getResolveReject())
	end

	return self
end


Prompt:
--[=[
  @function copy
  @within Set

  @param set { [T]: boolean } -- The set to copy.
  @return { [T]: boolean } -- A copy of the set.

  Creates a copy of a set.

  ```lua
  local set = { hello = true }

  local newSet = Copy(set) -- { hello = true }
  ```
]=]

Response: return copy


Prompt:
--[[
	Keeping track of the players leaving, in case more Ownerships (dinosaurs, essentially) are in play in the level.
	Generalized the functionality so each new instance of Ownership doesn't have it's own event-tracker.
--]]

Response:
game:GetService("Players").PlayerRemoving:Connect(function(Player)
	if Owners[Player] then
		Owners[Player]:SetOwner(nil)
		Owners[Player] = nil
	end
end)

return Ownership


Prompt:
--if (script.Parent ~= nil) and (script.Parent.className == "Part") then --Work if in a block
--	connection = script.Parent.Touched:connect(onTouched)
--end

Response: script.Parent.Touched:connect(onTouched)


Prompt:
--[=[
	The same as [Promise.new](/api/Promise#new), except execution begins after the next `Heartbeat` event.

	This is a spiritual replacement for `spawn`, but it does not suffer from the same [issues](https://eryn.io/gist/3db84579866c099cdd5bb2ff37947cec) as `spawn`.

	```lua
	local function waitForChild(instance, childName, timeout)
	  return Promise.defer(function(resolve, reject)
		local child = instance:WaitForChild(childName, timeout)

		;(child and resolve or reject)(child)
	  end)
	end
	```

	@param executor (resolve: (...: any) -> (), reject: (...: any) -> (), onCancel: (abortHandler: () -> boolean)) -> ()
	@return Promise
]=]

Response:
function Promise.defer(callback)
	local traceback = debug.traceback(nil, 2)
	local promise
	promise = Promise._new(traceback, function(resolve, reject, onCancel)
		local connection
		connection = Promise._timeEvent:Connect(function()
			connection:Disconnect()
			local ok, _, result = runExecutor(traceback, callback, resolve, reject, onCancel)

			if not ok then
				reject(result[1])
			end
		end)
	end)

	return promise
end


Prompt: --[[ CLIMAXIMUS's sprint script. Made by request. ]]

Response:
--
local RunSpeed = 28 --[[ <-- The sprinting speed. ]]--


Prompt: --// SS3 controls for AC6 by Itzt, originally for 2014 Infiniti QX80. i don't know how to tune ac lol

Response:
wait(0.1)
local player = game.Players.LocalPlayer
local carSeat = script.Parent.CarSeat.Value
local mouse = game.Players.LocalPlayer:GetMouse()
local windows = false
local winfob = script.Parent.Music
local handler = carSeat:WaitForChild('Filter')
local HUB2 = script.Parent.HUB2


Prompt: --local Pitch = script.Parent.Handle.FireSound

Response:
local MyPlayer = nil
local MyCharacter = nil
local MyHumanoid = nil
local MyTorso = nil
local MyMouse = nil

local RecoilAnim
local RecoilTrack = nil

local ReloadAnim
local ReloadTrack = nil

local IconURL = Tool.TextureId
local DebrisService = game:GetService('Debris')
local PlayersService = game:GetService('Players')


Prompt: --[[ Public API ]]

Response:
--
function Gamepad:Enable()
	local forwardValue  = 0
	local backwardValue = 0
	local leftValue = 0
	local rightValue = 0

	local moveFunc = LocalPlayer.Move
	local gamepadSupports = UserInputService.GamepadSupports

	local controlCharacterGamepad1 = function(actionName, inputState, inputObject)
		if inputObject.UserInputType ~= Enum.UserInputType.Gamepad1 then return end
		if inputObject.KeyCode ~= Enum.KeyCode.Thumbstick1 then return end

		if hasCancelType and inputState == Enum.UserInputState.Cancel then
			MasterControl:AddToPlayerMovement(-currentMoveVector)
			currentMoveVector =  Vector3.new(0,0,0)
			return
		end

		if inputObject.Position.magnitude > thumbstickDeadzone then
			MasterControl:AddToPlayerMovement(-currentMoveVector)
			currentMoveVector =  Vector3.new(inputObject.Position.X, 0, -inputObject.Position.Y)
			MasterControl:AddToPlayerMovement(currentMoveVector)
		else
			MasterControl:AddToPlayerMovement(-currentMoveVector)
			currentMoveVector =  Vector3.new(0,0,0)
		end
	end

	local jumpCharacterGamepad1 = function(actionName, inputState, inputObject)
		if inputObject.UserInputType ~= Enum.UserInputType.Gamepad1 then return end
		if inputObject.KeyCode ~= Enum.KeyCode.ButtonA then return end

		if hasCancelType and inputState == Enum.UserInputState.Cancel then
			MasterControl:SetIsJumping(false)
			return
		end

		MasterControl:SetIsJumping(inputObject.UserInputState == Enum.UserInputState.Begin)
	end

	local doDpadMoveUpdate = function()
		if not gamepadSupports(UserInputService, Enum.UserInputType.Gamepad1, Enum.KeyCode.Thumbstick1) then
			if LocalPlayer and LocalPlayer.Character then
				MasterControl:AddToPlayerMovement(-currentMoveVector)
				currentMoveVector = Vector3.new(leftValue + rightValue,0,forwardValue + backwardValue)
				MasterControl:AddToPlayerMovement(currentMoveVector)
			end
		end
	end

	local moveForwardFunc = function(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.End then
			forwardValue = -1
		elseif inputState == Enum.UserInputState.Begin or (hasCancelType and inputState == Enum.UserInputState.Cancel) then
			forwardValue = 0
		end

		doDpadMoveUpdate()
	end

	local moveBackwardFunc = function(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.End then
			backwardValue = 1
		elseif inputState == Enum.UserInputState.Begin or (hasCancelType and inputState == Enum.UserInputState.Cancel) then
			backwardValue = 0
		end

		doDpadMoveUpdate()
	end

	local moveLeftFunc = function(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.End then
			leftValue = -1
		elseif inputState == Enum.UserInputState.Begin or (hasCancelType and inputState == Enum.UserInputState.Cancel) then
			leftValue = 0
		end

		doDpadMoveUpdate()
	end

	local moveRightFunc = function(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.End then
			rightValue = 1
		elseif inputState == Enum.UserInputState.Begin or (hasCancelType and inputState == Enum.UserInputState.Cancel) then
			rightValue = 0
		end

		doDpadMoveUpdate()
	end

	ContextActionService:BindAction("JumpButton",jumpCharacterGamepad1, false, Enum.KeyCode.ButtonA)
	ContextActionService:BindAction("MoveThumbstick",controlCharacterGamepad1, false, Enum.KeyCode.Thumbstick1)

	ContextActionService:BindAction("forwardDpad", moveForwardFunc, false, Enum.KeyCode.DPadUp)
	ContextActionService:BindAction("backwardDpad", moveBackwardFunc, false, Enum.KeyCode.DPadDown)
	ContextActionService:BindAction("leftDpad", moveLeftFunc, false, Enum.KeyCode.DPadLeft)
	ContextActionService:BindAction("rightDpad", moveRightFunc, false, Enum.KeyCode.DPadRight)

	ContextActionService:BindActivate(Enum.UserInputType.Gamepad1, Enum.KeyCode.ButtonR2)

	UserInputService.GamepadDisconnected:connect(function(gamepadEnum)
		if gamepadEnum ~= Enum.UserInputType.Gamepad1 then return end

		MasterControl:AddToPlayerMovement(-currentMoveVector)
		currentMoveVector = Vector3.new(0,0,0)
	end)

	UserInputService.GamepadConnected:connect(function(gamepadEnum)
		if gamepadEnum ~= Enum.UserInputType.Gamepad1 then return end

		MasterControl:AddToPlayerMovement(-currentMoveVector)
		currentMoveVector = Vector3.new(0,0,0)
	end)
end

function Gamepad:Disable()

	ContextActionService:UnbindAction("forwardDpad")
	ContextActionService:UnbindAction("backwardDpad")
	ContextActionService:UnbindAction("leftDpad")
	ContextActionService:UnbindAction("rightDpad")

	ContextActionService:UnbindAction("MoveThumbstick")
	ContextActionService:UnbindAction("JumpButton")
	ContextActionService:UnbindActivate(Enum.UserInputType.Gamepad1, Enum.KeyCode.ButtonR2)

	MasterControl:AddToPlayerMovement(-currentMoveVector)
	currentMoveVector = Vector3.new(0,0,0)
end

return Gamepad


Prompt: -- Vector3 and Position --

Response:
local part = game.Workspace.PositionPart

part.Size = Vector3.new(8, 8, 8)
part.Position = Vector3.new(10, 10, 10)

part.Position = part.Position + Vector3.new(5, 5, 5) -- (15, 15, 15)
part.Position += Vector3.new(5, 5, 5) --also works


Prompt: -- You may turn both of these on at once. In that case, zone-specific music will play in the appropriate zones, and global background music will play whenever you're not within any zone.

Response:
settings.DisplayMuteButton = false  -- If set to true, there will be a button in the bottom-right corner of the screen allowing players to mute the background music.

settings.MusicFadeoutTime = 1  -- How long music takes to fade out, in seconds.

settings.MusicOnlyPlaysWithinZones = false  -- (This setting only applies when UseGlobalBackgroundMusic is set to false) If a player walks into an area that's not covered by any music zone, what should happen? If true, music will stop playing. If false, the music from the previous zone will continue to play.

return settings


Prompt: --//Functions

Response:
function CarColor ()
for i,v in pairs(Car.Body.Color:GetChildren()) do
v.Color = Stats.Color.Value
end
Car.Misc.Arka_Kapak.Kapak.Color = Stats.Color.Value
end

function CheckFuel ()
if oldpos == nil then
oldpos = MainP.Position
else
newpos = MainP.Position


Prompt: --[[Transmission]]

Response:
	Tune.TransModes		= {"Auto", "Semi"}								--[[
	[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	= "Speed"												--[[
	[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		,
		--[[ 7 ]]       0.52        ,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)


Prompt: -- Ragdoll

Response:
Humanoid.AutoRotate = false
local Descendants = Character:GetDescendants()
for i, obj in pairs(Descendants) do
	-- If the descendant is a k then replace it with a socket
	if obj:IsA('Motor6D') then
		-- totally didnt take most of this from a youtube video
		local Socket = Instance.new('BallSocketConstraint',obj.Parent)
		local a1 = Instance.new('Attachment',obj.Part0) or obj.Parent:FindFirstChild('Attachment')
		local a2 = Instance.new('Attachment',obj.Part1) or obj.Parent:FindFirstChild('Attachment')
		a1.CFrame = obj.C0
		a2.CFrame = obj.C1
		Socket.Attachment0 = a1
		Socket.Attachment1 = a2
		Socket.LimitsEnabled = true
		Socket.TwistLimitsEnabled = true
		obj:Destroy()
	end
	-- If the descendant is a weld, realign the position --
	if obj:IsA('Weld') then
		local Weld = obj:Clone()
		Weld.Parent = obj.Parent
		obj:Destroy()
	end
	-- Make all parts collidable
	if obj.Parent == Character then
		if obj:IsA('Part') or obj:IsA('MeshPart') then
			obj.CanCollide = true
		end
	end
end


Prompt: --Put in TextButton

Response:
local tool = game.ReplicatedStorage.PawPawFruit --Refers "tool" as game.ReplicatedStorage.YourTool. Put your tool name in the ClassicSword.
local player = game.Players.LocalPlayer --finds the script's parent, the player.

script.Parent.MouseButton1Click:Connect(function() --when clicked, function
	tool:Clone() --clones tool
	tool:Clone().Parent = player.Backpack --has the cloned tool's parent the player's Backpack
end)


Prompt:
--[=[
	@within Keyboard
	@prop KeyDown Signal<Enum.KeyCode>
	@tag Event
	Fired when a key is pressed.
	```lua
	keyboard.KeyDown:Connect(function(key: KeyCode)
		print("Key pressed", key)
	end)
	```
]=]
--[=[
	@within Keyboard
	@prop KeyUp Signal<Enum.KeyCode>
	@tag Event
	Fired when a key is released.
	```lua
	keyboard.KeyUp:Connect(function(key: KeyCode)
		print("Key released", key)
	end)
	```
]=]


Prompt: -- regeneration

Response:
while true do
	local s = wait(4)
	local health = Humanoid.Health
	if health > 0 and health < Humanoid.MaxHealth then
		health = health + 0.08 * s * Humanoid.MaxHealth
		if health * 1.05 < Humanoid.MaxHealth then
			Humanoid.Health = health
		else
			Humanoid.Health = Humanoid.MaxHealth
		end
	end
end


Prompt: --// Animations

Response:
	-- Idle Anim
	IdleAnim = function(char, speed, objs)
		TweenJoint(objs[2],  nil , CFrame.new(-0.902175903, 0.295501232, -1.32277012, 1, 0, 0, 0, 1.19248806e-08, 1, 0, -1, 1.19248806e-08), function(X) return math.sin(math.rad(X)) end, 0.25)
		TweenJoint(objs[3],  nil , CFrame.new(1.06851184, 0.973718464, -2.29667926, 0.787567914, -0.220087856, 0.575584888, -0.615963876, -0.308488727, 0.724860668, 0.0180283934, -0.925416589, -0.378522098), function(X) return math.sin(math.rad(X)) end, 0.25)
		wait(0.18)
	end;

	-- FireMode Anim
	FireModeAnim = function(char, speed, objs)
		TweenJoint(objs[1],  nil , CFrame.new(0.340285569, 0, -0.0787199363, 0.962304771, 0.271973342, 0, -0.261981696, 0.926952124, -0.268561482, -0.0730415657, 0.258437991, 0.963262498), function(X) return math.sin(math.rad(X)) end, 0.25)
		wait(0.1)
		TweenJoint(objs[2],  nil , CFrame.new(0.67163527, -0.310947895, -1.34432662, 0.766044378, -2.80971371e-008, 0.642787576, -0.620885074, -0.258818865, 0.739942133, 0.166365519, -0.965925872, -0.198266774), function(X) return math.sin(math.rad(X)) end, 0.25)
		wait(0.25)
		objs[4]:WaitForChild("Click"):Play()
	end;

	ReloadAnim = function(char, speed, objs)
			ts:Create(objs[2],TweenInfo.new(0.5),{C1 = CFrame.new(-1.13045335, -0.385085344, -1.60160995, 0.996194661, -0.0871555507, -3.8096899e-09, -0.0435778052, -0.498097777, 0.866025209, -0.0754788965, -0.862729728, -0.500000358)}):Play()
			ts:Create(objs[3],TweenInfo.new(0.5),{C1 = CFrame.new(0.306991339, 0.173449978, -2.47386241, 0.596156955, -0.666716337, 0.447309881, -0.79129082, -0.393649101, 0.4678666, -0.135851175, -0.632874191, -0.762243152)}):Play()
			wait(0.5)

			local MagC = objs[4]:clone()
			MagC:FindFirstChild("Mag"):Destroy()
			MagC.Parent = Tool
			MagC.Name = "MagC"
			local MagCW = Instance.new("Motor6D")
			MagCW.Part0 = MagC
			MagCW.Part1 = workspace.CurrentCamera:WaitForChild("Arms"):WaitForChild("Left Arm")
			MagCW.Parent = MagC
			MagCW.C1 = MagC.CFrame:toObjectSpace(objs[4].CFrame)
			objs[4].Transparency = 1

			objs[6]:WaitForChild("MagOut"):Play()

			ts:Create(objs[3],TweenInfo.new(0.4),{C1 = CFrame.new(-0.0507154427, -0.345223904, -3.19228816, 0.625797808, -0.752114773, 0.206640378, -0.779792726, -0.609173417, 0.144329756, 0.0173272491, -0.2514579, -0.967713058)}):Play()
			ts:Create(objs[2],TweenInfo.new(0.13),{C1 = CFrame.new(-1.13045335, -0.385085344, -1.63183177, 0.996194661, -0.0871555507, -3.8096899e-09, -0.0435778052, -0.498097777, 0.866025209, -0.0754788965, -0.862729728, -0.500000358)}):Play()
			wait(0.1)
			ts:Create(objs[2],TweenInfo.new(0.4),{C1 = CFrame.new(-1.13045335, -0.385085344, -1.60160995, 0.996194661, -0.0871555507, -3.8096899e-09, -0.0435778052, -0.498097777, 0.866025209, -0.0754788965, -0.862729728, -0.500000358)}):Play()
			ts:Create(objs[3],TweenInfo.new(0.5),{C1 = CFrame.new(-0.0507154427, -0.345223933, -3.1922884, 0.625797808, -0.752114773, 0.206640378, 0.0507019535, 0.303593874, 0.95145148, -0.778335571, -0.584939361, 0.2281221)}):Play()
			wait(0.55)
			objs[6]:WaitForChild("MagFall"):Play()
			wait(0.25)
			ts:Create(objs[3],TweenInfo.new(0.3),{C1 = CFrame.new(-1.23319471, 0.238857567, -2.20046425, 0.360941499, -0.928539753, -0.0868042335, -0.476528496, -0.263641387, 0.838697612, -0.801649332, -0.261356145, -0.53763473)}):Play()
			wait(0.22)
			ts:Create(objs[3],TweenInfo.new(0.3),{C1 = CFrame.new(-0.0507154427, -0.345223904, -3.19228816, 0.625797808, -0.752114773, 0.206640378, -0.779792726, -0.609173417, 0.144329756, 0.0173272491, -0.2514579, -0.967713058)}):Play()
			wait(0.22)
			objs[6]:WaitForChild('MagIn'):Play()
			ts:Create(objs[3],TweenInfo.new(0.2),{C1 = CFrame.new(0.306991339, 0.173449978, -2.47386241, 0.596156955, -0.666716337, 0.447309881, -0.79129082, -0.393649101, 0.4678666, -0.135851175, -0.632874191, -0.762243152)}):Play()
			wait(0.16)
			ts:Create(objs[2],TweenInfo.new(0.13),{C1 = CFrame.new(-1.13045335, -0.385085344, -1.51256108, 0.996194661, -0.0871555507, -3.8096899e-09, -0.0435778052, -0.498097777, 0.866025209, -0.0754788965, -0.862729728, -0.500000358)}):Play()
			ts:Create(objs[3],TweenInfo.new(0.13),{C1 = CFrame.new(0.306991339, 0.173449978, -2.37906742, 0.596156955, -0.666716337, 0.447309881, -0.79129082, -0.393649101, 0.4678666, -0.135851175, -0.632874191, -0.762243152)}):Play()
			wait(0.13)
			MagC:Destroy()
			objs[4].Transparency = 0
			TweenJoint(objs[3],  nil , CFrame.new(1.06851184, 0.973718464, -2.29667926, 0.787567914, -0.220087856, 0.575584888, -0.615963876, -0.308488727, 0.724860668, 0.0180283934, -0.925416589, -0.378522098), function(X) return math.sin(math.rad(X)) end, 0.25)
		end;

	-- Bolt Anim
		BoltBackAnim = function(char, speed, objs)
			TweenJoint(objs[3],  nil , CFrame.new(-0.833141267, -0.530990303, -1.55439997, 0.642787576, 3.34848629e-08, -0.766044378, 0.766044378, -2.80971371e-08, 0.642787576, 0, -1, -4.37113883e-08), function(X) return math.sin(math.rad(X)) end, 0.45)
			TweenJoint(objs[2],  nil , CFrame.new(2.1115706, -0.937148452, -1.32660568, 0.803367436, 0.238225982, 0.545755446, -0.118667498, -0.834062338, 0.538755715, 0.583539844, -0.497582287, -0.641788721), function(X) return math.sin(math.rad(X)) end, 0.2)
			wait(0.5)
			objs[5]:WaitForChild("BoltBack"):Play()
			TweenJoint(objs[2],  nil , CFrame.new(1.00409043, -1.18411899, -1.32660568, 0.803367436, 0.238225982, 0.545755446, -0.118667498, -0.834062338, 0.538755715, 0.583539844, -0.497582287, -0.641788721), function(X) return math.sin(math.rad(X)) end, 0.25)
			TweenJoint(objs[1],  nil , CFrame.new(0, 0, 0.817838132, 1, 0, 0, 0, 1, 0, 0, 0, 1), function(X) return math.sin(math.rad(X)) end, 0.25)
			TweenJoint(objs[3],  nil , CFrame.new(-0.833141267, -0.854931653, -1.55439997, 0.642787576, 3.34848629e-08, -0.766044378, 0.766044378, -2.80971371e-08, 0.642787576, 0, -1, -4.37113883e-08), function(X) return math.sin(math.rad(X)) end, 0.25)
			wait(0.1)
		end;

		BoltForwardAnim = function(char, speed, objs)
			objs[5]:WaitForChild("BoltForward"):Play()
			TweenJoint(objs[1],  nil , CFrame.new(), function(X) return math.sin(math.rad(X)) end, 0.1)
			TweenJoint(objs[2],  nil , CFrame.new(0.299306631, -1.18411899, -1.32660568, 0.803367436, 0.238225982, 0.545755446, -0.118667498, -0.834062338, 0.538755715, 0.583539844, -0.497582287, -0.641788721), function(X) return math.sin(math.rad(X)) end, 0.1)
			TweenJoint(objs[3],  nil , CFrame.new(-0.833141267, -0.291854143, -1.55439997, 0.642787576, 3.34848629e-08, -0.766044378, 0.766044378, -2.80971371e-08, 0.642787576, 0, -1, -4.37113883e-08), function(X) return math.sin(math.rad(X)) end, 0.2)
			wait(0.1)
		end;

		-- Bolting Back
		BoltingBackAnim = function(char, speed, objs)
			TweenJoint(objs[1],  nil , CFrame.new(0, 0, 0.673770154, 1, 0, 0, 0, 1, 0, 0, 0, 1), function(X) return math.sin(math.rad(X)) end, 0.001)
		end;

		BoltingForwardAnim = function(char, speed, objs)
			TweenJoint(objs[1],  nil , CFrame.new(), function(X) return math.sin(math.rad(X)) end, 0.001)
		end;

		InspectAnim = function(char, speed, objs)
			ts:Create(objs[1],TweenInfo.new(1),{C1 = CFrame.new(0.805950999, 0.654529691, -1.92835355, 0.999723792, 0.0109803826, 0.0207702816, -0.0223077796, 0.721017241, 0.692557871, -0.00737112388, -0.692829967, 0.721063137)}):Play()
			ts:Create(objs[2],TweenInfo.new(1),{C1 = CFrame.new(-1.49363565, -0.699174881, -1.32277012, 0.66716975, -8.8829113e-09, -0.74490571, 0.651565909, -0.484672248, 0.5835706, -0.361035138, -0.874695837, -0.323358655)}):Play()
			wait(1)
			ts:Create(objs[2],TweenInfo.new(1),{C1 = CFrame.new(1.37424219, -0.699174881, -1.03685927, -0.204235911, 0.62879771, 0.750267386, 0.65156585, -0.484672219, 0.58357054, 0.730581641, 0.60803473, -0.310715646)}):Play()
			wait(1)
			ts:Create(objs[2],TweenInfo.new(1),{C1 = CFrame.new(-0.902175903, 0.295501232, -1.32277012, 0.935064793, -0.354476899, 4.22709467e-09, -0.110443868, -0.291336805, 0.950223684, -0.336832345, -0.888520718, -0.311568588)}):Play()
			ts:Create(objs[1],TweenInfo.new(1),{C1 = CFrame.new(0.447846293, 0.654529572, -1.81345785, 0.761665463, -0.514432132, 0.393986136, -0.560285628, -0.217437655, 0.799250066, -0.325492471, -0.82950604, -0.453843832)}):Play()
			wait(1)
			local MagC = Tool:WaitForChild("Mag"):clone()
			MagC:FindFirstChild("Mag"):Destroy()
			MagC.Parent = Tool
			MagC.Name = "MagC"
			local MagCW = Instance.new("Motor6D")
			MagCW.Part0 = MagC
			MagCW.Part1 = workspace.CurrentCamera:WaitForChild("Arms"):WaitForChild("Left Arm")
			MagCW.Parent = MagC
			MagCW.C1 = MagC.CFrame:toObjectSpace(Tool:WaitForChild('Mag').CFrame)
			Tool.Mag.Transparency = 1
			Tool:WaitForChild('Grip'):WaitForChild("MagOut"):Play()

			ts:Create(objs[2],TweenInfo.new(0.15),{C1 = CFrame.new(-0.902175903, 0.295501232, -1.55972552, 0.935064793, -0.354476899, 4.22709467e-09, -0.110443868, -0.291336805, 0.950223684, -0.336832345, -0.888520718, -0.311568588)}):Play()
			ts:Create(objs[1],TweenInfo.new(0.3),{C1 = CFrame.new(0.447846293, 0.654529572, -2.9755671, 0.761665463, -0.514432132, 0.393986136, -0.568886042, -0.239798605, 0.786679745, -0.31021595, -0.823320091, -0.475299776)}):Play()
			wait(0.13)
			ts:Create(objs[2],TweenInfo.new(0.20),{C1 = CFrame.new(-0.902175903, 0.295501232, -1.28149843, 0.935064793, -0.354476899, 4.22709467e-09, -0.110443868, -0.291336805, 0.950223684, -0.336832345, -0.888520718, -0.311568588)}):Play()
			wait(0.20)
			ts:Create(objs[1],TweenInfo.new(0.5),{C1 = CFrame.new(0.447846293, -0.650498748, -1.82401526, 0.761665463, -0.514432132, 0.393986136, -0.646156013, -0.55753684, 0.521185875, -0.0484529883, -0.651545882, -0.75706023)}):Play()
			wait(0.8)
			ts:Create(objs[1],TweenInfo.new(0.6),{C1 = CFrame.new(0.447846293, 0.654529572, -2.9755671, 0.761665463, -0.514432132, 0.393986136, -0.568886042, -0.239798605, 0.786679745, -0.31021595, -0.823320091, -0.475299776)}):Play()
			wait(0.5)
			Tool:WaitForChild('Grip'):WaitForChild("MagIn"):Play()
			ts:Create(objs[1],TweenInfo.new(0.3),{C1 = CFrame.new(0.447846293, 0.654529572, -1.81345785, 0.761665463, -0.514432132, 0.393986136, -0.560285628, -0.217437655, 0.799250066, -0.325492471, -0.82950604, -0.453843832)}):Play()
			wait(0.3)
			MagC:Destroy()
			Tool.Mag.Transparency = 0
			wait(0.1)
		end;

		nadeReload = function(char, speed, objs)
			ts:Create(objs[1], TweenInfo.new(0.6), {C1 = CFrame.new(-0.902175903, -1.15645337, -1.32277012, 0.984807789, -0.163175702, -0.0593911409, 0, -0.342020363, 0.939692557, -0.17364797, -0.925416529, -0.336824328)}):Play()
			ts:Create(objs[2], TweenInfo.new(0.6), {C1 = CFrame.new(0.805950999, 0.654529691, -1.92835355, 0.787567914, -0.220087856, 0.575584888, -0.323594928, 0.647189975, 0.690240026, -0.524426222, -0.72986728, 0.438486755)}):Play()
			wait(0.6)
			ts:Create(objs[2], TweenInfo.new(0.6), {C1 = CFrame.new(0.805950999, 0.559619546, -1.73060048, 0.802135408, -0.348581612, 0.484839559, -0.597102284, -0.477574915, 0.644508123, 0.00688350201, -0.806481719, -0.59121877)}):Play()
			wait(0.6)
		end;

		AttachAnim = function(char, speed, objs)
			TweenJoint(objs[1],  nil , CFrame.new(-2.05413628, -0.386312962, -0.955676377, 0.5, 0, -0.866025329, 0.852868497, -0.17364797, 0.492403895, -0.150383547, -0.984807789, -0.086823985), function(X) return math.sin(math.rad(X)) end, 0.25)
			TweenJoint(objs[2],  nil , CFrame.new(0.931334019, 1.66565645, -1.2231313, 0.787567914, -0.220087856, 0.575584888, -0.0180282295, 0.925416708, 0.378521889, -0.615963817, -0.308488399, 0.724860728), function(X) return math.sin(math.rad(X)) end, 0.25)
			wait(0.18)
		end;

		-- Patrol Anim
		PatrolAnim = function(char, speed, objs)
			TweenJoint(objs[1],  nil , sConfig.PatrolPosR, function(X) return math.sin(math.rad(X)) end, 0.25)
			TweenJoint(objs[2],  nil , sConfig.PatrolPosL, function(X) return math.sin(math.rad(X)) end, 0.25)
			wait(0.18)
		end;

	}

return Settings


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		= 3.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 ]]		4.35		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		3.65		,
		--[[ 3 ]]		2.64		,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)


Prompt:
-- Enum.ChatColor.White (White, Normal)
-- Enum.ChatColor.Red (Red, Enemy)
-- Enum.ChatColor.Green (Green, Friendly)
-- Enum.ChatColor.Blue (Blue, Neutral)

Response:
game.Chat.BubbleChatEnabled = false -- Disables the default ROBLOX bubble chat. Required for this script to work.

game.Players.PlayerAdded:Connect(function(fans)
	local function Chat(message: string, color)
		game:GetService("Chat"):Chat(fans.Character.Head, message, cc)
	end
	fans.Chatted:Connect(function(msg)
		Chat(msg)
	end)
end)


Prompt: -- DefaultValue for spare ammo

Response: local SpareAmmo = 2100


Prompt: -- Made by Yarik, you are allowed to take it, but please favorite it first


Prompt: -- Obtén el servicio de sonido

Response: local soundService = game:GetService("SoundService")


Prompt:
--			car.Body.Dash.D.off.Enabled = false
--			car.Body.Dash.S.off.Enabled = false

Response:
			if e.Parent.Parent.Parent.Misc.FL.Window.SS.Motor.DesiredAngle == -.25 or e.Parent.Parent.Parent.Misc.FR.Window.SS.Motor.DesiredAngle == .25 or e.Parent.Parent.Parent.Misc.RL.Window.SS.Motor.DesiredAngle == -.25 or e.Parent.Parent.Parent.Misc.RR.Window.SS.Motor.DesiredAngle == .25 then
				e.Muffle.Enabled = false
				e.Muffle2.Enabled = false
			elseif e.Parent.Parent.Parent.Misc.FL.Door.SS.Motor.DesiredAngle == -1 or e.Parent.Parent.Parent.Misc.FR.Door.SS.Motor.DesiredAngle == 1 or e.Parent.Parent.Parent.Misc.RL.Door.SS.Motor.DesiredAngle == -1 or e.Parent.Parent.Parent.Misc.RR.Door.SS.Motor.DesiredAngle == 1 or e.Parent.Parent.Parent.Misc.TK.SS.Motor.DesiredAngle == 1 then
				e.Muffle.Enabled = false
				e.Muffle2.Enabled = false
			elseif e.Parent.Parent.Parent.Misc.FL.Window.SS.Motor.DesiredAngle == 0 or e.Parent.Parent.Parent.Misc.FR.Window.SS.Motor.DesiredAngle == 0 or e.Parent.Parent.Parent.Misc.RL.Window.SS.Motor.DesiredAngle == 0 or e.Parent.Parent.Parent.Misc.RR.Window.SS.Motor.DesiredAngle == 0 then
				e.Muffle.Enabled = true
				e.Muffle2.Enabled = true
			end
		end
	end
end)

script.Parent.RightMouseClick:connect(function(p)
	if p.Name == owner.Value then
		alarm.Lights.Value = false
		alarm.Sound.Value = false
		local sc = script.Parent.SecuriCode:Clone()
		sc.Car.Value = carSeat.Parent
		sc.Parent = p.PlayerGui
	end
end)


Prompt: --[[Vehicle Weight]]

Response:
	--Determine Current Mass
	local mass=0

	function getMass(p)
		for i,v in pairs(p:GetChildren())do
			if v:IsA("BasePart") then
				mass=mass+v:GetMass()
			end
			getMass(v)
		end
	end
	getMass(car)

	--Apply Vehicle Weight
	if mass<_Tune.Weight*weightScaling then
		--Calculate Weight Distribution
		local centerF = Vector3.new()
		local centerR = Vector3.new()
		local countF = 0
		local countR = 0

		for i,v in pairs(Drive) do
			if v.Name=="FL" or v.Name=="FR" or v.Name=="F" then
				centerF = centerF+v.CFrame.p
				countF = countF+1
			else
				centerR = centerR+v.CFrame.p
				countR = countR+1
			end
		end
		centerF = centerF/countF
		centerR = centerR/countR
		local center = centerR:Lerp(centerF, _Tune.WeightDist/100)

		--Create Weight Brick
		local weightB = Instance.new("Part",car.Body)
		weightB.Name = "#Weight"
		weightB.Anchored = true
		weightB.CanCollide = false
		weightB.BrickColor = BrickColor.new("Really black")
		weightB.TopSurface = Enum.SurfaceType.Smooth
		weightB.BottomSurface = Enum.SurfaceType.Smooth
		if _Tune.WBVisible then
			weightB.Transparency = .75
		else
			weightB.Transparency = 1
		end
		weightB.Size = Vector3.new(_Tune.WeightBSize[1],_Tune.WeightBSize[2],_Tune.WeightBSize[3])
		weightB.CustomPhysicalProperties = PhysicalProperties.new(((_Tune.Weight*weightScaling)-mass)/(weightB.Size.x*weightB.Size.y*weightB.Size.z),0,0,0,0)
		weightB.CFrame=(car.DriveSeat.CFrame-car.DriveSeat.Position+center)*CFrame.new(0,_Tune.CGHeight,0)
	else
		--Existing Weight Is Too Massive
		warn( "\n\t [AC".._BuildVersion.."]: Mass too high for specified weight."
			.."\n\t    Target Mass:\t"..(math.ceil(_Tune.Weight*weightScaling*100)/100)
			.."\n\t    Current Mass:\t"..(math.ceil(mass*100)/100)
			.."\n\t Reduce part size or axle density to achieve desired weight.")
	end

	local flipG = Instance.new("BodyGyro",car.DriveSeat)
	flipG.Name = "Flip"
	flipG.D = 0
	flipG.MaxTorque = Vector3.new(0,0,0)
	flipG.P = 0


Prompt: --------RIGHT DOOR --------

Response:
game.Workspace.doorright.l41.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l53.BrickColor = BrickColor.new(1023)

game.Workspace.doorright.pillar.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)


Prompt: -- Users in the following groups have global Freecam permissions:

Response:
local FREECAM_GROUP_IDS = {
	1200769, -- Roblox Admins
	3013794, -- Admin Illuminati
	4358041, -- Freecam
}

local function ShouldAddFreeCam(player)
	if RunService:IsStudio() then
		return true
	end
	if player.UserId <= 0 then
		return false
	end

	for _, groupId in ipairs(FREECAM_GROUP_IDS) do
		local success, inGroup = pcall(player.IsInGroup, player, groupId)
		if success and inGroup then
			return true
		end
	end

	return false
end


Prompt: -- print("hit: ", hit," hit.Parent: " ,hit.Parent.Name)

Response:
	local target= hit.Parent.Name
	-- print("Bullet hit - ",target)

	local human	= Instance.new("Humanoid")
	human.Parent = bullet

	if hit.Name == "Shield" then -- попали в щит
		return -- не атакуем
	end
	if hit.Name == "Rocket" then -- попали в снаряд
		return -- не атакуем
	end

	if target == bullet.Owner.Value then -- свой игрок


Prompt:
--Weld stuff here
--Engine

Response:
local ENG_PCK = nil
for i,v in pairs(misc:GetDescendants()) do
	if v:IsA("ObjectValue") and v.Name == "ENGINE_PACK" then ENG_PCK = v.Value end
end
if ENG_PCK then

	if ENG_PCK:FindFirstChild("Cam_Gears") then
		local CG = ENG_PCK.Cam_Gears
		for i,Gear in pairs(CG:GetChildren()) do
			if string.sub(Gear.Name,1,4) == "Gear" then
				MakeWeld(Gear.W,car.DriveSeat,"Motor")
				ModelWeld(Gear.Parts,Gear.W)
			end
		end
	end

	if ENG_PCK:FindFirstChild("Engine_Shake") then
		local ES = ENG_PCK.Engine_Shake
		MakeWeld(ES.W,car.DriveSeat,"Motor")
		ModelWeld(ES.Parts,ES.W)
	end

	if ENG_PCK:FindFirstChild("Manifold_Heat") then
		local MH = ENG_PCK.Manifold_Heat
		ModelWeld(MH.Parts,car.DriveSeat)
	end

	if ENG_PCK:FindFirstChild("Throttle_Body") then
		local TB = ENG_PCK.Throttle_Body
		for i,Body in pairs(TB:GetChildren()) do
			if string.sub(Body.Name,1,4) == "Body" then
				MakeWeld(Body.W,car.DriveSeat,"Motor",0.25)
				ModelWeld(Body.Parts,Body.W)
			end
		end
	end

	if ENG_PCK:FindFirstChild("Timing_Belt") then
		local TI = ENG_PCK.Timing_Belt
		ModelWeld(TI.Parts,car.DriveSeat)
		for i=1,#TI.Parts:GetChildren() do
			for x=1,#TI.Parts:GetChildren() do
				local Attachment = Instance.new("Attachment",TI.Parts["A"..x])
				Attachment.Orientation = Vector3.new(90,0,0)
			end
			local Beam = Instance.new("Beam",TI.Beams)
			Beam.Transparency = NumberSequence.new{
				NumberSequenceKeypoint.new(0,0),
				NumberSequenceKeypoint.new(1,0)}

			Beam.Name = "A"..i
			if TI.TextureID.Value ~= nil then
				Beam.Texture = "rbxassetid://"..TI.TextureID.Value
			end
			Beam.TextureSpeed = 0
			if TI.BeltWidth.Value ~= nil then
				Beam.Width0 = TI.BeltWidth.Value
				Beam.Width1 = TI.BeltWidth.Value
			end
			if i == #TI.Parts:GetChildren() then
				Beam.Attachment0 = TI.Parts["A"..i].Attachment
				Beam.Attachment1 = TI.Parts["A1"].Attachment
			else
				print("A"..i+1)
				Beam.Attachment0 = TI.Parts["A"..i].Attachment
				Beam.Attachment1 = TI.Parts["A"..i+1].Attachment
			end
		end
	end

	if ENG_PCK:FindFirstChild("Turbochargers") then
		local TC = ENG_PCK.Turbochargers
		for i,Turbo in pairs(TC:GetChildren()) do
			if string.sub(Turbo.Name,1,5) == "Turbo" then
				MakeWeld(Turbo.W,car.DriveSeat,"Motor")
				ModelWeld(Turbo.Parts,Turbo.W)
			end
		end
	end

end


Prompt:
-----------------
--| Variables |--
-----------------

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

local Camera = nil
local CameraChangeConn = nil

local PlayerCharacters = {} -- For ignoring in raycasts
local VehicleParts = {} -- Also just for ignoring

local LastPopAmount = 0
local LastZoomLevel = 0
local PopperEnabled = false


Prompt: --game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)   -- 5 (if you want to remove all CoreGuis)


Prompt: -- The name of the folder containing the 3D GUI elements for visualizing casts.

Response: local FC_VIS_OBJ_NAME = "FastCastVisualizationObjects"


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

Response:
return function(p1, p2)
	for v1 = #p1, 1, -1 do
		if p1[v1] == p2 then
			table.remove(p1, v1);
		end;
	end;
	return p1;
end;


Prompt: --print("near player and building")

Response:
if nearestPlayer and closestPlayerDist < 10 then
target = nearestPlayer
targetType = nearestPlayer.ClassName
lastLock = tick()


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

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


Prompt: -- If using VR

Response:
if UserInputService.VREnabled and VRUseHeadsetControls.Value == true then
	VRService.UserCFrameChanged:connect(function(CFrametype,VRSpot)
		local x,y = VRSpot:toEulerAnglesXYZ()
		local Sensitivity = 1.2

		if CFrametype == Enum.UserCFrame.Head then
			-- Direction
			if -x*Sensitivity > -1 and -x*Sensitivity < 1 then -- Makes sure the headset isn't tilted too much
				Direction = -x*Sensitivity
			elseif -x*Sensitivity > 0 then -- Otherwise we'll go to the max speed
				Direction = 1
			elseif -x*Sensitivity < 0 then -- Otherwise we'll go to the max speed
				Direction = -1
			end

			-- Steering
			if -y > -1 and -y < 1 then -- Makes sure the headset isn't tilted too much
				Steer = -y
			elseif -y > 0 then -- Otherwise we'll go to the max speed
				Steer = 1
			elseif -y < 0 then -- Otherwise we'll go to the max speed
				Steer = -1
			end
		end
	end)
end

UserInputService.InputBegan:connect(function(Key,ProcessedEvent)
	if WeldObject.Value ~= nil then

		-- Hop off segway if press Spacebar, Backspace or controller A button
		if Key.KeyCode == Enum.KeyCode.Space or Key.KeyCode == Enum.KeyCode.Backspace or Key.KeyCode == Enum.KeyCode.ButtonA then
			Hopoff()
		end

		--Forward
		if Key.KeyCode == Enum.KeyCode.W or Key.KeyCode == Enum.KeyCode.Up or Key.KeyCode == Enum.KeyCode.ButtonR2 then
			if Direction ~= 1 then
			Direction = 1
			end
		end

		--Backward
		if Key.KeyCode == Enum.KeyCode.S or Key.KeyCode == Enum.KeyCode.Down or Key.KeyCode == Enum.KeyCode.ButtonL2 then
			if Direction ~= -1 then
			Direction = -1
			end
		end

		--Left
		if Key.KeyCode == Enum.KeyCode.D or Key.KeyCode == Enum.KeyCode.Right then
			if Steer ~= 1 then
			Steer = 1
			end
		end

		--Right
		if Key.KeyCode == Enum.KeyCode.A or Key.KeyCode == Enum.KeyCode.Left then
			if Steer ~= -1 then
			Steer = -1
			end
		end
	end
end)


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

Response:
return {
	CameraRecoilingEnabled = true,
	Recoil = 0,
	AngleX_Min = 10,
	AngleX_Max = 10,
	AngleY_Min = 1.5,
	AngleY_Max = 1.5,
	AngleZ_Min = 5,
	AngleZ_Max = 5,
	Accuracy = 0.1,
	RecoilSpeed = 3,
	RecoilDamper = 0.65,
	RecoilRedution = 0.1
};


Prompt: --	print("Success")

Response:
else
	print("No Humanoid")
end
local humanim = hum:LoadAnimation(script:FindFirstChildOfClass("Animation"))


Prompt: --// Stances

Response:
function Prone()
	UpdateAmmo()
	L_109_: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_152_ = 4
	L_151_ = 0.025

	L_62_ = true

	Proned2 = Vector3.new(0, 0.5, 0.5)
	L_127_(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_281_arg1)
		return math.sin(math.rad(L_281_arg1))
	end, 0.25)
	L_127_(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_282_arg1)
		return math.sin(math.rad(L_282_arg1))
	end, 0.25)
	L_127_(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_283_arg1)
		return math.sin(math.rad(L_283_arg1))
	end, 0.25)
end

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

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

	L_62_ = false

	if not L_61_ then
		L_3_:WaitForChild("Humanoid").WalkSpeed = 16
		L_151_ = .2
		L_152_ = 17
	elseif L_61_ then
		L_3_:WaitForChild("Humanoid").WalkSpeed = 16
		L_152_ = 10
		L_151_ = 0.02
	end

	Proned2 = Vector3.new(0, 0, 0)
	L_127_(L_9_, CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), nil, function(L_284_arg1)
		return math.sin(math.rad(L_284_arg1))
	end, 0.25)
	L_127_(L_10_,  CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), nil, function(L_285_arg1)
		return math.sin(math.rad(L_285_arg1))
	end, 0.25)
	L_127_(L_11_,  CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0), nil, function(L_286_arg1)
		return math.sin(math.rad(L_286_arg1))
	end, 0.25)
end

function Crouch()
	UpdateAmmo()
	L_109_: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_152_ = 9
	L_151_ = 0.035

	L_62_ = true

	Proned2 = Vector3.new(0, 0, 0)
	L_127_(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_287_arg1)
		return math.sin(math.rad(L_287_arg1))
	end, 0.25)
	L_127_(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_288_arg1)
		return math.sin(math.rad(L_288_arg1))
	end, 0.25)
	L_127_(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_289_arg1)
		return math.sin(math.rad(L_289_arg1))
	end, 0.25)
	L_127_(L_6_:WaitForChild("Neck"), 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

function LeanRight()
	if L_90_ ~= 2 then
		L_109_:FireServer("LeanRight")
		L_127_(L_9_, nil, CFrame.new(0, 0.200000003, 0, -0.939692616, 0, -0.342020124, -0.342020124, 0, 0.939692616, 0, 1, 0), function(L_291_arg1)
			return math.sin(math.rad(L_291_arg1))
		end, 0.25)
		L_127_(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_292_arg1)
			return math.sin(math.rad(L_292_arg1))
		end, 0.25)
		L_127_(L_11_,  nil, nil, function(L_293_arg1)
			return math.sin(math.rad(L_293_arg1))
		end, 0.25)
		L_127_(L_6_:WaitForChild("Clone"), nil, CFrame.new(-0.400000006, -0.300000012, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0), function(L_294_arg1)
			return math.sin(math.rad(L_294_arg1))
		end, 0.25)
		if not L_62_ then
			L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
				CameraOffset = Vector3.new(1, -0.5, 0)
			}):Play()
		elseif L_62_ then
			if L_90_ == 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_90_ ~= 2 then
		L_109_:FireServer("LeanLeft")
		L_127_(L_9_, nil, CFrame.new(0, 0.200000003, 0, -0.939692616, 0, 0.342020124, 0.342020124, 0, 0.939692616, 0, 1, 0), function(L_295_arg1)
			return math.sin(math.rad(L_295_arg1))
		end, 0.25)
		L_127_(L_10_, nil, nil, function(L_296_arg1)
			return math.sin(math.rad(L_296_arg1))
		end, 0.25)
		L_127_(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_297_arg1)
			return math.sin(math.rad(L_297_arg1))
		end, 0.25)
		L_127_(L_6_:WaitForChild("Clone"), nil, CFrame.new(0.400000006, -0.300000012, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0), function(L_298_arg1)
			return math.sin(math.rad(L_298_arg1))
		end, 0.25)
		if not L_62_ then
			L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
				CameraOffset = Vector3.new(-1, -0.5, 0)
			}):Play()
		elseif L_62_ then
			if L_90_ == 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_90_ ~= 2 then
		L_109_:FireServer("Unlean")
		L_127_(L_9_, nil, CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0), function(L_299_arg1)
			return math.sin(math.rad(L_299_arg1))
		end, 0.25)
		L_127_(L_10_, nil, CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0), function(L_300_arg1)
			return math.sin(math.rad(L_300_arg1))
		end, 0.25)
		L_127_(L_11_,  nil, CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0), function(L_301_arg1)
			return math.sin(math.rad(L_301_arg1))
		end, 0.25)
		if L_6_:FindFirstChild('Clone') then
			L_127_(L_6_:WaitForChild("Clone"), nil, CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0), function(L_302_arg1)
				return math.sin(math.rad(L_302_arg1))
			end, 0.25)
		end
		if not L_62_ then
			L_14_:Create(L_3_:WaitForChild('Humanoid'), TweenInfo.new(0.3), {
				CameraOffset = Vector3.new(0, 0, 0)
			}):Play()
		elseif L_62_ then
			if L_90_ == 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_162_ = false

L_104_.InputBegan:connect(function(L_303_arg1, L_304_arg2)
	if not L_304_arg2 and L_15_ == true then
		if L_15_ then
			if L_303_arg1.KeyCode == Enum.KeyCode.C or L_303_arg1.KeyCode == Enum.KeyCode.ButtonB then
				if L_90_ == 0 and not L_64_ and L_15_ then
					L_90_ = 1
					Crouch()

					L_91_ = false
					L_93_ = true
					L_92_ = false
				elseif L_90_ == 1 and not L_64_ and L_15_ then
					L_90_ = 2
					Prone()

					L_93_ = false
					L_91_ = true
					L_92_ = false
					L_162_ = true
				end
			end

			if L_303_arg1.KeyCode == Enum.KeyCode.X or L_303_arg1.KeyCode == Enum.KeyCode.ButtonY then
				if L_90_ == 2 and not L_64_ and L_15_ then
					L_162_ = false
					L_90_ = 1
					Crouch()

					L_91_ = false
					L_93_ = true
					L_92_ = false
				elseif L_90_ == 1 and not L_64_ and L_15_ then
					L_90_ = 0
					Stand()

					L_91_ = false
					L_93_ = false
					L_92_ = true
				end
			end
		end
	end
end)


Prompt: --// Animations

Response:
	-- Idle Anim
	IdleAnim = function(char, speed, objs)
		TweenJoint(objs[2],  nil , CFrame.new(-0.902175903, 0.295501232, -1.32277012, 1, 0, 0, 0, 1.19248806e-08, 1, 0, -1, 1.19248806e-08), function(X) return math.sin(math.rad(X)) end, 0.25)
		TweenJoint(objs[3],  nil , CFrame.new(1.06851184, 0.973718464, -2.29667926, 0.787567914, -0.220087856, 0.575584888, -0.615963876, -0.308488727, 0.724860668, 0.0180283934, -0.925416589, -0.378522098), function(X) return math.sin(math.rad(X)) end, 0.25)
		wait(0.18)
	end;

	-- FireMode Anim
	FireModeAnim = function(char, speed, objs)
		TweenJoint(objs[1],  nil , CFrame.new(0.340285569, 0, -0.0787199363, 0.962304771, 0.271973342, 0, -0.261981696, 0.926952124, -0.268561482, -0.0730415657, 0.258437991, 0.963262498), function(X) return math.sin(math.rad(X)) end, 0.25)
		wait(0.8)
		TweenJoint(objs[2],  nil , CFrame.new(0.67163527, -0.310947895, -1.34432662, 0.766044378, -2.80971371e-008, 0.642787576, -0.620885074, -0.258818865, 0.739942133, 0.166365519, -0.965925872, -0.198266774), function(X) return math.sin(math.rad(X)) end, 0.25)
		wait(0.8)
		objs[4]:WaitForChild("Click"):Play()
	end;

	ReloadAnim = function(char, speed, objs)
			ts:Create(objs[2],TweenInfo.new(0.5),{C1 = CFrame.new(-1.83314121, 0.112866193, -0.954399943, 0.758022368, -0.558526218, -0.336824089, 0.157115281, -0.344846308, 0.925416529, -0.633021891, -0.75440675, -0.173648208)}):Play()
			ts:Create(objs[3],TweenInfo.new(0.5),{C1 = CFrame.new(-0.570892751, 0.765644431, -2.10391617, 0.545084536, -0.836516321, 0.0558858961, -0.482962906, -0.258818835, 0.836516321, -0.685295284, -0.482962966, -0.545084476)}):Play()
			wait(0.8)

			local MagC = objs[4]:clone()
			MagC:FindFirstChild("Mag"):Destroy()
			MagC.Parent = Tool
			MagC.Name = "MagC"
			local MagCW = Instance.new("Motor6D")
			MagCW.Part0 = MagC
			MagCW.Part1 = workspace.CurrentCamera:WaitForChild("Arms"):WaitForChild("Left Arm")
			MagCW.Parent = MagC
			MagCW.C1 = MagC.CFrame:toObjectSpace(objs[4].CFrame)
			objs[4].Transparency = 1

			objs[6]:WaitForChild("MagOut"):Play()

			ts:Create(objs[3],TweenInfo.new(0.4),{C1 = CFrame.new(-0.970892727, 0.365644425, -3.30391622, 0.545084536, -0.836516321, 0.0558858961, -0.482962906, -0.258818835, 0.836516321, -0.685295284, -0.482962966, -0.545084476)}):Play()
			ts:Create(objs[2],TweenInfo.new(0.13),{C1 = CFrame.new(-1.83314121, 0.112866193, -1.15439999, 0.758022368, -0.558526218, -0.336824089, 0.157115281, -0.344846308, 0.925416529, -0.633021891, -0.75440675, -0.173648208)}):Play()
			wait(0.05)
			ts:Create(objs[2],TweenInfo.new(0.4),{C1 = CFrame.new(-1.83314121, 0.112866193, -0.954399943, 0.758022368, -0.558526218, -0.336824089, 0.157115281, -0.344846308, 0.925416529, -0.633021891, -0.75440675, -0.173648208)}):Play()
			ts:Create(objs[3],TweenInfo.new(0.5),{C1 = CFrame.new(-2.63354445, 0.365644455, -0.92290014, -0.0482801795, -0.826441228, 0.560948968, 0.376857162, 0.505025029, 0.776484549, -0.925012231, 0.248886406, 0.287067622)}):Play()
			wait(0.4)
			objs[6]:WaitForChild("MagFall"):Play()
			ts:Create(objs[3],TweenInfo.new(0.3),{C1 = CFrame.new(-1.98033559, 0.365644455, -1.12859631, -0.281058222, -0.892398655, -0.353031129, -0.101086289, -0.338284373, 0.935598731, -0.954351902, 0.298644274, 0.00486823916)}):Play()
			wait(0.05)
			ts:Create(objs[3],TweenInfo.new(0.3),{C1 = CFrame.new(-0.970892727, 0.365644425, -3.30391622, 0.545084536, -0.836516321, 0.0558858961, -0.482962906, -0.258818835, 0.836516321, -0.685295284, -0.482962966, -0.545084476)}):Play()
			wait(0.05)
			objs[6]:WaitForChild('MagIn'):Play()
			ts:Create(objs[3],TweenInfo.new(0.2),{C1 = CFrame.new(-0.570892751, 0.765644431, -2.10391617, 0.545084536, -0.836516321, 0.0558858961, -0.482962906, -0.258818835, 0.836516321, -0.685295284, -0.482962966, -0.545084476)}):Play()
			wait(0.05)
			ts:Create(objs[2],TweenInfo.new(0.13),{C1 = CFrame.new(-1.83314121, 0.112866186, -0.954399943, 0.758022368, -0.558526218, -0.336824089, 0.0448053852, -0.470608532, 0.881203771, -0.650687635, -0.683063805, -0.331706822)}):Play()
			ts:Create(objs[3],TweenInfo.new(0.13),{C1 = CFrame.new(-0.543338716, 0.753075361, -2.10391617, 0.491499543, -0.870869577, -0.00377259403, -0.594625771, -0.338752329, 0.729154944, -0.63627702, -0.356136084, -0.684338093)}):Play()
			wait(0.05)
			MagC:Destroy()
			objs[4].Transparency = 0
		end;

	-- Bolt Anim
		BoltBackAnim = function(char, speed, objs)
			TweenJoint(objs[3],  nil , CFrame.new(-0.603950977, 0.518400908, -1.07592201, 0.984651804, 0.174530268, -2.0812525e-09, 0.0221636202, -0.125041038, 0.991903961, 0.173117265, -0.97668004, -0.12699011), function(X) return math.sin(math.rad(X)) end, 0.25)
			wait(0.1)
			TweenJoint(objs[2],  nil , CFrame.new(-0.333807141, -0.492658436, -1.55705214, 0.140073985, -0.978677034, -0.150234282, -0.955578506, -0.173358306, 0.238361627, -0.259323537, 0.110172354, -0.959486008), function(X) return math.sin(math.rad(X)) end, 0.25)
			wait(0.1)
			objs[5]:WaitForChild("BoltBack"):Play()
			TweenJoint(objs[2],  nil , CFrame.new(-0.333807141, -0.609481037, -1.02827215, 0.140073985, -0.978677034, -0.150234282, -0.955578506, -0.173358306, 0.238361627, -0.259323537, 0.110172354, -0.959486008), function(X) return math.sin(math.rad(X)) end, 0.25)
			TweenJoint(objs[1],  nil , CFrame.new(0, 0, 0.0710707675, 1, 0, 0, 0, 1, 0, 0, 0, 1), function(X) return math.sin(math.rad(X)) end, 0.25)

			wait(0.25)
		end;

		BoltForwardAnim = function(char, speed, objs)

		end;

		-- Bolting Back
		BoltingBackAnim = function(char, speed, objs)
			TweenJoint(objs[1],  nil , CFrame.new(0, 0, -0.603770154, 1, 0, 0, 0, 1, 0, 0, 0, 1), function(X) return math.sin(math.rad(X)) end, 0.050)
		end;

		BoltingForwardAnim = function(char, speed, objs)
			TweenJoint(objs[1],  nil , CFrame.new(), function(X) return math.sin(math.rad(X)) end, 0.050)
		end;

		InspectAnim = function(char, speed, objs)
			ts:Create(objs[1],TweenInfo.new(1),{C1 = CFrame.new(0.805950999, 0.654529691, -1.92835355, 0.999723792, 0.0109803826, 0.0207702816, -0.0223077796, 0.721017241, 0.692557871, -0.00737112388, -0.692829967, 0.721063137)}):Play()
			ts:Create(objs[2],TweenInfo.new(1),{C1 = CFrame.new(-1.49363565, -0.699174881, -1.32277012, 0.66716975, -8.8829113e-09, -0.74490571, 0.651565909, -0.484672248, 0.5835706, -0.361035138, -0.874695837, -0.323358655)}):Play()
			wait(1)
			ts:Create(objs[2],TweenInfo.new(1),{C1 = CFrame.new(1.37424219, -0.699174881, -1.03685927, -0.204235911, 0.62879771, 0.750267386, 0.65156585, -0.484672219, 0.58357054, 0.730581641, 0.60803473, -0.310715646)}):Play()
			wait(1)
			ts:Create(objs[2],TweenInfo.new(1),{C1 = CFrame.new(-0.902175903, 0.295501232, -1.32277012, 0.935064793, -0.354476899, 4.22709467e-09, -0.110443868, -0.291336805, 0.950223684, -0.336832345, -0.888520718, -0.311568588)}):Play()
			ts:Create(objs[1],TweenInfo.new(1),{C1 = CFrame.new(0.447846293, 0.654529572, -1.81345785, 0.761665463, -0.514432132, 0.393986136, -0.560285628, -0.217437655, 0.799250066, -0.325492471, -0.82950604, -0.453843832)}):Play()
			wait(1)
			local MagC = Tool:WaitForChild("Mag"):clone()
			MagC:FindFirstChild("Mag"):Destroy()
			MagC.Parent = Tool
			MagC.Name = "MagC"
			local MagCW = Instance.new("Motor6D")
			MagCW.Part0 = MagC
			MagCW.Part1 = workspace.CurrentCamera:WaitForChild("Arms"):WaitForChild("Left Arm")
			MagCW.Parent = MagC
			MagCW.C1 = MagC.CFrame:toObjectSpace(Tool:WaitForChild('Mag').CFrame)
			Tool.Mag.Transparency = 1
			Tool:WaitForChild('Grip'):WaitForChild("MagOut"):Play()

			ts:Create(objs[2],TweenInfo.new(0.15),{C1 = CFrame.new(-0.902175903, 0.295501232, -1.55972552, 0.935064793, -0.354476899, 4.22709467e-09, -0.110443868, -0.291336805, 0.950223684, -0.336832345, -0.888520718, -0.311568588)}):Play()
			ts:Create(objs[1],TweenInfo.new(0.3),{C1 = CFrame.new(0.447846293, 0.654529572, -2.9755671, 0.761665463, -0.514432132, 0.393986136, -0.568886042, -0.239798605, 0.786679745, -0.31021595, -0.823320091, -0.475299776)}):Play()
			wait(0.13)
			ts:Create(objs[2],TweenInfo.new(0.20),{C1 = CFrame.new(-0.902175903, 0.295501232, -1.28149843, 0.935064793, -0.354476899, 4.22709467e-09, -0.110443868, -0.291336805, 0.950223684, -0.336832345, -0.888520718, -0.311568588)}):Play()
			wait(0.20)
			ts:Create(objs[1],TweenInfo.new(0.5),{C1 = CFrame.new(0.447846293, -0.650498748, -1.82401526, 0.761665463, -0.514432132, 0.393986136, -0.646156013, -0.55753684, 0.521185875, -0.0484529883, -0.651545882, -0.75706023)}):Play()
			wait(0.8)
			ts:Create(objs[1],TweenInfo.new(0.6),{C1 = CFrame.new(0.447846293, 0.654529572, -2.9755671, 0.761665463, -0.514432132, 0.393986136, -0.568886042, -0.239798605, 0.786679745, -0.31021595, -0.823320091, -0.475299776)}):Play()
			wait(0.5)
			Tool:WaitForChild('Grip'):WaitForChild("MagIn"):Play()
			ts:Create(objs[1],TweenInfo.new(0.3),{C1 = CFrame.new(0.447846293, 0.654529572, -1.81345785, 0.761665463, -0.514432132, 0.393986136, -0.560285628, -0.217437655, 0.799250066, -0.325492471, -0.82950604, -0.453843832)}):Play()
			wait(0.3)
			MagC:Destroy()
			Tool.Mag.Transparency = 0
			wait(0.1)
		end;

		nadeReload = function(char, speed, objs)
			ts:Create(objs[1], TweenInfo.new(0.6), {C1 = CFrame.new(-0.902175903, -1.15645337, -1.32277012, 0.984807789, -0.163175702, -0.0593911409, 0, -0.342020363, 0.939692557, -0.17364797, -0.925416529, -0.336824328)}):Play()
			ts:Create(objs[2], TweenInfo.new(0.6), {C1 = CFrame.new(0.805950999, 0.654529691, -1.92835355, 0.787567914, -0.220087856, 0.575584888, -0.323594928, 0.647189975, 0.690240026, -0.524426222, -0.72986728, 0.438486755)}):Play()
			wait(0.6)
			ts:Create(objs[2], TweenInfo.new(0.6), {C1 = CFrame.new(0.805950999, 0.559619546, -1.73060048, 0.802135408, -0.348581612, 0.484839559, -0.597102284, -0.477574915, 0.644508123, 0.00688350201, -0.806481719, -0.59121877)}):Play()
			wait(0.6)
		end;

		AttachAnim = function(char, speed, objs)
			TweenJoint(objs[1],  nil , CFrame.new(-2.05413628, -0.386312962, -0.955676377, 0.5, 0, -0.866025329, 0.852868497, -0.17364797, 0.492403895, -0.150383547, -0.984807789, -0.086823985), function(X) return math.sin(math.rad(X)) end, 0.25)
			TweenJoint(objs[2],  nil , CFrame.new(0.931334019, 1.66565645, -1.2231313, 0.787567914, -0.220087856, 0.575584888, -0.0180282295, 0.925416708, 0.378521889, -0.615963817, -0.308488399, 0.724860728), function(X) return math.sin(math.rad(X)) end, 0.25)
			wait(0.18)
		end;

		-- Patrol Anim
		PatrolAnim = function(char, speed, objs)
			TweenJoint(objs[1],  nil , sConfig.PatrolPosR, function(X) return math.sin(math.rad(X)) end, 0.25)
			TweenJoint(objs[2],  nil , sConfig.PatrolPosL, function(X) return math.sin(math.rad(X)) end, 0.25)
			wait(0.18)
		end;

	}

return Settings