Pinkstack/roblox-luau-corpus-text huggingface dataset:
--[[
	
	When the game is run, this script automatically places all of the model's contents into the correct locations and deletes any leftover clutter.
	
	All you have to do is configure the music IDs and/or zones as described in the README - the rest will be automatically handled! 
	
--]]



local settings = require(script.Parent.Settings)

if settings.UseGlobalBackgroundMusic == false and settings.UseMusicZones == false then
	error("Cindering's BGM error: You have disabled both Global Background Music and Music Zones. You must change at least one of these settings to 'true'.")
	return
end

local name1 = "BGM"
local name2 = "none"

local container = Instance.new("Folder")
container.Name = "CinderingBGM"

script.Parent.Settings.Parent = container

script.LocalBackgroundMusic.Parent = game.StarterPlayer.StarterPlayerScripts

local music = Instance.new("Folder")
local zones = Instance.new("Folder",music)
zones.Name = "MusicZones"
local global = Instance.new("Folder",music)
global.Name = "GlobalMusic"

if settings.UseMusicZones == true then
	local folder = script.Parent:FindFirstChild(name2) or game.ReplicatedStorage:FindFirstChild(name2) or workspace:FindFirstChild(name2) or game:FindFirstChild(name2,true) -- never know where someone might accidentally drag that folder...
	
	if folder then
		for _,model in pairs(folder:GetChildren()) do
			if (model:IsA("Model") and model:FindFirstChild("Music")) then
				model.Parent = zones
			end
		end
	else
		error("Cindering's BGM error: Your background music zones folder could not be found! You may have deleted/renamed the original folder. It should be named: "..name2)
		return
	end
end

if settings.UseGlobalBackgroundMusic == true then
	local folder = script.Parent:FindFirstChild(name1) or game.ReplicatedStorage:FindFirstChild(name1) or workspace:FindFirstChild(name1) or game:FindFirstChild(name1,true)
	
	if folder then
		for _,v in pairs(folder:GetChildren()) do
			if v:IsA("Sound") then
				v.Parent = global
			end
		end
	else
		error("Cindering's BGM error: Your global background music folder could not be found! You may have deleted/renamed the original folder. It should be named: "..name1)
		return
	end
end

if settings.UseGlobalBackgroundMusic == true and #global:GetChildren() == 0 then
	warn("Cindering's BGM warning: Your global background music folder is completely empty; no music will be played from there.")
end
if settings.UseMusicZones == true and #zones:GetChildren() == 0 then
	warn("Cindering's BGM warning: Your background music zones folder is completely empty; no music will be played from there.")
end

music.Name = "MusicFolder"
music.Parent = container

local count = 0
function recurse(instance)
	for _,v in pairs(instance:GetChildren()) do
		count = count + 1
		recurse(v)
	end
end
recurse(music)
local val = Instance.new("IntValue",container)
val.Name = "ObjectCount"
val.Value = count

container.Parent = game.ReplicatedStorage

script.Parent:Destroy()
-- 3D TextGen



This = script.Parent
Btn = This.Parent
Lift = Btn.Parent.Parent.Parent
Config = require(Lift.CustomLabel)
Characters = require(script.Characters)

CustomLabel = Config["CUSTOMFLOORLABEL"][tonumber(Btn.Name)]

function ChangeFloor(SF)
	if string.len(SF) == 1 then
		SetLabel(1,SF,-0.04)	
		SetLabel(2,"NIL",0)
	else
		SetLabel(1,SF:sub(1,1),0)	
		SetLabel(2,SF:sub(2,2),0)
	end
end


function SetLabel(ID,CHAR,OFFSET)
	if This:FindFirstChild("L"..ID) and Characters[CHAR] ~= nil then
		This["L"..ID].Mesh.Offset = Vector3.new(OFFSET, 0, 0)
		for i,l in pairs(Characters[CHAR]) do 
			This["L"..ID].Mesh.MeshId = "rbxassetid://"..l
		end
		This["L"..ID].Mesh.Scale = Vector3.new(0.005, 0.007, 0.019)
	end
end


if CustomLabel then
	ChangeFloor(CustomLabel)
else
	ChangeFloor(Btn.Name)
end

script:Destroy()
-- Written by GFink. 
-- This script can be placed anywhere.


local y=workspace:GetDescendants()
local r

for s=1,#y do
	if y[s].Name=="Doomspires" then
		local sa=y[s]:GetChildren()
		local m=Instance.new("Model")
		m.Name="Backup"
		m.Parent=game.ServerStorage
		for i=1,#sa do
			if sa[i].Name~="GameValues" then
				if not sa[i]:IsA("Script") then
					sa[i]:Clone().Parent=m
				end
			end
		end
		script.Signal.Changed:connect(function(Property)
			if Property==true then
				print("Regenerating")
				local ab=y[s]:GetChildren()
				for cd=1,#ab do
					if not ab[cd]:IsA("Script") then
						ab[cd]:Destroy()
					end
				end
				script.GameControlScriptLocation.Value.Disabled=true
				local z=game.ServerStorage:WaitForChild("Backup",1):GetChildren()
				for f=1,#z do
					z[f]:Clone().Parent=y[s]
				end
				script.GameControlScriptLocation.Value.Disabled=false
				script.Signal.Value=false
				
				y[s]:MakeJoints()
				
				local t=game.Teams:GetChildren()
				for d=1,#t do
					if t[d].Name~="Spectators" then
						t[d].AutoAssignable=true
					end
				end
				
				script.GameControlScriptLocation.Value.ShuffleTeams:Invoke()
				script.GameControlScriptLocation.Value.BalanceTeams:Invoke()
				
				wait(1)
				
				local p=game.Players:GetDescendants()
				for q=1,#p do
					if p[q].Parent then
						if p[q].Parent.Name=="leaderstats" then
							p[q].Value=0
						end
					end
					if p[q]:IsA("Player") then
						game:GetService("ReplicatedStorage").ChangeTeamEvent:FireClient(p[q],p[q].TeamColor) -- i could use fireallclients but then i couldnt select the teamcolor property
						p[q]:LoadCharacter()
						p[q]:WaitForChild("AntiTeamKill",5).Value=true
					elseif p[q]:IsA("TextButton") then -- only works in experimental mode
						if p[q].Name=="Button" then
							p[q].Visible=false
						end
					end
				end

			elseif Property==false then
				return
			end
		end)
	end
end
--Made by Stickmasterluke




sp=script.Parent


function waitfor(a,b)
	while a:FindFirstChild(b)==nil do
		a.ChildAdded:wait()
	end
	return a:FindFirstChild(b)
end

reloading=waitfor(sp,"Reloading")
down=waitfor(sp,"MouseDown")
runanim=waitfor(sp,"RunAnim")

animspeed=1.2		--lower number is slower
equipspeed=1.5
originalgrip=CFrame.new(0,0,-1.1,0,0,1,1,0,0,0,1,0)
currentgrip=originalgrip
function swordUp()
	currentgrip=originalgrip
	sp.Grip=currentgrip
end
function swordOut()
	currentgrip=originalgrip*CFrame.Angles(math.pi/4,.4,0)
	sp.Grip=currentgrip
end
function spinsword(spintime)
	delay(0,function()
		local startspin=tick()
		local endspin=startspin+spintime
		while tick()<endspin do
			sp.Grip=currentgrip*CFrame.Angles(math.pi*2*((tick()-startspin)/spintime),0,0)
			wait()
		end
		sp.Grip=currentgrip
	end)
end

function update(mouse)
	if mouse~=nil then
		if reloading.Value then
			mouse.Icon="rbxasset://textures\\GunWaitCursor.png"
		else
			mouse.Icon="rbxasset://textures\\GunCursor.png"
		end
	end
end

runanim.Changed:connect(function()
	local h=sp.Parent:FindFirstChild("Humanoid")
	local t=sp.Parent:FindFirstChild("Torso")
	local anim=sp:FindFirstChild(runanim.Value)
	if anim and t and h then
		local theanim=h:LoadAnimation(anim)
		if theanim and h.Health>0 then
			theanim:Play(nil,nil,animspeed)
		end
	end
end)


function Equipped(mouse)
	if mouse~=nil then
		update(mouse)
		reloading.Changed:connect(function()
			update(mouse)
		end)
		mouse.Button1Down:connect(function()
			down.Value=true
		end)
		mouse.Button1Up:connect(function()
			down.Value=false
		end)
		local h=sp.Parent:FindFirstChild("Humanoid")
		local t=sp.Parent:FindFirstChild("Torso")
		if t and h then
			local equipanim=sp:FindFirstChild("Equip")
			if equipanim~=nil then
				local EquipAnim=h:LoadAnimation(equipanim)
				if EquipAnim and h.Health>0 then
					EquipAnim:Play(nil,nil,equipspeed)
				end
			end
			local holdanim=sp:FindFirstChild("Hold")
			if holdanim~=nil then
				if HoldAnim then
					HoldAnim:Stop()
				end
				HoldAnim=h:LoadAnimation(holdanim)
				if HoldAnim and h.Health>0 then
					HoldAnim:Play()
				end
			end
		end
	end
end

function Unequipped()
	down.Value=false
	if HoldAnim then
		HoldAnim:Stop()
	end
end

sp.Equipped:connect(Equipped)
sp.Unequipped:connect(Unequipped)
---------------------------------------------------------------|
------// SETTINGS //-------------------------------------------|
---------------------------------------------------------------|



local FireRate = 25

local LimbsDamage = {75,90}
local TorsoDamage = {125,150}
local HeadDamage = {350,400}
local FallOfDamage = .65
local BulletPenetration = 75

local RegularWalkspeed = 12
local SearchingWalkspeed = 6
local ShootingWalkspeed = 0

local Spread = 1

local MinDistance = 500
local MaxInc = 16

local Mode = 2


local Tracer = true
local TracerColor = Color3.fromRGB(255,255,255)

local BulletFlare = true
local BulletFlareColor = Color3.fromRGB(255,255,255)
-- Text --



script.Parent.MouseEnter:Connect(function()
	local Color = Color3.fromRGB(38, 38, 38)
	TweenService:Create(script.Parent.Parent.Text, Info, {TextColor3 = Color}):Play()
end)

script.Parent.MouseLeave:Connect(function()
	local ColorColor = Color3.fromRGB(255, 255, 255)
	TweenService:Create(script.Parent.Parent.Text, Info, {TextColor3 = ColorColor}):Play()
end)
--[[**
	ensures value is a number where value < max

	@param max The maximum to use

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


function t.numberMaxExclusive(max)
	return function(value)
		local success, errMsg = t.number(value)
		if not success then
			return false, errMsg or ""
		end
		if value < max then
			return true
		else
			return false, string.format("number < %d expected, got %d", max, value)
		end
	end
end
--[[Brakes]]


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

	Tune.FBrakeForce	= 600		-- Front brake force
	Tune.RBrakeForce	= 700		-- Rear brake force
	Tune.PBrakeForce	= 4000		-- Handbrake force
	
	Tune.FLgcyBForce	= 15000		-- Front brake force [PGS OFF]
	Tune.RLgcyBForce	= 10000		-- Rear brake force [PGS OFF]
	Tune.LgcyPBForce	= 25000		-- Handbrake force [PGS OFF]
--else script.Toggle.Value = false


end
	
	if speed > 0 then
		if script.Parent.Parent.Storage.Brake.Value ~= 0 or script.Toggle.Value == true then
				if FR.RotVelocity.Magnitude + power > average then
					script.Read.Value = true
					FRBRAKE.CanCollide = true
					FRBRAKEU.CanCollide = true --print("FR")

				elseif FR.RotVelocity.Magnitude + power < average then
					 FRBRAKE.CanCollide = false script.Read.Value = false
					 FRBRAKEU.CanCollide = false	
			end
			
		elseif script.Parent.Parent.Storage.Brake.Value == 0 and script.Toggle.Value == false then
			script.Read.Value = false
			FRBRAKE.CanCollide = false
			FRBRAKEU.CanCollide = false
		end
	end
else
	FRBRAKE.CanCollide = true
	FRBRAKEU.CanCollide = true
	end
end
-----------------------------------


elseif script.Parent.Parent.Parent.TrafficControl.Value == ">" then

	for i = 1,#grp1 do
	grp1[i].Lighto.Enabled = false
	end	
	
		for i = 1,#grp1 do
	grp1[i].Transparency = 1
		end		
		
			for i = 1,#grp2 do
	grp2[i].Lighto.Enabled = false
	end	
	
		for i = 1,#grp2 do
	grp2[i].Transparency = 1
	end	

			for i = 1,#grp3 do
	grp3[i].Lighto.Enabled = true
	end	
	
		for i = 1,#grp3 do
	grp3[i].Transparency = 0
	end	

		for i = 1,#grp4 do
	grp4[i].Transparency = 1
		end	
		
					for i = 1,#grp4 do
	grp4[i].Lighto.Enabled = false
	end
--[=[
	@class LocalizationServiceUtils
]=]



local require = require(script.Parent.loader).load(script)

local LocalizationService = game:GetService("LocalizationService")
local RunService = game:GetService("RunService")

local Promise = require("Promise")
local ERROR_PUBLISH_REQUIRED = "Publishing the game is required to use GetTranslatorForPlayerAsync API."

local LocalizationServiceUtils = {}

function LocalizationServiceUtils.promiseTranslator(player)
	local asyncTranslatorPromise = Promise.spawn(function(resolve, reject)
		local translator = nil
		local ok, err = pcall(function()
			translator = LocalizationService:GetTranslatorForPlayerAsync(player)
		end)

		if not ok then
			reject(err or "Failed to GetTranslatorForPlayerAsync")
			return
		end

		if translator then
			assert(typeof(translator) == "Instance", "Bad translator")
			resolve(translator)
			return
		end

		reject("Translator was not returned")
		return
	end)

	-- Give longer in non-studio mode
	local timeout = 20
	if RunService:IsStudio() then
		timeout = 0.5
	end

	local rejectedCauseOfTimeout = false
	task.delay(timeout, function()
		if not asyncTranslatorPromise:IsPending() then
			return
		end

		rejectedCauseOfTimeout = true
		asyncTranslatorPromise:Reject(
			("GetTranslatorForPlayerAsync is still pending after %f, using local table")
			:format(timeout))
	end)

	return asyncTranslatorPromise:Catch(function(err)
		if err ~= ERROR_PUBLISH_REQUIRED and not rejectedCauseOfTimeout then
			warn(("[LocalizationServiceUtils.promiseTranslator] - %s"):format(tostring(err)))
		end

		-- Fallback to just local stuff
		local translator = LocalizationService:GetTranslatorForPlayer(player)
		return translator
	end)
end


return LocalizationServiceUtils
--[


seat.ChildRemoved:connect(function(child)
	if child:IsA("Weld") then if child.Part1.Name == "HumanoidRootPart" then
		bool.Value = true
		
		if left then
			seat.Left.Disabled = true
			seat.Left.Disabled = false
		end
		
		if right then
			seat.Right.Disabled = true
			seat.Right.Disabled = false
		end
		
		if hazards then
			seat.Hazards.Disabled = true
			seat.Hazards.Disabled = false
		end
		
	end end
end)
--[[
	Returns all children instances of parent that pass specified property criteria.
]]


function DataModelUtils.getChildrenWithCriteria(parent, criteria)
	local results = {}
	for _, child in ipairs(parent:GetChildren()) do
		local isMatch = true
		for property, value in pairs(criteria) do
			local success, result =
				pcall(
				function()
					return child[property] == value
				end
			)
			if not (success and result) then
				isMatch = false
				break
			end
		end
		if isMatch then
			table.insert(results, child)
		end
	end
	return results
end

return DataModelUtils
-- ================================================================================
-- Settings
-- ================================================================================



local Settings = {}

Settings.DefaultSpeed = 200		-- Speed when not boosted [Studs/second, Range 50-300]
Settings.BoostSpeed = 300		-- Speed when boosted [Studs/second, Maximum: 400]
Settings.BoostAmount = 10		-- Duration of boost in seconds
Settings.Steering = 7			-- How quickly the speeder turns [Range: 1-10]
--use this to determine if you want this human to be harmed or not, returns boolean


function checkTeams(otherHuman)
	return not (sameTeam(otherHuman) and not FriendlyFire)
end

function onTouched(part)
	if part:IsDescendantOf(Tool.Parent) then return end
	if not HitAble then return end
	
	if part.Parent and part.Parent:FindFirstChild("Humanoid") then
		local human = part.Parent.Humanoid
		
		if contains(HitVictims, human) then return end
		
		local root = part.Parent:FindFirstChild("HumanoidRootPart")
		if root and not root.Anchored then
			local myRoot = Tool.Parent:FindFirstChild("HumanoidRootPart")
			if myRoot and checkTeams(human) then
				local delta = root.Position - myRoot.Position
				
				human.Sit = true
				tagHuman(human)
				human:TakeDamage(HitDamage)
				table.insert(HitVictims, human)
				
				local bv = Instance.new("BodyVelocity")
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
				bv.velocity = delta.unit * 128
				bv.Parent = root
				game:GetService("Debris"):AddItem(bv, 0.05)
				
				Handle.Smack.Pitch = math.random(90, 110)/100
				Handle.Smack.TimePosition = 0.15
				Handle.Smack:Play()
			end
		end
	end
end

function onEquip()
	--put in our right arm
	local char = Tool.Parent
	local arm = Tool.ArmMesh:Clone()
	arm.Parent = char:FindFirstChild("Right Arm")
	ArmMesh = arm
end

function onUnequip()
	if ArmMesh then
		ArmMesh:Destroy()
		ArmMesh = nil
	end
end

function onLeftDown()
	if not SwingAble then return end
	
	SwingAble = false
	delay(SwingRestTime, function()
		SwingAble = true
	end)
	
	delay(HitWindup, function()
		HitAble = true
		delay(HitWindow, function()
			HitAble = false
		end)
	end)
	
	HitVictims = {}
	
	Remote:FireClient(getPlayer(), "PlayAnimation", "Swing")
	
	wait(0.25)
	Handle.Boom.Pitch = math.random(80, 100)/100
	Handle.Boom:Play()
end

function onRemote(player, func, ...)
	if player ~= getPlayer() then return end
	
	if func == "LeftDown" then
		onLeftDown(...)
	end
end

Tool.Equipped:connect(onEquip)
Tool.Unequipped:connect(onUnequip)
Handle.Touched:connect(onTouched)
Remote.OnServerEvent:connect(onRemote)
--	force = Instance.new("BodyThrust")
--	force.force = Tool.Parent.Torso.CFrame.lookVector * 400
--	force.Parent = Tool.Parent.Torso



	Tool.GripForward = Vector3.new(0,-1,0)
	Tool.GripPos = Vector3.new(0,0.4,0.5)
wait(0.08)
	Tool.GripForward = Vector3.new(0,-1,1.5)
	Tool.GripPos = Vector3.new(0,0.4,0)
	Tool.GripRight = Vector3.new(1,0.3,0)
wait(0.08)
	Tool.GripForward = Vector3.new(0,-1,3)
	Tool.GripPos = Vector3.new(0,0.4,-0.4)
	Tool.GripRight = Vector3.new(1,0.7,0)
wait(0.08)
	Tool.GripForward = Vector3.new(0,-1,6)
	Tool.GripPos = Vector3.new(0,0.4,-1)
wait(0.15)
	Tool.GripForward = Vector3.new(0,-1,3)
	Tool.GripPos = Vector3.new(0,0.4,-0.4)
	Tool.GripRight = Vector3.new(1,0.4,0)
wait(0.15)
	Tool.GripForward = Vector3.new(0,-1,2)
	Tool.GripPos = Vector3.new(0,0.4,-0.3)
wait(0.15)
	Tool.GripForward = Vector3.new(0,-1,1)
	Tool.GripPos = Vector3.new(0,0.4,-0.3)
wait(0.15)
	Tool.GripForward = Vector3.new(0,-1,.6)
	Tool.GripPos = Vector3.new(0,0.6,-0.3)
Tool.GripRight = Vector3.new(1,0.2,0)
wait(0.15)
	Tool.GripForward = Vector3.new(0,-1,.3)
	Tool.GripPos = Vector3.new(0,0.8,-0)
wait(0.20)
	Tool.GripForward = Vector3.new(0,-1,0)
	Tool.GripPos = Vector3.new(0,0.4,0.5)
	Tool.GripRight = Vector3.new(1,0,0)
--[[Brakes]]


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

	Tune.FBrakeForce	= 3100		-- Front brake force
	Tune.RBrakeForce	= 3100		-- Rear brake force
	Tune.PBrakeForce	= 5000		-- Handbrake force
	
	Tune.FLgcyBForce	= 15000		-- Front brake force [PGS OFF]
	Tune.RLgcyBForce	= 10000		-- Rear brake force [PGS OFF]
	Tune.LgcyPBForce	= 25000		-- Handbrake force [PGS OFF]
--♂



local pivot = script.Parent.Pivot
local TS = game:GetService("TweenService")
local CD = Instance.new("ClickDetector",script.Parent.Lid)
CD.MaxActivationDistance = 5

local deb = false
local toggle = false
CD.MouseClick:Connect(function()
	if not deb then
		deb = true
		local anim
		if not toggle then
			anim = TS:Create(pivot,TweenInfo.new(.5,Enum.EasingStyle.Quad,Enum.EasingDirection.InOut,0,false,0),{CFrame = pivot.CFrame*CFrame.Angles(math.rad(160),0,0)})
		else
			anim = TS:Create(pivot,TweenInfo.new(.5,Enum.EasingStyle.Quad,Enum.EasingDirection.InOut,0,false,0),{CFrame = pivot.CFrame*CFrame.Angles(-math.rad(160),0,0)})
		end
		anim.Completed:Connect(function()
			toggle = not toggle
			deb = false
		end)
		anim:Play()
	end
end)
--CHANGE THE NAME, COPY ALL BELOW, AND PAST INTO COMMAND BAR



local TycoonName = "Green Lantern Tycoon"

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
--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 Cash = Instance.new("IntValue",leader)
Cash.Name = stat
Cash.Value = ds:GetAsync(player.UserId) or startamount
ds:SetAsync(player.UserId, Money.Value)
Cash.Changed:connect(function()
ds:SetAsync(player.UserId, Money.Value)
end)
end)

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


table.insert(animTable[name].connections, config.ChildAdded:Connect(function(child) configureAnimationSet(name, fileList) end))
table.insert(animTable[name].connections, config.ChildRemoved:Connect(function(child) configureAnimationSet(name, fileList) end))
local idx = 1
for _, childPart in pairs(config:GetChildren()) do
if (childPart:IsA("Animation")) then
table.insert(animTable[name].connections, childPart.Changed:Connect(function(property) configureAnimationSet(name, fileList) end))
animTable[name][idx] = {}
animTable[name][idx].anim = childPart
local weightObject = childPart:FindFirstChild("Weight")
if (weightObject == nil) then
animTable[name][idx].weight = 1
else
animTable[name][idx].weight = weightObject.Value
end
animTable[name].count = animTable[name].count + 1
animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
--[=[
	Starts the observable with the given value from the callback

	http://reactivex.io/documentation/operators/start.html

	@param callback function
	@return (source: Observable) -> Observable
]=]


function Rx.start(callback)
	return function(source)
		assert(Observable.isObservable(source), "Bad observable")

		return Observable.new(function(sub)
			sub:Fire(callback())

			return source:Subscribe(sub:GetFireFailComplete())
		end)
	end
end