Roblox/luau_corpus huggingface dataset:
--[[Weld functions]]

	local JS = game:GetService("JointsService")
	local PGS_ON = workspace:PGSIsEnabled()
	
	function MakeWeld(x,y,type,s) 
		if type==nil then type="Weld" end
		local W=Instance.new(type,JS) 
		W.Part0=x W.Part1=y 
		W.C0=x.CFrame:inverse()*x.CFrame 
		W.C1=y.CFrame:inverse()*x.CFrame 
		if type=="Motor" and s~=nil then 
			W.MaxVelocity=s 
		end 
		return W	
	end
	
	function ModelWeld(a,b) 
		if a:IsA("BasePart") then 
			MakeWeld(b,a,"Weld") 
		elseif a:IsA("Model") then 
			for i,v in pairs(a:GetChildren()) do 
				ModelWeld(v,b) 
			end 
		end 
	end
	
	function UnAnchor(a) 
		if a:IsA("BasePart") then a.Anchored=false  end for _,v in ipairs(a:GetChildren()) do UnAnchor(v) end 
	end
-- 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

	-- clean up walk if there is one
	if (runAnimKeyframeHandler ~= nil) then
		runAnimKeyframeHandler:disconnect()
	end
	
	if (runAnimTrack ~= nil) then
		runAnimTrack:Stop()
		runAnimTrack:Destroy()
		runAnimTrack = nil
	end
	
	return oldAnim
end

local smallButNotZero = 0.0001
function setRunSpeed(speed)

	if speed < 0.33 then
		currentAnimTrack:AdjustWeight(1.0)		
		runAnimTrack:AdjustWeight(smallButNotZero)
	elseif speed < 0.66 then
		local weight = ((speed - 0.33) / 0.33)
		currentAnimTrack:AdjustWeight(1.0 - weight + smallButNotZero)
		runAnimTrack:AdjustWeight(weight + smallButNotZero)
	else
		currentAnimTrack:AdjustWeight(smallButNotZero)
		runAnimTrack:AdjustWeight(1.0)
	end
	
	local speedScaled = speed * 1.25
	runAnimTrack:AdjustSpeed(speedScaled)
	currentAnimTrack:AdjustSpeed(speedScaled)
end


function setAnimationSpeed(speed)
	if speed ~= currentAnimSpeed then
		currentAnimSpeed = speed
		if currentAnim == "walk" then
			setRunSpeed(speed)
		else
			currentAnimTrack:AdjustSpeed(currentAnimSpeed)
		end
	end
end

function keyFrameReachedFunc(frameName)
-- // Triggers

button.MouseButton1Click:Connect(toggleButton)
frame.MouseButton1Click:Connect(toggleButton)
--[[
	Create a copy of a list with only values for which `callback` returns true
]]
function Functional.Filter(list, callback)
	local new = {}

	for key = 1, #list do
		local value = list[key]
		if callback(value, key) then
			table.insert(new, value)
		end
	end

	return new
end
-- Keep a container for state data
Tools.NewPart.State = {
	["Part"] = nil;
};
-- declarations
local sGettingUp = newSound("GettingUp", "rbxasset://sounds/action_get_up.mp3")
local sDied = newSound("Died", "rbxasset://sounds/uuhhh.mp3") 
local sFreeFalling = newSound("FreeFalling", "rbxasset://sounds/action_falling.mp3")
local sJumping = newSound("Jumping", "rbxasset://sounds/action_jump.mp3")
local sLanding = newSound("Landing", "rbxasset://sounds/action_jump_land.mp3")
local sSplash = newSound("Splash", "rbxasset://sounds/impact_water.mp3")
local sRunning = newSound("Running", "rbxasset://sounds/action_footsteps_plastic.mp3")
sRunning.Looped = true
local sSwimming = newSound("Swimming", "rbxasset://sounds/action_swim.mp3")
sSwimming.Looped = true
local sClimbing = newSound("Climbing", "rbxasset://sounds/action_footsteps_plastic.mp3")
sClimbing.Looped = true

local Figure = script.Parent
local Head = waitForChild(Figure, "Head")
local Humanoid;
for _,Child in pairs(Figure:GetChildren())do
if Child and Child.ClassName=="Humanoid"then
Humanoid=Child;
end;
end;
local hasPlayer = game.Players:GetPlayerFromCharacter(script.Parent)

local prevState = "None"
--[=[
	Destroys the RemoteSignal object.
]=]
function RemoteSignal:Destroy()
	self._re:Destroy()
	if self._signal then
		self._signal:Destroy()
	end
end

return RemoteSignal
-- Decompiled with the Synapse X Luau decompiler.

local l__LocalPlayer__1 = game.Players.LocalPlayer;
local l__Character__2 = l__LocalPlayer__1.Character;
local l__Humanoid__3 = l__Character__2:WaitForChild("Humanoid");
local l__PlayerGui__4 = l__LocalPlayer__1.PlayerGui;
local l__Infected__5 = l__Character__2:WaitForChild("Infected");
while true do
	wait();
	if l__Humanoid__3.Health <= 30 and l__Character__2.Human.Value == true then
		script.HP.Volume = 0.6;
		script.HP.PlaybackSpeed = 1.1;
	elseif l__Humanoid__3.Health <= 45 and l__Character__2.Human.Value == true then
		script.HP.Volume = 0.6;
		script.HP.PlaybackSpeed = 1;
	elseif l__Humanoid__3.Health >= 45 and l__Character__2.Human.Value == true then
		script.HP.Volume = 0;
		script.HP.PlaybackSpeed = 1;
	elseif l__Character__2.Human.Value == false then
		script.HP.Volume = 0;
		workspace.CurrentCamera.FieldOfView = 70;
		l__PlayerGui__4.Hurt:Destroy();
		script.HP.PlaybackSpeed = 1;
		script:Destroy();
	end;
end;
--// INITIAL CHECK \\-----------------------------------------------
-- we are checking to see if they've locked first person view
if (game.StarterPlayer.CameraMode == Enum.CameraMode.LockFirstPerson) or (game.StarterPlayer.CameraMaxZoomDistance <= 0.5) then
	enableviewmodel() -- theyve locked first person, so enable viewmodel from the start
end
--------RIGHT DOOR --------
game.Workspace.doorright.l11.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l12.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l13.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l21.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l22.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l23.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l31.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l32.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l33.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l41.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l42.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l43.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l51.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l52.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l53.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l61.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l62.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l63.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l71.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l72.BrickColor = BrickColor.new(194)
game.Workspace.doorright.l73.BrickColor = BrickColor.new(194)
game.Workspace.doorright.pillar.BrickColor = BrickColor.new(194)
--- RUNTIME ---

local Tool = {}

Tool.MouseButton1 = function(Character)
	if Character:GetAttribute("Cooldown") == true then return end
	Character:SetAttribute("Cooldown", true)
	
	local Tool = Character[script.Name]
	
	local Animation = Character.Humanoid:LoadAnimation(script["Animation"..AnimationStep])
	AnimationStep += 1
	
	if AnimationStep >= 3 then
		AnimationStep = 1
	end
	
	Animation:Play()
	
	local OGWalkSpeed = Character.Humanoid.WalkSpeed
	Character.Humanoid.WalkSpeed = 0

	Tool.Handle.Swing:Play()

	task.wait(0.47)
	
	local ConnectionA = nil
	Tool.Handle.Touched:Connect(function(Hit)
		if Hit.Parent:FindFirstChild("Humanoid") and Hit.Parent ~= Character and not table.find(HitEntities, Hit.Parent) and Hit.Parent.Parent == workspace.Enemies then

			table.insert(HitEntities, Hit.Parent)
			
				Tool.Handle.Hit:Play()
				
				Hit.Parent.Humanoid:TakeDamage(35)
				
				local boopyve = Instance.new("BodyVelocity")
				boopyve.Velocity = Character.Torso.CFrame.LookVector * 5
				boopyve.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
				boopyve.Parent = Hit.Parent.HumanoidRootPart
				game.Debris:AddItem(boopyve, .15)
			
		end
	end)
	
	task.wait(0.43)
	
	Animation:Stop(.25)
	
	Character.Humanoid.WalkSpeed = OGWalkSpeed
	
	Character:SetAttribute("Cooldown", false)
	
	table.clear(HitEntities)
end



return Tool
--Springs--

frontstiffness = 1290 * StiffnessFront 
frontdamping = 40 *  StiffnessFront /1.5
rearstiffness = 1290 * StiffnessRear 
reardamping = 40 * StiffnessRear /1.5

minLF = SuspensionTravelF
minLR = SuspensionTravelR
maxL = ((RideHeightRear + RideHeightFront)/2) + 4

ffl = RideHeightFront+2
rfl = RideHeightRear+2

local springFL = Instance.new("SpringConstraint", SFL)
springFL.Attachment0 = SFL.Attachment
springFL.Attachment1 = SSML.Attachment
springFL.Damping = frontdamping
springFL.FreeLength = ffl
springFL.Stiffness = frontstiffness
springFL.Visible = false
springFL.LimitsEnabled = true
springFL.MinLength = minLF
springFL.MaxLength = maxL

local springFR = Instance.new("SpringConstraint", SFR)
springFR.Attachment0 = SFR.Attachment
springFR.Attachment1 = SSMR.Attachment
springFR.Damping = frontdamping
springFR.FreeLength = ffl
springFR.Stiffness = frontstiffness
springFR.Visible = false
springFR.LimitsEnabled = true
springFR.MinLength = minLF
springFR.MaxLength = maxL

local springRL = Instance.new("SpringConstraint", SRL)
springRL.Attachment0 = SRL.Attachment
springRL.Attachment1 = BRL.Attachment
springRL.Damping = reardamping
springRL.FreeLength = rfl
springRL.Stiffness = rearstiffness
springRL.Visible = false
springRL.LimitsEnabled = true
springRL.MinLength = minLR
springRL.MaxLength = maxL

local springRR = Instance.new("SpringConstraint", SRR)
springRR.Attachment0 = SRR.Attachment
springRR.Attachment1 = BRR.Attachment
springRR.Damping = reardamping
springRR.FreeLength = rfl
springRR.Stiffness = rearstiffness
springRR.Visible = false
springRR.LimitsEnabled = true
springRR.MinLength = minLR
springRR.MaxLength = maxL


local XSteeringL = Instance.new("HingeConstraint", SSL)
XSteeringL.Attachment0 = SSL.Attachment
XSteeringL.Attachment1 = SSML.Attachment
XSteeringL.ActuatorType = "Motor"
XSteeringL.LimitsEnabled = true
XSteeringL.LowerAngle = SteeringAngle*-1
XSteeringL.UpperAngle = SteeringAngle
XSteeringL.MotorMaxTorque = 200000

local XSteeringR = Instance.new("HingeConstraint", SSR)
XSteeringR.Attachment0 = SSR.Attachment
XSteeringR.Attachment1 = SSMR.Attachment
XSteeringR.ActuatorType = "Motor"
XSteeringR.LimitsEnabled = true
XSteeringR.LowerAngle = SteeringAngle*-1
XSteeringR.UpperAngle = SteeringAngle
XSteeringR.MotorMaxTorque = 200000

local BGL = Instance.new("BodyGyro")
BGL.Parent = xSSL
BGL.Name = "Gyro"
BGL.D = 180
BGL.MaxTorque = Vector3.new(900, 0, 900)
BGL.P = 300

local BGR = Instance.new("BodyGyro")
BGR.Parent = xSSR
BGR.Name = "Gyro"
BGR.D = 180
BGR.MaxTorque = Vector3.new(900, 0, 900)
BGR.P = 300

local flip = Instance.new("BodyGyro", script.Parent)
flip.Name = "Flip"
flip.D = 1000
flip.MaxTorque = Vector3.new(0,0,0)
flip.P = 30000
----- water handler -----

while true do
	if script.Parent.HotOn.Value == true and script.Parent.ColdOn.Value == true and script.Parent.Plugged.Value == true and water.Scale.Y <= 0.6 then -- if BOTH ON and PLUGGED		
		water.Scale = water.Scale + Vector3.new(0, 0.01, 0)
		water.Offset = Vector3.new(0, water.Scale.Y/2, 0)
		hotWater = hotWater + 1
		coldWater = coldWater + 1
		drainSound:Stop()
	elseif (script.Parent.HotOn.Value == true or script.Parent.ColdOn.Value == true) and script.Parent.Plugged.Value == true and water.Scale.Y <= 0.6 then -- if ON and PLUGGED
		water.Scale = water.Scale + Vector3.new(0, 0.01, 0)
		water.Offset = Vector3.new(0, water.Scale.Y/2, 0)
		if script.Parent.HotOn.Value == true then
			hotWater = hotWater + 1
		else
			coldWater = coldWater + 1
		end
		drainSound:Stop()
	elseif (script.Parent.HotOn.Value == true or script.Parent.ColdOn.Value == true) and script.Parent.Plugged.Value == false and water.Scale.Y <= 0.6 then -- if ON and NOT PLUGGED
		if script.Parent.HotOn.Value == true then
			coldWater = coldWater - 1			
		else
			hotWater = hotWater - 1
		end
		drainSound:Stop()
	elseif (script.Parent.HotOn.Value == false and script.Parent.ColdOn.Value == false) and script.Parent.Plugged.Value == false and water.Scale.Y > 0 then -- if NOT ON and NOT PLUGGED
		water.Scale = water.Scale + Vector3.new(0, -0.02, 0)
		water.Offset = Vector3.new(0, water.Scale.Y/2, 0)
		coldWater = coldWater - 1
		hotWater = hotWater - 1
		drainSound.TimePosition = 0
		drainSound:Play()
	end
	
	if coldWater < 1 then
		coldWater = 1
	end
	if hotWater < 1 then
		hotWater = 1
	end
	
	waterTemp = hotWater/coldWater	
	
	if waterTemp > 1 then
		water.Parent.SteamEmitter.Enabled = true
	else
		water.Parent.SteamEmitter.Enabled = false
	end
	wait(0.1)
	
	if script.Parent.ColdOn.Value == true or script.Parent.HotOn.Value == true then
		script.Parent.Splash.ParticleEmitter.Enabled = true
	else
		script.Parent.Splash.ParticleEmitter.Enabled = false
	end
	
	if water.Scale.Y <= 0 then
		drainSound:Stop()
	end
end
-------------------------
function onClicked()
R.Function1.Disabled = true
R.Function2.Disabled = false
R.BrickColor = BrickColor.new("Institutional white")
g.DJM.MIX.BrickColor = BrickColor.new("Really black")
g.DJM.REMIX.BrickColor = BrickColor.new("Really red")
g.DJM.Screen.SurfaceGui.Menu.Visible = true
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
-- Variables to store waypoints table and zombie's current waypoint
local waypoints
local currentWaypointIndex

local function followPath(destinationObject)
	-- Compute and check the path
	path:ComputeAsync(zombie.Position, destinationObject)
	-- Empty waypoints table after each new path computation
	waypoints = {}

	if path.Status == Enum.PathStatus.Success then
		-- Get the path waypoints and start zombie walking
		waypoints = path:GetWaypoints()
		-- Move to first waypoint
		currentWaypointIndex = 1
		human:MoveTo(waypoints[currentWaypointIndex].Position)
	else
		-- Error (path not found); stop humanoid
		human:MoveTo(zombie.Position)
	end
end

local function onWaypointReached(reached)
	if reached and waypoints ~= nil and currentWaypointIndex ~= nil and currentWaypointIndex < #waypoints then
		currentWaypointIndex = currentWaypointIndex + 1
		human:MoveTo(waypoints[currentWaypointIndex].Position)
	end
end

local function onPathBlocked(blockedWaypointIndex)
	-- Check if the obstacle is further down the path
	if blockedWaypointIndex > currentWaypointIndex then
		-- Call function to re-compute the path
		followPath(destination)
	end
end
--[=[
	Binds an update event to a signal until the update function stops returning a truthy
	value.

	@param signal Signal | RBXScriptSignal
	@param update () -> boolean -- should return true while it needs to update
	@return (...) -> () -- Connect function
	@return () -> () -- Disconnect function
]=]
function StepUtils.bindToSignal(signal, update)
	if typeof(signal) ~= "RBXScriptSignal" then
		error("signal must be of type RBXScriptSignal")
	end
	if type(update) ~= "function" then
		error(("update must be of type function, got %q"):format(type(update)))
	end

	local conn = nil
	local function disconnect()
		if conn then
			conn:Disconnect()
			conn = nil
		end
	end

	local function connect(...)
		-- Ignore if we have an existing connection
		if conn and conn.Connected then
			return
		end

		-- Check to see if we even need to bind an update
		if not update(...) then
			return
		end

		-- Avoid reentrance, if update() triggers another connection, we'll already be connected.
		if conn and conn.Connected then
			return
		end

		-- Usually contains just the self arg!
		local args = {...}

		-- Bind to render stepped
		conn = signal:Connect(function()
			if not update(unpack(args)) then
				disconnect()
			end
		end)
	end

	return connect, disconnect
end
--Tuck in
R6TorsoTuckIn = .3
R6RightArmTuckIn = .1
R6LeftArmTuckIn = .1
--Made by Luckymaxer

Tool = script.Parent
Handle = Tool:WaitForChild("Handle")

Players = game:GetService("Players")
Debris = game:GetService("Debris")
RunService = game:GetService("RunService")

local function Create_PrivImpl(objectType)
	if type(objectType) ~= 'string' then
		error("Argument of Create must be a string", 2)
	end
	--return the proxy function that gives us the nice Create'string'{data} syntax
	--The first function call is a function call using Lua's single-string-argument syntax
	--The second function call is using Lua's single-table-argument syntax
	--Both can be chained together for the nice effect.
	return function(dat)
		--default to nothing, to handle the no argument given case
		dat = dat or {}

		--make the object to mutate
		local obj = Instance.new(objectType)
		local parent = nil

		--stored constructor function to be called after other initialization
		local ctor = nil

		for k, v in pairs(dat) do
			--add property
			if type(k) == 'string' then
				if k == 'Parent' then
					-- Parent should always be set last, setting the Parent of a new object
					-- immediately makes performance worse for all subsequent property updates.
					parent = v
				else
					obj[k] = v
				end


			--add child
			elseif type(k) == 'number' then
				if type(v) ~= 'userdata' then
					error("Bad entry in Create body: Numeric keys must be paired with children, got a: "..type(v), 2)
				end
				v.Parent = obj


			--event connect
			elseif type(k) == 'table' and k.__eventname then
				if type(v) ~= 'function' then
					error("Bad entry in Create body: Key `[Create.E\'"..k.__eventname.."\']` must have a function value\
							got: "..tostring(v), 2)
				end
				obj[k.__eventname]:connect(v)


			--define constructor function
			elseif k == t.Create then
				if type(v) ~= 'function' then
					error("Bad entry in Create body: Key `[Create]` should be paired with a constructor function, \
							got: "..tostring(v), 2)
				elseif ctor then
					--ctor already exists, only one allowed
					error("Bad entry in Create body: Only one constructor function is allowed", 2)
				end
				ctor = v


			else
				error("Bad entry ("..tostring(k).." => "..tostring(v)..") in Create body", 2)
			end
		end

		--apply constructor function if it exists
		if ctor then
			ctor(obj)
		end

		if parent then
			obj.Parent = parent
		end

		--return the completed object
		return obj
	end
end
-- Event Bindings
DisplayNotification.OnClientEvent:connect(OnDisplayNotification)
DisplayVictory.OnClientEvent:connect(OnDisplayVictory)
DisplayScore.OnClientEvent:connect(OnScoreChange)
ResetMouseIcon.OnClientEvent:connect(OnResetMouseIcon)

return NotificationManager
--[=[
	Rounds down to the given precision

	@param number number
	@param precision number
	@return number
]=]
function Math.roundDown(number: number, precision: number): number
	return math.floor(number/precision) * precision
end

return Math
-- For Robloxyton, by Celestus

function OnClick()

local p = script.Parent.Parent.Door

		for i=1, 30 do -- How many times it moves
				p.CFrame = p.CFrame + Vector3.new(0.1, 0, 0) -- How far it will move each time
				wait(.01) -- speed of each movement
				end
-- Ring3 descending
for l = 1,#lifts3 do
	if (lifts3[l].className == "Part") then
	lifts3[l].BodyPosition.position = Vector3.new((lifts3[l].BodyPosition.position.x),(lifts3[l].BodyPosition.position.y-4),(lifts3[l].BodyPosition.position.z))
	end
end
wait(0.1)
for p = 1,#parts3 do
	parts3[p].CanCollide = false
end
wait(0.1)
--// H key, Man
mouse.KeyDown:connect(function(key)
	if key=="h" then 
		veh.Lightbar.middle.Manual:Play()
		veh.Lightbar.middle.Wail.Volume = 0
		veh.Lightbar.middle.Yelp.Volume = 0
		veh.Lightbar.middle.Priority.Volume = 0
	end
end)
----[[ Color Settings ]]
module.BackGroundColor = Color3.new(0, 0, 0)
module.DefaultMessageColor = Color3.new(1, 0.666667, 0)
module.DefaultChatColor = Color3.fromRGB(255, 170, 0)
module.DefaultNameColor = Color3.new(0.333333, 0.666667, 0.498039)
module.ChatBarBackGroundColor = Color3.new(0, 0, 0)
module.ChatBarBoxColor = Color3.new(1, 1, 1)
module.ChatBarTextColor = Color3.new(0, 0, 0)
module.ChannelsTabUnselectedColor = Color3.new(0, 0, 0)
module.ChannelsTabSelectedColor = Color3.new(30/255, 30/255, 30/255)
module.DefaultChannelNameColor = Color3.fromRGB(35, 76, 142)
module.WhisperChannelNameColor = Color3.fromRGB(102, 14, 102)
module.ErrorMessageTextColor = Color3.fromRGB(245, 50, 50)

module.DefaultPrefix = ""
module.DefaultPrefixColor = Color3.fromRGB(255,255,255)
--[[
	Stores 'sensible default' properties to be applied to instances created by
	the New function.
]]

local ENABLE_SENSIBLE_DEFAULTS = true

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

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

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

			SizingMode = "PixelsPerStud",
			PixelsPerStud = 50
		},

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

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

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

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

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

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

			AutoButtonColor = false,

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

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

			ClearTextOnFocus = false,

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

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

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

			AutoButtonColor = false
		},

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

		VideoFrame = {
			BackgroundColor3 = Color3.new(1, 1, 1),
			BorderColor3 = Color3.new(0, 0, 0),
			BorderSizePixel = 0
		}
	}
else
	return {}
end
--Don't worry about the rest of the code, except for line 25.
game.Players.PlayerAdded:connect(function(player)
local leader = Instance.new("Folder",player)
leader.Name = "leaderstats"
local Joins = Instance.new("IntValue",leader)
Joins.Name = stat
Joins.Value = ds:GetAsync(player.UserId) or startamount
ds:SetAsync(player.UserId, Joins.Value)
Joins.Changed:connect(function()
	ds:SetAsync(player.UserId, Joins.Value)
end)
end)

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

Button.Activated:Connect(function()

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

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

local function UpdateQuantityText ()
	
	Variables.QuantityText.Text = Package.Value
	if Package.Value == 0 then
		Button.Visible = false
	else
		Button.Visible = true
	end
	
end

Package.Changed:Connect(UpdateQuantityText)

UpdateQuantityText()
--TimedOut
--* called when the player took too long to choose an option.
function Interface.TimedOut()
	
end
--[=[
	Observes percent visibility
	@param basicPane BasicPane
	@return Observable<number>
]=]
function BasicPaneUtils.observePercentVisible(basicPane)
	assert(BasicPane.isBasicPane(basicPane), "Bad BasicPane")

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