Pinkstack/roblox-luau-corpus-text huggingface dataset:
--// Return values: bool filterSuccess, bool resultIsFilterObject, variant result


function methods:InternalApplyRobloxFilterNewAPI(speakerName, message, textFilterContext) --// USES FFLAG
	if _SETTINGS.DisableSafeChat == false then
		local alwaysRunFilter = false
		local runFilter = RunService:IsServer() and not RunService:IsStudio()
		if (alwaysRunFilter or runFilter) then
			local fromSpeaker = self:GetSpeaker(speakerName)
			if fromSpeaker == nil then
				return false, nil, nil
			end
	
			local fromPlayerObj = fromSpeaker:GetPlayer()
			if fromPlayerObj == nil then
				return true, false, message
			end
	
			local success, filterResult = pcall(function()
				local ts = game:GetService("TextService")
				local result = ts:FilterStringAsync(message, fromPlayerObj.UserId, textFilterContext)
				return result
			end)
			if (success) then
				return true, true, filterResult
			else
				warn("Error filtering message:", message, filterResult)
				self:InternalNotifyFilterIssue()
				return false, nil, nil
			end
		end
	end
	--// Simulate filtering latency.
	wait()
	return true, false, message
end

function methods:InternalDoMessageFilter(speakerName, messageObj, channel)
	local filtersIterator = self.FilterMessageFunctions:GetIterator()

	for funcId, func, priority in filtersIterator do
		local success, errorMessage = pcall(function()
			func(speakerName, messageObj, channel)
		end)

		if not success then
			warn(string.format("DoMessageFilter Function '%s' failed for reason: %s", funcId, errorMessage))
		end
	end
end

function methods:InternalDoProcessCommands(speakerName, message, channel)
	local commandsIterator = self.ProcessCommandsFunctions:GetIterator()

	for funcId, func, priority in commandsIterator do
		local success, returnValue = pcall(function()
			local ret = func(speakerName, message, channel)
			if type(ret) ~= "boolean" then
				error("Process command functions must return a bool")
			end
			return ret
		end)

		if not success then
			warn(string.format("DoProcessCommands Function '%s' failed for reason: %s", funcId, returnValue))
		elseif returnValue then
			return true
		end
	end

	return false
end

function methods:InternalGetUniqueMessageId()
	local id = self.MessageIdCounter
	self.MessageIdCounter = id + 1
	return id
end

function methods:InternalAddSpeakerWithPlayerObject(speakerName, playerObj, fireSpeakerAdded)
	if (self.Speakers[speakerName:lower()]) then
		error("Speaker \"" .. speakerName .. "\" already exists!")
	end

	local speaker = Speaker.new(self, speakerName)
	speaker:InternalAssignPlayerObject(playerObj)
	self.Speakers[speakerName:lower()] = speaker

	if fireSpeakerAdded then
		local success, err = pcall(function() self.eSpeakerAdded:Fire(speakerName) end)
		if not success and err then
			print("Error adding speaker: " ..err)
		end
	end

	return speaker
end

function methods:InternalFireSpeakerAdded(speakerName)
	local success, err = pcall(function() self.eSpeakerAdded:Fire(speakerName) end)
	if not success and err then
		print("Error firing speaker added: " ..err)
	end
end
-- declarations



local head = script.Parent

function onTouched(part)
	local h = part.Parent:findFirstChild("Humanoid")
	if h~=nil then
if part.Parent:findFirstChild("Head"):findFirstChild("face").Texture == nil then return end
part.Parent:findFirstChild("Head"):findFirstChild("face").Texture="0 "	end
end

script.Parent.Touched:connect(onTouched)
------------


local x = (PlayerMouse.X - Colors.AbsolutePosition.X) / Colors.AbsoluteSize.X
local y = (PlayerMouse.Y - Colors.AbsolutePosition.Y) / Colors.AbsoluteSize.Y
h = 1 - x
s = 1 - y
Colors.Picker.Position = UDim2.new(x, 0, y ,0)
Brightness.ImageColor3 = Color3.fromHSV(h, s, 1)
Preview.ImageColor3 = Color3.fromHSV(h, s, v)
ChangeColorEvent:FireServer(Preview.ImageColor3)
--[[Brakes]]


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

	Tune.FBrakeForce	= 2100		-- Front brake force
	Tune.RBrakeForce	= 1800		-- Rear brake force
	Tune.PBrakeForce	= 15000		-- 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]
--[[
	-----------[ THEMES ]-----------
  

	- LIGHT MODE:
	  If you want the light theme version of the board,
	  replace line 1 with: 
	  
	  require(11370150761).Parent = script.Parent
	
	- DARK MODE:
	  If you want the dark theme version of the board,
	  replace line 1 with: 
	  
	  require(11370294847).Parent = script.Parent

--]]
--// SS3.33T Police Edit originally for 2017 Mercedes-Benz E300 by Itzt and MASERATl, base SS by Inspare


 
wait(0.1)
local player = game.Players.LocalPlayer
local HUB = script.Parent.HUB
local limitButton = HUB.tbName --DNS 2020-02-16 renamed the child textbox tbName because LUA threw "attempt to index" error when it was called Name
local lightOn = false
local Camera = game.Workspace.CurrentCamera
local cam = script.Parent.nxtcam.Value
local carSeat = script.Parent.CarSeat.Value
local mouse = game.Players.LocalPlayer:GetMouse()
-- When tool deselected


function onDeselected(mouse)
	myMouse = nil
end

rayPart					= Instance.new("Part")
rayPart.Name			= "MG Ray"
rayPart.Transparency	= .5
rayPart.Anchored		= true
rayPart.CanCollide		= false
rayPart.TopSurface		= Enum.SurfaceType.Smooth
rayPart.BottomSurface	= Enum.SurfaceType.Smooth
rayPart.formFactor		= Enum.FormFactor.Custom
rayPart.BrickColor		= BrickColor.new("Bright yellow")
rayPart.Reflectance		= 0
rayPart.Material = Enum.Material.SmoothPlastic

function fireCoax()
	local MGAmmo = tankStats.MGAmmo;
	if MGAmmo.Value <= 0 then
		return false;
	end;
	
	local machineGun = parts.Parent.Gun.Coax
	local PL				= Instance.new("PointLight")
	PL.Parent				= machineGun
	PL.Brightness			= 50
	PL.Color				= Color3.new(255, 255, 0)
	PL.Range				= 15
	PL.Shadows				= true
	
	
	MGAmmo.Value = MGAmmo.Value - 1;
	machineGun.Sound:Play();
	
	local offset = (parts.Parent.Gun.Muzzle.CFrame * CFrame.new(0,100,0).p
                    - parts.Parent.Gun.Muzzle.Position).unit * 999;
    local ray = Ray.new(machineGun.Position, offset);
-- Public Constructors



function RadialMenuClass.new(subN, tPercent, rotation, ZIndex)
	local self = setmetatable({}, RadialMenuClass)
	
	self._Maid = Lazy.Utilities.Maid.new()
	self._ClickedBind = Instance.new("BindableEvent")
	self._HoverBind = Instance.new("BindableEvent")
	self._LastHoverIndex = nil
	
	self.Frame = CreateRadial(subN, tPercent, rotation, ZIndex)
	self.Rotation = rotation
	self.SubN = subN
	
	self.Enabled = true
	self.DeadZoneIn = 0.5
	self.DeadZoneOut = math.huge
	
	self.Clicked = self._ClickedBind.Event
	self.Hover = self._HoverBind.Event
	
	init(self)
	
	self:SetDialProps{ImageColor3 = Color3.new(0, 0, 0)}
	self:SetRadialProps{
		ImageColor3 = Color3.new(0, 0, 0),
		ImageTransparency = 0.7
	}
	
	return self
end
-- -- -- -- -- -- --
--DIRECTION SCROLL--
-- -- -- -- -- -- --



Lift:WaitForChild("Direction").Changed:connect(function(val)
	if val == 1 then
		This.Display.ARW1.U1.BrickColor = BrickColor.new("Institutional white")
		This.Display.ARW1.U2.BrickColor = BrickColor.new("Institutional white")
		This.Display.ARW1.M1.BrickColor = BrickColor.new("Institutional white")
		This.Display.ARW1.M2.BrickColor = BrickColor.new("Institutional white")
		This.Display.ARW1.D1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.D2.BrickColor = BrickColor.new("Really black")
	elseif val == -1 then
		This.Display.ARW1.U1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.U2.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.M1.BrickColor = BrickColor.new("Institutional white")
		This.Display.ARW1.M2.BrickColor = BrickColor.new("Institutional white")
		This.Display.ARW1.D1.BrickColor = BrickColor.new("Institutional white")
		This.Display.ARW1.D2.BrickColor = BrickColor.new("Institutional white")
	else
		This.Display.ARW1.U1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.U2.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.M1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.M2.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.D1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.D2.BrickColor = BrickColor.new("Really black")
	end
end)
--[[*
 * Test `input` with the given `regex`. This is used by the main
 * `picomatch()` function to test the input string.
 *
 * ```js
 * const picomatch = require('picomatch');
 * // picomatch.test(input, regex[, options]);
 *
 * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/));
 * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' }
 * ```
 * @param {String} `input` String to test.
 * @param {RegExp} `regex`
 * @return {Object} Returns an object with matching info.
 * @api public
 ]]



function picomatch.test(input: string, regex: RegExp, options: Object?, ref_: Object?)
	local ref: Object = ref_ or {}
	local glob, posix = ref.glob, ref.posix

	if typeof(input) ~= "string" then
		error(Error.new("TypeError: Expected input to be a string"))
	end

	if input == "" then
		return { isMatch = false, output = "" }
	end

	local opts: Object = options or {}
	local format = if Boolean.toJSBoolean(opts.format)
		then opts.format
		else if Boolean.toJSBoolean(posix) then utils.toPosixSlashes else nil
	local match = input == glob
	local output = if match and Boolean.toJSBoolean(format) then format(input) else input

	if match == false then
		output = if Boolean.toJSBoolean(format) then format(input) else input
		match = output == glob
	end

	if match == false or opts.capture == true then
		if opts.matchBase == true or opts.basename == true then
			match = picomatch.matchBase(input, regex, options, posix)
		else
			-- ROBLOX FIXME: Luau narrows the type to boolean and doesn't allow for result of RegExp:exec to be assigned
			match = regex:exec(output) :: any
		end
	end

	return { isMatch = Boolean.toJSBoolean(match), match = match, output = output }
end
--[[*
 * Use invariant() to assert state which your program assumes to be true.
 *
 * Provide sprintf-style format (only %s is supported) and arguments
 * to provide information about what broke and what you were
 * expecting.
 *
 * The invariant message will be stripped in production, but the invariant
 * will remain to ensure logic does not differ in production.
]]


local Packages = script.Parent.Parent
local LuauPolyfill = require(Packages.LuauPolyfill)
local Error = LuauPolyfill.Error

local function invariant(condition, format, ...)
	-- ROBLOX TODO: we should encapsulate all formatting compatibility here,
	-- rather than spreading workarounds throughout the codebase, eg this
	-- should print an array without the need for a table.concat on the consumer side
	if not condition then
		error(Error(string.format(format, ...)))
	end
end

return invariant
-- -- -- -- -- -- --
--DIRECTION SCROLL--
-- -- -- -- -- -- --



This.Parent.Parent.Parent.Parent:WaitForChild("Direction", 120).Changed:connect(function(val)
	if val == 1 then
		This.Frame.Direction.Text = "▲"
		repeat
			for i = 0.2, -0.8, -0.02 do
				This.Frame.Direction.UIGradient.Offset = Vector2.new(0,i)
				wait()
			end
		until This.Parent.Parent.Parent.Parent.Direction.Value ~= 1
	elseif val == -1 then
		This.Frame.Direction.Text = "▼"
		repeat
			for i = -0.8, 0.2, 0.02 do
				This.Frame.Direction.UIGradient.Offset = Vector2.new(0,i)
				wait()
			end
		until This.Parent.Parent.Parent.Parent.Direction.Value ~= -1
	else
		This.Frame.Direction.Text = ""
	end
end)
--[[
Creates a bridge.
--]]


return function(StartPos,EndPos,InnerSectionCount,Parent)
	local DistanceBetween = (EndPos - StartPos).magnitude
	local BridgeLength = math.ceil(DistanceBetween/8) * 8
	local CenterCF = CFrame.new(StartPos,EndPos) * CFrame.new(0,0,-DistanceBetween/2)
	
	--Create the container.
	local Container = Instance.new("Model")
	Container.Name = "Bridge"
	Container.Parent = Parent
	
	--Create the spines.
	local Spines = {}
	local SpineCount = InnerSectionCount + 1
	for i = 1,SpineCount do
		local Spine = Instance.new("Part")
		Spine.BrickColor = BrickColor.new("Dark stone grey")
		Spine.CFrame = CenterCF * CFrame.new(6 * ((-SpineCount/2) - 0.5 + i),0,0)
		Spine.Size = Vector3.new(2,1,BridgeLength - 2)
		Spine.Anchored = true
		Spine.Parent = Container
		
		table.insert(Spines,Spine)
	end
	
	--Create the path parts.
	local RelativeOffsetStart = CFrame.new(0,1,-(BridgeLength/2) + 4)
	local BridgeSections = BridgeLength/8
	local Floors = {}
	local FloorCount = InnerSectionCount + 2
	for i = 1,FloorCount do
		local RowSections = {}
		table.insert(Floors,RowSections)
		
		for j = 0,BridgeSections - 1 do
			local RelativeOffset = RelativeOffsetStart * CFrame.new(0,0,8 * j)
			local SectionCF = CenterCF * RelativeOffset
		
			local PathPart = Instance.new("Part")
			PathPart.BrickColor = BrickColor.new("Medium stone grey")
			PathPart.CFrame = SectionCF * CFrame.new(6 * ((-SpineCount/2) - 1 + i),0,0)
			PathPart.Size = Vector3.new(6,1,8)
			PathPart.Parent = Container
			if Spines[i - 1] then WeldBetween(Spines[i - 1],PathPart) end
			if Spines[i] then WeldBetween(Spines[i],PathPart) end
			table.insert(RowSections,PathPart)
		end
	end
	
	--Create the sides.
	for i = 0,BridgeSections - 1 do
		local RelativeOffset = RelativeOffsetStart * CFrame.new(0,0,8 * i)
		local SectionCF = CenterCF * RelativeOffset
		
		--Create the left side.
		local LeftSide = Instance.new("Part")
		LeftSide.BrickColor = BrickColor.new("Medium stone grey")
		LeftSide.CFrame = SectionCF * CFrame.new(-(6 * (FloorCount/2)) + 1,1.25,0)
		LeftSide.Size = Vector3.new(2,1.5,8)
		LeftSide.Parent = Container
		WeldBetween(LeftSide,Floors[1][i + 1])
		
		local LeftTop = Instance.new("Part")
		LeftTop.BrickColor = BrickColor.new("Dark stone grey")
		LeftTop.CFrame = SectionCF * CFrame.new(-(6 * (FloorCount/2)) + 1,2.5,0)
		LeftTop.Size = Vector3.new(2,1,8)
		LeftTop.Parent = Container
		WeldBetween(LeftSide,LeftTop)
		
		--Create the right side.
		local RightSide = Instance.new("Part")
		RightSide.BrickColor = BrickColor.new("Medium stone grey")
		RightSide.CFrame = SectionCF * CFrame.new((6 * (FloorCount/2)) - 1,1.25,0)
		RightSide.Size = Vector3.new(2,1.5,8)
		RightSide.Parent = Container
		WeldBetween(RightSide,Floors[#Floors][i + 1])
		
		local RightTop = Instance.new("Part")
		RightTop.BrickColor = BrickColor.new("Dark stone grey")
		RightTop.CFrame = SectionCF * CFrame.new((6 * (FloorCount/2)) - 1,2.5,0)
		RightTop.Size = Vector3.new(2,1,8)
		RightTop.Parent = Container
		WeldBetween(RightSide,RightTop)
	end
end
--fs.Reflectance = 0
--bs.Reflectance = 0


end
if val1.Value > 120 and val1.Value <= 130 then
ch1m.MaxVelocity = 0.6+(val1.Value-120)*0.005
ch2m.MaxVelocity = 0.6+(val1.Value-120)*0.005
ch3m.MaxVelocity = 0.6+(val1.Value-120)*0.005
ch1.Transparency = 1
ch2.Transparency = 1
ch3.Transparency = 1
fs.Transparency = 1-(val1.Value-120)*0.01
bs.Transparency = 1-(val1.Value-120)*0.01
--[[
	React does a lot of catching, retrying, and rethrowing errors that would
	typically result in loss of meaningful stack information.

	We use xpcall combined with this error function to capture and rethrow in a
	way that retains some stack information.
]]


local function describeError(e: string | Error): Error
	if typeof(e) == "string" then
		local _, endOfStackFrame = string.find(e, ":[%d]+: ")
		local message = if endOfStackFrame then string.sub(e, endOfStackFrame + 1) else e

		local err = LuauPolyfill.Error.new(message)
		err.stack = debug.traceback(nil, 2)
		return err
	end
	return e :: Error
end
--------------------------------------------------------------------------



local _WHEELTUNE = {
																		--[[	
			SS6 Presets
	[Eco]		
		WearSpeed = 1,
		TargetFriction = .7,
		MinFriction = .1,
	[Road]		
		WearSpeed = 2,
		TargetFriction = .7,
		MinFriction = .1,
	[Sport]		
		WearSpeed = 3,
		TargetFriction = .79,
		MinFriction = .1,											]]

	TireWearOn 		= true	,
	
	--Friction and Wear
	FWearSpeed		= 2.0	,
	FTargetFriction	= 1.6	,
	FMinFriction 	= 1	,
	
	RWearSpeed		= 4.0	,
	RTargetFriction	= 2.5	,
	RMinFriction	= 1	,
	
	--Tire Slip
	TCSOffRatio		= 1/3	,
	WheelLockRatio	= 1/2	,	--SS6 Default = 1/4
	WheelspinRatio	= 1/1.1	,	--SS6 Default = 1/1.2
	
	--Wheel Properties
	FFrictionWeight	= 1		,	--SS6 Default = 1
	RFrictionWeight	= 1		,	--SS6 Default = 1
	FLgcyFrWeight	= 10	,
	RLgcyFrWeight	= 10	,
	
	FElasticity		= 0		,	--SS6 Default = .5
	RElasticity		= 0		,	--SS6 Default = .5
	FLgcyElasticity	= 0		,
	RLgcyElasticity	= 0		,
	
	FElastWeight	= 1		,	--SS6 Default = 1
	RElastWeight	= 1		,	--SS6 Default = 1
	FLgcyElWeight	= 10	,
	RLgcyElWeight	= 10	,
	
	--Wear Regen
	RegenSpeed		= 9.8		--SS6 Default = 3.6
}
-------------------------


while true do
Puerta1.BodyVelocity.velocity = Vector3.new(0, 0, 0.5)
Puerta2.BodyVelocity.velocity = Vector3.new(0, 0, -0.5)
script.Parent.Bloqueador.CanCollide = true
wait(6)
Puerta1.BodyVelocity.velocity = Vector3.new(0, 0, 0)
Puerta2.BodyVelocity.velocity = Vector3.new(0, 0, 0)
break
end
-- Denotes children instances in an instance or component's property table.


export type SpecialKey = {
	type: string, -- replace with "SpecialKey" when Luau supports singleton types
	kind: string,
	stage: string, -- replace with "self" | "descendants" | "ancestor" | "observer" when Luau supports singleton types
	apply: (SpecialKey, value: any, applyTo: Instance, cleanupTasks: {Task}) -> ()
}
--[ Get Items ]--


local HoldKey = script:WaitForChild("HoldKey")

local Humanoid = Avatar:WaitForChild("Humanoid")
local Torso = Avatar:WaitForChild("Torso")
local RH = Torso:WaitForChild("Right Hip")
local LH = Torso:WaitForChild("Left Hip")

local RL = Avatar:WaitForChild("Right Leg")
local LL = Avatar:WaitForChild("Left Leg")

local RJ = Avatar:WaitForChild("HumanoidRootPart"):WaitForChild("RootJoint")
------------------------------------------------------------------------------
--------------------[ FUNCTIONS ]---------------------------------------------
------------------------------------------------------------------------------



local CreateShockwave = function(Center, Radius)
	local Shockwave = Instance.new("Part")
	Shockwave.BrickColor = S.ShockwaveColor
	Shockwave.Material = Enum.Material.SmoothPlastic
	Shockwave.Name = "Shockwave"
	Shockwave.Anchored = true
	Shockwave.CanCollide = false
	Shockwave.FormFactor = Enum.FormFactor.Symmetric
	Shockwave.Size = VEC3(1, 1, 1)
	Shockwave.BottomSurface = Enum.SurfaceType.Smooth
	Shockwave.TopSurface = Enum.SurfaceType.Smooth
	local Mesh = Instance.new("SpecialMesh")
	Mesh.MeshType = Enum.MeshType.Sphere
	Mesh.Scale = VEC3()
	Mesh.Parent = Shockwave
	Shockwave.Parent = Main.Parent
	Shockwave.CFrame = CF(Center)
	spawn(function()
		for i = 0, 1, 1 / (30 * S.ShockwaveDuration) do
			local Scale = 2 * Radius * i
			Mesh.Scale = VEC3(Scale, Scale, Scale)
			Shockwave.Transparency = i
			wait()
		end
		Shockwave:Destroy()
	end)
end

local AdvRayCast = function(Origin, Direction, Dist, CustomIgnore)
	local NewIgnore = (CustomIgnore and CustomIgnore or Ignore)
	local NewRay = Ray.new(Origin, Direction * (Dist > 999 and 999 or Dist))
	local HitObj, HitPos = game.Workspace:FindPartOnRayWithIgnoreList(NewRay, NewIgnore)
	local LastPos = HitPos
	local FinalHitObj, FinalHitPos = nil, nil
	local RepTimes = math.floor(Dist / 999)
	if (not HitObj) and (Dist > 999) then
		for i = 0, RepTimes do
			local NewDist = (i == RepTimes and  (Dist - (LastPos - Origin).magnitude) or 999)
			local Ray2 = Ray.new(LastPos, Direction * NewDist)
			local HitObj2, HitPos2 = game.Workspace:FindPartOnRayWithIgnoreList(Ray2, NewIgnore)
			if i ~= RepTimes then
				if HitObj2 then
					FinalHitObj, FinalHitPos = HitObj2, HitPos2
					break
				end
			elseif i == RepTimes then
				FinalHitObj, FinalHitPos = HitObj2, HitPos2
			end
			LastPos = HitPos2
		end
		return FinalHitObj, FinalHitPos
	elseif HitObj or (Dist <= 999) then
		return HitObj, HitPos
	end
end

local FindFirstClass = function(Object, Class)
	local FoundObject = nil
	for _, Obj in pairs(Object:GetChildren()) do
		if Obj.ClassName == Class then
			FoundObject = Obj
			break
		end
	end
	return FoundObject
end

local IsEnemy = function(Human)
	local HitPlyr = game.Players:GetPlayerFromCharacter(Human.Parent)
	if (not HitPlyr) then return S.CanDamageNPCs end
	return S.AllowFriendlyFire or (HitPlyr.TeamColor ~= Plyr.Value.TeamColor or HitPlyr.Neutral)
end

local IsIgnored = function(Obj)
	for _,v in pairs(Ignore) do
		if Obj == v or Obj:IsDescendantOf(v) then
			return true
		end
	end
	return false
end

local MarkHit = function()
	spawn(function()
		local Gui_Clone = Plyr.Value:WaitForChild("PlayerGui"):WaitForChild("Main_Gui")
		local HitMarker = Gui_Clone:WaitForChild("HitMarker")
		
		HitMarker.Visible = true
		local StartMark = tick()
		HitMarker.LastMark.Value = StartMark
		
		wait(0.5)
		
		if HitMarker.LastMark.Value <= StartMark then
			HitMarker.Visible = false
		end
	end)
end
-- Local Functions


local function waitForUpdate(stringLabel)
	if stringLabel._updating then
		repeat wait() until not stringLabel._updating
		
		wait()
	end
end

local function calculateLines(text, font, frameSize)
	local screenGui = Instance.new("ScreenGui", game:GetService("StarterGui"))
	
	local recursivelyCalculate = nil
	recursivelyCalculate = function(str, textSize, lines)
		local label = Instance.new("TextLabel", screenGui)
		label.Size = UDim2.new(0, frameSize.X, 0, frameSize.Y)
		label.Font = font
		label.TextSize = textSize
		label.Text = str
		
		if not label.TextFits then
			local words = {}
			local newStr1 = ""
			local newStr2 = ""
			
			for v in string.gmatch(str, "%S+") do
				table.insert(words, v)
			end
			
			for index, word in ipairs(words) do
				if index <= #words / 2 then
					newStr1 = newStr1 .. word .. " "
				else
					newStr2 = newStr2 .. word .. " "
				end
			end

			recursivelyCalculate(newStr1:sub(1, -2), textSize / 2, lines)
			recursivelyCalculate(newStr2:sub(1, -2), textSize / 2, lines)
		else
			table.insert(lines, str)
		end
		
		label:Destroy()
		
		return textSize / #lines
	end
	
	local lines = {}
	local textSize = recursivelyCalculate(text, frameSize.Y, lines)
	
	screenGui:Destroy(text)
	
	return lines, textSize
end
-- -- -- -- -- -- --
--DIRECTION SCROLL--
-- -- -- -- -- -- --




Lift:WaitForChild("Velocity").Changed:connect(function(vel)
    if vel > 0 then
		This.Display.ARW1.U1.BrickColor = BrickColor.new("Lime green")
		This.Display.ARW1.U2.BrickColor = BrickColor.new("Lime green")
		This.Display.ARW1.U3.BrickColor = BrickColor.new("Lime green")
		This.Display.ARW1.D1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.D2.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.D3.BrickColor = BrickColor.new("Really black")
    elseif vel < 0 then
		This.Display.ARW1.U1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.U2.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.U3.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.D1.BrickColor = BrickColor.new("Lime green")
		This.Display.ARW1.D2.BrickColor = BrickColor.new("Lime green")
		This.Display.ARW1.D3.BrickColor = BrickColor.new("Lime green")
	else
		This.Display.ARW1.U1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.U2.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.U3.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.D1.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.D2.BrickColor = BrickColor.new("Really black")
		This.Display.ARW1.D3.BrickColor = BrickColor.new("Really black")
    end
end)
--SFX ID to Sound object


local Sounds = {}
local SoundService = game:GetService("SoundService")
local soundEventFolderName = "DefaultSoundEvents"
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local AddCharacterLoadedEvent = nil
local RemoveCharacterEvent = nil
local soundEventFolder = ReplicatedStorage:FindFirstChild(soundEventFolderName)

if not soundEventFolder then
    soundEventFolder = Instance.new("Folder", ReplicatedStorage)
    soundEventFolder.Name = soundEventFolderName
    soundEventFolder.Archivable = false
end