Pinkstack/roblox-luau-corpus-text huggingface dataset:
-- Set up item list


function MakeList()
	itemList:ClearAllChildren()
	local buttonsPerPage = 10
	local items = {}
	local sorted = {}
	for _,item in pairs(players.LocalPlayer.Backpack:GetChildren()) do -- sort by price in ascending order
		if item:FindFirstChild("Price") then
			table.insert(items, item)
			local positionToInsertAt = 1
			for i,sortItem in pairs(sorted) do
				if replicatedStorage.Items[sortItem].Price.Value < replicatedStorage.Items[item.Name].Price.Value then
					positionToInsertAt = i + 1
				end
			end
			table.insert(sorted, positionToInsertAt, item.Name)
		end
	end
	local amount = math.clamp(#items, buttonsPerPage, math.huge)
	local button = script:WaitForChild("ItemButton")
	itemList.CanvasSize = UDim2.new(0, 0, itemList.Size.Y.Scale + (itemList.Size.Y.Scale * (1 / buttonsPerPage) * (amount - buttonsPerPage)), 0)
	for i,item in pairs(sorted) do
		local newButton = button:Clone()
		if i % 2 == 0 then
			newButton.BackgroundColor3 = Color3.fromRGB(82, 76, 115)
		else
			newButton.BackgroundColor3 = Color3.fromRGB(99, 119, 148)
		end
		newButton.Text = item
		newButton.Size = UDim2.new(1, -15, 1 / amount, 0)
		newButton.Position = UDim2.new(0, 0, (i - 1) * (1 / amount), 0)
		newButton.Parent = itemList
		newButton.MouseButton1Click:Connect(function()
			SelectItem(item)
		end)
		if i == 1 then
			SelectItem(item)
		end
	end
	if #sorted == 0 then
		itemNameLabel.Text = "No items to sell"
		price.Text = ""
		itemInfo.Text = ""
	end
end

script.Parent:WaitForChild("Close").MouseButton1Click:Connect(function()
	require(switchMenu)()
end)

script.Parent:WaitForChild("Sell").MouseButton1Click:Connect(function()
	if sellCooldown == false then
		sellCooldown = true
		require(playSoundEffect)("Coins")
		workspace.Remotes.SellItem:InvokeServer(itemNameLabel.Text) -- Uses RemoteFunction to yield until action is complete
		MakeList()
		sellCooldown = false
	end
end)

script.Parent:GetPropertyChangedSignal("Visible"):Connect(function()
	if script.Parent.Visible == true then
		MakeList()
	end
end)
--// This section of code waits until all of the necessary RemoteEvents are found in EventFolder.
--// I have to do some weird stuff since people could potentially already have pre-existing
--// things in a folder with the same name, and they may have different class types.
--// I do the useEvents thing and set EventFolder to useEvents so I can have a pseudo folder that
--// the rest of the code can interface with and have the guarantee that the RemoteEvents they want
--// exist with their desired names.



local FFlagUserHandleChatHotKeyWithContextActionService = false do
	local ok, value = pcall(function()
		return UserSettings():IsUserFeatureEnabled("UserHandleChatHotKeyWithContextActionService")
	end)
	if ok then
		FFlagUserHandleChatHotKeyWithContextActionService = value
	end
end

local FILTER_MESSAGE_TIMEOUT = 60

local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Chat = game:GetService("Chat")
local StarterGui = game:GetService("StarterGui")
local ContextActionService = game:GetService("ContextActionService")

local DefaultChatSystemChatEvents = ReplicatedStorage:WaitForChild("DefaultChatSystemChatEvents")
local EventFolder = ReplicatedStorage:WaitForChild("DefaultChatSystemChatEvents")
local clientChatModules = Chat:WaitForChild("ClientChatModules")
local ChatConstants = require(clientChatModules:WaitForChild("ChatConstants"))
local ChatSettings = require(clientChatModules:WaitForChild("ChatSettings"))
local messageCreatorModules = clientChatModules:WaitForChild("MessageCreatorModules")
local MessageCreatorUtil = require(messageCreatorModules:WaitForChild("Util"))

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

local numChildrenRemaining = 10 -- #waitChildren returns 0 because it's a dictionary
local waitChildren = {
	OnNewMessage = "RemoteEvent",
	OnMessageDoneFiltering = "RemoteEvent",
	OnNewSystemMessage = "RemoteEvent",
	OnChannelJoined = "RemoteEvent",
	OnChannelLeft = "RemoteEvent",
	OnMuted = "RemoteEvent",
	OnUnmuted = "RemoteEvent",
	OnMainChannelSet = "RemoteEvent",

	SayMessageRequest = "RemoteEvent",
	GetInitDataRequest = "RemoteFunction",
}
--// Handling Settings		


	Firerate = 60 / 180; -- 60 = 1 Minute, 180 = Rounds per that 60 seconds. DO NOT TOUCH THE 60!
	
	FireMode = 5; -- 5 = Semi, 2 = Auto, 3 = Burst, 4 = Bolt Action, 5 = Shot, 6 = Explosive
--[[Engine]]


	--Torque Curve
	Tune.Horsepower		= 180		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 1000		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 8000
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 9.4
	Tune.CurveMult		= 0.13
	
	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)
--[[Engine]]


	--Torque Curve
	Tune.Horsepower		= 180		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	--Incline Compensation
	Tune.InclineComp	= 1.0			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)
-- js  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
-- lua http://www.lua.org/manual/5.4/manual.html#pdf-utf8.codepoint


return function(str: string, index: number): number
	if type(index) ~= "number" then
		index = 1
	end
	--[[
		Initial bounds check. Checking string.len is not an exhaustive upper bound,
		but it is cheaper to check string.len and handle utf8.offset than to check
		utf.len, which iterates over all codepoints.
	]]
	local length = string.len(str)
	if index < 1 or index > length then
		return NaN
	end

	-- utf8.offset returns nil for out of bounds
	local offset = utf8.offset(str, index)

	-- check that offset is not greater than the length of the string
	if offset == nil or offset > length then
		return NaN
	end

	local value = utf8.codepoint(str, offset, offset)

	if value == nil then
		return NaN
	end

	return value
end
-- Function to handle sprinting and meter depletion


local function handleSprinting()
	humanoid.WalkSpeed = defaultWalkSpeed * (isSprinting and sprintSpeedMultiplier or 1)

	while isSprinting and meterV > 0 do
		meterV = meterV - 1
		if MeterLocation:FindFirstChild("Meter" .. meterV + 1) then
			MeterLocation["Meter" .. meterV + 1].ImageTransparency = 1
		end
		wait(1)
	end

	if meterV <= 0 then
		isSprinting = false
		humanoid.WalkSpeed = defaultWalkSpeed
	end
end
--Hidden Stash--



local function AttachParticleControl(source_part)
	
	local prtc = nil
	
	local function Start()
		prtc = script.Bux:clone()
		prtc.Parent = source_part
	end
	
	local function Update()
		
	end
	
	local function Stop()
		if prtc ~= nil then
			prtc:destroy()
			prtc = nil
		end
	end
	
	return {Start = Start, Update = Update, Stop = Stop}
end

return AttachParticleControl
-- Some cool functions idk
-- Andrew Bereza



local Utl = {}

function Utl.CurrentDay()
	return math.floor(os.time()/86400)
end

function Utl.GetPlayerData(PlayerId)
	local Module = game.ServerStorage.PlayerData:FindFirstChild(tostring(PlayerId))
	if Module then
		return require(Module)
	end
end

function Utl.NewPlayerData(Player, PlayerData)
	local Module = game.ServerStorage.PlayerData:FindFirstChild(tostring(Player.userId))
	if Module then 
		Module:Destroy()
	end
	local NewModule = game.ServerStorage.PlayerDataTemplate:Clone()
	NewModule.Name = tostring(Player.userId)
	NewModule.Parent = game.ServerStorage.PlayerData
	local FreshTable = require(NewModule)
	for Key,Value in pairs(PlayerData) do
		FreshTable[Key] = Value
	end
end

function Utl.IntToBool(Int)
	return (Int == 1 and true) or false
end

function Utl.BoolToInt(Bool)
	return (Bool and 1) or 0
end

function Utl.GetTycoon(Player)
	for i,Tycoon in pairs(workspace.Tycoons:GetChildren()) do
		if Tycoon.Owner.Value == Player then
			return Tycoon
		end
	end
end

function Utl.GetEmptyTycoon()
	for i,Tycoon in pairs(workspace.Tycoons:GetChildren()) do
		if Tycoon.Owner.Value == nil then
			return Tycoon
		elseif Tycoon.Owner.Value.Parent ~= game.Players then
			Tycoon.Owner.Value = nil -- Clears it up for the next person
		end
	end
end

function Utl.CreateTag(Player, Name)
	if Player:FindFirstChild(Name) == nil then
		local Tag = Instance.new("BoolValue")
		Tag.Name = Name
		Tag.Parent = Player
	end
end


Utl.ShuttingDown = false

return Utl
--[[Transmission]]


	Tune.TransModes		= {"Auto", "Semi", "Manual"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch
		
		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}								
		>First mode is default mode													]]
	
	--Automatic Settings
	Tune.AutoShiftMode	= "RPM"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]	
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)
	
	--Gear Ratios
	Tune.FinalDrive		= 4 			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.70		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		4   		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		2.7 		,
		--[[ 3 ]]		1.75	   	,
		--[[ 4 ]]		1.3    		,
		--[[ 5 ]]		0.9 		,
		--[[ 6 ]]		0.8	    	,
	}
	Tune.FDMult			= 1.0			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
------------


elseif Clicking == false then
end
end)

Brightness.MouseButton1Down:Connect(function()
Clicking = true
end)
Brightness.MouseLeave:Connect(function()
Clicking = false
end)
Brightness.MouseButton1Up:Connect(function()
Clicking = false
end)
Brightness.Picker.MouseButton1Up:Connect(function()
Clicking = false
end)
--[[
	Constructs a new ForPairs object which maps pairs of a table using
	a `processor` function.

	Optionally, a `destructor` function can be specified for cleaning up values.
	If omitted, the default cleanup function will be used instead.

	Additionally, a `meta` table/value can optionally be returned to pass data created
	when running the processor to the destructor when the created object is cleaned up.
]]



local Package = script.Parent.Parent
local PubTypes = require(Package.PubTypes)
local Types = require(Package.Types)
local captureDependencies = require(Package.Dependencies.captureDependencies)
local initDependency = require(Package.Dependencies.initDependency)
local useDependency = require(Package.Dependencies.useDependency)
local parseError = require(Package.Logging.parseError)
local logErrorNonFatal = require(Package.Logging.logErrorNonFatal)
local logError = require(Package.Logging.logError)
local logWarn = require(Package.Logging.logWarn)
local cleanup = require(Package.Utility.cleanup)
local needsDestruction = require(Package.Utility.needsDestruction)

local class = {}

local CLASS_METATABLE = { __index = class }
local WEAK_KEYS_METATABLE = { __mode = "k" }
-- State: Wether or not the light is on


local work = script.Parent.Value
local status = script.Parent.Parent.Parent.On
local LED = script.Parent.Parent.LED

function onTouch()
	wait()
	status.Value = true
	LED.Material = "Glass"
	LED.BrickColor = BrickColor.new("Medium stone grey")
	wait(30)
	status.Value = false
	LED.Material = "Neon"
	LED.BrickColor = BrickColor.new("Forest green")
end	

script.Parent.Touched:connect(onTouch)
--[[**
	ensures value is a given literal value

	@param literal The literal to use

	@returns A function that will return true iff the condition is passed
**--]]


function t.literal(...)
	local size = select("#", ...)
	if size == 1 then
		local literal = ...
		return function(value)
			if value ~= literal then
				return false, string.format("expected %s, got %s", tostring(literal), tostring(value))
			end
			return true
		end
	else
		local literals = {}
		for i = 1, size do
			local value = select(i, ...)
			literals[i] = t.literal(value)
		end
		return t.union(unpack(literals))
	end
end
-- this is a dummy object that holds the flash made when the gun is fired


local FlashHolder = nil

local EquipTrack = nil
local PumpTrack = nil


local WorldToCellFunction = game.Workspace.Terrain.WorldToCellPreferSolid
local GetCellFunction = game.Workspace.Terrain.GetCell

function RayIgnoreCheck(hit, pos)
	if hit then
		if hit.Transparency >= 1 or string.lower(hit.Name) == "water" or
				hit.Name == "Effect" or hit.Name == "Rocket" or hit.Name == "Bullet" or
				hit.Name == "Handle" or hit:IsDescendantOf(MyCharacter) then
			return true
		elseif hit:IsA('Terrain') and pos then
			local cellPos = WorldToCellFunction(game.Workspace.Terrain, pos)
			if cellPos then
				local cellMat = GetCellFunction(game.Workspace.Terrain, cellPos.x, cellPos.y, cellPos.z)
				if cellMat and cellMat == Enum.CellMaterial.Water then
					return true
				end
			end
		end
	end
	return false
end
--Find all important instances


local model 	= script.Parent.Parent 		--The teleporter model
local colorPart	= model.Parts.Color 		--The part that has color
local glowPart  = model.Parts.Glow 			--Teleporter glow part
local indicator = model.Parts.Indicator		--Indicator part
local telePart 	= model.Parts.Teleporter	--The actual teleporter part
local config 	= model.Configuration		--The configuration folder
---------------
--// Events
---------------


STC.UpdateInventory.OnClientEvent:Connect(function(D)
	Data = D
	if ContentFrame.Sell.Visible == true then
		loadStuff()
	end
end)

script.Parent.MouseButton1Up:Connect(function()
	toggleVisibility()
	loadStuff()
	loadPriceVisual()
end)

SellButton.MouseButton1Down:Connect(function()
	if #SelectedItems ~= 0 then
		CTS.Sell:FireServer(SelectedItems)
		SelectedItems = {}
	end
	loadPriceVisual()
end)

clearButton.MouseButton1Down:Connect(function()
	SelectedItems = {}
	for i,v in pairs(SellItemsScrollingFrame:GetChildren()) do
		if v.Name ~= "Z" and v.Name ~= "Template" and v:IsA("Frame") then
			v.BackgroundColor3 = Color3.new(0, 0, 0)
			v.A:FindFirstChildOfClass("ViewportFrame").ImageTransparency = 0
			v.A:FindFirstChildOfClass("ViewportFrame").ImageColor3 = Color3.new(1, 1, 1)
			v.A.Amount.Visible = false					

		end
	end
	loadPriceVisual()
end)
-- -- -- -- -- -- --
--DIRECTION SCROLL--
-- -- -- -- -- -- --



This.Parent.Parent.Parent.Parent.Parent:WaitForChild("Direction", 120).Changed:connect(function(val)
if val == 1 then
This.Frame.Direction.Text = "▲"
elseif val == -1 then
This.Frame.Direction.Text = "▼"
else
This.Frame.Direction.Text = ""
end
end)
--griptcf = CFrame.new(0, -1, 0) * CFrame.fromEulerAnglesXYZ(-math.pi/2+0.5, 0, 0)



script.Parent.Unequipped:connect(function()
	selected = false
	local pl = player
	--[[Bring_Arm_Down animation
	for i = 1, 0, -0.05 do
		wait()
		RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.5*i, 0, -0.5*i)
		LW.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(1.6*i, 0, 0.7*i)	
		LW.C1 = CFrame.new(-0.3*i, 1.7*i, 0)
	end]]
	RW.Parent = nil
	LW.Parent = nil
	RSH.Part1 = pl.Character["Right Arm"]
	LSH.Part1 = pl.Character["Left Arm"]
end)
--[[
	Cmdr setup
]]



Cmdr:SetActivationKeys({
	Enum.KeyCode.Backquote,
	Enum.KeyCode.BackSlash,
})

Cmdr:SetEnabled(true)
if not UserInputService.KeyboardEnabled then
	if Util.isPlayerIDInTable(localPlayer, Conf.reference_games_user_ids) then
		local cmdrFrame = ReplicatedStorage.Assets.GuiObjects.Frames.CmdrFrame
		local cmdrButton = cmdrFrame.CmdrButton
		local cmdrGui = playerGui:WaitForChild("Cmdr")
		cmdrButton.Activated:Connect(function()
			local window = Cmdr.Interface.Window
			if window:IsVisible() then
				cmdrFrame.Position = UDim2.new(0, 0, 0, 0)
				window:Hide()
			else
				cmdrFrame.Position = UDim2.new(0, 0, 0.1, 0)
				window:Show()
			end
		end)
		cmdrFrame.Parent = cmdrGui
	end
end

local ConsoleEventHandlers = require(ReplicatedStorage.Libraries.ConsoleEventHandlers)
--> FUNCTIONS


function Switch(V1, V2, V3, V4)
	if Mode.Value ~= V1 then
		Mode.Value = V1
		OnBtn.Transparency = V2
		OffBtn.Transparency = V3
		V4.Beep:Play()
	end
end

function Smoke(Enable)
	Module.Smoke1.ParticleEmitter.Enabled = Enable
	Module.Smoke2.ParticleEmitter.Enabled = Enable
end

OnBtn.ClickDetector.MouseClick:Connect(function()
	Switch(true, 0, .5, OnBtn)
	-- DO YOUR OWN ADDITIONAL CODE WHEN SWITCHED ON
end)

OffBtn.ClickDetector.MouseClick:Connect(function()
	Switch(false, .5, 0, OffBtn)
	Cylinder.Generator:Stop()
	-- DO YOUR OWN ADDITIONAL CODE WHEN SWITCHED OFF
end)

script.On:GetPropertyChangedSignal("Value"):Connect(function()
	if Mode.Value == true then
		Smoke(true)
		Cylinder.Generator:Play()
		while Mode.Value == true do
			OGPosition = Cylinder.Position
			Goal = {}
			Goal.Position = OGPosition + Vector3.new(0, .5, 0)
			TweenService:Create(Cylinder, TweenInfo.new(.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), Goal):Play()
			wait(.5)
			Goal.Position = OGPosition
			TweenService:Create(Cylinder, TweenInfo.new(.5, Enum.EasingStyle.Sine, Enum.EasingDirection.In), Goal):Play()
			wait(.5)
		end
		Smoke(false)
	end
end)
--[[
Returns the exact decimal representation of double converted to decimal in array of table
with the length and scale by the power of ten
]]


function DoubleToDecimalConverter.ToExact(value: number): ({ number }?, number?, number?)
	value = tonumber(value)
	if not value then
		error("Argument #2 provided must be a number", 2)
	end
	value = math.abs(value)

	if value ~= value or value == 0 or value == math.huge then
		return nil, nil, nil
	end
	
	return bignum_dtoa(value, true)
end

return DoubleToDecimalConverter
--[[
	* Copyright (c) Roblox Corporation. All rights reserved.
	* Licensed under the MIT License (the "License");
	* you may not use this file except in compliance with the License.
	* You may obtain a copy of the License at
	*
	*     https://opensource.org/licenses/MIT
	*
	* Unless required by applicable law or agreed to in writing, software
	* distributed under the License is distributed on an "AS IS" BASIS,
	* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	* See the License for the specific language governing permissions and
	* limitations under the License.
]]


local Array = script.Parent.Parent
local Packages = Array.Parent.Parent
local types = require(Packages.ES7Types)
type Object = types.Object
type Array<T> = types.Array<T>
type Set<T> = types.Set<T>
type mapFn<T, U> = (element: T, index: number) -> U
type mapFnWithThisArg<T, U> = (thisArg: any, element: T, index: number) -> U

return function<T, U>(
	value: Set<T>,
	mapFn: (mapFn<T, U> | mapFnWithThisArg<T, U>)?,
	thisArg: Object?
	-- FIXME Luau: need overloading so the return type on this is more sane and doesn't require manual casts
): Array<U> | Array<T> | Array<string>
	local array = {}

	if mapFn then
		array = {}
		for i, v in value :: any do
			if thisArg ~= nil then
				(array :: Array<U>)[i] = (mapFn :: mapFnWithThisArg<T, U>)(thisArg, v, i)
			else
				(array :: Array<U>)[i] = (mapFn :: mapFn<T, U>)(v, i)
			end
		end
	else
		array = table.clone((value :: any)._array)
	end

	return array
end
--// Things in the blacklist appear to not work under a normal security level
--// About could work but apparently no window was included for about :(



local IntroFrame = Gui:WaitForChild("IntroFrame")

local SideMenu = Gui:WaitForChild("SideMenu")
local OpenToggleButton = Gui:WaitForChild("Toggle")
local CloseToggleButton = SideMenu:WaitForChild("Toggle")
local OpenScriptEditorButton = SideMenu:WaitForChild("OpenScriptEditor")

local ScriptEditor = Gui:WaitForChild("ScriptEditor")

local SlideOut = SideMenu:WaitForChild("SlideOut")
local SlideFrame = SlideOut:WaitForChild("SlideFrame")
local Slant = SideMenu:WaitForChild("Slant")

local ExplorerButton = SlideFrame:WaitForChild("Explorer")
local SettingsButton = SlideFrame:WaitForChild("Settings")

local SelectionBox = Instance.new("SelectionBox")
SelectionBox.Parent = Gui

local ExplorerPanel = Gui:WaitForChild("ExplorerPanel")
local PropertiesFrame = Gui:WaitForChild("PropertiesFrame")
local SaveMapWindow = Gui:WaitForChild("SaveMapWindow")
local RemoteDebugWindow = Gui:WaitForChild("RemoteDebugWindow")

local SettingsPanel = Gui:WaitForChild("SettingsPanel")
local SettingsListener = SettingsPanel:WaitForChild("GetSetting")
local SettingTemplate = SettingsPanel:WaitForChild("SettingTemplate")
local SettingList = SettingsPanel:WaitForChild("SettingList")

local SaveMapCopyList = SaveMapWindow:WaitForChild("CopyList")
local SaveMapSettingFrame = SaveMapWindow:WaitForChild("MapSettings")
local SaveMapName = SaveMapWindow:WaitForChild("FileName")
local SaveMapButton = SaveMapWindow:WaitForChild("Save")
local SaveMapCopyTemplate = SaveMapWindow:WaitForChild("Entry")
local SaveMapSettings = {
	CopyWhat = {
		Workspace = true,
		Lighting = true,
		ReplicatedStorage = true,
		ReplicatedFirst = true,
		StarterPack = true,
		StarterGui = true,
		StarterPlayer = true
	},
	SaveScripts = true,
	SaveTerrain = true,
	LightingProperties = true,
	CameraInstances = true
}

local Love = IntroFrame:WaitForChild("Love")

local LoveQuotes = {
	"Inspect, our love knows no bounds",
	"Inspect, I will always be there for you",
	"Inspect, nothing is more powerful than our relationship",
	"Inspect, I always think about you when you get depressed",
	"Inspect, you will always have a special place in my heart"
}

Love.Text = LoveQuotes[math.random(1,#LoveQuotes)]
----------------------------------------------------------------------------------------------------
-----------------=[ RECOIL & PRECISAO ]=------------------------------------------------------------
----------------------------------------------------------------------------------------------------


	,VRecoil = {14,18}				--- Vertical Recoil
	,HRecoil = {6,9}				--- Horizontal Recoil
	,AimRecover = 1					---- Between 0 & 1
	
	,RecoilPunch = .35
	,VPunchBase = 6					--- Vertical Punch
	,HPunchBase = 2					--- Horizontal Punch
	,DPunchBase = 1 				--- Tilt Punch | useless
	
	,AimRecoilReduction = 1 		--- Recoil Reduction Factor While Aiming (Do not set to 0)
	,PunchRecover = 0.2
	,MinRecoilPower = 1
	,MaxRecoilPower = 3
	,RecoilPowerStepAmount = .5
	
	,MinSpread = 4					--- Min bullet spread value | Studs
	,MaxSpread = 40					--- Max bullet spread value | Studs
	,AimInaccuracyStepAmount = 2.5
	,WalkMultiplier = 0				--- Bullet spread based on player speed

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