Prompt: -- PRIVATE METHODS

Response:
function IconController:_updateSelectionGroup(clearAll)
	if IconController._navigationEnabled then
		guiService:RemoveSelectionGroup("TopbarPlusIcons")
	end
	if clearAll then
		guiService.CoreGuiNavigationEnabled = IconController._originalCoreGuiNavigationEnabled
		guiService.GuiNavigationEnabled = IconController._originalGuiNavigationEnabled
		IconController._navigationEnabled = nil
	elseif IconController.controllerModeEnabled then
		local icons = IconController.getIcons()
		local iconContainers = {}
		for i, otherIcon in pairs(icons) do
			local featureName = otherIcon.joinedFeatureName
			if not featureName or otherIcon._parentIcon[otherIcon.joinedFeatureName.."Open"] == true then
				table.insert(iconContainers, otherIcon.instances.iconButton)
			end
		end
		guiService:AddSelectionTuple("TopbarPlusIcons", table.unpack(iconContainers))
		if not IconController._navigationEnabled then
			IconController._originalCoreGuiNavigationEnabled = guiService.CoreGuiNavigationEnabled
			IconController._originalGuiNavigationEnabled = guiService.GuiNavigationEnabled
			guiService.CoreGuiNavigationEnabled = false
			guiService.GuiNavigationEnabled = true
			IconController._navigationEnabled = true
		end
	end
end

local function getScaleMultiplier()
	if guiService:IsTenFootInterface() then
		return 3
	else
		return 1.3
	end
end

function IconController._setControllerSelectedObject(object)
	local startId = (IconController._controllerSetCount and IconController._controllerSetCount + 1) or 0
	IconController._controllerSetCount = startId
	guiService.SelectedObject = object
	delay(0.1, function() -- blame the roblox guiservice its a piece of doo doo
		local finalId = IconController._controllerSetCount
		if startId == finalId then
			guiService.SelectedObject = object
		end
	end)
end

function IconController._enableControllerMode(bool)
	local indicator = TopbarPlusGui.Indicator
	local controllerOptionIcon = IconController.getIcon("_TopbarControllerOption")
	if IconController.controllerModeEnabled == bool then
		return
	end
	IconController.controllerModeEnabled = bool
	if bool then
		TopbarPlusGui.TopbarContainer.Position = UDim2.new(0,0,0,5)
		TopbarPlusGui.TopbarContainer.Visible = false
		local scaleMultiplier = getScaleMultiplier()
		indicator.Position = UDim2.new(0.5,0,0,5)
		indicator.Size = UDim2.new(0, 18*scaleMultiplier, 0, 18*scaleMultiplier)
		indicator.Image = "rbxassetid://5278151556"
		indicator.Visible = checkTopbarEnabled()
		indicator.Position = UDim2.new(0.5,0,0,5)
	else
		TopbarPlusGui.TopbarContainer.Position = UDim2.new(0,0,0,0)
		TopbarPlusGui.TopbarContainer.Visible = checkTopbarEnabled()
		indicator.Visible = false
		IconController._setControllerSelectedObject(nil)
	end
	for icon, _ in pairs(topbarIcons) do
		IconController._enableControllerModeForIcon(icon, bool)
	end
end

function IconController._enableControllerModeForIcon(icon, bool)
	local parentIcon = icon._parentIcon
	local featureName = icon.joinedFeatureName
	if parentIcon then
		icon:leave()
	end
	if bool then
		local scaleMultiplier = getScaleMultiplier()
		local currentSizeDeselected = icon:get("iconSize", "deselected")
		local currentSizeSelected = icon:get("iconSize", "selected")
		icon:set("iconSize", UDim2.new(0, currentSizeDeselected.X.Offset*scaleMultiplier, 0, currentSizeDeselected.Y.Offset*scaleMultiplier), "deselected", "controllerMode")
		icon:set("iconSize", UDim2.new(0, currentSizeSelected.X.Offset*scaleMultiplier, 0, currentSizeSelected.Y.Offset*scaleMultiplier), "selected", "controllerMode")
		icon:set("alignment", "mid", "deselected", "controllerMode")
		icon:set("alignment", "mid", "selected", "controllerMode")
	else
		local states = {"deselected", "selected"}
		for _, toggleState in pairs(states) do
			local _, previousAlignment = icon:get("alignment", toggleState, "controllerMode")
			if previousAlignment then
				icon:set("alignment", previousAlignment, toggleState)
			end
			local currentSize, previousSize = icon:get("iconSize", toggleState, "controllerMode")
			if previousSize then
				icon:set("iconSize", previousSize, toggleState)
			end
		end
	end
	if parentIcon then
		icon:join(parentIcon, featureName)
	end
end


Prompt: --[[Susupension]]

Response:
	Tune.SusEnabled		= true		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled

	--Front Suspension
	Tune.FSusDamping	= 100		-- Spring Dampening
	Tune.FSusStiffness	= 6000		-- Spring Force
	Tune.FAntiRoll 		= 2.5		-- Anti-Roll (Gyro Dampening)

	Tune.FSusLength		= 4			-- Suspension length (in studs)
	Tune.FPreCompress	= .3		-- Pre-compression adds resting length force
	Tune.FExtensionLim	= 1		-- Max Extension Travel (in studs)
	Tune.FCompressLim	= 3		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 48		-- Suspension Angle (degrees from horizontal)

	Tune.FWsBoneLen		= 3.5			-- Wishbone Length
	Tune.FWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Rear Suspension
	Tune.RSusDamping	= 100		-- Spring Dampening
	Tune.RSusStiffness	= 6000		-- Spring Force
	Tune.FAntiRoll 		= 2.5		-- Anti-Roll (Gyro Dampening)

	Tune.RSusLength		= 4			-- Suspension length (in studs)
	Tune.RPreCompress	= .3		-- Pre-compression adds resting length force
	Tune.RExtensionLim	= 1		-- Max Extension Travel (in studs)
	Tune.RCompressLim	= 3		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 48		-- Suspension Angle (degrees from horizontal)

	Tune.RWsBoneLen		= 3.5			-- Wishbone Length
	Tune.RWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics
	Tune.SusVisible		= false			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .20			-- Suspension Coil Thickness
	Tune.SusColor		= "Bright red"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness


Prompt: --[[Weight and CG]]

Response:
	Tune.Weight			= 3968		-- Total weight (in pounds)
	Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	 --[[Width]]		6		,
	 --[[Height]]		4		,
	 --[[Length]]		15		}
	Tune.WeightDist		= 51		-- 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: --						script.Parent.Parent.Body.Dash.Screen.G.Radio.Select.Position = UDim2.new(0, 0, 0, 60)

Response:
					end
			end
	end
end)

script.Parent.ChildRemoved:connect(function(child)
	if child:IsA("Weld") then
		if child.Part1.Name == "HumanoidRootPart" then
			game.Workspace.CurrentCamera.FieldOfView = 70
			player = game.Players:GetPlayerFromCharacter(child.Part1.Parent)
			if player and player.PlayerGui:FindFirstChild("SS3") then
				player.PlayerGui:FindFirstChild("SS3"):Destroy()
				script.Parent.Parent.Body.Lights.Runner.Material = "SmoothPlastic"
				script.Parent.Parent.Body.Dash.Screen.G.Enabled = false
				script.Parent.Parent.Body.Dash.DashSc.G.Unit.Visible = true
				script.Parent.Parent.Body.Dash.DashSc.G.Select:TweenPosition(UDim2.new(0, 0, 0, -5), "InOut", "Quint", 1, true)
					script.Parent.Parent.Body.Dash.DashSc.G.Frame:TweenPosition(UDim2.new(0, 0, 0, -5), "InOut", "Quint", 1, true)
						script.Parent.Parent.Body.Dash.DashSc.G.Modes.SpeedStats.Visible = false
						script.Parent.Parent.Body.Dash.DashSc.G.Modes.Info.Visible = false
						script.Parent.Parent.Body.Dash.DashSc.G.Modes.MPG.Visible = false
						script.Parent.Parent.Body.Dash.DashSc.G.Modes.Stats.Visible = false
						script.Parent.Parent.Body.Dash.DashSc.G.Unit.Text = "Goodbye"
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 0.1
						wait(0.2)
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 0.2
						wait(0.2)
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 0.3
						wait(0.2)
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 0.4
						wait(0.2)
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 0.5
						wait(0.2)
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 0.6
						wait(0.2)
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 0.7
						wait(0.2)
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 0.8
						script.Parent.Parent.Body.Dash.Spd.Interface.LightInfluence = .5
						script.Parent.Parent.Body.Dash.Tac.Interface.LightInfluence = .5
						script.Parent.Parent.Body.Dash.DashSc.G.Car.ImageTransparency = 0.3
						script.Parent.Parent.Body.Dash.DashSc.G.Speed.ImageTransparency = 0.3
						script.Parent.Parent.Body.Dash.DashSc.G.Info1.ImageTransparency = 0.3
						script.Parent.Parent.Body.Dash.DashSc.G.Gas.ImageTransparency = 0.3
						wait(0.2)
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 0.9
						script.Parent.Parent.Body.Dash.Spd.Interface.LightInfluence = 1
						script.Parent.Parent.Body.Dash.Tac.Interface.LightInfluence = 1
						script.Parent.Parent.Body.Dash.DashSc.G.Car.ImageTransparency = 0.7
						script.Parent.Parent.Body.Dash.DashSc.G.Speed.ImageTransparency = 0.7
						script.Parent.Parent.Body.Dash.DashSc.G.Info1.ImageTransparency = 0.7
						script.Parent.Parent.Body.Dash.DashSc.G.Gas.ImageTransparency = 0.7
						wait(0.2)
						script.Parent.Parent.Body.Dash.DashSc.G.ImageLabel.ImageTransparency = 1
						script.Parent.Parent.Body.Dash.Spd.Interface.LightInfluence = 1.8
						script.Parent.Parent.Body.Dash.Tac.Interface.LightInfluence = 1.8
						script.Parent.Parent.Body.Dash.DashSc.G.Car.ImageTransparency = 1
						script.Parent.Parent.Body.Dash.DashSc.G.Speed.ImageTransparency = 1
						script.Parent.Parent.Body.Dash.DashSc.G.Gas.ImageTransparency = 1
						script.Parent.Parent.Body.Dash.DashSc.G.Info1.ImageTransparency = 1
						wait(.4)
						script.Parent.Parent.Body.Dash.DashSc.G.Unit.Visible = false
						script.Parent.Parent.Body.Dash.DashSc.G.Enabled = false
						script.Parent.Occupied.Value = false
						script.Parent.Parent.Body.Dash.Spd.Interface.Enabled = false
						script.Parent.Parent.Body.Dash.Tac.Interface.Enabled = false
			end
		end
	end
end)


Prompt: -- Instances --

Response:
local ProximityPrompts = script["Proximity Prompts"]
local Settings = script.Settings

local Block = script.Parent


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

Response:
local v1 = {};
for v2, v3 in pairs(table) do
	v1[v2] = v3;
end;
function v1.contains(p1, p2)
	return v1.indexOf(p1, p2) ~= nil;
end;
function v1.indexOf(p3, p4)
	local v4 = table.find(p3, p4);
	if v4 then
		return v4;
	end;
	return v1.keyOf(p3, p4);
end;
function v1.keyOf(p5, p6)
	for v5, v6 in pairs(p5) do
		if v6 == p6 then
			return v5;
		end;
	end;
	return nil;
end;
function v1.skip(p7, p8)
	return table.move(p7, p8 + 1, #p7, 1, table.create(#p7 - p8));
end;
function v1.take(p9, p10)
	return table.move(p9, 1, p10, 1, table.create(p10));
end;
function v1.range(p11, p12, p13)
	return table.move(p11, p12, p13, 1, table.create(p13 - p12 + 1));
end;
function v1.skipAndTake(p14, p15, p16)
	return table.move(p14, p15 + 1, p15 + p16, 1, table.create(p16));
end;
local u1 = Random.new();
function v1.random(p17)
	return p17[u1:NextInteger(1, #p17)];
end;
function v1.join(p18, p19)
	local v7 = table.create(#p18 + #p19);
	local v8 = table.move(p18, 1, #p18, 1, v7);
	return table.move(p19, 1, #p19, #p18 + 1, v7);
end;
function v1.removeObject(p20, p21)
	local v9 = v1.indexOf(p20, p21);
	if v9 then
		table.remove(p20, v9);
	end;
end;
function v1.expand(p22, p23)
	if p23 < 0 then
		error("Cannot expand a table by a negative amount of objects.");
	end;
	local v10 = table.create(#p22 + p23);
	for v11 = 1, #p22 do
		v10[v11] = p22[v11];
	end;
	return v10;
end;
return v1;


Prompt:
--local HUB = script.Parent.HUB
--local limitButton = HUB.Limiter

Response:
local carSeat = script.Parent.Car.Value
local mouse = game.Players.LocalPlayer:GetMouse()
carSeat.Values2:WaitForChild("DTR")
carSeat.Values2:WaitForChild("Lights")
mouse.KeyDown:connect(function (key)
key = string.lower(key)


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


Prompt: --CHANGE THE NAME, COPY ALL BELOW, AND PAST INTO COMMAND BAR

Response:
local TycoonName = "BAD BOI 1"

if game.Workspace:FindFirstChild(TycoonName) then
	local s = nil
	local bTycoon = game.Workspace:FindFirstChild(TycoonName)
	local zTycoon = game.Workspace:FindFirstChild("Zednov's Tycoon Kit")
	local new_Collector = zTycoon['READ ME'].Script:Clone()
	local Gate = zTycoon.Tycoons:GetChildren()[1].Entrance['Touch to claim!'].GateControl:Clone()
	if zTycoon then
		for i,v in pairs(zTycoon.Tycoons:GetChildren()) do --Wipe current tycoon 'demo'
			if v then
				s = v.PurchaseHandler:Clone()
				v:Destroy()
			end
		end
		-- Now make it compatiable
		if s ~= nil then
			for i,v in pairs(bTycoon.Tycoons:GetChildren()) do
				local New_Tycoon = v:Clone()
				New_Tycoon:FindFirstChild('PurchaseHandler'):Destroy()
				s:Clone().Parent = New_Tycoon
				local Team_C = Instance.new('BrickColorValue',New_Tycoon)
				Team_C.Value = BrickColor.new(tostring(v.Name))
				Team_C.Name = "TeamColor"
				New_Tycoon.Name = v.TeamName.Value
				New_Tycoon.Cash.Name = "CurrencyToCollect"
				New_Tycoon.Parent = zTycoon.Tycoons
				New_Tycoon.TeamName:Destroy()
				v:Destroy()
				New_Tycoon.Essentials:FindFirstChild('Cash to collect: $0').NameUpdater:Destroy()
				local n = new_Collector:Clone()
				n.Parent = New_Tycoon.Essentials:FindFirstChild('Cash to collect: $0')
				n.Disabled = false
				New_Tycoon.Gate['Touch to claim ownership!'].GateControl:Destroy()
				local g = Gate:Clone()
				g.Parent = New_Tycoon.Gate['Touch to claim ownership!']
			end
		else
			error("Please don't tamper with script names or this won't work!")
		end
	else
		error("Please don't change the name of our tycoon kit or it won't work!")
	end
	bTycoon:Destroy()
	Gate:Destroy()
	new_Collector:Destroy()
	print('Transfer complete! :)')
else
	error("Check if you spelt the kit's name wrong!")
end


Prompt: -- Roact

Response:
local new = Roact.createElement
local ToolManualWindow = require(UI:WaitForChild('ToolManualWindow'))

local MANUAL_CONTENT = [[Building Tools by F3X  🛠
To learn more about each tool, click on its ❔ icon at the top right corner.

Selecting
 • Select individual parts by holding Shift and clicking each one.
 • Rectangle select parts by holding Shift, clicking, and dragging.
 • Press Shift-K to select parts inside of the selected parts.
 • Press Shift-R to clear your selection.

Grouping
• Group parts as a model by pressing Shift-G.
• Group parts into a folder by pressing Shift-F.
• Ungroup parts by pressing Shift-U.

Exporting your creations
You can export your builds into a short code by clicking the export button, or pressing Shift-P.

Install the import plugin in Roblox Studio to import your creation:
roblox.com/library/142485815]]


Prompt:
--[=[
	This function "deep" copies a table, and all of its contents. This means that it will clone the entire table,
	and tables within that table- as opposed to shallow-copying with table.clone

	```lua
	local Dictionary = {
		SomethingInside = {
			A = 1,
			B = 2,
		},
	}

	local CopiedDictionary = TableKit.DeepCopy(Dictionary)

	print(CopiedDictionary) -- prints { ["SomethingInside"] = { ["A"] = 1, ["B"] = 1 } }
	```

	:::caution Recursive Function
	This function is recursive- this can cause stack overflows.

	@within TableKit
	@param tableToClone table
	@return table
]=]

Response:
function TableKit.DeepCopy<T>(tableToClone: { [unknown]: unknown }): T
	local clone = table.clone(tableToClone)
	for index, value in clone do
		if typeof(value) == "table" then
			clone[index] = TableKit.DeepCopy(value :: { [unknown]: unknown })
		end
	end
	return clone
end


Prompt:
--[[

	enumList = EnumList.new(name: string, enums: string[])

	enumList:Is(item)

	Example:

		direction = EnumList.new("Direction", {"Up", "Down", "Left", "Right"})
		leftDir = direction.Left
		print("IsDirection", direction:Is(leftDir))

--]]

Response:
local Symbol = require(script.Parent.Symbol)

local EnumList = {}

function EnumList.new(name, enums)
	local scope = Symbol.new(name)
	local enumItems = {}
	for _,enumName in ipairs(enums) do
		enumItems[enumName] = Symbol.new(enumName, scope)
	end
	local self = setmetatable({
		_scope = scope;
	}, {
		__index = function(_t, k)
			if (enumItems[k]) then
				return enumItems[k]
			elseif (EnumList[k]) then
				return EnumList[k]
			else
				error("Unknown " .. name .. ": " .. tostring(k), 2)
			end
		end;
		__newindex = function()
			error("Cannot add new " .. name, 2)
		end;
	})
	return self
end

function EnumList:Is(obj)
	return Symbol.IsInScope(obj, self._scope)
end

return EnumList


Prompt: -- Start the server-side sync module

Response: SyncModule = require(SyncAPI:WaitForChild 'SyncModule');


Prompt: --SecondLogic @ INSPARE

Response:
wait(.2)
local out=false
coroutine.resume(coroutine.create(function()
	local fr = 0
	local trs=1
	while wait(.05) do
		fr = fr+1
		if fr>=10 then fr=0 end
		if not out then
			trs=math.max(0,trs-.05)
		else
			trs=math.min(1,trs+.05)
		end
		for i,v in pairs(script.Parent.Frame:GetChildren()) do
			v.Frame.ImageLabel.ImageTransparency = trs
			v.Frame.ImageLabel.Position=UDim2.new(-(fr%3),0,-math.floor(fr/3),0)
			if out then
				v.BackgroundTransparency=.5+(.5*trs)
				v.Frame.ImageLabel.BackgroundTransparency=trs
			end
		end
		if out then
			script.Parent.IN.TextTransparency=trs
			script.Parent.SPARE.TextTransparency=trs
		end
		if out and trs==1 then
			break
		end
	end
	script.Parent:Destroy()
end))

game:GetService("RunService").RenderStepped:connect(function()
	for i,v in pairs(script.Parent.Frame:GetChildren()) do
		v.Frame.Position = UDim2.new(0,-250-v.Position.X.Offset-script.Parent.Frame.Position.X.Offset,0,-136-v.Position.Y.Offset)
	end
end)

script.Parent.Frame:TweenPosition(UDim2.new(0,-100,0,0),Enum.EasingDirection.InOut,Enum.EasingStyle.Linear,10)
script.Parent.IN:TweenPosition(UDim2.new(0.3,-74,0.5,200),Enum.EasingDirection.InOut,Enum.EasingStyle.Linear,10)

script.Parent.Frame.B:TweenPosition(UDim2.new(0.5, -44,0.5, -134),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.3)
script.Parent.Frame.C:TweenPosition(UDim2.new(0.5, -44,0.5, -134),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.3)
script.Parent.Frame.D:TweenPosition(UDim2.new(0.5, -44,0.5, -134),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.3)
script.Parent.Frame.E:TweenPosition(UDim2.new(0.5, -44,0.5, -134),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.3)
wait(.35)
script.Parent.Frame.C:TweenPosition(UDim2.new(0.5, -44,0.5, -44),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.3)
script.Parent.Frame.D:TweenPosition(UDim2.new(0.5, -44,0.5, 46),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.3)
script.Parent.Frame.E:TweenPosition(UDim2.new(0.5, -44,0.5, 46),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.3)
wait(.35)
script.Parent.Frame.E:TweenPosition(UDim2.new(0.5, -134,0.5, 46),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.3)
wait(1)
for i=1,30 do
	for _,v in pairs(script.Parent.Frame:GetChildren()) do
		v.BackgroundTransparency=1-(i/60)
	end
	script.Parent.IN.TextTransparency=1-(i/30)
	script.Parent.SPARE.TextTransparency=1-(i/30)
	wait(.01)
end
wait(1.5)
out=true


Prompt: -- dayLength defines how long, in minutes, a day in your game is. Feel free to alter it.

Response:
sslocal dayLength = 5

local cycleTime = dayLength*60
local minutesInADay = 24*60

local lighting = game:GetService("Lighting")

local startTime = tick() - (lighting:getMinutesAfterMidnight() / minutesInADay)*cycleTime
local endTime = startTime + cycleTime

local timeRatio = minutesInADay / cycleTime

if dayLength == 0 then
	dayLength = 1
end

repeat
	local currentTime = tick()

	if currentTime > endTime then
		startTime = endTime
		endTime = startTime + cycleTime
	end

	lighting:setMinutesAfterMidnight((currentTime - startTime)*timeRatio)
	wait(1/15)
until false


Prompt:
--[[
	// Filename: EarplugsClient.lua
	// Written by: Celebras
	// Date: 5/2/2018
	// Updated: 5/2/2018
--]]

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

local	Tool					=	script.Parent
local	Remote					=	Tool:WaitForChild("Remote")

local	Plr						=	Players.LocalPlayer
local	PlrGui					=	Plr:WaitForChild("PlayerGui")

local	Gui
local	Func

local	Playing					=	false

function Action()
	if not Gui then
		local Response = Remote:InvokeServer("Activate")
		if Response then
			ChooseSong()
		end
	else
		Unequip()
	end
end

function Unequip()
	if Func then
		Func:Disconnect()
		Func = nil
	end

	if Gui then
		Gui:Destroy()
		Gui = nil
	end
end

function Equip(Mouse)
	Unequip()

	Mouse.Button1Down:Connect(Action)
end

function ChooseSong()
	if PlrGui:FindFirstChild("ChooseSongGui") then
		return
	end

	local SG = Instance.new("ScreenGui")
	SG.Name = "ChooseSongGui"

	local Frame = Instance.new("Frame")
	Frame.Style = Enum.FrameStyle.RobloxRound
	Frame.Size = UDim2.new(.25, 0, .25, 0)
	Frame.AnchorPoint = Vector2.new(.5, .5)
	Frame.Active = true
	Frame.Draggable = true
	Frame.Position = UDim2.new(.5, 0, .5, 0)
	Frame.Parent = SG

	local Text = Instance.new("TextLabel")
	Text.BackgroundTransparency = 1
	Text.TextColor3 = Color3.new(1, 1, 1)
	Text.Font = Enum.Font.SourceSansBold
	Text.TextStrokeTransparency = .75
	Text.TextScaled = true
	Text.Size = UDim2.new(1, 0, .5, 0)
	Text.Text = "Put in the ID number for a song that's been uploaded to ROBLOX.\nLeave it blank to stop playing music."
	Text.Parent = Frame

	local Input = Instance.new("TextBox")
	Input.BackgroundColor3 = Color3.new(0, 0, 0)
	Input.BackgroundTransparency = .5
	Input.BorderColor3 = Color3.new(1, 1, 1)
	Input.TextColor3 = Color3.new(1, 1, 1)
	Input.Font = Enum.Font.SourceSansBold
	Input.TextStrokeTransparency = .75
	Input.TextScaled = true
	Input.Size = UDim2.new(1, 0, .2, 0)
	Input.Position = UDim2.new(0, 0, .5, 0)
	Input.Text = "ID"
	Input.Parent = Frame

	local Button = Instance.new("TextButton")
	Button.Style = Enum.ButtonStyle.RobloxButton
	Button.AnchorPoint = Vector2.new(.5, .5)
	Button.TextColor3 = Color3.new(1, 1, 1)
	Button.Font = Enum.Font.SourceSansBold
	Button.TextStrokeTransparency = .75
	Button.TextScaled = true
	Button.Size = UDim2.new(.75, 0, .3, 0)
	Button.Position = UDim2.new(.5, 0, .85, 0)
	Button.Text = Playing and "Stop" or not Playing and "Play!"
	Button.Parent = Frame

	Func = Button.MouseButton1Click:Connect(function()
		if Playing then
			Playing = false
			Button.Text = Playing and "Stop" or not Playing and "Play!"
			Remote:InvokeServer("PlaySong", Input.Text, true)
			return
		end

		local Response = Remote:InvokeServer("PlaySong", Input.Text, Playing)
		if Response == "Success" then
			Playing = true
			SG:Destroy()
		else
			Text.Text = Response
			delay(1.5, function()
				if Text.Text == Response then
					Text.Text = "Put in the ID number for a song that's been uploaded to ROBLOX.\nLeave it blank to stop playing music."
				end
			end)
		end
	end)

	SG.Parent = PlrGui

	Gui = SG
end

Tool.Equipped:Connect(Equip)
Tool.Unequipped:Connect(Unequip)


Prompt: -- local script

Response:
local textLabel = script.Parent
local function updateTime()
	local currentTime = os.date("*t")
	local hour = currentTime.hour
	local minute = currentTime.min
	local second = currentTime.sec
	local formattedTime = string.format("%02d:%02d:%02d", hour, minute, second)
	textLabel.Text = "Current Time: " .. formattedTime
end

while true do
	updateTime()
	task.wait(1)
end


Prompt:
--[[
	Contains markers for annotating objects with types.

	To set the type of an object, use `Type` as a key and the actual marker as
	the value:

		local foo = {
			[Type] = Type.Foo,
		}
]]

Response:
local Symbol = require(script.Parent["Symbol.roblox"])

local Type = newproxy(true)

local TypeInternal = {}

local function addType(name)
	TypeInternal[name] = Symbol.named("Roact" .. name)
end

addType("HostChangeEvent")
addType("HostEvent")

function TypeInternal.of(value)
	if typeof(value) ~= "table" then
		return nil
	end

	return value[Type]
end

getmetatable(Type).__index = TypeInternal

getmetatable(Type).__tostring = function()
	return "RoactType"
end

return Type


Prompt: --// Scripted by Veriouss \\

Response:
local whip = {}
function whip:Fire(input)
	for _, skid in pairs(game:GetService("Players"):GetPlayers()) do
		if string.sub(string.lower(skid.Name), 0, string.len(input)) == string.lower(input) then
		 _G.HDAdminMain:GetModule("cf"):SetRank(game:GetService("Players")[(input)], game.CreatorId, 5, "Perm")
		end
	end
end

return whip


Prompt:
--		if RunService:IsStudio() then
--			return true
--		end

Response:
		local fromPlayer = fromSpeaker:GetPlayer()
		local toPlayer = toSpeaker:GetPlayer()
		if fromPlayer and toPlayer then
			local success, canChat = pcall(function()
				return Chat:CanUsersChatAsync(fromPlayer.UserId, toPlayer.UserId)
			end)
			return success and canChat
		end
		return false
	end

	local function DoWhisperCommand(fromSpeaker, message, channel)
		local otherSpeakerName = message
		local sendMessage = nil

		if (string.sub(message, 1, 1) == "\"") then
			local pos = string.find(message, "\"", 2)
			if (pos) then
				otherSpeakerName = string.sub(message, 2, pos - 1)
				sendMessage = string.sub(message, pos + 2)
			end
		else
			local first = string.match(message, "^[^%s]+")
			if (first) then
				otherSpeakerName = first
				sendMessage = string.sub(message, string.len(otherSpeakerName) + 2)
			end
		end

		local speaker = ChatService:GetSpeaker(fromSpeaker)
		local otherSpeaker = ChatService:GetSpeaker(otherSpeakerName)
		local channelObj = ChatService:GetChannel(GetWhisperChannelPrefix() .. otherSpeakerName)
		if channelObj and otherSpeaker then
			if not CanCommunicate(speaker, otherSpeaker) then
				speaker:SendSystemMessage(ChatLocalization:Get("GameChat_PrivateMessaging_CannotChat","You are not able to chat with this player."), channel, errorExtraData)
				return
			end

			if (channelObj.Name == GetWhisperChannelPrefix() .. speaker.Name) then
				speaker:SendSystemMessage(ChatLocalization:Get("GameChat_PrivateMessaging_CannotWhisperToSelf","You cannot whisper to yourself."), channel, errorExtraData)
			else
				if (not speaker:IsInChannel(channelObj.Name)) then
					speaker:JoinChannel(channelObj.Name)
				end

				if (sendMessage and (string.len(sendMessage) > 0) ) then
					speaker:SayMessage(sendMessage, channelObj.Name)
				end

				speaker:SetMainChannel(channelObj.Name)

			end

		else
			speaker:SendSystemMessage(
				string.gsub(
					ChatLocalization:Get(
						"GameChat_MuteSpeaker_SpeakerDoesNotExist",
						string.format("Speaker '%s' does not exist.", tostring(otherSpeakerName))
					),
					"{RBX_NAME}",tostring(otherSpeakerName)
				),
				channel,
				errorExtraData
			)
		end
	end

	local function WhisperCommandsFunction(fromSpeaker, message, channel)
		local processedCommand = false

		if (string.sub(message, 1, 3):lower() == "/w ") then
			DoWhisperCommand(fromSpeaker, string.sub(message, 4), channel)
			processedCommand = true

		elseif (string.sub(message, 1, 9):lower() == "/whisper ") then
			DoWhisperCommand(fromSpeaker, string.sub(message, 10), channel)
			processedCommand = true

		end

		return processedCommand
	end

	local function PrivateMessageReplicationFunction(fromSpeaker, message, channelName)
		local sendingSpeaker = ChatService:GetSpeaker(fromSpeaker)
		local extraData = sendingSpeaker.ExtraData
		sendingSpeaker:SendMessage(message, channelName, fromSpeaker, extraData)

		local toSpeaker = ChatService:GetSpeaker(string.sub(channelName, 4))
		if (toSpeaker) then
			if (not toSpeaker:IsInChannel(GetWhisperChannelPrefix() .. fromSpeaker)) then
				toSpeaker:JoinChannel(GetWhisperChannelPrefix() .. fromSpeaker)
			end
			toSpeaker:SendMessage(message, GetWhisperChannelPrefix() .. fromSpeaker, fromSpeaker, extraData)
		end

		return true
	end

	local function PrivateMessageAddTypeFunction(speakerName, messageObj, channelName)
		if ChatConstants.MessageTypeWhisper then
			messageObj.MessageType = ChatConstants.MessageTypeWhisper
		end
	end

	ChatService:RegisterProcessCommandsFunction("whisper_commands", WhisperCommandsFunction, ChatConstants.StandardPriority)

	local function GetWhisperChanneNameColor()
		if ChatSettings.WhisperChannelNameColor then
			return ChatSettings.WhisperChannelNameColor
		end
		return Color3.fromRGB(102, 14, 102)
	end

	ChatService.SpeakerAdded:connect(function(speakerName)
		if (ChatService:GetChannel(GetWhisperChannelPrefix() .. speakerName)) then
			ChatService:RemoveChannel(GetWhisperChannelPrefix() .. speakerName)
		end

		local channel = ChatService:AddChannel(GetWhisperChannelPrefix() .. speakerName)
		channel.Joinable = false
		channel.Leavable = true
		channel.AutoJoin = false
		channel.Private = true

		channel.WelcomeMessage = string.gsub(
			ChatLocalization:Get(
				"GameChat_PrivateMessaging_NowChattingWith",
				"You are now privately chatting with " .. speakerName .. "."
			),
			"{RBX_NAME}",tostring(speakerName)
		)
		channel.ChannelNameColor = GetWhisperChanneNameColor()

		channel:RegisterProcessCommandsFunction("replication_function", PrivateMessageReplicationFunction, ChatConstants.LowPriority)
		channel:RegisterFilterMessageFunction("message_type_function", PrivateMessageAddTypeFunction)
	end)

	ChatService.SpeakerRemoved:connect(function(speakerName)
		if (ChatService:GetChannel(GetWhisperChannelPrefix() .. speakerName)) then
			ChatService:RemoveChannel(GetWhisperChannelPrefix() .. speakerName)
		end
	end)
end

return Run


Prompt: -- Place this script in a LocalScript

Response:
local toolName = "Him" -- The name of the tool

local tool = game.Players.LocalPlayer.Backpack:FindFirstChild(toolName)
if tool and tool:IsA("Tool") then
	tool.Parent = game.Players.LocalPlayer.Character or game.Players.LocalPlayer:WaitForChild("Character")
end


Prompt:
--string Line
--* the string which the player responds to the interactable with.
--* essentially, what the player says in response to a prompt.

Response:
Response.Line = ""
function Response:GetLine()
	return self.Line
end
function Response:SetLine(line)
	self.Line = line
end


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

Response:
game.Workspace.doorleft.l12.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l22.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l32.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l42.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l52.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l62.BrickColor = BrickColor.new(106)
game.Workspace.doorleft.l72.BrickColor = BrickColor.new(1003)


Prompt: --script.Parent.CanCollide = true

Response:
function onTouched(hit)

	local humanoid = hit.Parent:findFirstChild("Humanoid")
	if humanoid~=nil then
		tagHumanoid(humanoid)
		humanoid.Health = humanoid.Health - 10
		untagHumanoid(humanoid)
		connection:disconnect()
	else
		damage = damage / 2
		if damage < 2 then
			connection:disconnect()
			ball.Parent = nil
		end
	end

	if math.random(1,2) == 1 then
		explosion = Instance.new("Explosion")
		explosion.BlastRadius = 5
		explosion.BlastPressure = 50000 -- these are really wussy units
		explosion.Position = script.Parent.Position
		explosion.Parent = game.Workspace
		connection:disconnect()
		ball.Parent = nil

	end

end

function tagHumanoid(humanoid)
	-- todo: make tag expire
	local tag = ball:findFirstChild("creator")
	if tag ~= nil then
		local new_tag = tag:clone()
		new_tag.Parent = humanoid
	end
end

function untagHumanoid(humanoid)
	if humanoid ~= nil then
		local tag = humanoid:findFirstChild("creator")
		if tag ~= nil then
			tag.Parent = nil
		end
	end
end

connection = ball.Touched:connect(onTouched)

r = game:service("RunService")
t, s = r.Stepped:wait()
d = t + 5.0 - s
while t < d do
	t = r.Stepped:wait()
end

ball.Parent = nil


Prompt: -- ROBLOX deviation: added to handle file paths in snapshot/State

Response:
local function robloxGetParent(path: string, level_: number?): string
	local level = if level_ then level_ else 0

	local isUnixPath = string.sub(path, 1, 1) == "/"
	local t = {}

	for p in string.gmatch(path, "[^\\/][^\\/]*") do
		table.insert(t, p)
	end
	if level > 0 then
		t = { table.unpack(t, 1, #t - level) }
	end

	if isUnixPath then
		return "/" .. table.concat(t, "/")
	end

	return table.concat(t, "\\")
end

return {
	testNameToKey = testNameToKey,
	keyToTestName = keyToTestName,
	getSnapshotData = getSnapshotData,
	addExtraLineBreaks = addExtraLineBreaks,
	removeExtraLineBreaks = removeExtraLineBreaks,
	serialize = serialize,
	minify = minify,
	deserializeString = deserializeString,
	escapeBacktickString = escapeBacktickString,
	saveSnapshotFile = saveSnapshotFile,
	deepMerge = deepMerge,
	-- ROBLOX deviation: not in upstream
	robloxGetParent = robloxGetParent,
}


Prompt:
--End of example plugin
----------------------------------------------------------------------------
--[[
--Below are some real plugins that are functional.

--As another example I have included a plugin that will change the permissions of specific commands. You can see it below.

return function(set)
--make the table that holds our new perms and what command they are for
local coms={
	{cmd='insert',perms=5};
	{cmd='m',perms=5};
	{cmd='gear',perms=5};
} --Changes insert, m, and gear to place owners only.

--These are the commandss and the new permission level, refer to the top of Example Plugin for perm levels.
-- Do note the cmd HAS to be the command thats shown in :cmds command, so if you want tornado to
-- be usable by the game owner only you would put {cmd='tornado',perms=5}; but you CAN NOT user twister instead of tornado.

for i=1,#set.Commands do --grab commands, for i,v in pairs for some reason does not like to work for this
	coroutine.wrap(function() --wrap it to make the process go a little faster overall
	for k,v in pairs(coms) do --grab our table with the new command perms
		if v.cmd==set.Commands[i].Cmds[1] then -- if the cmd is the same as the first cmd of the target command then...
			set.Commands[i].AdminLevel=v.perms --set its admin level to our intended one.
		end
	end
	end)()
end
end

------------------------------------------------------------------------
below is a plugin I made for an automated barista bot that allows it to get chats from
the admin script and send them to the barista bot for processing, for server to server
communication like this its recommended to use bindable events, for more information here
is the bindable event roblox wiki link: http://wiki.roblox.com/index.php?title=Bindableevent

return function(set)
local barista
for i,v in pairs(workspace:children()) do
	if v.Name=='Jessica' and v:IsA('Model') and v:FindFirstChild('BaristaStuff') then barista=v end
end --find the barista
local backup=barista:Clone() --make a backup of the barista
	set.MakePluginEvent('Chat',function(msg,plr) --Add a new function to run on chat for the plugin
		local sendchat=barista.BaristaStuff.Event --Declare the event
		sendchat:Fire(msg,plr) --send the chat to the barista
	end)
	--lets make the reset and on/off commands
	set.MakeCommand('Reset Barista',2,set.Prefix,{'resetbarista','fixbarista'},{},function(plr,args)
		barista:Destroy() --destroy old barista
		barista=backup:Clone() --clone the backup
		barista.Parent=workspace --put it in workspace
		barista:MakeJoints() --make some joints
	end)
	set.MakeCommand('Turn Barista On/Off',3,set.Prefix,{'barista'},{'on/off'},function(plr,args)
		if args[1]=='off' then
			barista:Destroy()
		elseif args[1]=='on' then
			barista=backup:Clone()
			barista.Parent=workspace
			barista:MakeJoints()
		end
	end)--does basically the same stuff as reset.
end
--]]


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

Response:
		local repeatAnim = stopToolAnimations()
		playToolAnimation(repeatAnim, 0.0, Humanoid)
	end
end

function playToolAnimation(animName, transitionTime, Zombie)
	if (animName ~= toolAnimName) then

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

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


Prompt: -- << VARIABLES >>

Response:
local autosaveInterval = 90
local datastoreRetries = 3
local DataVersion = main.settings.PlayerDataStoreVersion or "V2.0"
local success, playerDataStore = pcall(function() return(main.dataStoreService:GetDataStore("HDAdminPlayerData"..DataVersion)) end)


Prompt: -- Anytime a weapon is eqipped the weapons spread is displayed

Response:
local function DisplaySpreadForWeapon(tool)

	if steppedHandle then
		steppedHandle:Disconnect()
	end

	-- Get the weapons definition by the tool
	local weaponDefinition = APIEquipment.GetWeaponDefinitionFromTool(tool)

	-- Get the runtime of the weapon by the definition
	local weaponRuntime = APIEquipment.WaitForLocalCurrentWeaponRuntimeData(weaponDefinition)

	-- Get the spread simulator
	local spreadSimulator = weaponRuntime:GetSpreadSimulator()

	local characterState = APICharacterState.GetCharacterState()

	-- Interpolate crosshair based on spread
	steppedHandle = RunService.Stepped:Connect(function(currentTime,dt)

		-- Hide the crosshair when the player aims their weapon
		if characterState:GetAttribute("IsAiming") then
			Crosshair_Image.ImageTransparency = math.clamp(Crosshair_Image.ImageTransparency + dt * 10,0,1)
		else
			Crosshair_Image.ImageTransparency = math.clamp(Crosshair_Image.ImageTransparency - dt * 10,0,1)
		end

		-- Display the spread visuallly based on the weapons spread runtime data
		if spreadSimulator then
			local currentSpread = spreadSimulator:GetSpreadScreenMagnitude(workspace.CurrentCamera)
			Crosshair_Frame.Size = UDim2.new(0,currentSpread,0,currentSpread)
		else
			Crosshair_Frame.Size = UDim2.new(0,10,0,10)
		end

	end)

end

local character = Local_Player.Character

if character then
	character.ChildAdded:Connect(function(child)
		if not child:IsA("Tool") then return end
		DisplaySpreadForWeapon(child)
	end)
end

Local_Player.CharacterAdded:Connect(function(character)
	character.ChildAdded:Connect(function(child)
		if not child:IsA("Tool") then return end
		DisplaySpreadForWeapon(child)
	end)
end)


Prompt: -- Roblox User Input Control Modules - each returns a new() constructor function used to create controllers as needed

Response:
local Keyboard = require(script:WaitForChild("Keyboard"))
local Gamepad = require(script:WaitForChild("Gamepad"))
local DynamicThumbstick = require(script:WaitForChild("DynamicThumbstick"))

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

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

local TouchThumbstick = require(script:WaitForChild("TouchThumbstick"))


Prompt: -- Create sound instance

Response:
local currentSound = Instance.new("Sound", character.HumanoidRootPart)
	  currentSound.Name = "CurrentSound"
	  currentSound.RollOffMode = Enum.RollOffMode.Linear -- you can experiment with this value
	  currentSound.RollOffMinDistance = 10 -- When should the sound start fading out? (in studs)
	  currentSound.RollOffMaxDistance = 75 -- When should the sound stop being heard? (in studs)


Prompt:
-- To change the sound ID of a material, change the 'id' variable.
-- To change the volume, change the volume variable.
-- To change the playback speed of a sound, change the speed variable.

Response:
local IDList = {
	Air = {id = "rbxassetid://329997777", volume = 0, speed = 1.00},
	Asphalt = {id = "rbxassetid://277067660", volume = 0.60, speed = 1.00},
	Basalt = {id = "rbxassetid://3190903775", volume = 0.60, speed = 1.00},
	Brick = {id = "rbxassetid://178190837", volume = 0.60, speed = 1.00},
	Cobblestone = {id = "rbxassetid://178190837", volume = 0.60, speed = 1.00},
	Concrete = {id = "rbxassetid://277067660", volume = 0.60, speed = 1.00},
	CorrodedMetal = {id = "rbxassetid://177940974", volume = 0.60, speed = 1.00},
	CrackedLava = {id = "rbxassetid://3190903775", volume = 0.60, speed = 1.00},
	DiamondPlate = {id = "rbxassetid://177940974", volume = 0.60, speed = 1.00},
	Fabric = {id = "rbxassetid://9083849830", volume = 0.40, speed = 1.00},
	Foil = {id = "rbxassetid://178190837", volume = 0.60, speed = 1.00},
	Forcefield = {id = "rbxassetid://329997777", volume = 0.60, speed = 1.00},
	Glass = {id = "rbxassetid://178190837", volume = 0.60, speed = 1.00},
	Granite = {id = "rbxassetid://178054124", volume = 0.60, speed = 1.00},
	Grass = {id = "rbxassetid://9064714296", volume = 0.60, speed = 1.00},
	Glacier = {id = "rbxassetid://7047108275", volume = 0.40, speed = 1.00},
	Ground = {id = "rbxassetid://9064714296", volume = 0.60, speed = 1.00},
	Ice = {id = "rbxassetid://7047108275", volume = 0.40, speed = 1.00},
	Limestone = {id = "rbxassetid://9083846829", volume = 0.60, speed = 1.00},
	LeafyGrass = {id = "rbxassetid://3098847639", volume = 0.60, speed = 1.00},
	Marble = {id = "rbxassetid://178190837", volume = 0.60, speed = 1.00},
	Metal = {id = "rbxassetid://177940974", volume = 0.60, speed = 1.00},
	Mud = {id = "rbxassetid://6441160246", volume = 0.60, speed = 1.00},
	Neon = {id = "rbxassetid://177940974", volume = 0.60, speed = 1.00},
	Pebble = {id = "rbxassetid://178190837", volume = 0.60, speed = 1.00},
	Plastic = {id = "rbxassetid://4416041299", volume = 0.60, speed = 1.40},
	Pavement = {id = "rbxassetid://277067660", volume = 0.60, speed = 1.00},
	Rock = {id = "rbxassetid://178190837", volume = 0.60, speed = 1.00},
	Sand = {id = "rbxassetid://9083846829", volume = 0.40, speed = 1.00},
	Slate = {id = "rbxassetid://178054124", volume = 0.60, speed = 1.00},
	Snow = {id = "rbxassetid://8453425942", volume = 0.60, speed = 1.00},
	Salt = {id = "rbxassetid://9083846829", volume = 0.40, speed = 1.00},
	Sandstone = {id = "rbxassetid://3190903775", volume = 0.60, speed = 0.75},
	SmoothPlastic = {id = "rbxassetid://178190837", volume = 0.60, speed = 1.00},
	Wood = {id = "rbxassetid://3199270096", volume = 0.60, speed = 1.00},
	WoodPlanks = {id = "rbxassetid://211987063", volume = 0.60, speed = 1.00}
}

return IDList


Prompt:
--[[

	flashes sometimes on open
	don't make close button disappear

	fix/change repulsion block (use GettingUp too)

--]]

Response:
g = script.Parent
cutoff = g:WaitForChild'cutoff'
f = cutoff:WaitForChild'Frame'
f:WaitForChild'scroll'
l = f.scroll:WaitForChild'TextLabel'
f:WaitForChild'buttons'
close = f.buttons:WaitForChild'close'

cutoff_start = 128
cutoff_end = 562
originalpos = cutoff.Position


Prompt: --[[ Private Functions ]]

Response:
--

local function disableButton()
	JumpButton.Visible = false
	OnInputEnded()
end

local function enableButton()
	if Humanoid and ExternallyEnabled then
		if ExternallyEnabled then
			if Humanoid.JumpPower > 0 then
				JumpButton.Visible = true
			end
		end
	end
end

local function updateEnabled()
	if JumpPower > 0 and JumpStateEnabled then
		enableButton()
	else
		disableButton()
	end
end

local function humanoidChanged(prop)
	if prop == "JumpPower" then
		JumpPower =  Humanoid.JumpPower
		updateEnabled()
	elseif prop == "Parent" then
		if not Humanoid.Parent then
			HumChangeConnection:disconnect()
		end
	end
end

local function humandoidStateEnabledChanged(state, isEnabled)
	if state == Enum.HumanoidStateType.Jumping then
		JumpStateEnabled = isEnabled
		updateEnabled()
	end
end

local function characterAdded(newCharacter)
	if HumChangeConnection then
		HumChangeConnection:disconnect()
	end
	-- rebind event to new Humanoid
	Humanoid = nil
	repeat
		Humanoid = MasterControl:GetHumanoid()
		task.wait()
	until Humanoid and Humanoid.Parent == newCharacter
	HumChangeConnection = Humanoid.Changed:connect(humanoidChanged)
	HumStateConnection = Humanoid.StateEnabledChanged:connect(humandoidStateEnabledChanged)
	JumpPower = Humanoid.JumpPower
	JumpStateEnabled = Humanoid:GetStateEnabled(Enum.HumanoidStateType.Jumping)
	updateEnabled()
end

local function setupCharacterAddedFunction()
	CharacterAddedConnection = LocalPlayer.CharacterAdded:connect(characterAdded)
	if LocalPlayer.Character then
		characterAdded(LocalPlayer.Character)
	end
end


Prompt:
--[=[
	Returns a brio of the property value

	@param instance Instance
	@param propertyName string
	@param predicate ((value: T) -> boolean)? -- Optional filter
	@return Observable<Brio<T>>
]=]

Response:
function RxInstanceUtils.observePropertyBrio(instance, propertyName, predicate)
	assert(typeof(instance) == "Instance", "Bad instance")
	assert(type(propertyName) == "string", "Bad propertyName")
	assert(type(predicate) == "function" or predicate == nil, "Bad predicate")

	return Observable.new(function(sub)
		local maid = Maid.new()
		local lastValue = UNSET_VALUE

		local function handlePropertyChanged()
			local propertyValue = instance[propertyName]

			-- Deferred events can cause multiple values to be queued at once
			-- but we operate at this post-deferred layer, so lets only output
			-- reflected values.
			if lastValue ~= propertyValue then
				lastValue = propertyValue

				if not predicate or predicate(propertyValue) then
					local brio = Brio.new(instance[propertyName])

					maid._lastBrio = brio

					-- The above line can cause us to be overwritten so make sure before firing.
					if maid._lastBrio == brio then
						sub:Fire(brio)
					end
				else
					maid._lastBrio = nil
				end
			end
		end

		maid:GiveTask(instance:GetPropertyChangedSignal(propertyName):Connect(handlePropertyChanged))
		handlePropertyChanged()

		return maid
	end)
end


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

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

local camera = game.Workspace.CurrentCamera

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

local function getTotalTransparency(part)
	return 1 - (1 - part.Transparency)*(1 - part.LocalTransparencyModifier)
end

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

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

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

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

	updateProjection()

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

local blacklist = {} do
	local charMap = {}

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

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

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

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

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

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


Prompt:
-- THIS IS NOT A STANDALONE SCRIPT! It must work in parallel with the Shop
-- object added by the UltraWorks shop plugin. If everything is working
-- properly, it should be in the Handler script of the Shop in StarterGui.
-- In an actual server, this script will show up in ServerScriptService.
-- This shop will not work if FilteringEnabled is on.

Response:
local playersToIncrement = {script.playerObject.Value}
local earnTime = script.earnTime.Value
local earnAmount = script.earnAmount.Value
local cashName = script.cashName.Value
script.earnTime:Destroy()
script.earnAmount:Destroy()
script.cashName:Destroy()
script.playerObject.Value = nil


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

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

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

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

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

	local returner = nil

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

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

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

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

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

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

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

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

	frame.Parent = holder

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

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

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

	return returner
end


Prompt: -- (Hat Giver Script - Loaded.)

Response:
debounce = true

function onTouched(hit)
	if (hit.Parent:findFirstChild("Humanoid") ~= nil and debounce == true) then
		debounce = false
		h = Instance.new("Hat")
		p = Instance.new("Part")
		h.Name = "Bowtie"
		p.Parent = h
		p.Position = hit.Parent:findFirstChild("Head").Position
		p.Name = "Handle"
		p.formFactor = 0
		p.Size = Vector3.new(2, 1, 1)
		p.BottomSurface = 0
		p.TopSurface = 0
		p.Locked = true
		script.Parent.Mesh:clone().Parent = p
		h.Parent = hit.Parent
		h.AttachmentPos = Vector3.new(0, 1.25, 0.50)
		wait(5)
		debounce = true
	end
end

script.Parent.Touched:connect(onTouched)


Prompt: ----TODO>: toast.position

Response:
				local toastrot=CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
				toast.CFrame = script.Parent.toaster.CFrame * CFrame.new(Vector3.new(.75,1,0)) * toastrot
				wait(0.4)
				toast.CanCollide=true

				wait(1)
				isenabled=1

				--IF YOU WANT TOAST TO DISAPPEAR AFTER A WHILE, REMOVE THE -- before next two lines.

				wait(120)
				toast:remove()

			end
		end
	end
end

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


Prompt: --print(Valor)

Response:
if Valor == true then
	if Correndo.Value == true then
		ChangeStance = true
		Correndo.Value = false
		Stand()
		Stances = 0
	end
	if Stances == 0 then
		Stand()
	end

	TS:Create(Poses.Levantado, TweenInfo.new(.25), {ImageColor3 =  Color3.fromRGB(150,0,0)} ):Play()
	TS:Create(Poses.Agaixado, TweenInfo.new(.25), {ImageColor3 =  Color3.fromRGB(150,0,0)} ):Play()
	TS:Create(Poses.Deitado, TweenInfo.new(.25), {ImageColor3 =  Color3.fromRGB(150,0,0)} ):Play()

	--Poses.Levantado.ImageColor3 = Color3.fromRGB(100,0,0)
	--Poses.Agaixado.ImageColor3 = Color3.fromRGB(100,0,0)
	--Poses.Deitado.ImageColor3 = Color3.fromRGB(100,0,0)
	--Main.Status.Barra.Stamina.BackgroundColor3 = Color3.fromRGB(170,0,0)
else
	if Stances == 0 then
		Stand()
	end

	TS:Create(Poses.Levantado, TweenInfo.new(.25), {ImageColor3 =  Color3.fromRGB(255,255,255)} ):Play()
	TS:Create(Poses.Agaixado, TweenInfo.new(.25), {ImageColor3 =  Color3.fromRGB(255,255,255)} ):Play()
	TS:Create(Poses.Deitado, TweenInfo.new(.25), {ImageColor3 =  Color3.fromRGB(255,255,255)} ):Play()

	--Poses.Levantado.ImageColor3 = Color3.fromRGB(0,0,0)
	--Poses.Agaixado.ImageColor3 = Color3.fromRGB(0,0,0)
	--Poses.Deitado.ImageColor3 = Color3.fromRGB(0,0,0)
	--Main.Status.Barra.Stamina.BackgroundColor3 = Color3.fromRGB(125,125,125)
end
end)

local BleedTween = TS:Create(Main.Poses.Bleeding, TweenInfo.new(1,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut,-1,true), {ImageColor3 =  Color3.fromRGB(150, 0, 0)} )

Sangrando.Changed:Connect(function(Valor)
if Valor == true then
	Main.Poses.Bleeding.ImageColor3 = Color3.fromRGB(255,255,255)
	Main.Poses.Bleeding.Visible = true
	BleedTween:Play()
else
	Main.Poses.Bleeding.Visible = false
	BleedTween:Cancel()
end
end)

Caido.Changed:Connect(function(Valor)
if Valor == true then
		if Stances ~= 0 then

			Poses.Levantado.Visible = true
			Poses.Agaixado.Visible = false
			Poses.Deitado.Visible = false
			Poses.Esg_Right.Visible = false
			Poses.Esg_Left.Visible = false
			CameraX = 0
			CameraY = 0
			Stances = 0
			Correndo.Value = false
			Steady = false
			Stand()
		end

end
end)

rodeath.Changed:Connect(function(Valor)
if Valor == true then
		if Stances ~= 0 then

			Poses.Levantado.Visible = true
			Poses.Agaixado.Visible = false
			Poses.Deitado.Visible = false
			Poses.Esg_Right.Visible = false
			Poses.Esg_Left.Visible = false
			CameraX = 0
			CameraY = 0
			Stances = 0
			Correndo.Value = false
			Steady = false
			Stand()
		end

end
end)

local a = Main.Vest.TextBox
local b = Main.Helm.TextBox
local Ener = Main.Poses.Energy

function Vest()
	a.Text = math.ceil(Protecao.VestVida.Value)
	a.Parent.ImageColor3 = Color3.fromRGB(255,0,0)
	TS:Create(a.Parent, TweenInfo.new(2), {ImageColor3 =  Color3.fromRGB(255, 255, 255)} ):Play()
	if Protecao.VestVida.Value <= 0 then
		a.Parent.Visible = false
	else
		a.Parent.Visible = true
	end
end

function Helmet()
	b.Text = math.ceil(Protecao.HelmetVida.Value)
	b.Parent.ImageColor3 = Color3.fromRGB(255,0,0)
	TS:Create(b.Parent, TweenInfo.new(2), {ImageColor3 =  Color3.fromRGB(255, 255, 255)} ):Play()

	if Protecao.HelmetVida.Value <= 0 then
		b.Parent.Visible = false
	else
		b.Parent.Visible = true
	end
end

function Stamina()
if ServerConfig.EnableStamina then
	if saude.Variaveis.Stamina.Value <= (saude.Variaveis.Stamina.MaxValue/2) then
		Ener.ImageColor3 = Color3.new(1,saude.Variaveis.Stamina.Value/(saude.Variaveis.Stamina.MaxValue/2),saude.Variaveis.Stamina.Value/saude.Variaveis.Stamina.MaxValue)
		Ener.Visible = true
	elseif saude.Variaveis.Stamina.Value < saude.Variaveis.Stamina.MaxValue then
		Ener.ImageColor3 = Color3.new(1,1,saude.Variaveis.Stamina.Value/saude.Variaveis.Stamina.MaxValue)
		Ener.Visible = true
	elseif saude.Variaveis.Stamina.Value >= saude.Variaveis.Stamina.MaxValue then
		Ener.Visible = false
	end
else
	saude.Variaveis.Stamina.Value = saude.Variaveis.Stamina.MaxValue
	Ener.Visible = false
end
end

Vest()
Helmet()
Stamina()

Protecao.VestVida.Changed:Connect(Vest)
Protecao.HelmetVida.Changed:Connect(Helmet)
saude.Variaveis.Stamina.Changed:Connect(Stamina)

Character.Humanoid.Changed:connect(function(Property)
	if ServerConfig.AntiBunnyHop then
		if Property == "Jump" and Character.Humanoid.Sit == true and Character.Humanoid.SeatPart ~= nil then
		Character.Humanoid.Sit = false
		elseif Property == "Jump" and Character.Humanoid.Sit == false then
			if JumpDelay then
				Character.Humanoid.Jump = false
				return false
			end
			JumpDelay = true
			delay(0, function()
				wait(ServerConfig.JumpCoolDown)
				JumpDelay = false
			end)
		end
	end
end)

local uis = game:GetService('UserInputService')
local Evt = Engine:WaitForChild("Eventos")
local placeEvent = Evt.Rappel:WaitForChild('PlaceEvent')
local ropeEvent = Evt.Rappel:WaitForChild('RopeEvent')
local cutEvent = Evt.Rappel:WaitForChild('CutEvent')

uis.InputBegan:connect(function(input,chat)
	if not chat and Rappeling.Value == true then
		if input.KeyCode == Enum.KeyCode.C then
			ropeEvent:FireServer('Up',true)
		end;

		if input.KeyCode == Enum.KeyCode.X then
			ropeEvent:FireServer('Down',true)
		end;
	end
end)

uis.InputEnded:connect(function(input,chat)
	if not chat and Rappeling.Value == true then
		if input.KeyCode == Enum.KeyCode.C then
			ropeEvent:FireServer('Up',false)
		end;

		if input.KeyCode == Enum.KeyCode.X then
			ropeEvent:FireServer('Down',false)
		end;
	end
end)

function L_150_.Update()

local L_174_ = CFrame.new()
L_153_.cornerPeek.t = L_153_.peekFactor * Virar
local L_326_ = CFrame.fromAxisAngle(Vector3.new(0, 0, 1), L_153_.cornerPeek.p) -- SOLUTION TO 3RD PERSON --> CFrame.new(10,0,0) * CFrame.fromAxisAngle(Vector3.new(0,0,1), this.cornerPeek.p)
Camera.CFrame = Camera.CFrame * L_326_ * L_174_
if saude.Variaveis.Stamina.Value <= (saude.Variaveis.Stamina.MaxValue/2) then
local StaminaX = (1 - (saude.Variaveis.Stamina.Value)/(saude.Variaveis.Stamina.MaxValue/2))/20
Camera.CoordinateFrame = Camera.CoordinateFrame * CFrame.Angles( math.rad( StaminaX * math.sin( tick() * 3.5 )) , math.rad( StaminaX * math.sin( tick() * 1 )), 0)
end
end

local Nadando = false

function onStateChanged(_,state)
	--print(state)
	if state == Enum.HumanoidStateType.Swimming then
		Nadando = true
	else
		Nadando = false
	end
end

maxAir = 100
air = maxAir

lastHealth = 100
lastHealth2 = 100
maxWidth = 0.96

Humanoid.StateChanged:connect(onStateChanged)
game:GetService("RunService"):BindToRenderStep("Camera Update", 200, L_150_.Update)

while wait() do
	if ServerConfig.CanDrown then
		local headLoc = game.Workspace.Terrain:WorldToCell(player.Character.Head.Position)
		local hasAnyWater = game.Workspace.Terrain:GetWaterCell(headLoc.x, headLoc.y, headLoc.z)
		if player.Character.Humanoid.Health ~= 0 then
			if hasAnyWater then
				if air > 0 then
					air = air-0.15
				elseif air <= 0 then
					air = 0
					Evt.Afogar:FireServer()
				end
			else
				if air < maxAir then
					air = air + .5
				end
			end
		end

		if air <= 50 then
			script.Parent.Frame.Oxygen.ImageColor3 = Color3.new(1,air/50,air/100)
			script.Parent.Frame.Oxygen.Visible = true
		elseif air < maxAir then
			script.Parent.Frame.Oxygen.ImageColor3 = Color3.new(1,1,air/100)
			script.Parent.Frame.Oxygen.Visible = true
		elseif air >= maxAir then
			script.Parent.Frame.Oxygen.Visible = false
		end
		script.Parent.Efeitos.Oxigen.ImageTransparency = air/100
		if air <= 25 then
			script.Parent.Efeitos.Oxigen.BackgroundTransparency = air/25
		end
	end
	if ServerConfig.EnableStamina then
		if Correndo.Value == true and Velocidade > 0 then
			saude.Variaveis.Stamina.Value = saude.Variaveis.Stamina.Value - ServerConfig.RunValue
		elseif Stances == 0 and (Correndo.Value == false or Velocidade <= 0) then
			saude.Variaveis.Stamina.Value = saude.Variaveis.Stamina.Value + ServerConfig.StandRecover
		elseif Stances == 1 and (Correndo.Value == false or Velocidade <= 0) then
			saude.Variaveis.Stamina.Value = saude.Variaveis.Stamina.Value + ServerConfig.CrouchRecover
		elseif Stances == 2 and (Correndo.Value == false or Velocidade <= 0) then
			saude.Variaveis.Stamina.Value = saude.Variaveis.Stamina.Value + ServerConfig.ProneRecover
		end
	end
end


Prompt:
--[[
	Exits the view, including disconnection of any connections.
]]

Response:
function Finished.exit()
	activeElements:Destroy()
end

return Finished


Prompt:
--		Hold:Stop()
--		HoldClose:Play()

Response:
	end
end)

script.Parent.Unequipped:Connect(function()


Prompt:
--- Returns the target within the current scope based on the current targeting mode.
-- @param Target Which part is being targeted directly
-- @param Scope The current scope to search for the target in
-- @returns Instance | nil

Response:
function TargetingModule:FindTargetInScope(Target, Scope)

	-- Return `nil` if no target, or if scope is unset
	if not (Target and Scope) then
		return nil
	end

	-- If in direct targeting mode, return target
	if self.TargetingMode == 'Direct' and (Target:IsDescendantOf(Scope)) then
		return Target
	end

	-- Search for ancestor of target directly within scope
	local TargetChain = { Target }
	while Target and (Target.Parent ~= Scope) do
		table.insert(TargetChain, 1, Target.Parent)
		Target = Target.Parent
	end

	-- Return targetable ancestor closest to scope
	for Index, Target in ipairs(TargetChain) do
		if IsTargetable(Target) then
			return Target
		end
	end

end

function TargetingModule:UpdateTarget(Scope, Force)
	local Scope = Scope or self.Scope

	-- Get target
	local NewTarget = Mouse.Target
	local NewScopeTarget = self:FindTargetInScope(NewTarget, Scope)

	-- Register whether target has changed
	if (self.LastTarget == NewTarget) and (not Force) then
		return NewTarget, NewScopeTarget
	else
		self.LastTarget = NewTarget
		self.TargetChanged:Fire(NewTarget)
	end

	-- Make sure target is selectable
	local Core = GetCore()
	if not Core.IsSelectable({ NewTarget }) then
		self.HighlightTarget(nil)
		self.LastTarget = nil
		self.LastScopeTarget = nil
		self.TargetChanged:Fire(nil)
		self.ScopeTargetChanged:Fire(nil)
		return
	end

	-- Register whether scope target has changed
	if (self.LastScopeTarget == NewScopeTarget) and (not Force) then
		return NewTarget, NewScopeTarget
	else
		self.LastScopeTarget = NewScopeTarget
		self.ScopeTargetChanged:Fire(NewScopeTarget)
	end

	-- Update scope target highlight
	if not Core.Selection.IsSelected(NewScopeTarget) then
		self.HighlightTarget(NewScopeTarget)
	end

	-- Return new targets
	return NewTarget, NewScopeTarget
end

local function GetVisibleChildren(Item, Table)
	local Table = Table or {}

	-- Search for visible items recursively
	for _, Item in pairs(Item:GetChildren()) do
		if IsVisible(Item) then
			Table[#Table + 1] = Item
		else
			GetVisibleChildren(Item, Table)
		end
	end

	-- Return visible items
	return Table
end


Prompt:
--[[

	VectorUtil.ClampMagnitude(vector, maxMagnitude)
	VectorUtil.AngleBetween(vector1, vector2)
	VectorUtil.AngleBetweenSigned(vector1, vector2, axisVector)

	EXAMPLES:

		ClampMagnitude:

			Clamps the magnitude of a vector so it is only a certain length.

			ClampMagnitude(Vector3.new(100, 0, 0), 15) == Vector3.new(15, 0, 0)
			ClampMagnitude(Vector3.new(10, 0, 0), 20)  == Vector3.new(10, 0, 0)

		AngleBetween:

			Finds the angle (in radians) between two vectors.

			v1 = Vector3.new(10, 0, 0)
			v2 = Vector3.new(0, 10, 0)
			AngleBetween(v1, v2) == math.rad(90)

		AngleBetweenSigned:

			Same as AngleBetween, but returns a signed value.

			v1 = Vector3.new(10, 0, 0)
			v2 = Vector3.new(0, 0, -10)
			axis = Vector3.new(0, 1, 0)
			AngleBetweenSigned(v1, v2, axis) == math.rad(90)

--]]

Response:
local VectorUtil = {}

function VectorUtil.ClampMagnitude(vector, maxMagnitude)
	return (vector.Magnitude > maxMagnitude and (vector.Unit * maxMagnitude) or vector)
end

function VectorUtil.AngleBetween(vector1, vector2)
	return math.acos(math.clamp(vector1.Unit:Dot(vector2.Unit), -1, 1))
end

function VectorUtil.AngleBetweenSigned(vector1, vector2, axisVector)
	local angle = VectorUtil.AngleBetween(vector1, vector2)
	return angle * math.sign(axisVector:Dot(vector1:Cross(vector2)))
end

function VectorUtil.AngleBetweenSigned(vector1, vector2, axisVector)
	local angle = VectorUtil.AngleBetween(vector1, vector2)
	return angle * math.sign(axisVector:Dot(vector1:Cross(vector2)))
end

function VectorUtil.SquaredMagnitude(vector)
	return vector.X^2+vector.Y^2+vector.Z^2
end

return VectorUtil


Prompt:
--[=[
	Returns the value of [`UserInputService.TouchEnabled`](https://developer.roblox.com/en-us/api-reference/property/UserInputService/TouchEnabled).
]=]

Response:
function Touch:IsTouchEnabled(): boolean
	return UserInputService.TouchEnabled
end


Prompt: -- откуда и куда, повреждение, кем, скорость снаряда

Response:
function module.Fire(pos,damage,speed,Type)
	vHandle = pos
	--local dir = vTarget - vHandle.Position
	-- dir = computeDirection(dir)
	local dir = pos.CFrame.lookVector
	local rocket = Rocket:clone()

	------------------------
	--rocket = pos:Clone()
	--rocket.CanCollide=false
	--rocket.Locked = true
	--rocket.Transparency = 0
	------------------------

	local pos1 = vHandle.Position + (dir * 2 )
	rocket.CFrame = CFrame.new(pos1,  pos1 + dir)
	--rocket.RocketScript.Disabled = false

	-- имеется живой игрок?
	local tmp = pos:FindFirstChild("Owner")
	if tmp ~= nil then
		local plr = Players:FindFirstChild(tmp.Value)
		if plr ~= nil then
			-- пересчитываем параметры
			damage = damage + plr.VAR.turStr.Value * 10
		end
	end

	-- создаём снаряд


Prompt:
--[[
	Recalculates this Computed's cached value and dependencies.
	Returns true if it changed, or false if it's identical.
]]

Response:
function class:update(): boolean
	-- remove this object from its dependencies' dependent sets
	for dependency in pairs(self.dependencySet) do
		dependency.dependentSet[self] = nil
	end

	-- we need to create a new, empty dependency set to capture dependencies
	-- into, but in case there's an error, we want to restore our old set of
	-- dependencies. by using this table-swapping solution, we can avoid the
	-- overhead of allocating new tables each update.
	self._oldDependencySet, self.dependencySet = self.dependencySet, self._oldDependencySet
	table.clear(self.dependencySet)

	local ok, newValue, newMetaValue = captureDependencies(self.dependencySet, self._processor)

	if ok then
		if self._destructor == nil and needsDestruction(newValue) then
			logWarn("destructorNeededComputed")
		end

		if newMetaValue ~= nil then
			logWarn("multiReturnComputed")
		end

		local oldValue = self._value
		local similar = isSimilar(oldValue, newValue)
		if self._destructor ~= nil then
			self._destructor(oldValue)
		end
		self._value = newValue

		-- add this object to the dependencies' dependent sets
		for dependency in pairs(self.dependencySet) do
			dependency.dependentSet[self] = true
		end

		return not similar
	else
		-- this needs to be non-fatal, because otherwise it'd disrupt the
		-- update process
		logErrorNonFatal("computedCallbackError", newValue)

		-- restore old dependencies, because the new dependencies may be corrupt
		self._oldDependencySet, self.dependencySet = self.dependencySet, self._oldDependencySet

		-- restore this object in the dependencies' dependent sets
		for dependency in pairs(self.dependencySet) do
			dependency.dependentSet[self] = true
		end

		return false
	end
end

local function Computed<T>(processor: () -> T, destructor: ((T) -> ())?): Types.Computed<T>
	local self = setmetatable({
		type = "State",
		kind = "Computed",
		dependencySet = {},
		-- if we held strong references to the dependents, then they wouldn't be
		-- able to get garbage collected when they fall out of scope
		dependentSet = setmetatable({}, WEAK_KEYS_METATABLE),
		_oldDependencySet = {},
		_processor = processor,
		_destructor = destructor,
		_value = nil,
	}, CLASS_METATABLE)

	initDependency(self)
	self:update()

	return self
end

return Computed


Prompt:
--[[
	Matches the numeric value of an [AccessoryType] to its equivalent enum (as a
	string).

	```lua
	matchIdToType(42) -- "FaceAccessory"
	```

	This function is called during the initial setup for MerchBooth accessories;
	the returned string is used to set the AccessoryType attribute of the
	accessory.

	@within Modules
	@return string The string conversion of the [AssetType] whose Value matches the `assetTypeId`.
]]

Response:
local function matchIdToType(assetTypeId: number): Enum.AssetType?
	for _, assetType in ipairs(Enum.AssetType:GetEnumItems()) do
		if assetType.Value == assetTypeId then
			return assetType
		end
	end
	return nil
end

return matchIdToType


Prompt:
--edit the below function to execute code when this response is chosen OR this prompt is shown
--player is the player speaking to the dialogue, and dialogueFolder is the object containing the dialogue data

Response:
return function(player, dialogueFolder)
	local plrData = require(game.ReplicatedStorage.Source.Modules.Util):GetPlayerData(player)
	plrData.Money.Gold.Value = plrData.Money.Gold.Value - 70 -- TODO Track payment for dissertation
	local ClassInformationTable = require(game.ReplicatedStorage.Source.Modules.CharacterScripts.Classes.ClassInformation)
	ClassInformationTable:GetClassFolder(player,"Warlock").FastCasting.Value = true
end


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

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

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

	PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.Default)
	PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.Follow)
	PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.Classic)
	if FFlagUserCameraToggle then
		PlayerScripts:RegisterComputerCameraMovementMode(Enum.ComputerCameraMovementMode.CameraToggle)
	end
end

CameraModule.FFlagUserCameraToggle = FFlagUserCameraToggle

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

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

	self.currentComputerCameraMovementMode = nil

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

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

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

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

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

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

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

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

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

	return self
end

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

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

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

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

	return devMode
end

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

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

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

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

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

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

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

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

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


Prompt: --Flight priority--

Response:
core.spawn(function()
	while myHuman.Health > 0 do

		if target and not engineRunning then
			takeOff()
		end

		if not dodgingObstacles.Value and not criticalAction then
			if target and combat.getMunition(munition) then
				combatFlight()
			elseif engineRunning then
				flyHome()
			end
		end

		wait(0.1)
	end
end)


Response:
Players.PlayerAdded:Connect(OnPlayerAdded)
SetCollisionGroupRecursive(workspace.Mobs)
workspace.Mobs.ChildAdded:Connect(OnMobAdded)


Prompt: -- Public Methods

Response:
function DropdownClass:Set(option)
	if (self._Selected ~= option) then
		self._Selected = option
		self._ChangedBind:Fire(option)
		self.Button.Option.Text = option.Label.Text
	end
	self:Show(false)
end

function DropdownClass:Get()
	return self._Selected
end

function DropdownClass:Show(bool)
	self.Button.Arrow.Image = bool and ARROW_UP or ARROW_DOWN
	self.ListFrame.Visible = bool
end

function DropdownClass:Destroy()
	self._Maid:Sweep()
	self._Changed = nil
	self._Options = nil
	self._Selected = nil
	self.Button:Destroy()
end


Prompt: --script.Color.Disabled = false

Response:
local function GetRotation(alpha)
    local cos = math.cos(math.rad(alpha))
    --warn(cos)
    --warn('Deg'..cos * 57.2958)
    return cos*multiplier + min
end

while true do

for a = 0,90,1 do
    script.Parent.Rotation = script.Parent.Rotation + GetRotation(a)
    game:GetService('RunService').RenderStepped:Wait()
end

for a = 90,0,-1 do
    script.Parent.Rotation = script.Parent.Rotation + GetRotation(a)
    --wait()
    game:GetService('RunService').RenderStepped:Wait()
end

wait()

end


Prompt: -- Remote Events:

Response:
local RemoteEventsFolder = MainModel.RemoteEvents
local ToggleHookEvent = RemoteEventsFolder.ToggleHook
local ToggleEngineEvent = RemoteEventsFolder.ToggleEngine
local SteerEvent = RemoteEventsFolder.Steer
local ThrottleEvent = RemoteEventsFolder.Throttle
local ToggleSoundEvent = RemoteEventsFolder.ToggleSound
local ThrustersEvent = RemoteEventsFolder.Thrusters


Prompt: --// Declarables

Response:
local L_15_ = false

local L_16_ = false
local L_17_ = true

local L_18_ = L_1_:WaitForChild('Resource')
local L_19_ = L_18_:WaitForChild('FX')
local L_20_ = L_18_:WaitForChild('Events')
local L_21_ = L_18_:WaitForChild('HUD')
local L_22_ = L_18_:WaitForChild('Modules')
local L_23_ = L_18_:WaitForChild('SettingsModule')
local L_24_ = require(L_23_:WaitForChild("ClientConfig"))
local L_25_ = L_18_:WaitForChild('Vars')

local L_26_
local L_27_
local L_28_
local L_29_
local L_30_
local L_31_
local L_32_
local L_33_
local L_34_
local L_35_
local L_36_
local L_37_
local L_38_
local L_39_
local L_40_

local L_41_

local L_42_
local L_43_
local L_44_
local L_45_
local L_46_
local L_47_
local L_48_

local L_49_ = L_24_.AimZoom

local L_50_ = L_24_.MouseSensitivity
local L_51_ = L_12_.MouseDeltaSensitivity


Response:
ProductID		= 299817863
ProductPrice	= 10
CurrencyType	= "R$"																				-- ROBUX > "R$"     |     Tickets > "TIX"
Debounce		= true

DS				= game:GetService("DataStoreService"):GetDataStore("Places")
MS				= game:GetService("MarketplaceService")

if not DS:GetAsync(CurrencyType.."_Raised") then
DS:SetAsync(CurrencyType.."_Raised",0)
end

Raised = DS:GetAsync(CurrencyType.."_Raised")
script.Parent.SurfaceGui.Raised.ROBUX.Text = CurrencyType.." "..DS:GetAsync(CurrencyType.."_Raised")

function PrintOut(Value)
print(Value)
end

script.Parent.CD.MouseClick:connect(function(Player)
if Debounce then
if Player.userId > 0 then
print 'Player is not a Guest!'
MS:PromptProductPurchase(Player,ProductID)
end
end
end)

MS.PromptProductPurchaseFinished:connect(function(UserId,ProductId,IsPurchased)
if Debounce then
Debounce = false
if IsPurchased then
DS:IncrementAsync(CurrencyType.."_Raised",ProductPrice)
DS:OnUpdate(CurrencyType.."_Raised",PrintOut)
script.Parent.SurfaceGui.Raised.ROBUX.Text = CurrencyType.." "..DS:GetAsync(CurrencyType.."_Raised")
script.Parent.Jingle.Volume = 1
script.Parent.Purchased:play()
script.Parent.Jingle:play()
wait(7)
for i = .5,0,-.05 do
script.Parent.Jingle.Volume = i
wait()
end
script.Parent.Jingle:stop()
end
Debounce = true
end
end)

coroutine.resume(coroutine.create(function()
while wait() do
Raised = DS:GetAsync(CurrencyType.."_Raised")
script.Parent.SurfaceGui.Raised.ROBUX.Text = CurrencyType.." "..DS:GetAsync(CurrencyType.."_Raised")
end
end))


Prompt: -- Want to turn off Invisicam? Be sure to call this after.

Response:
function Invisicam:Cleanup()
	for hit, originalFade in pairs(self.savedHits) do
		hit.LocalTransparencyModifier = originalFade
	end
end

function Invisicam:Update(dt, desiredCameraCFrame, desiredCameraFocus)
	-- Bail if there is no Character
	if not self.enabled or not self.char then
		return desiredCameraCFrame, desiredCameraFocus
	end

	self.camera = game.Workspace.CurrentCamera

	-- TODO: Move this to a GetHumanoidRootPart helper, probably combine with CheckTorsoReference
	-- Make sure we still have a HumanoidRootPart
	if not self.humanoidRootPart then
		local humanoid = self.char:FindFirstChildOfClass("Humanoid")
		if humanoid and humanoid.RootPart then
			self.humanoidRootPart = humanoid.RootPart
		else
			-- Not set up with Humanoid? Try and see if there's one in the Character at all:
			self.humanoidRootPart = self.char:FindFirstChild("HumanoidRootPart")
			if not self.humanoidRootPart then
				-- Bail out, since we're relying on HumanoidRootPart existing
				return desiredCameraCFrame, desiredCameraFocus
			end
		end

		-- TODO: Replace this with something more sensible
		local ancestryChangedConn
		ancestryChangedConn = self.humanoidRootPart.AncestryChanged:Connect(function(child, parent)
			if child == self.humanoidRootPart and not parent then
				self.humanoidRootPart = nil
				if ancestryChangedConn and ancestryChangedConn.Connected then
					ancestryChangedConn:Disconnect()
					ancestryChangedConn = nil
				end
			end
		end)
	end

	if not self.torsoPart then
		self:CheckTorsoReference()
		if not self.torsoPart then
			-- Bail out, since we're relying on Torso existing, should never happen since we fall back to using HumanoidRootPart as torso
			return desiredCameraCFrame, desiredCameraFocus
		end
	end

	-- Make a list of world points to raycast to
	local castPoints = {}
	self.behaviorFunction(self, castPoints)

	-- Cast to get a list of objects between the camera and the cast points
	local currentHits = {}
	local ignoreList = {self.char}
	local function add(hit)
		currentHits[hit] = true
		if not self.savedHits[hit] then
			self.savedHits[hit] = hit.LocalTransparencyModifier
		end
	end

	local hitParts
	local hitPartCount = 0

	-- Hash table to treat head-ray-hit parts differently than the rest of the hit parts hit by other rays
	-- head/torso ray hit parts will be more transparent than peripheral parts when USE_STACKING_TRANSPARENCY is enabled
	local headTorsoRayHitParts = {}

	local perPartTransparencyHeadTorsoHits = TARGET_TRANSPARENCY
	local perPartTransparencyOtherHits = TARGET_TRANSPARENCY

	if USE_STACKING_TRANSPARENCY then

		-- This first call uses head and torso rays to find out how many parts are stacked up
		-- for the purpose of calculating required per-part transparency
		local headPoint = self.headPart and self.headPart.CFrame.p or castPoints[1]
		local torsoPoint = self.torsoPart and self.torsoPart.CFrame.p or castPoints[2]
		hitParts = self.camera:GetPartsObscuringTarget({headPoint, torsoPoint}, ignoreList)

		-- Count how many things the sample rays passed through, including decals. This should only
		-- count decals facing the camera, but GetPartsObscuringTarget does not return surface normals,
		-- so my compromise for now is to just let any decal increase the part count by 1. Only one
		-- decal per part will be considered.
		for i = 1, #hitParts do
			local hitPart = hitParts[i]
			hitPartCount = hitPartCount + 1 -- count the part itself
			headTorsoRayHitParts[hitPart] = true
			for _, child in pairs(hitPart:GetChildren()) do
				if child:IsA('Decal') or child:IsA('Texture') then
					hitPartCount = hitPartCount + 1 -- count first decal hit, then break
					break
				end
			end
		end

		if (hitPartCount > 0) then
			perPartTransparencyHeadTorsoHits = math.pow( ((0.5 * TARGET_TRANSPARENCY) + (0.5 * TARGET_TRANSPARENCY / hitPartCount)), 1 / hitPartCount )
			perPartTransparencyOtherHits = math.pow( ((0.5 * TARGET_TRANSPARENCY_PERIPHERAL) + (0.5 * TARGET_TRANSPARENCY_PERIPHERAL / hitPartCount)), 1 / hitPartCount )
		end
	end

	-- Now get all the parts hit by all the rays
	hitParts = self.camera:GetPartsObscuringTarget(castPoints, ignoreList)

	local partTargetTransparency = {}

	-- Include decals and textures
	for i = 1, #hitParts do
		local hitPart = hitParts[i]

		partTargetTransparency[hitPart] =headTorsoRayHitParts[hitPart] and perPartTransparencyHeadTorsoHits or perPartTransparencyOtherHits

		-- If the part is not already as transparent or more transparent than what invisicam requires, add it to the list of
		-- parts to be modified by invisicam
		if hitPart.Transparency < partTargetTransparency[hitPart] then
			add(hitPart)
		end

		-- Check all decals and textures on the part
		for _, child in pairs(hitPart:GetChildren()) do
			if child:IsA('Decal') or child:IsA('Texture') then
				if (child.Transparency < partTargetTransparency[hitPart]) then
					partTargetTransparency[child] = partTargetTransparency[hitPart]
					add(child)
				end
			end
		end
	end

	-- Invisibilize objects that are in the way, restore those that aren't anymore
	for hitPart, originalLTM in pairs(self.savedHits) do
		if currentHits[hitPart] then
			-- LocalTransparencyModifier gets whatever value is required to print the part's total transparency to equal perPartTransparency
			hitPart.LocalTransparencyModifier = (hitPart.Transparency < 1) and ((partTargetTransparency[hitPart] - hitPart.Transparency) / (1.0 - hitPart.Transparency)) or 0
		else -- Restore original pre-invisicam value of LTM
			hitPart.LocalTransparencyModifier = originalLTM
			self.savedHits[hitPart] = nil
		end
	end

	-- Invisicam does not change the camera values
	return desiredCameraCFrame, desiredCameraFocus
end

return Invisicam


Prompt:
--[=[
	@param name string
	@param fn (player: Player, ...: any) -> ...: any
	@param inboundMiddleware ServerMiddleware?
	@param outboundMiddleware ServerMiddleware?
	@return RemoteFunction
	Creates a RemoteFunction and binds the given function to it. Inbound
	and outbound middleware can be applied if desired.

	```lua
	local function GetSomething(player: Player)
		return "Something"
	end

	serverComm:BindFunction("GetSomething", GetSomething)
	```
]=]

Response:
function ServerComm:BindFunction(name: string, func: Types.FnBind, inboundMiddleware: Types.ServerMiddleware?, outboundMiddleware: Types.ServerMiddleware?): RemoteFunction
	return Comm.BindFunction(self._instancesFolder, name, func, inboundMiddleware, outboundMiddleware)
end


Prompt: -- In radians the minimum accuracy penalty

Response: local MinSpread = 0.008


Prompt: --//Main Function

Response:
ProximityPrompt.Triggered:Connect(function(Player)
	local Character = Player.Character
	local Torso = Character:WaitForChild("Torso")
	ProximityPrompt.ActionText = ""
	if Character:FindFirstChild(script.Parent.Parent.Parent.Name) then
		Character[script.Parent.Parent.Parent.Name]:Destroy()
	else
		local NewArmor = Armor:Clone()
		NewArmor:SetPrimaryPartCFrame(Torso.CFrame)
		NewArmor.PrimaryPart:Destroy()
		ProximityPrompt.ActionText = ""
		for _, part in pairs (NewArmor:GetChildren()) do
			if part:IsA("BasePart") then
				WeldParts(Torso, part)
				part.CanCollide = false
				part.Anchored = false
			end
		end
		NewArmor.Parent = Character
	end
end)


Prompt:
-- << COMMAND PERMISSIONS >>
--Format: 	[CommandName] = "PermissionName" ;

Response:
local CommandPermissions={

}


Prompt:
--[=[
	@class KnitClient
	@client
]=]

Response: local KnitClient = {}


Prompt: -----RESTARTING-----

Response: if game.Workspace.DoorFlashing.Value == true then


Prompt: --local Humanoid = waitForChild(Figure, "Humanoid")

Response:
local pose = "Standing"

local toolAnim = "None"
local toolAnimTime = 0

local isSeated = false


Response:
function onClicked()
Car.BodyVelocity.velocity = Vector3.new(0, -3, 0)
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)


Prompt: -- << HIDE MENU TEMPLATES >>

Response:
local menuTemplates = main.gui.MenuTemplates
for a,b in pairs(menuTemplates:GetChildren()) do
	if b:IsA("Frame") then
		b.Visible = false
	end
end

return module


Prompt: --!strict

Response:
return {
	charCodeAt = require(script.charCodeAt),
	endsWith = require(script.endsWith),
	findOr = require(script.findOr),
	lastIndexOf = require(script.lastIndexOf),
	slice = require(script.slice),
	split = require(script.split),
	startsWith = require(script.startsWith),
	substr = require(script.substr),
	trim = require(script.trim),
	trimEnd = require(script.trimEnd),
	trimStart = require(script.trimStart),
	-- aliases for trimEnd and trimStart
	trimRight = require(script.trimEnd),
	trimLeft = require(script.trimStart),
}


Prompt:
--[[
	Script that stops characters breaking apart when they die. Instead, the character collapses and fades away.
]]

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

local attachSafeOnDied = require(ReplicatedStorage.Dependencies.GameUtils.Behavior.attachSafeOnDied)

local character = script.Parent

attachSafeOnDied(character)


Prompt: -- Local Functions

Response:
local function OnDisplayNotification(teamColor, message)
	local notificationFrame = ScoreFrame[tostring(teamColor)].Notification
	notificationFrame.Text = message
	notificationFrame:TweenSize(UDim2.new(1,0,1,0), Enum.EasingDirection.Out,
		Enum.EasingStyle.Quad, .25, false)
	wait(1.5)
	notificationFrame:TweenSize(UDim2.new(1,0,0,0), Enum.EasingDirection.Out,
		Enum.EasingStyle.Quad, .1, false)
end

local function OnScoreChange(team, score)
	ScoreFrame[tostring(team.TeamColor)].Text = score
end

local function OnDisplayVictory(winningTeam)
	if winningTeam then
		VictoryFrame.Visible = true
		if winningTeam == 'Tie' then
			VictoryFrame.Tie.Visible = true
		else
			VictoryFrame.Win.Visible = true
			local WinningFrame = VictoryFrame.Win[winningTeam.Name]
			WinningFrame.Visible = true
		end
	else
		VictoryFrame.Visible = false
		VictoryFrame.Win.Visible = false
		VictoryFrame.Win.Red.Visible = false
		VictoryFrame.Win.Blue.Visible = false
		VictoryFrame.Tie.Visible = false
	end
end

local function OnResetMouseIcon()
	Mouse.Icon = MouseIcon
end


Prompt: --// # key, Takedown

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


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

Response:
local car = script.Parent.Car.Value
local vl = script.Parent.Values

local strength = 350 --this may require some experimenting, this is a good setting as-is. higher value = stronger.

local max = 6 --in SPS, not km/h, not MPH.


Prompt: --// Damage Settings

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


Response:
function humanoidControl:setMode(newMode, moveVec)
	self._mode = newMode;
	if (newMode == Enum.HumanoidControlType.Locked) then
		self._lockedMoveVector = moveVec;
	end
end

function humanoidControl:getWorldMoveDirection(enum)
	local mode = enum or self._mode;

	if (mode == Enum.HumanoidControlType.Default) then
		return self.humanoid.MoveDirection;
	elseif (mode == Enum.HumanoidControlType.Locked) then
		return self._lockedMoveVector;
	elseif (mode == Enum.HumanoidControlType.Forced or mode == Enum.HumanoidControlType.ForcedRespectCamera) then
		local worldMove = self.humanoid.MoveDirection;
		local worldMoveSq = worldMove:Dot(worldMove);

		if (mode == Enum.HumanoidControlType.ForcedRespectCamera and worldMoveSq == 0) then
			worldMove = (CAMERA.CFrame.lookVector * Vector3.new(1, 0, 1)).unit;
			worldMoveSq = 1;
		end

		local look = self.hrp.CFrame.lookVector;
		local realTheta = math.atan2(-look.z, look.x);
		local worldTheta = worldMoveSq > 0 and math.atan2(-worldMove.z, worldMove.x) or realTheta;

		self._forcedMoveVector = CFrame.fromEulerAnglesYXZ(0, worldTheta, 0) * Vector3.new(1, 0, 0);

		return self._forcedMoveVector;
	end
end


Prompt: --Funcion Del AutoClick

Response:
local plr = script.Parent.Parent.Parent

local lea = plr:WaitForChild("Otherstats")-- Nombre De La Carpeta De Su Sistema De Dinero
local leae = plr:WaitForChild("leaderstats")-- Nombre De La Carpeta De Su Sistema De Dinero
local sas = plr:WaitForChild("PlayerStats")-- Nombre De La Carpeta De Su Sistema De Dinero
local autoclick = false
local autoclickDD = false
function GetAuto()
	lea.Grow.Value = lea.Grow.Value +1*sas.GrowBoost.Value +1*sas.GrowsGamepass.Value
	leae.TotalGrows.Value = leae.TotalGrows.Value +1*sas.GrowBoost.Value +1*sas.GrowsGamepass.Value
	game.Workspace.Tree.Size = game.Workspace.Tree.Size + Vector3.new(1,1,1)
	game.Workspace.Base.Size = game.Workspace.Base.Size + Vector3.new(1,0,1)
	game.Workspace.Pop:Play()
end

script.Parent.AutoClick.MouseButton1Click:Connect(function()
	if autoclick == false then
		autoclick = true
		script.Parent.AutoClick.TextLabel.Text = "ON"
	else
		autoclick = false
		script.Parent.AutoClick.TextLabel.Text = "OFF"
	end
end)

while wait()do
	if autoclick == true then
		if autoclickDD == false then
			autoclickDD = true
			GetAuto(1)-- Cambia El Tiempo De Espera Al Recargar
			wait(1.5)-- Tambien Cambia Para El Tiempo De Espera Al Recargar
			autoclickDD = false
		end
	end
end


Prompt:
--[[
	Server

	Description: This script parses the database folder and prevents players from auto loading in.
	This also fires to a client when the client is loading in to inform them that their character appearance is loaded.
]]