Pinkstack/roblox-luau-corpus-text huggingface dataset:
-- goro7



local plr = game.Players.LocalPlayer
local inputService = game:GetService("UserInputService")
local guiService = game:GetService("GuiService")

function close()
	
	-- Set not visible
	plr.PlayerGui.GUIClick:Play()
	game.ReplicatedStorage.Interactions.Server.UpdateTradeSession:FireServer(4)
	script.Parent.Parent.EndSession:Fire(true)
	guiService.SelectedObject = nil
	
end

script.Parent.MouseButton1Click:connect(close)
inputService.InputBegan:connect(function(inputObj)
	if inputObj.KeyCode == Enum.KeyCode.ButtonB and script.Parent.Parent.Visible then
		close()
	end
end)
--repeat wait() until script.Parent.HumanoidRootPart


local a = 0
local x = math.cos(a)
local z = math.sin(a)
local c = script.Parent.HumanoidRootPart.Position
local count = 5

local nodes = {}


local function Spin()
	for i,n in pairs(nodes) do
		local b = a+ i*(360/#nodes)
		x = math.cos(math.rad(b))
		z = math.sin(math.rad(b))
		game:GetService("TweenService"):Create(n,TweenInfo.new(.2,Enum.EasingStyle.Quart),{Position = c + Vector3.new(x,0,z)*5}):Play()
	end
end


local function Start(count)
	for i=1,count do
		local n = Instance.new('Part',workspace)
		n.Anchored = true
		n.Size = Vector3.new(1,1,1)
		n.CanCollide = false
		n:ClearAllChildren()
		n.Parent = workspace
		table.insert(nodes,n)
	end
	local b = 360/#nodes
		c = script.Parent.Position
		a=a+15
	local spincoro = coroutine.create(Spin)
	return spincoro
end
-- Starter Character Scripts






function Death()
	wait(0.2)
	local Tool = script.Parent:FindFirstChildWhichIsA("Tool")
	if Tool then
		local M = script.Contain:Clone()
		M.Parent = game.Workspace
		M.Disabled = false
		if Tool:FindFirstChild("Handle") and script.Parent:FindFirstChildWhichIsA("Part") then
			Tool.Handle.Position = script.Parent:FindFirstChildWhichIsA("Part").Position
			Tool.Handle.Velocity = Vector3.new(0,0,0)
			Tool.Handle.RotVelocity = Vector3.new(0,0,0)
			Tool.Handle.CanCollide = true
			Tool.Parent = M
		end
	end
	local Player = game.Players:GetPlayerFromCharacter(script.Parent)
	if Player then
		local Value = 0
		local M = script.Contain:Clone()
		M.Parent = game.Workspace
		M.Disabled = false
		while true do
			local C = Player.Backpack:GetChildren()
			if #C <= 0 or (script.Configuration.DropAll.Value == false and Value >= script.Configuration.DropLimit.Value) then
				break
			end
			for i = 1,#C do
				if math.random(1,1000) == 1000 then
					if C[i]:FindFirstChild("Handle") and Player.Character:FindFirstChildWhichIsA("Part") then
						C[i].Handle.Position = Player.Character:FindFirstChildWhichIsA("Part").Position
						C[i].Handle.Velocity = Vector3.new(0,0,0)
						C[i].Handle.RotVelocity = Vector3.new(0,0,0)
						C[i].Handle.CanCollide = true
						C[i].Parent = M
					end
					Value = Value + 1
				end
				if script.Configuration.DropAll.Value == false and Value >= script.Configuration.DropLimit.Value then
					break
				end
			end
		end
	end
end
script.Parent.Humanoid.Died:connect(Death)
--Receive announcements


local goalTransparency = announcement.Transparency

function createAnnouncement(message)
	announcement.AnnouncementText.Text = ""
	announcement.AnnouncementText.TextTransparency = 0
	announcement.Transparency = 1
	announcement.Visible = true

	local fadeTweenInfo = TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)
	local fadeInTween = ts:Create(announcement, fadeTweenInfo, {Transparency = goalTransparency})
	fadeInTween:Play()
	task.wait(0.3)

	for i = 1, string.len(message) do
		announcement.AnnouncementText.Text = string.sub(message, 1, i)
		local currentChar = string.sub(message, i, i)
		task.wait(currentChar == "\n" and 0.3 or currentChar == " " and 0.04 or 0.02)
	end

	local announcementTime = string.len(message) / 16
	task.wait(announcementTime)

	local fadeOutTween = ts:Create(announcement, fadeTweenInfo, {Transparency = 1})
	fadeOutTween:Play()
	local fadeTextTween = ts:Create(announcement.AnnouncementText, fadeTweenInfo, {TextTransparency = 1})
	fadeTextTween:Play()
	
	fadeTextTween.Completed:Wait()
	announcement.Visible = false
end

re.OnClientEvent:Connect(function(instruction, message)
	if instruction == "ANNOUNCE" then
		createAnnouncement(message)
	end
end)
--easter egg


mouse.KeyDown:connect(function(key)
	if key=="o" then
		Heat = BlowupTemp-11
	end
end)

if not FE then
	
radiator.Oil.Enabled = false
radiator.Antifreeze.Enabled = false
radiator.Liquid.Volume = 0
radiator.Fan:Play()
radiator.Fan.Pitch = 1+FanSpeed
radiator.Steam:Play()
radiator.Liquid:Play()
script.Blown.Value = false

while wait(.2) do
	if Heat > FanTemp and Fan == true then
		FanCool = -FanSpeed
		radiator.Fan.Volume = FanVolume
	else
		FanCool = 0
		radiator.Fan.Volume = 0
	end
	
	Load = ((script.Parent.Parent.Values.Throttle.Value*script.Parent.Parent.Values.RPM.Value*10*OverheatSpeed)/math.ceil((car.DriveSeat.Velocity.magnitude+.0000001)/100)/75000)-CoolingEfficiency
	Heat = math.max(RunningTemp,(Heat+Load)+FanCool)
	
	if Heat >= BlowupTemp then
		Heat = BlowupTemp
		radiator.Break:Play()
		radiator.Liquid.Volume = .5
		radiator.Oil.Enabled = true
		radiator.Antifreeze.Enabled = true
		script.Parent.Parent.IsOn.Value = false
		script.Blown.Value = true
	elseif Heat >= BlowupTemp-10 then
		radiator.Smoke.Transparency = NumberSequence.new((BlowupTemp-Heat)/10,1)
		radiator.Smoke.Enabled = true
		radiator.Steam.Volume = math.abs(((BlowupTemp-Heat)-10)/10)
	else
		radiator.Smoke.Enabled = false
		radiator.Steam.Volume = 0
	end
	
	script.Celsius.Value = Heat
	script.Parent.Temp.Text = math.floor(Heat).."°c"
end

else

	handler:FireServer("Initialize",FanSpeed)
while wait(.2) do
	
	if Heat > FanTemp and Fan == true then
		FanCool = -FanSpeed
		handler:FireServer("FanVolume",FanVolume)
	else
		FanCool = 0
		handler:FireServer("FanVolume",0)
	end
	
	Load = ((script.Parent.Parent.Values.Throttle.Value*script.Parent.Parent.Values.RPM.Value*10*OverheatSpeed)/math.ceil((car.DriveSeat.Velocity.magnitude+.0000001)/100)/75000)-CoolingEfficiency
	Heat = math.max(RunningTemp,(Heat+Load)+FanCool)
	
	if Heat >= BlowupTemp then
		Heat = BlowupTemp
		handler:FireServer("Blown")
		script.Parent.Parent.IsOn.Value = false
		script.Blown.Value = true
	elseif Heat >= BlowupTemp-10 then
		handler:FireServer("Smoke",true,BlowupTemp,Heat)
	else
		handler:FireServer("Smoke",false,BlowupTemp,Heat)
	end
	
	script.Celsius.Value = Heat
	script.Parent.Temp.Text = math.floor(Heat).."°c"
end
end
-- Function to handle slider button click


local function onSliderButtonClick(button)
	-- Reset button colors
	norm.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	fast.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	max.BackgroundColor3 = Color3.fromRGB(255, 255, 255)

	-- Move the sliding indicator to the selected button
	local targetSize
	local targetSpeed

	if button == norm then
		targetSize = normalSize
		targetSpeed = normalSpd
	elseif button == fast then
		targetSize = fastSize
		targetSpeed = fastSpd
	elseif button == max then
		targetSize = maxSize
		targetSpeed = maxSpd
	end

	-- Set the uiSpeedUser to the selected speed modifier
	uiSpeedUser.Value = targetSpeed

	-- Check if the user has permission to change the islandSpeed
	if ClipSettings.settings.uiSpeedSetting then
		-- Update the islandSpeed setting in the ClipSettings module based on the uiSpeedUser
		ClipSettings.islandSpeed = uiSpeedUser.Value
	else
		-- Use the default islandSpeed from the ClipSettings module if uiSpeedSetting is off
		ClipSettings.islandSpeed = ClipSettings.islandSpeed
	end

	-- Animate the sliding indicator
	local tween = TweenService:Create(sliding, tweenInfo, {
		Size = targetSize
	})
	tween:Play()

	-- Highlight the selected button
	button.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
end
--[[
	Creates signals via a modulized version of RbxUtility (It was deprecated so this will be released for people who would like to keep using it.
	
	This creates RBXScriptSignals.
	
	API:
		table Signal:connect(Function f) --Will run f when the event fires.
		void Signal:wait() --Will wait until the event fires
		void Signal:disconnectAll() --Will disconnect ALL connections created on this signal
		void Signal:fire(Tuple args) --Cause the event to fire with your own arguments
		
		
		Connect, Wait, DisconnectAll, and Fire are also acceptable for calling (An uppercase letter rather than a lowercase one)
		
		
	Standard creation:
	
		local SignalModule = require(this module)
		local Signal = SignalModule:CreateNewSignal()
		
		function OnEvent()
			print("Event fired!")
		end
		
		Signal:Connect(OnEvent) --Unlike objects, this does not do "object.SomeEvent:Connect()" - Instead, the Signal variable is the event itself.
		
		Signal:Fire() --Fire it.
--]]



local Signal = {}

function Signal:CreateNewSignal()
	local This = {}

	local mBindableEvent = Instance.new('BindableEvent')
	local mAllCns = {} --All connection objects returned by mBindableEvent::connect
	
	--Note to scripters: the 'self' variable is built into lua. Any time a method in a table is called (table:somemethod()), a local variable in that function named "self" is created. This variable is an alias to whatever table the function is part of.

	function This:Connect(Func)
		assert(This == self, "Expected ':' not '.' calling member function Connect")
		assert(typeof(Func) == "function", "Argument #1 of Connect must be a function, got a "..typeof(Func))
		
		local Con = mBindableEvent.Event:Connect(Func)
		mAllCns[Con] = true
		local ScrSig = {}
		function ScrSig:Disconnect()
			assert(ScrSig == self, "Expected ':' not '.' calling member function Disconnect")
			
			Con:Disconnect()
			mAllCns[Con] = nil
		end
				
		return ScrSig
	end
	
	function This:DisconnectAll()
		assert(This == self, "Expected ':' not '.' calling member function DisconnectAll")
				
		for Connection, _ in pairs(mAllCns) do
			Connection:Disconnect()
			mAllCns[Connection] = nil
		end
	end
	
	function This:Wait()
		assert(This == self, "Expected ':' not '.' calling member function Wait")
		
		return mBindableEvent.Event:Wait()
	end
	
	function This:Fire(...)
		assert(This == self, "Expected ':' not '.' calling member function Fire")
		
		mBindableEvent:Fire(...)
	end
	return This
end

return Signal
--// SERVICES //--



local CoreGuiService = game:GetService('CoreGui')
local PlayersService = game:GetService('Players')
local GuiService = game:GetService('GuiService')
local UserInputService = game:GetService('UserInputService')
local StarterGui = game:GetService('StarterGui')
local STS_Settings = script.Parent:WaitForChild('STS_Settings')
local StaminaButton = script.Parent:WaitForChild('Mobile')
local Border = StaminaButton:WaitForChild('Border')
local Bar = script.Parent:WaitForChild('Frame_Bar')
local SprintGui = script.Parent
local UIS = game:GetService("UserInputService")
local TS = game:GetService("TweenService")
local plr = game.Players.LocalPlayer
local player = game.Players.LocalPlayer

local Character = game.Players.LocalPlayer.Character
if Character == nil then
	repeat
		wait()
	until (Character ~= nil)
	print('FoundCharacter')
end
local Debounce = false
local Stamina = Character:WaitForChild('Stamina')
local Sprinting = false
local StaminaReductionRate = STS_Settings:WaitForChild('StaminaDeductionAmount').Value -- Amount taken from Stamina per SprintReductionDelay
local StaminaReductionDelay = STS_Settings:WaitForChild('StaminaDeductionDelay').Value -- Time in Seconds for SprintReductionRate to be removed from stamina
local OriginalWalkSpeed = Character.Humanoid.WalkSpeed -- Get Original WalkSpeed
local SprintSpeed = STS_Settings:WaitForChild('SprintSpeed').Value
local RegenerateDelay = STS_Settings:WaitForChild('StaminaRegenerationDelay').Value
local RegenerateValue = STS_Settings:WaitForChild('StaminaRegenerationAmount').Value
--[[ Script Variables ]]

--
while not Players.LocalPlayer do
	Players.PlayerAdded:wait()
end
local LocalPlayer = Players.LocalPlayer

local Tools = {}
local IsAToolEquipped = false

local RevertAutoJumpEnabledToFalse = false

local ThumbstickFrame = nil
local StartImage = nil
local EndImage = nil
local MiddleImages = {}

local IsFollowStick = false
local ThumbstickFrame = nil
local OnMoveTouchEnded = nil		-- defined in Create()
local OnTouchMovedCn = nil
local OnTouchEndedCn = nil
local TouchActivateCn = nil
local OnRenderSteppedCn = nil
local currentMoveVector = Vector3.new(0,0,0)
--[=[
    Translates a line into pseudo text while maintaining params
    @param line string -- The line to translate
    @return string -- The translated line
]=]


function PseudoLocalize.pseudoLocalize(line)
	local charMap = PseudoLocalize.PSEUDO_CHARACTER_MAP
	local out = ""
	local isParam = false

	for start, stop in utf8.graphemes(line) do
		local char = line:sub(start, stop)
		if char == "{" or char == "[" or char == "<" then
			isParam = true
			out = out .. char
		elseif char == "}" or char == "]" or char == ">" then
			isParam = false
			out = out .. char
		elseif not isParam and charMap[char] then
			out = out .. charMap[char]
		else
			out = out .. char
		end
	end

	return out
end
-----------------
--| Functions |--
-----------------



local function OnEquipped()
	local myModel = Tool.Parent
	local humanoid = myModel:FindFirstChild('Humanoid')
	if humanoid then -- Preload animations
		ScytheEquipTrack = humanoid:LoadAnimation(ScytheEquipAnimation)
		if ScytheEquipTrack then ScytheEquipTrack:Play() end

		ScytheIdleTrack = humanoid:LoadAnimation(ScytheIdleAnimation)
		if ScytheIdleTrack then ScytheIdleTrack:Play() end

		ScytheSlashTrack = humanoid:LoadAnimation(ScytheSlashAnimation)
	end
end

local function OnChanged(property)
	if property == 'Enabled' and Tool.Enabled == false then
		if ScytheSlashTrack then ScytheSlashTrack:Play() end
	end
end

local function OnUnequipped()
	-- Stop all animations
	if ScytheEquipTrack then ScytheEquipTrack:Stop() end
	if ScytheIdleTrack then ScytheIdleTrack:Stop() end
	if ScytheSlashTrack then ScytheSlashTrack:Stop() end
end
--- Prepares selection for dragging, and returns the initial state of the selection.


function MoveTool:PrepareSelectionForDragging()
	local InitialPartStates = {}
	local InitialModelStates = {}

	-- Get index of parts
	local PartIndex = Support.FlipTable(Selection.Parts)

	-- Stop parts from moving, and capture the initial state of the parts
	for _, Part in pairs(Selection.Parts) do
		InitialPartStates[Part] = {
			Anchored = Part.Anchored;
			CanCollide = Part.CanCollide;
			CFrame = Part.CFrame;
		}
		Part.Anchored = true;
		Part.CanCollide = false;
		InitialPartStates[Part].Joints = Core.PreserveJoints(Part, PartIndex)
		Part:BreakJoints();
		Part.Velocity = Vector3.new();
		Part.RotVelocity = Vector3.new();
	end;

	-- Get initial model states (temporarily pcalled due to pivot API being in beta)
	pcall(function ()
		for _, Model in ipairs(Selection.Models) do
			InitialModelStates[Model] = {
				Pivot = Model:GetPivot();
			}
		end
	end)

	-- Get initial state of focused item
	local InitialFocusCFrame
	local Focus = Selection.Focus
	if not Focus then
		InitialFocusCFrame = nil
	elseif Focus:IsA 'BasePart' then
		InitialFocusCFrame = Focus.CFrame
	elseif Focus:IsA 'Model' then
		InitialFocusCFrame = Focus:GetModelCFrame()
		pcall(function ()
			InitialFocusCFrame = Focus:GetPivot()
		end)
	end

	return InitialPartStates, InitialModelStates, InitialFocusCFrame
end;
--[[[Default Controls]]


	--Peripheral Deadzones
	Tune.Peripherals = {
		MSteerWidth				= 67		,	-- Mouse steering control width	(0 - 100% of screen width)
		MSteerDZone				= 10		,	-- Mouse steering deadzone (0 - 100%)
		
		ControlLDZone			= 5			,	-- Controller steering L-deadzone (0 - 100%)
		ControlRDZone			= 5			,	-- Controller steering R-deadzone (0 - 100%)
	}
	
	--Control Mapping
	Tune.Controls = {
		
	--Keyboard Controls
		--Mode Toggles
		ToggleABS				= Enum.KeyCode.Y					,
		ToggleTransMode			= Enum.KeyCode.M					,
		--Primary Controls
		Throttle				= Enum.KeyCode.Up					,
		Brake					= Enum.KeyCode.Down					,
		SteerLeft				= Enum.KeyCode.Left					,
		SteerRight				= Enum.KeyCode.Right				,
		
		--Secondary Controls
		Throttle2				= Enum.KeyCode.W					,
		Brake2					= Enum.KeyCode.S					,
		SteerLeft2				= Enum.KeyCode.A					,
		SteerRight2				= Enum.KeyCode.D					,
		
		--Manual Transmission
		ShiftUp					= Enum.KeyCode.E					,
		ShiftDown				= Enum.KeyCode.Q					,
		Clutch					= Enum.KeyCode.LeftShift			,
		
		--Handbrake
		PBrake					= Enum.KeyCode.P					,
		
	--Mouse Controls
		MouseThrottle			= Enum.UserInputType.MouseButton1	,
		MouseBrake				= Enum.UserInputType.MouseButton2	,
		MouseClutch				= Enum.KeyCode.W					,
		MouseShiftUp			= Enum.KeyCode.E					,
		MouseShiftDown			= Enum.KeyCode.Q					,
		MousePBrake				= Enum.KeyCode.LeftShift			,
		
	--Controller Mapping
		ContlrThrottle			= Enum.KeyCode.ButtonR2				,
		ContlrBrake				= Enum.KeyCode.ButtonL2				,
		ContlrSteer				= Enum.KeyCode.Thumbstick1			,
		ContlrShiftUp			= Enum.KeyCode.ButtonY				,
		ContlrShiftDown			= Enum.KeyCode.ButtonX				,
		ContlrClutch			= Enum.KeyCode.ButtonR1				,
		ContlrPBrake			= Enum.KeyCode.ButtonL1				,
		ContlrToggleTMode		= Enum.KeyCode.DPadRight			,
		ContlrToggleTCS			= Enum.KeyCode.DPadRight				,
		ContlrToggleABS			= Enum.KeyCode.DPadRight			,
	}
-- Variables.


local loadingScreen = script.LoadingScreen
local player = game.Players.LocalPlayer

local clonedLoadingScreen = loadingScreen:Clone()
clonedLoadingScreen.Parent = player:WaitForChild("PlayerGui")

local frame = clonedLoadingScreen.Frame
local bar = frame.LoadingBar
local inside = bar.BarInfill
local skipButton = frame.SkipFrame.SkipButton
local loadingPercentage = frame.DisplayPercentage

local screenVisible = true
local hideAfter = 30
--The server will fire the ExitSeat remote to the client when the humanoid has been removed from a seat.
--This script listens to that and uses it to prevent the humanoid tripping when exiting a seat.
--As the player is removed from the seat server side, this scripts listens to the event instead of being
-- inside the ExitSeat function so that:
-- A) The timing is right - the exit seat function will run before the character is unsat by the server
-- B) If a server script removes the player from a seat, the anti-trip will still run


local function antiTrip()
	local humanoid = getLocalHumanoid()
	if humanoid then
		humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
	end
end
Remotes.ExitSeat.OnClientEvent:Connect(function(doAntiTrip)
	for _, func in pairs(module.OnExitFunctions) do
		func(nil)
	end
	if doAntiTrip then
		antiTrip()
	end
end)

return module
--[=[
	Converts this arbitrary value into an observable that will initialize a spring
	and interpolate it between values upon subscription.

	```lua
	local percentVisible = Blend.State(0)
	local visibleSpring = Blend.Spring(percentVisible, 30)
	local transparency = Blend.Computed(visibleSpring, function(percent)
		return 1 - percent
	end);

	Blend.mount(frame, {
		BackgroundTransparency = visibleSpring;
	})
	```

	@param source any
	@param speed any
	@param damper any
	@return Observable?
]=]


function Blend.Spring(source, speed, damper)
	local sourceObservable = Blend.toPropertyObservable(source) or Rx.of(source)
	local speedObservable = Blend.toNumberObservable(speed)
	local damperObservable = Blend.toNumberObservable(damper)

	local function createSpring(maid, initialValue)
		local spring = Spring.new(initialValue)

		if speedObservable then
			maid:GiveTask(speedObservable:Subscribe(function(value)
				assert(type(value) == "number", "Bad value")
				spring.Speed = value
			end))
		end

		if damperObservable then
			maid:GiveTask(damperObservable:Subscribe(function(value)
				assert(type(value) == "number", "Bad value")

				spring.Damper = value
			end))
		end

		return spring
	end

	-- TODO: Centralize and cache
	return Observable.new(function(sub)
		local spring
		local maid = Maid.new()

		local startAnimate, stopAnimate = StepUtils.bindToRenderStep(function()
			local animating, position = SpringUtils.animating(spring)
			sub:Fire(SpringUtils.fromLinearIfNeeded(position))
			return animating
		end)

		maid:GiveTask(stopAnimate)
		maid:GiveTask(sourceObservable:Subscribe(function(value)
			if value then
				local linearValue = SpringUtils.toLinearIfNeeded(value)
				spring = spring or createSpring(maid, linearValue)
				spring.t = SpringUtils.toLinearIfNeeded(value)
				startAnimate()
			else
				warn("Got nil value from emitted source")
			end
		end))

		return maid
	end)
end
--// SS3 controls for AC6 by Itzt, originally for 2014 Infiniti QX80. i don't know how to tune ac lol


 
wait(0.1)
local player = game.Players.LocalPlayer
local HUB = script.Parent.HUB
local TR = script.Parent.Tracker
local limitButton = HUB.Name
local FE = game.Workspace.FilteringEnabled
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()
local windows = false
local handler = carSeat:WaitForChild('Filter')
local winfob = HUB.Parent.Music
local pal = false
local palpal = HUB.Parent.Palette
local red = 0
local green = 0
local blue = 1
local debounce = false
-- These controllers handle only walk/run movement, jumping is handled by the
-- TouchJump controller if any of these are active


local ClickToMove = require(script:WaitForChild("ClickToMoveController"))
local TouchJump = require(script:WaitForChild("TouchJump"))

local VehicleController = require(script:WaitForChild("VehicleController"))

local CONTROL_ACTION_PRIORITY = Enum.ContextActionPriority.Default.Value
---[[ Fade Out and In Settings ]]


module.ChatWindowBackgroundFadeOutTime = 0 --Chat background will fade out after this many seconds.
module.ChatWindowTextFadeOutTime = 60				--Chat text will fade out after this many seconds.
module.ChatDefaultFadeDuration = 0.8
module.ChatShouldFadeInFromNewInformation = true
module.ChatAnimationFPS = 20.0
--// F key, HornOff


mouse.KeyUp:connect(function(key)
	if key=="h" then 
		veh.Lightbar.middle.Airhorn:Stop()
		veh.Lightbar.middle.Wail.Volume = 1
		veh.Lightbar.middle.Yelp.Volume = 1
		veh.Lightbar.middle.Priority.Volume = 1
		veh.Lightbar.HORN.Transparency = 1
	end
end)
--
-- THESE ARE THE CORE SETTINGS
-- YOU WILL NOT BE ABLE TO CHANGE THEM IN-GAME


local Settings={
								--[[
Style Options
�������������					]]
Flat=false;						-- Enables Flat theme / Disables Aero theme
ForcedColor=false;				-- Forces everyone to have set color & transparency
Color=Color3.new(0,0,0);		-- Changes the Color of the user interface
ColorTransparency=.75;			-- Changes the Transparency of the user interface
Chat=false;						-- Enables the custom chat
BubbleChat=false;				-- Enables the custom bubble chat
								--[[
Basic Settings
��������������					]]
AdminCredit=true;				-- Enables the credit GUI for that appears in the bottom right
AutoClean=false;				-- Enables automatic cleaning of hats & tools in the Workspace
AutoCleanDelay=60;				-- The delay between each AutoClean routine
CommandBar=true;				-- Enables the Command Bar | GLOBAL KEYBIND: \
FunCommands=true;				-- Enables fun yet unnecessary commands
FreeAdmin=1;	                -- Set to 1-5 to grant admin powers to all, otherwise set to false
PublicLogs=false;				-- Allows all users to see the command & chat logs
Prefix=':';						-- Character to begin a command
								--[[
Admin Powers
������������
0			Player
1			VIP					Can use nonabusive commands only on self
2			Moderator			Can kick, mute, & use most commands
3			Administrator		Can ban, crash, & set Moderators/VIP
4			SuperAdmin			Can grant permanent powers, & shutdown the game
5			Owner				Can set SuperAdmins, & use all the commands
6			Game Creator		Can set owners & use all the commands

Group & VIP Admin
�����������������
			You can set multiple Groups & Ranks to grant users admin powers
GroupAdmin={
[12345]={[254]=4,[253]=3};
[GROUPID]={[RANK]=ADMINPOWER}
};
			You can set multiple Assets to grant users admin powers
VIPAdmin={
[12345]=3;
[54321]=4;
[ITEMID]=ADMINPOWER;
};								]]

GroupAdmin={

};

VIPAdmin={

};

								--[[
Permissions
�����������
-- You can set the admin power required to use a command
-- COMMANDNAME=ADMINPOWER;		]]

Permissions={

};

}

return {Settings,{Owners,SuperAdmins,Admins,Mods,VIP,Banned}}