Prompt: ----[[ Color Settings ]]

Response:
module.BackGroundColor = Color3.new(0, 0, 0)
module.DefaultMessageColor = Color3.new(1, 0.666667, 0)
module.DefaultChatColor = Color3.fromRGB(255, 170, 0)
module.DefaultNameColor = Color3.new(0.333333, 0.666667, 0.498039)
module.ChatBarBackGroundColor = Color3.new(0, 0, 0)
module.ChatBarBoxColor = Color3.new(1, 1, 1)
module.ChatBarTextColor = Color3.new(0, 0, 0)
module.ChannelsTabUnselectedColor = Color3.new(0, 0, 0)
module.ChannelsTabSelectedColor = Color3.new(30/255, 30/255, 30/255)
module.DefaultChannelNameColor = Color3.fromRGB(35, 76, 142)
module.WhisperChannelNameColor = Color3.fromRGB(102, 14, 102)
module.ErrorMessageTextColor = Color3.fromRGB(245, 50, 50)

module.DefaultPrefix = ""
module.DefaultPrefixColor = Color3.fromRGB(255,255,255)


Prompt:
--[[
	Stores 'sensible default' properties to be applied to instances created by
	the New function.
]]

Response:
local ENABLE_SENSIBLE_DEFAULTS = true

if ENABLE_SENSIBLE_DEFAULTS then
	return {
		ScreenGui = {
			ResetOnSpawn = false,
			ZIndexBehavior = "Sibling"
		},

		BillboardGui = {
			ResetOnSpawn = false,
			ZIndexBehavior = "Sibling"
		},

		SurfaceGui = {
			ResetOnSpawn = false,
			ZIndexBehavior = "Sibling",

			SizingMode = "PixelsPerStud",
			PixelsPerStud = 50
		},

		Frame = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0
		},

		ScrollingFrame = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0,

			ScrollBarImageColor3 = Color3.new(0, 0, 0)
		},

		TextLabel = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0,

			Font = "SourceSans",
			Text = "",
			TextColor3 = Color3.new(0, 0, 0),
			TextSize = 14
		},

		TextButton = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0,

			AutoButtonColor = false,

			Font = "SourceSans",
			Text = "",
			TextColor3 = Color3.new(0, 0, 0),
			TextSize = 14
		},

		TextBox = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0,

			ClearTextOnFocus = false,

			Font = "SourceSans",
			Text = "",
			TextColor3 = Color3.new(0, 0, 0),
			TextSize = 14
		},

		ImageLabel = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0
		},

		ImageButton = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0,

			AutoButtonColor = false
		},

		ViewportFrame = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0
		},

		VideoFrame = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0
		}
	}
else
	return {}
end


Prompt: --Don't worry about the rest of the code, except for line 25.

Response:
game.Players.PlayerAdded:connect(function(player)
local leader = Instance.new("Folder",player)
leader.Name = "leaderstats"
local Joins = Instance.new("IntValue",leader)
Joins.Name = stat
Joins.Value = ds:GetAsync(player.UserId) or startamount
ds:SetAsync(player.UserId, Joins.Value)
Joins.Changed:connect(function()
	ds:SetAsync(player.UserId, Joins.Value)
end)
end)

game.Players.PlayerRemoving:connect(function(player)
ds:SetAsync(player.UserId, player.leaderstats.Joins.Value) --Change "Points" to the name of your leaderstat.
end)


Prompt: ----- Script: -----

Response:
Button.Activated:Connect(function()

	----- Script: -----

	InformationData.Case.Value = CaseData.Case.Value
	InformationImage.Image = Image.Image
	InformationVariables.CommunPorcentage.Text = CaseData.CommunPorcentage.Value
	InformationVariables.UncommunPorcentage.Text = CaseData.UncommunPorcentage.Value
	InformationVariables.RarePorcentage.Text = CaseData.RarePorcentage.Value
	InformationVariables.LegendaryPorcentage.Text = CaseData.LegendaryPorcentage.Value

end)

local function UpdateQuantityText ()

	Variables.QuantityText.Text = Package.Value
	if Package.Value == 0 then
		Button.Visible = false
	else
		Button.Visible = true
	end

end

Package.Changed:Connect(UpdateQuantityText)

UpdateQuantityText()


Prompt: -- Constants

Response: local Local_Player = PlayersService.LocalPlayer


Prompt:
--TimedOut
--* called when the player took too long to choose an option.

Response:
function Interface.TimedOut()

end


Prompt:
--[=[
	Observes percent visibility
	@param basicPane BasicPane
	@return Observable<number>
]=]

Response:
function BasicPaneUtils.observePercentVisible(basicPane)
	assert(BasicPane.isBasicPane(basicPane), "Bad BasicPane")

	return BasicPaneUtils.observeVisible(basicPane):Pipe({
		Rx.map(function(visible)
			return visible and 1 or 0
		end);
		Rx.startWith({0}); -- Ensure fade in every time.
	})
end


Prompt: --------LEFT DOOR --------

Response:
game.Workspace.doorleft.l11.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l23.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l32.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l41.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l53.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l62.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l71.BrickColor = BrickColor.new(1013)

game.Workspace.doorleft.l12.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l21.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l33.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l42.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l51.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l63.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l72.BrickColor = BrickColor.new(1013)

game.Workspace.doorleft.l13.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l22.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l31.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l43.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l52.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l61.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l73.BrickColor = BrickColor.new(1013)

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


Prompt: -- Types of joints to assume should be preserved

Response:
local ManualJointTypes = Support.FlipTable { 'Weld', 'ManualWeld', 'ManualGlue', 'Motor', 'Motor6D' };

function SearchJoints(Haystack, Part, Whitelist)
	-- Searches for and returns manual joints in `Haystack` involving `Part` and other parts in `Whitelist`

	local Joints = {};

	-- Search the haystack for joints involving `Part`
	for _, Item in pairs(GetChildren(Haystack)) do

		-- Check if this item is a manual, intentional joint
		if ManualJointTypes[Item.ClassName] and
		   (Whitelist[Item.Part0] and Whitelist[Item.Part1]) then

			-- Save joint and state if intentional
			Joints[Item] = Item.Parent;

		end;

	end;

	-- Return the found joints
	return Joints;

end;

function RestoreJoints(Joints)
	-- Restores the joints from the given `Joints` data

	-- Restore each joint
	for Joint, JointParent in pairs(Joints) do
		Joint.Parent = JointParent;
	end;

end;

function PreserveJoints(Part, Whitelist)
	-- Preserves and returns intentional joints of `Part` connecting parts in `Whitelist`

	-- Get the part's joints
	local Joints = GetPartJoints(Part, Whitelist);

	-- Save the joints from being broken
	for Joint in pairs(Joints) do
		Joint.Parent = nil;
	end;

	-- Return the joints
	return Joints;

end;

function CreatePart(PartType)
	-- Creates and returns new part based on `PartType` with sensible defaults

	local NewPart

	if PartType == 'Normal' then
		NewPart = Instance.new('Part')
		NewPart.Size = Vector3.new(4, 1, 2)

	elseif PartType == 'Truss' then
		NewPart = Instance.new('TrussPart')

	elseif PartType == 'Wedge' then
		NewPart = Instance.new('WedgePart')
		NewPart.Size = Vector3.new(4, 1, 2)

	elseif PartType == 'Corner' then
		NewPart = Instance.new('CornerWedgePart')

	elseif PartType == 'Cylinder' then
		NewPart = Instance.new('Part')
		NewPart.Shape = 'Cylinder'
		NewPart.Size = Vector3.new(2, 2, 2)

	elseif PartType == 'Ball' then
		NewPart = Instance.new('Part')
		NewPart.Shape = 'Ball'

	elseif PartType == 'Seat' then
		NewPart = Instance.new('Seat')
		NewPart.Size = Vector3.new(4, 1, 2)

	elseif PartType == 'Vehicle Seat' then
		NewPart = Instance.new('VehicleSeat')
		NewPart.Size = Vector3.new(4, 1, 2)

	elseif PartType == 'Spawn' then
		NewPart = Instance.new('SpawnLocation')
		NewPart.Size = Vector3.new(4, 1, 2)
	end

	-- Make part surfaces smooth
	NewPart.TopSurface = Enum.SurfaceType.Smooth;
	NewPart.BottomSurface = Enum.SurfaceType.Smooth;

	-- Make sure the part is anchored
	NewPart.Anchored = true

	return NewPart
end


Prompt: -- Services

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


Response:
i = true
script.Parent[ZoneModelName]:MoveTo(Vector3.new(0,10000,0))
script.Parent[ZoneModelName]:Clone().Parent = game.ServerStorage
script.Parent.RemoteEvent.OnServerEvent:Connect(function(plr,X,Y,Z)
	if i then i = false
		local zone = game.ServerStorage:WaitForChild(ZoneModelName):Clone()
		zone.Parent = game.Workspace
		zone.PrimaryPart = zone.Main
		zone:SetPrimaryPartCFrame(CFrame.new(Vector3.new(X,Y+1,Z)))
		zone.Main.Touched:Connect(function(hit)
			if hit.Parent:FindFirstChild(MobHumanoidName) then
				hit.Parent[MobHumanoidName].Health = hit.Parent[MobHumanoidName].Health-Damage
			end
		end)
		wait(Cooldown)
		i = true
	end
end)


Response:
runService.RenderStepped:connect(function()

	if running then
		updatechar()

		CamPos = CamPos + (TargetCamPos - CamPos) *0.28
		AngleX = AngleX + (TargetAngleX - AngleX) *0.35
		local dist = TargetAngleY - AngleY
		dist = math.abs(dist) > 180 and dist - (dist / math.abs(dist)) * 360 or dist
		AngleY = (AngleY + dist *0.35) %360
		cam.CameraType = Enum.CameraType.Scriptable

		cam.CoordinateFrame = CFrame.new(head.Position)
		* CFrame.Angles(0,math.rad(AngleY),0)
		* CFrame.Angles(math.rad(AngleX),0,0)
		* HeadOffset -- offset

		humanoidpart.CFrame=CFrame.new(humanoidpart.Position)*CFrame.Angles(0,math.rad(AngleY),0)
		else game:GetService("UserInputService").MouseBehavior = Enum.MouseBehavior.Default
	end

	if (cam.Focus.p-cam.CoordinateFrame.p).magnitude < 1 then
		running = false
	else
		running = true
		if freemouse == true then
			game:GetService("UserInputService").MouseBehavior = Enum.MouseBehavior.Default
		else
			game:GetService("UserInputService").MouseBehavior = Enum.MouseBehavior.LockCenter
		end
	end

	if not CanToggleMouse.allowed then
		freemouse = false
	end

	cam.FieldOfView = FieldOfView

	if walkspeeds.enabled then
		if w and s then return end

		if w and not lshift then
			FieldOfView = lerp(FieldOfView, defFOV,easingtime)
			human.WalkSpeed = lerp(human.WalkSpeed,walkspeeds.walkingspeed,easingtime)
		elseif w and a then
			human.WalkSpeed = lerp(human.WalkSpeed,walkspeeds.diagonalspeed,easingtime)
		elseif w and d then
			human.WalkSpeed = lerp(human.WalkSpeed,walkspeeds.diagonalspeed,easingtime)
		elseif s then
			human.WalkSpeed = lerp(human.WalkSpeed,walkspeeds.backwardsspeed,easingtime)
		elseif s and a then
			human.WalkSpeed = lerp(human.WalkSpeed,walkspeeds.backwardsspeed - (walkspeeds.diagonalspeed - walkspeeds.backwardsspeed),easingtime)
		elseif s and d then
			human.WalkSpeed = lerp(human.WalkSpeed,walkspeeds.backwardsspeed - (walkspeeds.diagonalspeed - walkspeeds.backwardsspeed),easingtime)
		elseif d then
			human.WalkSpeed = lerp(human.WalkSpeed,walkspeeds.sidewaysspeed,easingtime)
		elseif a then
			human.WalkSpeed = lerp(human.WalkSpeed,walkspeeds.sidewaysspeed,easingtime)
		end

		if lshift and w then
			FieldOfView = lerp(FieldOfView, walkspeeds.runningFOV,easingtime)
			human.WalkSpeed = lerp(human.WalkSpeed,human.WalkSpeed + (walkspeeds.runningspeed - human.WalkSpeed),easingtime)
		end
	end

end)


Prompt:
--[[
	[Whether rotation follows the camera or the mouse.]
	[Useful with tools if true, but camera tracking runs smoother.]
--]]

Response: local MseGuide = false


Prompt: --// Extras

Response:
	WalkAnimEnabled = true; -- Set to false to disable walking animation, true to enable
	SwayEnabled = true;	 -- Set to false to disable sway, true to enable
	TacticalModeEnabled = true; -- SET THIS TO TRUE TO TURN ON TACTICAL MODEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE


Prompt: --Required Modules

Response:
local modules = script.Parent
local status = require(modules.Status)
local core = require(modules.CoreModule)

local marine = script.Parent.Parent.Parent
local myHuman = marine.Humanoid
local myRoot = marine.HumanoidRootPart
local m4 = marine.M4
local reloadSound = m4.Reload
local magazine = marine.Mag

local myHead = marine.Head
local myTorso = marine.Torso
local neck = myTorso.Neck
local lShoulder = myTorso["Left Shoulder"]
local rShoulder = myTorso["Right Shoulder"]
local lArmWeld = myTorso["Left Arm Weld"]
local rArmWeld = myTorso["Right Arm Weld"]
local lArm = marine["Left Arm"]
local rArm = marine["Right Arm"]
local m4Weld = m4["M4 Weld"]


Prompt: -- tu dois assigner la bonne couleur

Response:
local plr = script.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Name
local normalBorderColor = script.Parent.Border.ImageColor3

function Click(mouse)
	if game.Players[plr].TeamColor ~= game.Teams:FindFirstChild(script.Parent.Name).TeamColor then
		game.Players[plr].TeamColor = game.Teams:FindFirstChild(script.Parent.Name).TeamColor

		script.Parent.Border.ImageColor3 = Color3.new(0.333333, 1, 0)
		wait(.25)
		script.Parent.Border.ImageColor3 = normalBorderColor
		wait(.1)
		script.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Character.Humanoid.Health = 0
	else
		script.Parent.Border.ImageColor3 = Color3.new(1, 0, 0)
		wait(.25)
		script.Parent.Border.ImageColor3 = normalBorderColor
		wait(.1)
	end

end

script.Parent.MouseButton1Click:connect(Click)


Prompt: --/////////// CONFIGURATIONS \\\\\\\\\\\\\\\\\

Response:
local sensitivity = 1 -- how quick/snappy the sway movements are. Don't go above 2
local swaysize = 1 -- how large/powerful the sway is. Don't go above 2
local includestrafe = true -- if true the fps arms will sway when the character is strafing
local includewalksway = true -- if true, fps arms will sway when you are walking
local includecamerasway = true -- if true, fps arms will sway when you move the camera
local includejumpsway = true -- if true, jumping will have an effect on the viewmodel
local headoffset = Vector3.new(0,0,0) -- the offset from the default camera position of the head. (0,1,0) will put the camera one stud above the head.
local firstperson_arm_transparency = 0 -- the transparency of the arms in first person; set to 1 for invisible and set to 0 for fully visible.
local firstperson_waist_movements_enabled = false -- if true, animations will affect the Uppertorso. If false, the uppertorso stays still while in first person (applies to R15 only)


Prompt: -- CONNECTIONS

Response:
local iconCreationCount = 0
IconController.iconAdded:Connect(function(icon)
	topbarIcons[icon] = true
	if IconController.gameTheme then
		icon:setTheme(IconController.gameTheme)
	end
	icon.updated:Connect(function()
		IconController.updateTopbar()
	end)
	-- When this icon is selected, deselect other icons if necessary
	icon.selected:Connect(function()
		local allIcons = IconController.getIcons()
		for _, otherIcon in pairs(allIcons) do
			if icon.deselectWhenOtherIconSelected and otherIcon ~= icon and otherIcon.deselectWhenOtherIconSelected and otherIcon:getToggleState() == "selected" then
				otherIcon:deselect(icon)
			end
		end
	end)
	-- Order by creation if no order specified
	iconCreationCount = iconCreationCount + 1
	icon:setOrder(iconCreationCount)
	-- Apply controller view if enabled
	if IconController.controllerModeEnabled then
		IconController._enableControllerModeForIcon(icon, true)
	end
	IconController:_updateSelectionGroup()
	IconController.updateTopbar()
end)

IconController.iconRemoved:Connect(function(icon)
	topbarIcons[icon] = nil
	icon:setEnabled(false)
	icon:deselect()
	icon.updated:Fire()
	IconController:_updateSelectionGroup()
end)

workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(bindCamera)


Prompt:
--// skeleton script for the actual health charger module
--// i could make this even more modular but idk

Response:
local SSS = game:GetService("ServerScriptService")
local HealthChargerMain = require(SSS.HealthCharger)
local MainPart = script.Parent
local ProxPrompt = MainPart.healthPrompt
local Beam = MainPart.Beam
local Particles = MainPart.BeamAttachment.Particles

ProxPrompt.Triggered:Connect(function(player)
	HealthChargerMain.OnInteract(player, Beam, Particles)
end)
ProxPrompt.TriggerEnded:Connect(function(player)
	print(player)
	HealthChargerMain.OnEndedInteract(player)
end)


Prompt: --------- MODULE BEGIN ---------

Response:
local richText = {}
local textService = game:GetService("TextService")
local runService = game:GetService("RunService")
local animationCount = 0

function getLayerCollector(frame)
	if not frame then
		return nil
	elseif frame:IsA("LayerCollector") then
		return frame
	elseif frame and frame.Parent then
		return getLayerCollector(frame.Parent)
	else
		return nil
	end
end

function shallowCopy(tab)
	local ret = {}
	for key, value in pairs(tab) do
		ret[key] = value
	end
	return ret
end

function getColorFromString(value)
	if colors[value] then
		 return colors[value]
	else
		local r, g, b = value:match("(%d+),(%d+),(%d+)")
		return Color3.new(r / 255, g / 255, b / 255)
	end
end

function getVector2FromString(value)
	local x, y = value:match("(%d+),(%d+)")
	return Vector2.new(x, y)
end

function richText:New(frame, text, startingProperties)
	for _, v in pairs(frame:GetChildren()) do
		v:Destroy()
	end

	local properties = {}
	local defaultProperties = {}

	local lineFrames = {}
	local textFrames = {}
	local frameProperties = {}
	local linePosition = 0
	local textLabel = Instance.new("TextLabel")
	local imageLabel = Instance.new("ImageLabel")
	local layerCollector = getLayerCollector(frame)

	local applyProperty, applyMarkup, formatLabel, printText, printImage, printSeries

	----- Apply properties / markups -----
	function applyMarkup(key, value)
		key = propertyShortcuts[key] or key
		if value == "/" then
			if defaultProperties[key] then
				value = defaultProperties[key]
			else
				warn("Attempt to default <"..key.."> to value with no default")
			end
		end
		if tonumber(value) then
			value = tonumber(value)
		elseif value == "false" or value == "true" then
			value = value == "true"
		end
		properties[key] = value

		if applyProperty(key, value) then
			-- Ok
		elseif defaults[key] then
			-- Ok
		elseif key == "Img" then
			printImage(value)
		else
			-- Unknown value
			return false
		end
		return true
	end

	function applyProperty(name, value, frame)
		local propertyType
		local ret = false
		for _, label in pairs(frame and {frame} or {textLabel, imageLabel}) do
			local isProperty = pcall(function() propertyType = typeof(label[name]) end) -- is there a better way to check if it's a property?
			if isProperty then
				if propertyType == "Color3" then
					label[name] = getColorFromString(value)
				elseif propertyType == "Vector2" then
					label[name] = getVector2FromString(value)
				else
					label[name] = value
				end
				ret = true
			end
		end
		return ret
	end

	----- Set up default properties -----
	for name, value in pairs(defaults) do
		applyMarkup(name, value)
		defaultProperties[propertyShortcuts[name] or name] = properties[propertyShortcuts[name] or name]
	end
	for name, value in pairs(startingProperties or {}) do
		applyMarkup(name, value)
		defaultProperties[propertyShortcuts[name] or name] = properties[propertyShortcuts[name] or name]
	end

	----- Lines -----
	local function newLine()
		local lineFrame = Instance.new("Frame")
		lineFrame.Name = string.format("Line%03d", #lineFrames + 1)
		lineFrame.Size = UDim2.new(0, 0, 0, 0)
		lineFrame.BackgroundTransparency = 1
		local textContainer = Instance.new("Frame", lineFrame)
		textContainer.Name = "Container"
		textContainer.Size = UDim2.new(0, 0, 0, 0)
		textContainer.BackgroundTransparency = 1
		if properties.ContainerHorizontalAlignment == "Left" then
			textContainer.AnchorPoint = Vector2.new(0, 0)
			textContainer.Position = UDim2.new(0, 0, 0, 0)
		elseif properties.ContainerHorizontalAlignment == "Center" then
			textContainer.AnchorPoint = Vector2.new(0.5, 0)
			textContainer.Position = UDim2.new(0.5, 0, 0, 0)
		elseif properties.ContainerHorizontalAlignment == "Right" then
			textContainer.AnchorPoint = Vector2.new(1, 0)
			textContainer.Position = UDim2.new(1, 0, 0, 0)
		end

		lineFrame.Parent = frame
		table.insert(lineFrames, lineFrame)
		textFrames[#lineFrames] = {}
		linePosition = 0
	end
	newLine()

	----- Get vertical size -----
	local function getTextSize()
		if properties.TextScaled == true then
			local relativeHeight
			if properties.TextScaleRelativeTo == "Screen" then
				relativeHeight = layerCollector.AbsoluteSize.Y
			elseif properties.TextScaleRelativeTo == "Frame" then
				relativeHeight = frame.AbsoluteSize.Y
			end
			return math.min(properties.TextScale * relativeHeight, 100)
		else
			return properties.TextSize
		end
	end

	----- Label printing -----
	local function addFrameProperties(frame)
		frameProperties[frame] = shallowCopy(properties)
		frameProperties[frame].InitialSize = frame.Size
		frameProperties[frame].InitialPosition = frame.Position
		frameProperties[frame].InitialAnchorPoint = frame.AnchorPoint
	end

	function formatLabel(newLabel, labelHeight, labelWidth, endOfLineCallback)
		local lineFrame = lineFrames[#lineFrames]

		local verticalAlignment = tostring(properties.TextYAlignment)
		if verticalAlignment  == "Top" then
			newLabel.Position = UDim2.new(0, linePosition, 0, 0)
			newLabel.AnchorPoint = Vector2.new(0, 0)
		elseif verticalAlignment  == "Center" then
			newLabel.Position = UDim2.new(0, linePosition, 0.5, 0)
			newLabel.AnchorPoint = Vector2.new(0, 0.5)
		elseif verticalAlignment  == "Bottom" then
			newLabel.Position = UDim2.new(0, linePosition, 1, 0)
			newLabel.AnchorPoint = Vector2.new(0, 1)
		end

		linePosition = linePosition + labelWidth
		if linePosition > frame.AbsoluteSize.X and not (linePosition == labelWidth) then
			-- Newline, get rid of label and redo on next line
			newLabel:Destroy()
			local lastLabel = textFrames[#lineFrames][#textFrames[#lineFrames]]
			if lastLabel:IsA("TextLabel") and lastLabel.Text == " " then -- get rid of trailing space
				lineFrame.Container.Size = UDim2.new(0, linePosition - labelWidth - lastLabel.Size.X.Offset, 1, 0)
				lastLabel:Destroy()
				table.remove(textFrames[#lineFrames])
			end
			newLine()
			endOfLineCallback()
		else
			-- Label is ok
			newLabel.Size = UDim2.new(0, labelWidth, 0, labelHeight)
			lineFrame.Container.Size = UDim2.new(0, linePosition, 1, 0)
			lineFrame.Size = UDim2.new(1, 0, 0, math.max(lineFrame.Size.Y.Offset, labelHeight))
			newLabel.Name = string.format("Group%03d", #textFrames[#lineFrames] + 1)
			newLabel.Parent = lineFrame.Container
			table.insert(textFrames[#lineFrames], newLabel)
			addFrameProperties(newLabel)
			properties.AnimateYield = 0
		end
	end

	function printText(text)
		if text == "\n" then
			newLine()
			return
		elseif text == " " and linePosition == 0 then
			return
		end

		local textSize = getTextSize()
		local textWidth = textService:GetTextSize(text, textSize, textLabel.Font, Vector2.new(layerCollector.AbsoluteSize.X, textSize)).X

		local newTextLabel = textLabel:Clone()
		newTextLabel.TextScaled = false
		newTextLabel.TextSize = textSize
		newTextLabel.Text = text -- This text is never actually displayed. We just use it as a reference for knowing what the group string is.
		newTextLabel.TextTransparency = 1
		newTextLabel.TextStrokeTransparency = 1

		-- Keep the real text in individual frames per character:
		local charPos = 0
		for i = 1, utf8.len(text), 1 do
			local character = string.sub(text, i, i)
			local characterWidth = textService:GetTextSize(character, textSize, textLabel.Font, Vector2.new(layerCollector.AbsoluteSize.X, textSize)).X
			local characterLabel = textLabel:Clone()
			characterLabel.Text = character
			characterLabel.TextScaled = false
			characterLabel.TextSize = textSize
			characterLabel.Position = UDim2.new(0, charPos, 0, 0)
			characterLabel.Size = UDim2.new(0, characterWidth, 0, textSize)
			characterLabel.Name = string.format("Char%03d", i)
			characterLabel.Parent = newTextLabel
			characterLabel.Visible = false
			addFrameProperties(characterLabel)
			charPos = charPos + characterWidth
		end

		formatLabel(newTextLabel, textSize, textWidth, function() printText(text) end)
	end

	function printImage(imageId)
		local imageHeight = getTextSize()
		local imageWidth = imageHeight -- Would be nice if we could get aspect ratio of image to get width properly.

		local newImageLabel = imageLabel:Clone()
		newImageLabel.Image = "rbxassetid://"..(images[imageId] or imageId)
		newImageLabel.Size = UDim2.new(0, imageHeight, 0, imageWidth)
		newImageLabel.Visible = false

		formatLabel(newImageLabel, imageHeight, imageWidth, function() printImage(imageId) end)
	end

	function printSeries(labelSeries)
		for _, t in pairs(labelSeries) do
			local markupKey, markupValue = string.match(t, "<(.+)=(.+)>")
			if markupKey and markupValue then
				if not applyMarkup(markupKey, markupValue) then
					warn("Could not apply markup: ", t)
				end
			else
				printText(t)
			end
		end
	end

	----- Text traversal + parsing -----
	local textPos = 1
	local textLength = utf8.len(text)
	local labelSeries = {}

	while textPos and textPos <= textLength do
		local nextMarkupStart, nextMarkupEnd = string.find(text, "<.->", textPos)
		local nextSpaceStart, nextSpaceEnd = string.find(text, "[ \t\n]", textPos)

		local nextBreakStart, nextBreakEnd, breakIsWhitespace
		if nextMarkupStart and nextMarkupEnd and (not nextSpaceStart or nextMarkupStart < nextSpaceStart) then
			nextBreakStart, nextBreakEnd = nextMarkupStart, nextMarkupEnd
		else
			nextBreakStart, nextBreakEnd = nextSpaceStart or textLength + 1, nextSpaceEnd or textLength + 1
			breakIsWhitespace = true
		end

		local nextWord = nextBreakStart > textPos and string.sub(text, textPos, nextBreakStart - 1) or nil
		local nextBreak = nextBreakStart <= textLength and string.sub(text, nextBreakStart, nextBreakEnd) or nil
		table.insert(labelSeries, nextWord)

		if breakIsWhitespace then
			printSeries(labelSeries)
			printSeries({nextBreak})
			labelSeries = {}
		else
			table.insert(labelSeries, nextBreak)
		end

		textPos = nextBreakEnd + 1
		--textPos = utf8.offset(text, 2, nextBreakEnd)
	end
	printSeries(labelSeries)

	----- Alignment layout -----
	local listLayout = Instance.new("UIListLayout")
	listLayout.HorizontalAlignment = properties.ContainerHorizontalAlignment
	listLayout.VerticalAlignment = properties.ContainerVerticalAlignment
	listLayout.Parent = frame

	----- Calculate content size -----
	local contentHeight = 0
	local contentLeft = frame.AbsoluteSize.X
	local contentRight = 0
	for _, lineFrame in pairs(lineFrames) do
		contentHeight = contentHeight + lineFrame.Size.Y.Offset
		local container = lineFrame.Container
		local left, right
		if container.AnchorPoint.X == 0 then
			left = container.Position.X.Offset
			right = container.Size.X.Offset
		elseif container.AnchorPoint.X == 0.5 then
			left = lineFrame.AbsoluteSize.X / 2 - container.Size.X.Offset / 2
			right = lineFrame.AbsoluteSize.X / 2 + container.Size.X.Offset / 2
		elseif container.AnchorPoint.X == 1 then
			left = lineFrame.AbsoluteSize.X - container.Size.X.Offset
			right = lineFrame.AbsoluteSize.X
		end
		contentLeft = math.min(contentLeft, left)
		contentRight = math.max(contentRight, right)
	end

	----- Animation -----
	animationCount = animationCount + 1
	local animationDone = false
	local animationRenderstepBinding = "TextAnimation"..animationCount
	local animateQueue = {}

	local function updateAnimations()
		if animationDone then
			runService:UnbindFromRenderStep(animationRenderstepBinding)
			animateQueue = {}
			return
		end
		local t = tick()
		for i = #animateQueue, 1, -1 do
			local set = animateQueue[i]
			local properties = set.Settings
			local animateStyle = animationStyles[properties.AnimateStyle]
			if not animateStyle then
				warn("No animation style found for: ", properties.AnimateStyle, ", defaulting to Appear")
				animateStyle = animationStyles.Appear
			end
			local animateAlpha = math.min((t - set.Start) / properties.AnimateStyleTime, 1)
			animateStyle(set.Char, animateAlpha, properties)
			if animateAlpha >= 1 then
				table.remove(animateQueue, i)
			end
		end
	end

	local function setFrameToDefault(frame)
		frame.Position = frameProperties[frame].InitialPosition
		frame.Size = frameProperties[frame].InitialSize
		frame.AnchorPoint = frameProperties[frame].InitialAnchorPoint
		for name, value in pairs(frameProperties[frame]) do
			applyProperty(name, value, frame)
		end
	end

	local function setGroupVisible(frame, visible)
		frame.Visible = visible
		for _, v in pairs(frame:GetChildren()) do
			v.Visible = visible
			if visible then
				setFrameToDefault(v)
			end
		end
		if visible and frame:IsA("ImageLabel") then
			setFrameToDefault(frame)
		end
	end

	local function animate()
		animationDone = false
		runService:BindToRenderStep(animationRenderstepBinding, Enum.RenderPriority.Last.Value, updateAnimations)

		local stepGrouping
		local stepTime
		local stepFrequency
		local numAnimated

		-- Make everything invisible to start
		for lineNum, list in pairs(textFrames) do
			for _, frame in pairs(list) do
				setGroupVisible(frame, false)
			end
		end

		local function animateCharacter(char, properties)
			table.insert(animateQueue, {Char = char, Settings = properties, Start = tick()})
		end

		local function yield()
			if numAnimated % stepFrequency == 0 and stepTime >= 0 then
				wait(stepTime > 0 and stepTime or nil)
			end
		end

		for lineNum, list in pairs(textFrames) do
			for _, frame in pairs(list) do
				local properties = frameProperties[frame]
				if not (properties.AnimateStepGrouping  == stepGrouping) or not (properties.AnimateStepFrequency == stepFrequency) then
					numAnimated = 0
				end
				stepGrouping = properties.AnimateStepGrouping
				stepTime = properties.AnimateStepTime
				stepFrequency = properties.AnimateStepFrequency

				if properties.AnimateYield > 0 then
					wait(properties.AnimateYield)
				end

				if stepGrouping == "Word" or stepGrouping == "All" then
					--if not (frame:IsA("TextLabel") and (frame.Text == " ")) then
						if frame:IsA("TextLabel") then
							frame.Visible = true
							for _, v in pairs(frame:GetChildren()) do
								animateCharacter(v, frameProperties[v])
							end
						else
							animateCharacter(frame, properties)
						end
						if stepGrouping == "Word" then
							numAnimated = numAnimated + 1
							yield()
						end
					--end
				elseif stepGrouping == "Letter" then
					if frame:IsA("TextLabel") --[[and not (frame.Text == " ") ]]then
						frame.Visible = true
						local text = frame.Text
						for i = 1, utf8.len(text), 1 do
							local v = frame[string.format("Char%03d", i)]
							animateCharacter(v, frameProperties[v])
							numAnimated = numAnimated + 1
							yield()
							if animationDone then
								return
							end
						end
					else
						animateCharacter(frame, properties)
						numAnimated = numAnimated + 1
						yield()
					end
				else
					warn("Invalid step grouping: ", stepGrouping)
				end

				if animationDone then
					return
				end
			end
		end

		while #animateQueue > 0 do
			runService.RenderStepped:Wait()
		end

		animationDone = true
	end

	----- Return object API -----
	local textObject = {}

	textObject.ContentSize = Vector2.new(contentRight - contentLeft, contentHeight)

	function textObject:Animate(yield)
		if yield then
			animate()
		else
			coroutine.wrap(animate)()
		end
	end

	function textObject:Show()
		animationDone = true
		for lineNum, list in pairs(textFrames) do
			for _, frame in pairs(list) do
				setGroupVisible(frame, true)
			end
		end
	end

	function textObject:Hide()
		animationDone = true
		for lineNum, list in pairs(textFrames) do
			for _, frame in pairs(list) do
				setGroupVisible(frame, false)
			end
		end
	end

	return textObject
end

return richText


Prompt: -- find player's head pos

Response:
	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)

	local head = vCharacter:findFirstChild("Head")
	if head == nil then return end

	local launch = head.Position + 10 * v

	local missile = Pellet:clone()

	Tool.Handle.Mesh:clone().Parent = missile

	missile.Position = launch
	missile.Velocity = v * 80

	local force = Instance.new("BodyForce")
	force.force = Vector3.new(0,40,0)
	force.Parent = missile

	missile.StarScript.Disabled = false

	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = vCharacter
	creator_tag.Name = "creator"
	creator_tag.Parent = missile

	missile.Parent = game.Workspace

end

Tool.Enabled = true
function onActivated()
	if not Tool.Enabled then
		return
	end

	Tool.Enabled = false

	local character = Tool.Parent;
	local humanoid = character.Humanoid
	if humanoid == nil then
		print("Humanoid not found")
		return
	end
if loaded==true then
	loaded=false

	local targetPos = humanoid.TargetPoint
	local lookAt = (targetPos - character.Head.Position).unit

	fire(lookAt)

	if (isTurbo(character) == true) then
		wait(.2)
	else
		wait(.3)
	end

	Tool.Enabled = true
elseif loaded==false then
Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.6
Tool.Parent.Torso["Right Shoulder"].DesiredAngle = -3.6
	wait(.1)
Tool.Handle.Transparency=0
wait(.1)
	loaded=true
	end
	Tool.Enabled = true
end

script.Parent.Activated:connect(onActivated)


Prompt: --[[Brakes]]

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

	Tune.FBrakeForce	= 3500		-- Front brake force
	Tune.RBrakeForce	= 2800		-- Rear brake force
	Tune.PBrakeForce	= 13000		-- Handbrake force

	Tune.FLgcyBForce	= 41000		-- Front brake force [PGS OFF]
	Tune.RLgcyBForce	= 36000		-- Rear brake force [PGS OFF]
	Tune.LgcyPBForce	= 150000    -- Handbrake force [PGS OFF]


Prompt: --------------------[ MOUSE FUNCTIONS ]-----------------------------------------------

Response:
function onMB1Down()
	MB1Down = true
	firstShot = true
	if fireFunction then
		fireFunction()
	end
end

function onMB1Up()
	MB1Down = false
	lowerSpread()
end

function onMB2Down()
	if S.aimSettings.holdToADS then
		if (not AimingIn) and (not Aimed) then
			AimingIn = true
			aimGun()
			AimingIn = false
		end
	else
		if Aimed then
			unAimGun()
		else
			aimGun()
		end
	end
end

function onMB2Up()
	if S.aimSettings.holdToADS then
		if (not AimingOut) and Aimed then
			AimingOut = true
			unAimGun()
			AimingOut = false
		end
	end
end

function onScrollUp()
	local newAimSensitivity = aimSensitivity + S.sensitivitySettings.Increment
	aimSensitivity = (
		newAimSensitivity < S.sensitivitySettings.Min and S.sensitivitySettings.Min or
		newAimSensitivity > S.sensitivitySettings.Max and S.sensitivitySettings.Max or
		newAimSensitivity
	)
	mouseSensitivity = (Aimed and aimSensitivity or mouseSensitivity)

	Sens.Text = "S: "..aimSensitivity
	if mainGUI:IsDescendantOf(game) then
		Sens.Visible = true
		local t0 = tick()
		lastSensUpdate = t0

		wait(0.3)

		if lastSensUpdate <= t0 then
			Sens.Visible = false
		end
	end
end

function onScrollDown()
	local newAimSensitivity = aimSensitivity - S.sensitivitySettings.Increment
	aimSensitivity = (
		newAimSensitivity < S.sensitivitySettings.Min and S.sensitivitySettings.Min or
		newAimSensitivity > S.sensitivitySettings.Max and S.sensitivitySettings.Max or
		newAimSensitivity
	)
	mouseSensitivity = (Aimed and aimSensitivity or mouseSensitivity)

	Sens.Text = "S: "..aimSensitivity
	if mainGUI:IsDescendantOf(game) then
		Sens.Visible = true
		local t0 = tick()
		lastSensUpdate = t0

		wait(0.3)

		if lastSensUpdate <= t0 then
			Sens.Visible = false
		end
	end
end


Prompt:
--[=[
	Utility functions involving sets, which are tables with the key as an index, and the value as a
	truthy value.
	@class Set
]=]

Response: local Set = {}


Prompt: --[[Transmission]]

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

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

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

	--Gear Ratios
	Tune.FinalDrive		= 4.7		-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.15		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		3.94		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		2.20		,
		--[[ 3 ]]		1.41		,
		--[[ 4 ]]		0.98		,
		--[[ 5 ]]		0.82		,
	}
	Tune.FDMult			= 1			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)


Prompt: --Update Checker

Response:
if _Tune.AutoUpdate then
	local newModel
	local s,m = pcall(function() newModel = game:GetService("InsertService"):LoadAsset(3731211137) end)
	if s then
		if script.Parent["Interface"].Version.Value < newModel["NCT: M Beta"]["Tuner"]["Interface"].Version.Value then
			if newModel["NCT: M Beta"]["Tuner"]["Interface"].Version.FinalRelease.Value then
				print("[NCT: M Beta]: It's officially out!"
					.."\nNovena Constraint Type: Motorcycle has released."
					.."\nPlease upgrade your chassis to the official release."
					.."\nThank you so much for beta testing NCT: M!")
			elseif newModel["NCT: M Beta"]["Tuner"]["Interface"].Version.MajorRelease.Value then
				print("[NCT: M Beta]: Chassis update!"
					.."\nA major update to NCT: M's Beta has been found."
					.."\nThe changes cannot be ported due to the update."
					.."\nYou are advised to update your chassis ASAP.")
			else
				script.Parent["Interface"].Version.Value = newModel["NCT: M Beta"]["Tuner"]["Interface"].Version.Value
				print("[NCT: M Beta]: Drive script update!"
					.."\nAn update to NCT: M's Drive script has been found."
					.."\nThe updated script will take effect next time you get in."
					.."\nYou are advised to update your chassis soon.")
				script.Parent["Interface"].Drive:Destroy()
				newModel["NCT: M Beta"]["Tuner"]["Interface"].Drive.Parent = script.Parent["A-Chassis Interface"]
			end
		end
		newModel:Destroy()
	end
end


Prompt: --[[Weight and CG]]

Response:
	Tune.Weight			= 3029		-- Total weight (in pounds)
	Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	 --[[Width]]		6		,
	 --[[Height]]		3.5		,
	 --[[Length]]		14		}
	Tune.WeightDist		= 50		-- Weight distribution (0 - on rear wheels, 100 - on front wheels, can be <0 or >100)
	Tune.CGHeight		= .8		-- Center of gravity height (studs relative to median of all wheels)
	Tune.WBVisible		= false		-- Makes the weight brick visible

	--Unsprung Weight
	Tune.FWheelDensity	= .1		-- Front Wheel Density
	Tune.RWheelDensity	= .1		-- Rear Wheel Density
	Tune.FWLgcyDensity	= 1			-- Front Wheel Density [PGS OFF]
	Tune.RWLgcyDensity	= 1			-- Rear Wheel Density [PGS OFF]

	Tune.AxleSize		= 2			-- Size of structural members (larger = more stable/carry more weight)
	Tune.AxleDensity	= .1		-- Density of structural members


Prompt: -- DONT TOUCH ANYTHING

Response:
function ChangeMe(hit)
	if hit.Parent == nil then return end
	if (hit.Parent:findFirstChild("Humanoid") == nil) then return end
	local human = hit.Parent:findFirstChild("Humanoid")
	local char = hit.Parent
	local player = game.Players:GetPlayerFromCharacter(hit.Parent)
	if (human ~= nil) and debounce == false then
		debounce = true
		originals = char:getChildren()
		for w = 1, #originals do
			if originals[w].className == "CharacterMesh" then
				originals[w]:remove()
			end
		end
		meshes = script:getChildren()
		for y = 1, #meshes do
			copy = meshes[y]:clone()
			copy.Parent = char
		end
	end
	wait(0)
	debounce = false
end

script.Parent.Touched:connect(ChangeMe)


Prompt: -- Listeners

Response:
SpawnSegway.OnServerEvent:connect(function(Player,Color)
	Functions.SpawnSegway(Player,Color)
end)

ConfigTool.OnServerEvent:connect(function(Player,Transparency,ShouldColor,Color)
	Functions.ConfigTool(Transparency,ShouldColor,Color)
end)

DestroySegway.OnServerEvent:connect(function(Player)
	Functions.DestroySegway()
end)

PlaySound.OnServerEvent:connect(function(Player,Sound,Pitch,Volume)
	Functions.PlaySound(Sound,Pitch,Volume)
end)

StopSound.OnServerEvent:connect(function(Player,Sound,Volume)
	Functions.StopSound(Sound,Volume)
end)

UndoTags.OnServerEvent:connect(function(Player)
	Functions.UndoTags()
end)

UndoHasWelded.OnServerEvent:connect(function(Player,SeaterObject)
	Functions.UndoHasWelded(SeaterObject)
end)

function DeleteWelds.OnServerInvoke(Player,Part)
	Functions.DeleteWelds(Part)
	return true
end

function ConfigHumanoid.OnServerInvoke(Player,PlatformStand,Jump,AutoRotate)
	Functions.ConfigHumanoid(Player,PlatformStand,Jump,AutoRotate)
end

ConfigLights.OnServerEvent:connect(function(Player,Transparency,Color,Bool,Material,Lights,Notifiers)
	Functions.ConfigLights(Transparency,Color,Bool,Material,Lights,Notifiers)
end)


Prompt: --// Special Variables

Response:
return function(Vargs, GetEnv)
	local env = GetEnv(nil, {script = script})
	setfenv(1, env)

	local server = Vargs.Server
	local service = Vargs.Service

	local Functions, Admin, Anti, Core, HTTP, Logs, Remote, Process, Variables, Settings
	local function Init()
		Functions = server.Functions
		Admin = server.Admin
		Anti = server.Anti
		Core = server.Core
		HTTP = server.HTTP
		Logs = server.Logs
		Remote = server.Remote
		Process = server.Process
		Variables = server.Variables
		Settings = server.Settings

		Variables.BanMessage = Settings.BanMessage
		Variables.LockMessage = Settings.LockMessage

		for _, v in Settings.MusicList or {} do table.insert(Variables.MusicList, v) end
		for _, v in Settings.InsertList or {} do table.insert(Variables.InsertList, v) end
		for _, v in Settings.CapeList or {} do table.insert(Variables.Capes, v) end

		Variables.Init = nil
		Logs:AddLog("Script", "Variables Module Initialized")
	end

	local function AfterInit(data)
		server.Variables.CodeName = server.Functions:GetRandom()

		Variables.RunAfterInit = nil
		Logs:AddLog("Script", "Finished Variables AfterInit")
	end

	local Lighting = service.Lighting
	server.Variables = {
		Init = Init,
		RunAfterInit = AfterInit,
		ZaWarudo = false,
		CodeName = math.random(),
		IsStudio = service.RunService:IsStudio(), -- Used to check if Adonis is running inside Roblox Studio as things like TeleportService and DataStores (if API Access is disabled) do not work in Studio
		AuthorizedToReply = {},
		FrozenObjects = {},
		ScriptBuilder = {},
		CachedDonors = {},
		BanMessage = "Banned",
		LockMessage = "Not Whitelisted",
		DonorPass = {1348327, 1990427, 1911740, 167686, 98593, "6878510605", 5212082, 5212081}, --// Strings are items; numbers are gamepasses
		WebPanel_Initiated = false,
		LightingSettings = {
			Ambient = Lighting.Ambient,
			OutdoorAmbient = Lighting.OutdoorAmbient,
			Brightness = Lighting.Brightness,
			TimeOfDay = Lighting.TimeOfDay,
			FogColor = Lighting.FogColor,
			FogEnd = Lighting.FogEnd,
			FogStart = Lighting.FogStart,
			GlobalShadows = Lighting.GlobalShadows,
			Outlines = Lighting.Outlines,
			ShadowColor = Lighting.ShadowColor,
			ColorShift_Bottom = Lighting.ColorShift_Bottom,
			ColorShift_Top = Lighting.ColorShift_Top,
			GeographicLatitude = Lighting.GeographicLatitude,
			Name = Lighting.Name,
		},

		OriginalLightingSettings = {
			Ambient = Lighting.Ambient,
			OutdoorAmbient = Lighting.OutdoorAmbient,
			Brightness = Lighting.Brightness,
			TimeOfDay = Lighting.TimeOfDay,
			FogColor = Lighting.FogColor,
			FogEnd = Lighting.FogEnd,
			FogStart = Lighting.FogStart,
			GlobalShadows = Lighting.GlobalShadows,
			Outlines = Lighting.Outlines,
			ShadowColor = Lighting.ShadowColor,
			ColorShift_Bottom = Lighting.ColorShift_Bottom,
			ColorShift_Top = Lighting.ColorShift_Top,
			GeographicLatitude = Lighting.GeographicLatitude,
			Name = Lighting.Name,
			Sky = Lighting:FindFirstChildOfClass("Sky") and Lighting:FindFirstChildOfClass("Sky"):Clone(),
		},

		PMtickets = {};

		HelpRequests = {};

		Objects = {};

		InsertedObjects = {};

		CommandLoops = {};

		SavedTools = {};

		Waypoints = {};

		Cameras = {};

		Jails = {};

		LocalEffects = {};

		SizedCharacters = {};

		BundleCache = {};

		TrackingTable = {};

		DisguiseBindings = {};

		IncognitoPlayers = {};

		MusicList = {
			{Name = "crabrave", 				ID = 5410086218},
			{Name = "shiawase", 				ID = 5409360995},
			{Name = "unchartedwaters", 			ID = 7028907200},
			{Name = "glow", 				ID = 7028856935},
			{Name = "good4me", 				ID = 7029051434},
			{Name = "bloom", 				ID = 7029024726},
			{Name = "safe&sound", 				ID = 7024233823},
			{Name = "shaku", 				ID = 7024332460},
			{Name = "fromdust&ashes", 			ID = 7024254685},
			{Name = "loveis", 				ID = 7029092469},
			{Name = "playitcool", 				ID = 7029017448},
			{Name = "still", 				ID = 7023771708},
			{Name = "sleep", 				ID = 7023407320},
			{Name = "whatareyouwaitingfor", 		ID = 7028977687},
			{Name = "balace", 				ID = 7024183256},
			{Name = "brokenglass", 				ID = 7028799370},
			{Name = "thelanguageofangels", 			ID = 7029031068},
			{Name = "imprints", 				ID = 7023704173},
			{Name = "foundareason", 			ID = 7028919492},
			{Name = "newhorizons", 				ID = 7028518546},
			{Name = "whatsitlike", 				ID = 7028997537},
			{Name = "destroyme",				ID = 7023617400},
			{Name = "consellations", 			ID = 7023733671},
			{Name = "wish", 				ID = 7023670701},
			{Name = "samemistake", 				ID = 7024101188},
			{Name = "whereibelong", 			ID = 7028527348},
			{Name = "rainingtacos", 			ID = 142376088},
		};

		InsertList = {};

		Capes = {
			{Name = "crossota", 	Material = "Neon", 	Color = "Cyan", 			ID = 420260457},
			{Name = "jamiejr99", 	Material = "Neon", 	Color = "Cashmere",			ID = 429297485},
			{Name = "new yeller", 	Material = "Fabric", 	Color = "New Yeller"},
			{Name = "pastel blue", 	Material = "Fabric", 	Color = "Pastel Blue"},
			{Name = "dusty rose", 	Material = "Fabric", 	Color = "Dusty Rose"},
			{Name = "cga brown", 	Material = "Fabric", 	Color = "CGA brown"},
			{Name = "random", 	Material = "Fabric", 	Color = (BrickColor.random()).Name},
			{Name = "shiny", 	Material = "Plastic", 	Color = "Institutional white",		Reflectance = 1},
			{Name = "gold",		Material = "Plastic", 	Color = "Bright yellow",		Reflectance = 0.4},
			{Name = "kohl",		Material = "Fabric", 	Color = "Really black", 		ID = 108597653},
			{Name = "script", 	Material = "Plastic", 	Color = "White", 			ID = 151359194},
			{Name = "batman", 	Material = "Fabric", 	Color = "Institutional white", 		ID = 108597669},
			{Name = "epix", 	Material = "Plastic", 	Color = "Really black", 		ID = 149442745},
			{Name = "superman", 	Material = "Fabric", 	Color = "Bright blue", 			ID = 108597677},
			{Name = "swag", 	Material = "Fabric", 	Color = "Pink", 			ID = 109301474},
			{Name = "donor", 	Material = "Plastic", 	Color = "White", 			ID = 149009184},
			{Name = "gomodern", 	Material = "Plastic", 	Color = "Really black", 		ID = 149438175},
			{Name = "admin", 	Material = "Plastic", 	Color = "White", 			ID = 149092195},
			{Name = "giovannis", 	Material = "Plastic", 	Color = "White", 			ID = 149808729},
			{Name = "godofdonuts", 	Material = "Plastic", 	Color = "Institutional white",		ID = 151034443},
			{Name = "host", 	Material = "Plastic", 	Color = "Really black", 		ID = 152299000},
			{Name = "cohost", 	Material = "Plastic", 	Color = "Really black", 		ID = 152298950},
			{Name = "trainer",	Material = "Plastic", 	Color = "Really black", 		ID = 152298976},
			{Name = "ba", 		Material = "Plastic", 	Color = "White", 			ID = 172528001}
		};

		Blacklist = {
			Enabled = (server.Settings.BlacklistEnabled ~= nil and server.Settings.BlacklistEnabled) or true,
			Lists = {
				Settings = server.Settings.Blacklist
			},
		};

		Whitelist = {
			Enabled = server.Settings.WhitelistEnabled,
			Lists = {
				Settings = server.Settings.Whitelist
			},
		};
	}
end


Prompt: -- Set both mobile touch gui and control

Response:
function UserInputController:setMobileTouchGuiEnabled(mobileTouchGuiEnabled: boolean)
	self.UserInputService.ModalEnabled = not mobileTouchGuiEnabled

	-- Update player controls since ModalEnabled doesn't update player control
	self:setPlayerControlsEnabled(mobileTouchGuiEnabled)
end


Prompt:
--// All global vars will be wiped/replaced except script
--// All guis are autonamed client.Variables.CodeName..gui.Name
--// Be sure to update the console gui's code if you change stuff

Response:
return function(data, env)
	if env then
		setfenv(1, env)
	end

	local Title,Message = data.Title,data.Message
	if not Title or not Message then return end

	local gTable = data.gTable
	local baseClip = script.Parent.Parent.BaseClip
	local messageTemplate = baseClip.Frame
	local messageClone = messageTemplate
	messageClone.Size = UDim2.new(1,0,0,baseClip.AbsoluteSize.Y)
	messageClone.Position = UDim2.new(0,0,-1,0)
	messageClone.Parent = baseClip
	messageClone.Visible = true
	local closeButton = messageClone:WaitForChild('TextButton')
	local Top = messageClone:WaitForChild('Top')
	local Body = messageClone:WaitForChild('Body')
	local topTitle = Top:WaitForChild('Title')
	local bodyText = Body:WaitForChild('To Name Later')
	local Left = Top:WaitForChild('Left')
	local tim = data.Time
	topTitle.Text = Title
	bodyText.Text = Message
	local bodyBounds_Y = bodyText.TextBounds.Y
	if bodyBounds_Y < 30 then
		bodyBounds_Y = 30
	else
		bodyBounds_Y = bodyBounds_Y + 15
	end
	local titleSize_Y = Top.Size.Y.Offset
	messageClone.Size = UDim2.new(1,0,0,bodyBounds_Y+titleSize_Y)

	local function Resize()
		local toDisconnect
		local Success, Message = pcall(function()
			toDisconnect = gTable.BindEvent(baseClip.Changed, function(Prop)
				if Prop == "AbsoluteSize" then
					messageClone.Size = UDim2.new(1,0,0,baseClip.AbsoluteSize.Y)
					local bodyBounds_Y = bodyText.TextBounds.Y
					if bodyBounds_Y < 30 then
						bodyBounds_Y = 30
					else
						bodyBounds_Y = bodyBounds_Y + 15
					end
					local titleSize_Y = Top.Size.Y.Offset
					messageClone.Size = UDim2.new(1,0,0,bodyBounds_Y+titleSize_Y)
					if messageClone ~= nil and messageClone.Parent == baseClip then
						messageClone:TweenPosition(UDim2.new(0,0,0.5,-messageClone.Size.Y.Offset/2),'Out','Quint',0.5,true)
					else
						if toDisconnect then
							toDisconnect:Disconnect()
						end
						return
					end
				end
			end)
		end)
		if Message and toDisconnect then
			toDisconnect:Disconnect()
			return
		end
	end

	gTable.CustomDestroy = function()
		gTable.CustomDestroy = nil
		gTable.ClearEvents()

		pcall(function()
			messageClone:TweenPosition(UDim2.new(0,0,1,0),'Out','Quint',0.3,true,function(Done)
				if Done == Enum.TweenStatus.Completed and messageClone then
					messageClone:Destroy()
				elseif Done == Enum.TweenStatus.Canceled and messageClone then
					messageClone:Destroy()
				end
			end)
			wait(0.3)
		end)

		return gTable.Destroy()
	end

	gTable:Ready()
	messageClone:TweenPosition(UDim2.new(0,0,0.5,-messageClone.Size.Y.Offset/2),'Out','Quint',0.5,true,function(Status)
		if Status == Enum.TweenStatus.Completed then
			Resize()
		end
	end)

	gTable.BindEvent(closeButton.MouseButton1Click, function()
		pcall(function()
			messageClone:TweenPosition(UDim2.new(0,0,1,0),'Out','Quint',0.3,true,function(Done)
				if Done == Enum.TweenStatus.Completed and messageClone then
					messageClone:Destroy()
					gTable:Destroy()
				elseif Done == Enum.TweenStatus.Canceled and messageClone then
					messageClone:Destroy()
					gTable:Destroy()
				end
			end)
		end)
	end)

	local waitTime = tim or (#bodyText.Text*0.1)+1
	local Position_1,Position_2 = string.find(waitTime,"%p")
	if Position_1 and Position_2 then
		local followingNumbers = tonumber(string.sub(waitTime,Position_1))
		if followingNumbers >= 0.5 then
			waitTime = tonumber(string.sub(waitTime,1,Position_1))+1
		else
			waitTime = tonumber(string.sub(waitTime,1,Position_1))
		end
	end
	--[[if waitTime > 15 then
		waitTime = 15
	elseif waitTime <= 1 then
		waitTime = 2
	end]]--
	Left.Text = waitTime..'.00'
	for i=waitTime,1,-1 do
		if not Left then break end
		Left.Text = i..'.00'
		wait(1)
	end
	Left.Text = "Closing.."
	wait(0.3)
	if messageClone then
		pcall(function()
			messageClone:TweenPosition(UDim2.new(0,0,1,0),'Out','Quint',0.3,true,function(Done)
				if Done == Enum.TweenStatus.Completed and messageClone then
					messageClone:Destroy()
					gTable:Destroy()
				elseif Done == Enum.TweenStatus.Canceled and messageClone then
					messageClone:Destroy()
					gTable:Destroy()
				end
			end)
		end)
	end
end


Prompt:
-- JamieWallace_RBLX
-- 19/05/2019

Response:
local Door = script.Parent.Parent.Door
local Click = script.Parent.ClickDetector

Click.MouseClick:Connect(function(Player)
	local PlayerTeam = Player.Team.Name
	if PlayerTeam == "Police" then
		Door.CanCollide = false
		Door.Transparency = 1
		wait(2)
		Door.CanCollide = true
		Door.Transparency = 0
	end
end)


Prompt:
--[[
	Evercyan @ March 2023
	HumanoidAttributes

	One important thing about this kit, is that you should never set a player's MaxHealth,
	WalkSpeed, and JumpPower manually through Humanoid properties.

	The kit uses a feature known as Humanoid "Attributes", which is a Configuration under the Humanoid
	(Humanoid.Attributes). Under here is another Configuration for each value.

	These Configurations have Attributes (shown at the bottom of the Properties window) which can be added
	to increase the total health.

	The reason this is done is so that we can add other sources of health (Game passes, Armor, etc), and the game
	won't lose track, or be forced to set the health to (100 + n).

	----------------------------------------------------------------------------

	It may sound confusing, but essentially, you can add 250 health to the character by doing this:
	> Character.Humanoid.Attributes.Health:SetAttribute("Premium VIP", 250)

	There are now two sources of Health
	• "Default": 100
	• "Premium VIP": 250

	The total is automatically calculated (250+100 = 350), and set as the player's new MaxHealth for the character.

	You can remove health by setting an attribute to nil
	> Character.Humanoid.Attributes.Health:SetAttribute("Premium VIP", nil)

	• "Default": 100

	The total is automatically calculated (100 = 100), and set as the player's new MaxHealth for the character.

	This can be done with other values as well. There are currently only three supported values:
	• Health (MaxHealth),
	• WalkSpeed,
	• JumpPower
]]

Response:
local HumanoidAttributes = {}
HumanoidAttributes.__index = HumanoidAttributes

local DefaultValues = {
	["Health"] = 100,
	["WalkSpeed"] = 16,
	["JumpPower"] = 50
}

export type HumanoidAttributes = {
	Instance: Configuration,
	Humanoid: Humanoid,
	Update: (self: HumanoidAttributes) -> ()
}

function HumanoidAttributes.new(Humanoid: Humanoid): HumanoidAttributes
	local self = setmetatable({}, HumanoidAttributes) -- Looks complex, but all this does here is redirect an index to under HumanoidAttributes table if it doesn't exist in self.

	local Configuration = Instance.new("Configuration")
	Configuration.Name = "Attributes"

	for Name, DefaultValue in DefaultValues do
		local SubConfig = Instance.new("Configuration")
		SubConfig.Name = Name
		SubConfig.Parent = Configuration
		SubConfig:SetAttribute("Default", DefaultValue)

		SubConfig.AttributeChanged:Connect(function(AttributeName)
			self:Update()
		end)

		Humanoid.Destroying:Once(warn)
	end

	Configuration.Parent = Humanoid

	self.Instance = Configuration
	self.Humanoid = Humanoid

	self:Update()

	return self
end

function HumanoidAttributes:Update()
	for _, SubConfig in self.Instance:GetChildren() do
		if SubConfig:IsA("Configuration") then
			local n = 0
			for Name, Value in SubConfig:GetAttributes() do
				if typeof(Value) == "number" then
					n += Value
				end
			end

			local PropertyName = (SubConfig.Name == "Health" and "MaxHealth") or SubConfig.Name
			local Percent = SubConfig.Name == "Health" and (self.Humanoid.Health/self.Humanoid.MaxHealth)

			self.Humanoid[PropertyName] = n

			if Percent == 1 then
				self.Humanoid.Health = self.Humanoid.MaxHealth
			end
		end
	end
end

return HumanoidAttributes


Prompt: -- Called when character is added

Response:
function Poppercam:CharacterAdded(char, player)
	self.playerCharacters[player] = char
end


Prompt: -- This function keeps the held weapon from bouncing up and down too much when you move

Response:
function ShoulderCamera:applyRootJointFix()
	if self.rootJoint then
		local translationScale = self.zoomState and Vector3.new(0.25, 0.25, 0.25) or Vector3.new(0.5, 0.5, 0.5)
		local rotationScale = self.zoomState and 0.15 or 0.2
		local rootRotation = self.rootJoint.Part0.CFrame - self.rootJoint.Part0.CFrame.Position
		local rotation = self.rootJoint.Transform - self.rootJoint.Transform.Position
		local yawRotation = CFrame.Angles(0, self.yaw, 0)
		local leadRotation = rootRotation:toObjectSpace(yawRotation)
		local rotationFix = self.rootRigAttach.CFrame
		if self:isHumanoidControllable() then
			rotationFix = self.rootJoint.Transform:inverse() * leadRotation * rotation:Lerp(CFrame.new(), 1 - rotationScale) + (self.rootJoint.Transform.Position * translationScale)
		end

		self.rootJoint.C0 = CFrame.new(self.rootJoint.C0.Position, self.rootJoint.C0.Position + rotationFix.LookVector.Unit)
	end
end

function ShoulderCamera:sprintFromTouchInput()
	local moveVector = nil
	local activeController = nil
	local activeControllerIsTouch = nil
	if self.controlModule then
		moveVector = self.controlModule:GetMoveVector()
		activeController = self.controlModule:GetActiveController()
	end
	if moveVector and activeController then
		activeControllerIsTouch = activeController.thumbstickFrame ~= nil or activeController.thumbpadFrame ~= nil
	end

	if activeControllerIsTouch then
		return (moveVector and moveVector.Magnitude >= 0.9)
	else
		return false
	end
end

function ShoulderCamera:sprintFromGamepadInput()
	return self.movementPan.Magnitude > 0.9
end

function ShoulderCamera:onCurrentCharacterChanged(character)
	self.currentCharacter = character
	if self.currentCharacter then
		self.raycastIgnoreList[1] = self.currentCharacter
		self.currentHumanoid = character:WaitForChild("Humanoid")
		self.currentRootPart = character:WaitForChild("HumanoidRootPart")

		self.rootRigAttach = self.currentRootPart:WaitForChild("RootRigAttachment")
		self.rootJoint = character:WaitForChild("LowerTorso"):WaitForChild("Root")
		self.currentWaist = character:WaitForChild("UpperTorso"):WaitForChild("Waist")
		self.currentWrist = character:WaitForChild("RightHand"):WaitForChild("RightWrist")
		self.wristAttach0 = character:WaitForChild("RightLowerArm"):WaitForChild("RightWristRigAttachment")
		self.wristAttach1 = character:WaitForChild("RightHand"):WaitForChild("RightWristRigAttachment")
		self.rightGripAttachment = character:WaitForChild("RightHand"):WaitForChild("RightGripAttachment")

		self.currentTool = character:FindFirstChildOfClass("Tool")

		self.eventConnections.humanoidDied = self.currentHumanoid.Died:Connect(function()
			self.zoomedFromInput = false
			self:updateZoomState()
		end)
		self.eventConnections.characterChildAdded = character.ChildAdded:Connect(function(child)
			if child:IsA("Tool") then
				self.currentTool = child
				self:updateZoomState()
			end
		end)
		self.eventConnections.characterChildRemoved = character.ChildRemoved:Connect(function(child)
			if child:IsA("Tool") and self.currentTool == child then
				self.currentTool = character:FindFirstChildOfClass("Tool")
				self:updateZoomState()
			end
		end)

		if Players.LocalPlayer then
			local PlayerScripts = Players.LocalPlayer:FindFirstChild("PlayerScripts")
			if PlayerScripts then
				local PlayerModule = PlayerScripts:FindFirstChild("PlayerModule")
				if PlayerModule then
					self.controlModule = require(PlayerModule:FindFirstChild("ControlModule"))
				end
			end
		end
	else
		if self.eventConnections.humanoidDied then
			self.eventConnections.humanoidDied:Disconnect()
			self.eventConnections.humanoidDied = nil
		end
		if self.eventConnections.characterChildAdded then
			self.eventConnections.characterChildAdded:Disconnect()
			self.eventConnections.characterChildAdded = nil
		end
		if self.eventConnections.characterChildRemoved then
			self.eventConnections.characterChildRemoved:Disconnect()
			self.eventConnections.characterChildRemoved = nil
		end

		self.currentTool = nil
		self.currentHumanoid = nil
		self.currentRootPart = nil
		self.controlModule = nil
	end
end

function ShoulderCamera:onCurrentCameraChanged(camera)
	if self.currentCamera == camera then
		return
	end

	self.currentCamera = camera

	if self.currentCamera then
		self.raycastIgnoreList[2] = self.currentCamera

		if self.eventConnections.cameraTypeChanged then
			self.eventConnections.cameraTypeChanged:Disconnect()
			self.eventConnections.cameraTypeChanged = nil
		end
		self.eventConnections.cameraTypeChanged = self.currentCamera:GetPropertyChangedSignal("CameraType"):Connect(function()
			if self.enabled then
				self.currentCamera.CameraType = Enum.CameraType.Scriptable
			end
		end)
	end
end

function ShoulderCamera:isHumanoidControllable()
	if not self.currentHumanoid then
		return false
	end
	local humanoidState = self.currentHumanoid:GetState()
	return CONTROLLABLE_HUMANOID_STATES[humanoidState] == true
end

function ShoulderCamera:getCollisionRadius()
	if not self.currentCamera then
		return 0
	end
	local viewportSize = self.currentCamera.ViewportSize
	local aspectRatio = viewportSize.X / viewportSize.Y
	local fovRads = math.rad(self.fieldOfView)
	local imageHeight = math.tan(fovRads) * math.abs(self.currentCamera.NearPlaneZ)
	local imageWidth = imageHeight * aspectRatio

	local cornerPos = Vector3.new(imageWidth, imageHeight, self.currentCamera.NearPlaneZ)
	return cornerPos.Magnitude
end

function ShoulderCamera:penetrateCast(ray, ignoreList)
	local tries = 0
	local hitPart, hitPoint, hitNormal, hitMaterial = nil, ray.Origin + ray.Direction, Vector3.new(0, 1, 0), Enum.Material.Air
	while tries < 50 do
		tries = tries + 1
		hitPart, hitPoint, hitNormal, hitMaterial = workspace:FindPartOnRayWithIgnoreList(ray, ignoreList, false, true)
		if hitPart and not hitPart.CanCollide then
			table.insert(ignoreList, hitPart)
		else
			break
		end
	end
	return hitPart, hitPoint, hitNormal, hitMaterial
end

function ShoulderCamera:getRelativePitch()
	if self.currentRootPart then
		local pitchRotation = CFrame.Angles(self.pitch, 0, 0)
		local relativeRotation = self.currentRootPart.CFrame:toObjectSpace(pitchRotation)
		local relativeLook = relativeRotation.lookVector

		local angle = math.asin(relativeLook.Y)
		return math.clamp(angle, self.minPitch, self.maxPitch)
	end
	return self.pitch
end

function ShoulderCamera:getCurrentFieldOfView()
	if self.zoomState then
		return self.zoomedFOV
	else
		return self.fieldOfView
	end
end

function ShoulderCamera:handlePartTransparencies()
	local partsLookup = {}
	local accoutrementsLookup = {}

	for _, child in pairs(self.currentCharacter:GetChildren()) do
		local hidden = false
		if child:IsA("BasePart") then
			hidden = partsLookup[child.Name] == true
			child.LocalTransparencyModifier = hidden and 1 or 0
		elseif child:IsA("Accoutrement") then
			local descendants = child:GetDescendants()
			local accoutrementParts = {}
			for _, desc in pairs(descendants) do
				if desc:IsA("Attachment") and accoutrementsLookup[desc.Name] then
					hidden = true
				elseif desc:IsA("BasePart") then
					table.insert(accoutrementParts, desc)
				end
			end
			for _, part in pairs(accoutrementParts) do
				part.LocalTransparencyModifier = hidden and 1 or 0
			end
		elseif child:IsA("Tool") then
			hidden = self.zoomState and (self.hasScope or self.hideToolWhileZoomed)
			for _, part in pairs(child:GetDescendants()) do
				if part:IsA("BasePart") then
					part.LocalTransparencyModifier = hidden and 1 or 0
				end
			end
		end
	end
end

function ShoulderCamera:setSprintEnabled(enabled)
	self.sprintEnabled = enabled
end

function ShoulderCamera:setSlowZoomWalkEnabled(enabled)
	self.slowZoomWalkEnabled = enabled
end

function ShoulderCamera:setHasScope(hasScope)
	if self.hasScope == hasScope then
		return
	end

	self.hasScope = hasScope
	self:updateZoomState()
end

function ShoulderCamera:onSprintAction(actionName, inputState, inputObj)
	self.sprintingInputActivated = inputState == Enum.UserInputState.Begin
end


Prompt: --// # key, Traffic Director

Response:
mouse.KeyDown:connect(function(key)
	if key=="b" then
		veh.Lightbar.middle.Beep:Play()
		veh.Lightbar.Remotes.TDEvent:FireServer(true)
	end
end)


Prompt: ---[[ Misc Settings ]]

Response:
module.WhisperCommandAutoCompletePlayerNames = true

local ChangedEvent = Instance.new("BindableEvent")

local proxyTable = setmetatable({},
{
	__index = function(tbl, index)
		return module[index]
	end,
	__newindex = function(tbl, index, value)
		module[index] = value
		ChangedEvent:Fire(index, value)
	end,
})

rawset(proxyTable, "SettingsChanged", ChangedEvent.Event)

return proxyTable


Prompt:
--[[**
	<description>
	Unmark the data store as a backup data store and tell :Get() and reset values to nil.
	</description>
**--]]

Response:
function DataStore:ClearBackup()
	self.backup = nil
	self.haveValue = false
	self.value = nil
end


Prompt: --[[Weld functions]]

Response:
	local JS = game:GetService("JointsService")
	local PGS_ON = workspace:PGSIsEnabled()

	function MakeWeld(x,y,type,s)
		if type==nil then type="Weld" end
		local W=Instance.new(type,JS)
		W.Part0=x W.Part1=y
		W.C0=x.CFrame:inverse()*x.CFrame
		W.C1=y.CFrame:inverse()*x.CFrame
		if type=="Motor" and s~=nil then
			W.MaxVelocity=s
		end
		return W
	end

	function ModelWeld(a,b)
		if a:IsA("BasePart") then
			MakeWeld(b,a,"Weld")
		elseif a:IsA("Model") then
			for i,v in pairs(a:GetChildren()) do
				ModelWeld(v,b)
			end
		end
	end

	function UnAnchor(a)
	if a:IsA("BasePart") then a.Anchored=false a.Archivable = false a.Locked=false end for i,v in pairs(a:GetChildren()) do UnAnchor(v) end
end


Prompt: -- Services

Response:
local RunService = game:GetService('RunService')
local TweenService = game:GetService('TweenService')
local Debris = game:GetService('Debris')


Response:
local  Paint = false

script.Parent.MouseButton1Click:connect(function()
	Paint = not Paint
	handler:FireServer("Burlap",Paint)
end)


Prompt:
-- When supplied, legacyCameraType is used and cameraMovementMode is ignored (should be nil anyways)
-- Next, if userCameraCreator is passed in, that is used as the cameraCreator

Response:
function CameraModule:ActivateCameraController(cameraMovementMode, legacyCameraType)
	local newCameraCreator = nil

	if legacyCameraType~=nil then
		--[[
			This function has been passed a CameraType enum value. Some of these map to the use of
			the LegacyCamera module, the value "Custom" will be translated to a movementMode enum
			value based on Dev and User settings, and "Scriptable" will disable the camera controller.
		--]]

		if legacyCameraType == Enum.CameraType.Scriptable then
			if self.activeCameraController then
				self.activeCameraController:Enable(false)
				self.activeCameraController = nil
				return
			end
		elseif legacyCameraType == Enum.CameraType.Custom then
			cameraMovementMode = self:GetCameraMovementModeFromSettings()

		elseif legacyCameraType == Enum.CameraType.Track then
			-- Note: The TrackCamera module was basically an older, less fully-featured
			-- version of ClassicCamera, no longer actively maintained, but it is re-implemented in
			-- case a game was dependent on its lack of ClassicCamera's extra functionality.
			cameraMovementMode = Enum.ComputerCameraMovementMode.Classic

		elseif legacyCameraType == Enum.CameraType.Follow then
			cameraMovementMode = Enum.ComputerCameraMovementMode.Follow

		elseif legacyCameraType == Enum.CameraType.Orbital then
			cameraMovementMode = Enum.ComputerCameraMovementMode.Orbital

		elseif legacyCameraType == Enum.CameraType.Attach or
			   legacyCameraType == Enum.CameraType.Watch or
			   legacyCameraType == Enum.CameraType.Fixed then
			newCameraCreator = LegacyCamera
		else
			warn("CameraScript encountered an unhandled Camera.CameraType value: ",legacyCameraType)
		end
	end

	if not newCameraCreator then
		if cameraMovementMode == Enum.ComputerCameraMovementMode.Classic or
			cameraMovementMode == Enum.ComputerCameraMovementMode.Follow or
			cameraMovementMode == Enum.ComputerCameraMovementMode.Default or
			(FFlagUserCameraToggle and cameraMovementMode == Enum.ComputerCameraMovementMode.CameraToggle) then
			newCameraCreator = ClassicCamera
		elseif cameraMovementMode == Enum.ComputerCameraMovementMode.Orbital then
			newCameraCreator = OrbitalCamera
		else
			warn("ActivateCameraController did not select a module.")
			return
		end
	end

	-- Create the camera control module we need if it does not already exist in instantiatedCameraControllers
	local newCameraController
	if not instantiatedCameraControllers[newCameraCreator] then
		newCameraController = newCameraCreator.new()
		instantiatedCameraControllers[newCameraCreator] = newCameraController
	else
		newCameraController = instantiatedCameraControllers[newCameraCreator]
	end

	-- If there is a controller active and it's not the one we need, disable it,
	-- if it is the one we need, make sure it's enabled
	if self.activeCameraController then
		if self.activeCameraController ~= newCameraController then
			self.activeCameraController:Enable(false)
			self.activeCameraController = newCameraController
			self.activeCameraController:Enable(true)
		elseif not self.activeCameraController:GetEnabled() then
			self.activeCameraController:Enable(true)
		end
	elseif newCameraController ~= nil then
		self.activeCameraController = newCameraController
		self.activeCameraController:Enable(true)
	end

	if self.activeCameraController then
		if cameraMovementMode~=nil then
			self.activeCameraController:SetCameraMovementMode(cameraMovementMode)
		elseif legacyCameraType~=nil then
			-- Note that this is only called when legacyCameraType is not a type that
			-- was convertible to a ComputerCameraMovementMode value, i.e. really only applies to LegacyCamera
			self.activeCameraController:SetCameraType(legacyCameraType)
		end
	end
end


Prompt: --local v1 = require(script.Parent);

Response:
local v2 = require(game.Players.LocalPlayer:WaitForChild("PlayerScripts"):WaitForChild("PlayerModule")):GetControls();
local v3 = game["Run Service"];
local l__UserInputService__4 = game:GetService("UserInputService");
local l__ProximityPromptService__5 = game:GetService("ProximityPromptService");
local l__TextService__6 = game:GetService("TextService");
local v7 = function()
	return l1
end
local v8 = script.Main:Clone()
v8.Parent = game:GetService("Players").LocalPlayer.PlayerGui
v8.Name = "MainGUI"
if v7() == "mobile" then
	v8.MainFrame:WaitForChild("MobileButtons").Visible = true;
end;
local l__PromptFrame__1 = v8:WaitForChild("MainFrame"):WaitForChild("PromptFrame");
local u2 = require(script:WaitForChild("MouseIcons"));
local u3 = require(game:GetService("ReplicatedStorage"):WaitForChild("ClientModules"):WaitForChild("ButtonIcons"));
local l__InteractButton__4 = v8.MainFrame:WaitForChild("MobileButtons"):WaitForChild("InteractButton");
local u5 = require(script:WaitForChild("Hint"));
local l__TweenService__6 = game:GetService("TweenService");
local u7 = nil;
local u8 = tick();
local l__Highlight__9 = script:WaitForChild("Highlight");
local u10 = Vector3.new(0, 0, 0);
local u11 = nil;
function update(p1, p2)
	task.spawn(function()
		l__PromptFrame__1.Title.Text = p1.ObjectText;
		l__PromptFrame__1.Desc.Text = p1.ActionText;
		l__PromptFrame__1.Key.Text = p1.KeyboardKeyCode.Name;
		l__PromptFrame__1.Bar.Bar.Size = UDim2.new(0, 0, 1, 0);
		l__PromptFrame__1.Bar.Bar:TweenSize(UDim2.new(0, 0, 1, 0), "Out", "Sine", 0.1, true);
		l__PromptFrame__1.CenterImage.Image = u2.getIcon(p1.ActionText);
		if p1.ActionText == "Collect" then
			task.delay(0.2, function()
				p1:InputHoldBegin();
			end);
		end;
		local v9 = UDim.new(0.925, 0);
		if v7() ~= "pc" then
			l__PromptFrame__1.Key.Visible = false;
			l__PromptFrame__1.UIScale.Scale = 1.5;
			if v7() == "console" then
				l__PromptFrame__1.KeyXbox.Image = u3[p1.GamepadKeyCode.Name];
				l__PromptFrame__1.KeyXbox.Visible = true;
			elseif v7() == "mobile" then
				l__PromptFrame__1.KeyXbox.Visible = false;
			end;
		else
			l__PromptFrame__1.Key.Visible = true;
			l__PromptFrame__1.KeyXbox.Visible = false;
		end;
		l__InteractButton__4.Icon.Image = l__PromptFrame__1.CenterImage.Image;
		if p1.ObjectText == "Hint" then
			local v10 = UDim.new(0.85, 0);
			l__PromptFrame__1.Key.Text = u5[p1.ActionText];
			l__PromptFrame__1.CenterImage.Image = u2.getIcon(p1.ObjectText);
		end;
		local v11 = {
			BackgroundColor3 = Color3.fromRGB(0, 0, 0)
		};
		if p2 == true then
			l__PromptFrame__1.BackgroundColor3 = Color3.new(0.776471, 0.729412, 0.376471);
			l__TweenService__6:Create(l__PromptFrame__1, TweenInfo.new(0.15, Enum.EasingStyle.Quart, Enum.EasingDirection.In), v11):Play();
		else
			l__PromptFrame__1.BackgroundColor3 = Color3.new(0.337255, 0.423529, 0.533333);
			l__TweenService__6:Create(l__PromptFrame__1, TweenInfo.new(0.4, Enum.EasingStyle.Sine, Enum.EasingDirection.In), v11):Play();
		end;
		if 0 < p1.HoldDuration then
			l__PromptFrame__1.Bar.Visible = true;
		else
			l__PromptFrame__1.Bar.Visible = false;
		end;
		script.Holding:Stop();
		local l__CurrentCamera__12 = workspace.CurrentCamera;
		local v13 = l__CurrentCamera__12.CFrame.Position;
		local l__Parent__14 = p1.Parent;
		local v15 = false;
		u8 = tick();
		if l__Parent__14 then
			if not l__Parent__14:IsA("BasePart") then
				if l__Parent__14:IsA("Model") then
					v13 = l__Parent__14:GetPivot().Position;
					v15 = true;
				elseif l__Parent__14:IsA("Attachment") then
					v13 = l__Parent__14.WorldPosition;
				end;
			else
				v13 = l__Parent__14:GetPivot().Position;
				v15 = true;
			end;
			l__Highlight__9.Adornee = l__Parent__14;
			l__Highlight__9.Enabled = true;
			l__PromptFrame__1.Visible = true;
			l__PromptFrame__1.Position = UDim2.new(0.5, 0, 2, 0);
			v16 = u10;
			if v16 then
				if 7 <= (v16 - v13).Magnitude then
					v16 = nil;
				elseif v16 then

				end;
			elseif v16 then

			end;
			l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
				FillTransparency = 0.9,
				OutlineTransparency = 0
			}):Play();
			local v17 = nil;
			local v18 = nil;
			if v7() == "mobile" then
				l__InteractButton__4.Visible = true;
				l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
					BackgroundTransparency = 0.35
				}):Play();
				l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
					Transparency = 0
				}):Play();
				l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
					ImageTransparency = 0
				}):Play();
				v17 = l__InteractButton__4.InputBegan:Connect(function()
					p1:InputHoldBegin();
				end);
				v18 = l__InteractButton__4.InputEnded:Connect(function()
					p1:InputHoldEnd();
				end);
			end;
			if not l__Parent__14:IsA("BasePart") then
				if not l__Parent__14:IsA("Model") then
					if l__Parent__14:IsA("Attachment") then
						local v19 = tick();
						local v20 = 1 - 1;
						while true do
							if p1 then

							else
								pcall(function()
									if v17 then
										if v18 then
											v17:Disconnect();
											v18:Disconnect();
										end;
									end;
								end);
								if u7 == nil then
									l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										FillTransparency = 1,
										OutlineTransparency = 1
									}):Play();
									task.wait(0.2);
									if u7 == nil then
										if u8 == u8 then
											l__Highlight__9.Adornee = nil;
											l__Highlight__9.Enabled = false;
											l__PromptFrame__1.Visible = false;
											l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												BackgroundTransparency = 1
											}):Play();
											l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												Transparency = 1
											}):Play();
											l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												ImageTransparency = 1
											}):Play();
										end;
									end;
								elseif l__PromptFrame__1.Visible then
									u11 = v13;
								end;
								break;
							end;
							if u7 == u7 then

							else
								pcall(function()
									if v17 then
										if v18 then
											v17:Disconnect();
											v18:Disconnect();
										end;
									end;
								end);
								if u7 == nil then
									l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										FillTransparency = 1,
										OutlineTransparency = 1
									}):Play();
									task.wait(0.2);
									if u7 == nil then
										if u8 == u8 then
											l__Highlight__9.Adornee = nil;
											l__Highlight__9.Enabled = false;
											l__PromptFrame__1.Visible = false;
											l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												BackgroundTransparency = 1
											}):Play();
											l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												Transparency = 1
											}):Play();
											l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												ImageTransparency = 1
											}):Play();
										end;
									end;
								elseif l__PromptFrame__1.Visible then
									u11 = v13;
								end;
								break;
							end;
							if u7 then

							else
								pcall(function()
									if v17 then
										if v18 then
											v17:Disconnect();
											v18:Disconnect();
										end;
									end;
								end);
								if u7 == nil then
									l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										FillTransparency = 1,
										OutlineTransparency = 1
									}):Play();
									task.wait(0.2);
									if u7 == nil then
										if u8 == u8 then
											l__Highlight__9.Adornee = nil;
											l__Highlight__9.Enabled = false;
											l__PromptFrame__1.Visible = false;
											l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												BackgroundTransparency = 1
											}):Play();
											l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												Transparency = 1
											}):Play();
											l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												ImageTransparency = 1
											}):Play();
										end;
									end;
								elseif l__PromptFrame__1.Visible then
									u11 = v13;
								end;
								break;
							end;
							if l__PromptFrame__1.Visible then

							else
								pcall(function()
									if v17 then
										if v18 then
											v17:Disconnect();
											v18:Disconnect();
										end;
									end;
								end);
								if u7 == nil then
									l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										FillTransparency = 1,
										OutlineTransparency = 1
									}):Play();
									task.wait(0.2);
									if u7 == nil then
										if u8 == u8 then
											l__Highlight__9.Adornee = nil;
											l__Highlight__9.Enabled = false;
											l__PromptFrame__1.Visible = false;
											l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												BackgroundTransparency = 1
											}):Play();
											l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												Transparency = 1
											}):Play();
											l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
												ImageTransparency = 1
											}):Play();
										end;
									end;
								elseif l__PromptFrame__1.Visible then
									u11 = v13;
								end;
								break;
							end;
							if v15 then
								local v21 = l__Parent__14:GetPivot().Position;
							else
								v21 = l__Parent__14.WorldPosition;
							end;
							if v16 then
								if v16 ~= nil then
									v21 = v16:Lerp(v21, l__TweenService__6:GetValue((tick() - v19) * 4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out));
								end;
							end;
							u10 = v13;
							local v22, v23 = l__CurrentCamera__12:WorldToScreenPoint(v13 - Vector3.new(0, 0.2, 0));
							l__PromptFrame__1.Position = UDim2.new(0, math.clamp(v22.X, 80, v8.AbsoluteSize.X - 80), 0, math.clamp(v22.Y, 80, v8.AbsoluteSize.Y - 80));
							l__Highlight__9.Adornee = l__Parent__14;
							l__Highlight__9.Enabled = true;
							task.wait();
							if 0 <= 1 then
								if v20 < 100000000 then

								else
									break;
								end;
							elseif 100000000 < v20 then

							else
								break;
							end;
							v20 = v20 + 1;
						end;
					end;
				else
					v19 = tick();
					v20 = 1 - 1;
					while true do
						if p1 then

						else
							pcall(function()
								if v17 then
									if v18 then
										v17:Disconnect();
										v18:Disconnect();
									end;
								end;
							end);
							if u7 == nil then
								l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
									FillTransparency = 1,
									OutlineTransparency = 1
								}):Play();
								task.wait(0.2);
								if u7 == nil then
									if u8 == u8 then
										l__Highlight__9.Adornee = nil;
										l__Highlight__9.Enabled = false;
										l__PromptFrame__1.Visible = false;
										l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											BackgroundTransparency = 1
										}):Play();
										l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											Transparency = 1
										}):Play();
										l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											ImageTransparency = 1
										}):Play();
									end;
								end;
							elseif l__PromptFrame__1.Visible then
								u11 = v13;
							end;
							break;
						end;
						if u7 == u7 then

						else
							pcall(function()
								if v17 then
									if v18 then
										v17:Disconnect();
										v18:Disconnect();
									end;
								end;
							end);
							if u7 == nil then
								l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
									FillTransparency = 1,
									OutlineTransparency = 1
								}):Play();
								task.wait(0.2);
								if u7 == nil then
									if u8 == u8 then
										l__Highlight__9.Adornee = nil;
										l__Highlight__9.Enabled = false;
										l__PromptFrame__1.Visible = false;
										l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											BackgroundTransparency = 1
										}):Play();
										l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											Transparency = 1
										}):Play();
										l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											ImageTransparency = 1
										}):Play();
									end;
								end;
							elseif l__PromptFrame__1.Visible then
								u11 = v13;
							end;
							break;
						end;
						if u7 then

						else
							pcall(function()
								if v17 then
									if v18 then
										v17:Disconnect();
										v18:Disconnect();
									end;
								end;
							end);
							if u7 == nil then
								l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
									FillTransparency = 1,
									OutlineTransparency = 1
								}):Play();
								task.wait(0.2);
								if u7 == nil then
									if u8 == u8 then
										l__Highlight__9.Adornee = nil;
										l__Highlight__9.Enabled = false;
										l__PromptFrame__1.Visible = false;
										l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											BackgroundTransparency = 1
										}):Play();
										l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											Transparency = 1
										}):Play();
										l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											ImageTransparency = 1
										}):Play();
									end;
								end;
							elseif l__PromptFrame__1.Visible then
								u11 = v13;
							end;
							break;
						end;
						if l__PromptFrame__1.Visible then

						else
							pcall(function()
								if v17 then
									if v18 then
										v17:Disconnect();
										v18:Disconnect();
									end;
								end;
							end);
							if u7 == nil then
								l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
									FillTransparency = 1,
									OutlineTransparency = 1
								}):Play();
								task.wait(0.2);
								if u7 == nil then
									if u8 == u8 then
										l__Highlight__9.Adornee = nil;
										l__Highlight__9.Enabled = false;
										l__PromptFrame__1.Visible = false;
										l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											BackgroundTransparency = 1
										}):Play();
										l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											Transparency = 1
										}):Play();
										l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
											ImageTransparency = 1
										}):Play();
									end;
								end;
							elseif l__PromptFrame__1.Visible then
								u11 = v13;
							end;
							break;
						end;
						if v15 then
							v21 = l__Parent__14:GetPivot().Position;
						else
							v21 = l__Parent__14.WorldPosition;
						end;
						if v16 then
							if v16 ~= nil then
								v21 = v16:Lerp(v21, l__TweenService__6:GetValue((tick() - v19) * 4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out));
							end;
						end;
						u10 = v13;
						v22, v23 = l__CurrentCamera__12:WorldToScreenPoint(v13 - Vector3.new(0, 0.2, 0));
						l__PromptFrame__1.Position = UDim2.new(0, math.clamp(v22.X, 80, v8.AbsoluteSize.X - 80), 0, math.clamp(v22.Y, 80, v8.AbsoluteSize.Y - 80));
						l__Highlight__9.Adornee = l__Parent__14;
						l__Highlight__9.Enabled = true;
						task.wait();
						if 0 <= 1 then
							if v20 < 100000000 then

							else
								break;
							end;
						elseif 100000000 < v20 then

						else
							break;
						end;
						v20 = v20 + 1;
					end;
				end;
			else
				v19 = tick();
				v20 = 1 - 1;
				while true do
					if p1 then

					else
						pcall(function()
							if v17 then
								if v18 then
									v17:Disconnect();
									v18:Disconnect();
								end;
							end;
						end);
						if u7 == nil then
							l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
								FillTransparency = 1,
								OutlineTransparency = 1
							}):Play();
							task.wait(0.2);
							if u7 == nil then
								if u8 == u8 then
									l__Highlight__9.Adornee = nil;
									l__Highlight__9.Enabled = false;
									l__PromptFrame__1.Visible = false;
									l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										BackgroundTransparency = 1
									}):Play();
									l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										Transparency = 1
									}):Play();
									l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										ImageTransparency = 1
									}):Play();
								end;
							end;
						elseif l__PromptFrame__1.Visible then
							u11 = v13;
						end;
						break;
					end;
					if u7 == u7 then

					else
						pcall(function()
							if v17 then
								if v18 then
									v17:Disconnect();
									v18:Disconnect();
								end;
							end;
						end);
						if u7 == nil then
							l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
								FillTransparency = 1,
								OutlineTransparency = 1
							}):Play();
							task.wait(0.2);
							if u7 == nil then
								if u8 == u8 then
									l__Highlight__9.Adornee = nil;
									l__Highlight__9.Enabled = false;
									l__PromptFrame__1.Visible = false;
									l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										BackgroundTransparency = 1
									}):Play();
									l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										Transparency = 1
									}):Play();
									l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										ImageTransparency = 1
									}):Play();
								end;
							end;
						elseif l__PromptFrame__1.Visible then
							u11 = v13;
						end;
						break;
					end;
					if u7 then

					else
						pcall(function()
							if v17 then
								if v18 then
									v17:Disconnect();
									v18:Disconnect();
								end;
							end;
						end);
						if u7 == nil then
							l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
								FillTransparency = 1,
								OutlineTransparency = 1
							}):Play();
							task.wait(0.2);
							if u7 == nil then
								if u8 == u8 then
									l__Highlight__9.Adornee = nil;
									l__Highlight__9.Enabled = false;
									l__PromptFrame__1.Visible = false;
									l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										BackgroundTransparency = 1
									}):Play();
									l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										Transparency = 1
									}):Play();
									l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										ImageTransparency = 1
									}):Play();
								end;
							end;
						elseif l__PromptFrame__1.Visible then
							u11 = v13;
						end;
						break;
					end;
					if l__PromptFrame__1.Visible then

					else
						pcall(function()
							if v17 then
								if v18 then
									v17:Disconnect();
									v18:Disconnect();
								end;
							end;
						end);
						if u7 == nil then
							l__TweenService__6:Create(l__Highlight__9, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
								FillTransparency = 1,
								OutlineTransparency = 1
							}):Play();
							task.wait(0.2);
							if u7 == nil then
								if u8 == u8 then
									l__Highlight__9.Adornee = nil;
									l__Highlight__9.Enabled = false;
									l__PromptFrame__1.Visible = false;
									l__TweenService__6:Create(l__InteractButton__4, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										BackgroundTransparency = 1
									}):Play();
									l__TweenService__6:Create(l__InteractButton__4.UIStroke, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										Transparency = 1
									}):Play();
									l__TweenService__6:Create(l__InteractButton__4.Icon, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {
										ImageTransparency = 1
									}):Play();
								end;
							end;
						elseif l__PromptFrame__1.Visible then
							u11 = v13;
						end;
						break;
					end;
					if v15 then
						v21 = l__Parent__14:GetPivot().Position;
					else
						v21 = l__Parent__14.WorldPosition;
					end;
					if v16 then
						if v16 ~= nil then
							v21 = v16:Lerp(v21, l__TweenService__6:GetValue((tick() - v19) * 4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out));
						end;
					end;
					u10 = v13;
					v22, v23 = l__CurrentCamera__12:WorldToScreenPoint(v13 - Vector3.new(0, 0.2, 0));
					l__PromptFrame__1.Position = UDim2.new(0, math.clamp(v22.X, 80, v8.AbsoluteSize.X - 80), 0, math.clamp(v22.Y, 80, v8.AbsoluteSize.Y - 80));
					l__Highlight__9.Adornee = l__Parent__14;
					l__Highlight__9.Enabled = true;
					task.wait();
					if 0 <= 1 then
						if v20 < 100000000 then

						else
							break;
						end;
					elseif 100000000 < v20 then

					else
						break;
					end;
					v20 = v20 + 1;
				end;
			end;
		end;
	end);
end;
local u12 = 0;
l__ProximityPromptService__5.PromptShown:Connect(function(p3)
	if p3.Style == Enum.ProximityPromptStyle.Default then return end
	if p3.ObjectText ~= "Hint" then
		u7 = p3.Changed:Connect(function()
			update(p3);
		end);
		u12 = u12 + 1;
		update(p3);
		script.Notification:Play();
	end;
end);
l__ProximityPromptService__5.PromptHidden:Connect(function(p4)
	if p4.Style == Enum.ProximityPromptStyle.Default then return end
	if p4.ObjectText ~= "Hint" then
		l__PromptFrame__1.Bar.Bar:TweenSize(UDim2.new(0, 0, 1, 0), "Out", "Sine", 0.1, true);
		l__PromptFrame__1.Visible = false;
		pcall(function()
			u7:Disconnect();
		end);
		u7 = nil;
		u12 = u12 - 1;
	end;
end);
l__ProximityPromptService__5.PromptTriggered:Connect(function(p5)
	if p5.Style == Enum.ProximityPromptStyle.Default then return end
	if p5.ObjectText ~= "Hint" then
		update(p5, true);
		l__PromptFrame__1.Bar.Bar:TweenSize(UDim2.new(0, 0, 1, 0), "Out", "Sine", 0.1, true);
		script.Triggered:Play();
		script.Holding:Stop();
		l__PromptFrame__1.CenterImage.Position = UDim2.new(0.5, 0, 0.52, 0);
		l__TweenService__6:Create(l__PromptFrame__1.CenterImage, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
			Position = UDim2.new(0.5, 0, 0.5, 0),
			ImageTransparency = 0
		}):Play();
	end;
end);
l__ProximityPromptService__5.PromptButtonHoldBegan:Connect(function(p6)
	if p6.Style == Enum.ProximityPromptStyle.Default then return end
	if p6.ObjectText ~= "Hint" then
		update(p6);
		l__PromptFrame__1.Bar.Bar:TweenSize(UDim2.new(1, 0, 1, 0), "In", "Sine", p6.HoldDuration, true);
		script.Holding:Play();
		l__TweenService__6:Create(l__PromptFrame__1.CenterImage, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
			Position = UDim2.new(0.5, 0, 0.52, 0),
			ImageTransparency = 0
		}):Play();
	end;
end);
l__ProximityPromptService__5.PromptButtonHoldEnded:Connect(function(p7)
	if p7.Style == Enum.ProximityPromptStyle.Default then return end
	if p7.ObjectText ~= "Hint" then
		update(p7);
		script.Holding:Stop();
		l__TweenService__6:Create(l__PromptFrame__1.CenterImage, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
			Position = UDim2.new(0.5, 0, 0.5, 0),
			ImageTransparency = 0
		}):Play();
	end;
end);


Prompt: -- Creates the collision function to attach to the object

Response:
local function setupFallingObjectCollisions(object, damage)

    -- The collision function; must be declared in this scope as it needs reference to "object" and "damage" params
    local function onTouch(otherObject)
        local character = otherObject.Parent
        local humanoid = character:FindFirstChildWhichIsA("Humanoid")
        if humanoid then
            humanoid:TakeDamage(damage)
            object:Destroy()
        end
    end

    -- Attach the above function to the falling object
    attachCollisionFunction(object, onTouch)
end


Prompt:
--[=[
	Constructs a Trove object.
]=]

Response:
function Trove.new()
	local self = setmetatable({}, Trove)
	self._objects = {}
	return self
end


Prompt: ----- NO EDITING BELOW -----

Response:
local weldedParts = {}
table.insert(weldedParts,mainPart)

function Weld(x, y)
	local weld = Instance.new("Weld")
	weld.Part0 = x
	weld.Part1 = y
	local CJ = CFrame.new(x.Position)
	weld.C0 = x.CFrame:inverse() * CJ
	weld.C1 = y.CFrame:inverse() * CJ
	weld.Parent = x
	table.insert(weldedParts,y)
end

function WeldRec(instance)
	local childs = instance:GetChildren()
	for _,v in pairs(childs) do
		if v:IsA("BasePart") then
			Weld(mainPart, v)
		end
		WeldRec(v)
	end
end

WeldRec(P)


Prompt: -- functions

Response:
local function GetSquad(player)
	for _, squad in pairs(SQUADS:GetChildren()) do
		if squad.Players:FindFirstChild(player.Name) then
			return squad
		end
	end
end