Roblox/luau_corpus huggingface dataset:
--/ Cobalt /--
local config = {
	--/ Doors /--
	["reopenLimit"] = 5, -- How many times the door will reopen
	["doorMoveTime"] = 2, -- How many seconds to move the door
	["doorSensors"] = true, -- Reopen door if it bumps a player
	["openTime"] = 7.2, -- How many seconds the door stays open
	--/ Motor /--
	["levelTolerance"] = 0.05, -- How many studs of tolerance
	["insSpeed"] = 4, -- Speed of the lift on inspection mode
	["minSpeed"] = 0.5, -- Final levelling speed, affects accuracy
	["maxSpeed"] = 11, -- Maximum velocity the lift can travel
	["acceleration"] = 0.5, -- How quickly the lift speeds up
	["braking"] = 1, -- How quickly the lift slows down
	["cframe"] = true, -- Enable to use CFrame engine
	["maxForce"] = 9999999, -- Maximum physics force
	--/ Audio /--
	
	--/ Voice /--
	["narrator"] = false, -- Enable or disable pre-configured voice
	["CustomVoice"] = false,
	["VoiceMerged"] = false,
	["VoiceID"] = "rbxassetid://0",
	["VoiceVolume"] = .1,
	
	--/ Seperate Voice /-
	["DirSoundWhenMove"] = false,
	["UpVoice"] = "rbxassetid://532751155",
	["DownVoice"] = "rbxassetid://532750437",
	
	["StandClear"] = false,
	["StDoorVoice"] = "rbxassetid://532751254",
	["StDoorDelay"] = 5.3,
	
	["DoorClosingSound"] = false,
	["ClosingSoundID"] = "rbxassetid://532751211",
	["ClosingSoundDelay"] = 4.3,
	
	["F1"] = "rbxassetid://529580208",
	["F1Delay"] = 3.3,
	["F2"] = "rbxassetid://529580685",
	["F2Delay"] = 3.2,
	["F3"] = "rbxassetid://529580778",
	["F3Delay"] = 3.4,
	["F4"] = "rbxassetid://529580887",
	["F4Delay"] = 3.3,
	["F5"] = "rbxassetid://529580943",
	["F5Delay"] = 3.2,
	["F6"] = "rbxassetid://529581042",
	["F6Delay"] = 3.2,
	["F7"] = "rbxassetid://529582790",
	["F7Delay"] = 3.5,
	["F8"] = "rbxassetid://529582855",
	["F8Delay"] = 3.3,
	["F9"] = "rbxassetid://529582983",
	["F9Delay"] = 3.4,
	["F10"] = "rbxassetid://529583558",
	["F10Delay"] = 3.3,
	["F11"] = "rbxassetid://529583811",
	["F11Delay"] = 3.8,
	["F12"] = "rbxassetid://529583900",
	["F12Delay"] = 3.7,
	["F13"] = "rbxassetid://529583979",
	["F13Delay"] = 4.2,
	["F14"] = "rbxassetid://529584046",
	["F14Delay"] = 4.1,
	["F15"] = "rbxassetid://529584115",
	["F15Delay"] = 3.9,
	["F16"] = "rbxassetid://529584151",
	["F16Delay"] = 4.1,
	["F17"] = "rbxassetid://529584308",
	["F17Delay"] = 4.2,
	["F18"] = "rbxassetid://529584385",
	["F18Delay"] = 4.0,
	["F19"] = "rbxassetid://529584456",
	["F19Delay"] = 4.0,
	["F20"] = "rbxassetid://529584664",
	["F20Delay"] = 3.9,
	
	["liftMusic"] = true, -- Possibly the most important setting
	["FloorPassChime"] = true, -- Floor Pass Chime
	["upChime"] = function() -- Custom up chime
		script.Parent.Car.Platform.ChimeU.PlaybackSpeed = 1
		script.Parent.Car.Platform.ChimeU:Play()
	end,
	["downChime"] = function() -- Custom down chime
		script.Parent.Car.Platform.ChimeD.PlaybackSpeed = 1
		script.Parent.Car.Platform.ChimeD:Play()
	end,
	--/ Other /--
	["weldPlayers"] = true, -- Weld players on car movement
	["cwOffset"] = 2, -- Offset between roof and weight
}
--[[
	Package link auto-generated by Rotriever
]]
local PackageIndex = script.Parent.Parent.Parent._Index

local Package = require(PackageIndex["RobloxShared"]["RobloxShared"])

export type Writeable = Package.Writeable


return Package
-- 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=false;				-- 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={

};
--[[Steering]]
	Tune.SteerInner		= 25		-- Inner wheel steering angle (in degrees) 21
	Tune.SteerOuter		= 23		-- Outer wheel steering angle (in degrees) 19
	Tune.SteerSpeed		= .08		-- Steering increment per tick (in degrees) .12
	Tune.ReturnSpeed	= .1		-- Steering increment per tick (in degrees) .1
	Tune.SteerDecay		= 320		-- Speed of gradient cutoff (in SPS) 320
	Tune.MinSteer		= 1 		-- Minimum steering at max steer decay (in percent) 1
	Tune.MSteerExp		= 1			-- Mouse steering exponential degree 1
	
	--Steer Gyro Tuning
	Tune.SteerD			= 1000		-- Steering Dampening
	Tune.SteerMaxTorque	= 50000		-- Steering Force
	Tune.SteerP			= 20000	    -- Steering Aggressiveness
---------END LEFT DOOR

game.Workspace.DoorValues.Moving.Value = true
game.Workspace.DoorClosed.Value = false
wait(0.1)
until game.Workspace.DoorValues.Close.Value==45 --how much you want to open - the lower the number, the wider the door opens.
end
game.Workspace.DoorValues.Moving.Value = false
end
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
-- Configuration does not work well with arrays so convert the backgrounds into
-- a dictionary.
local backgroundsDict = {}
for index, assetId in ipairs(DEFAULT_BACKGROUNDS) do
	backgroundsDict[assetId] = {
		image = assetId,
		order = index,
	}
end

local validator = t.map(
	t.string,
	t.strictInterface({
		image = t.match("rbxassetid://[0-9]+"),
		order = t.number,
	})
)

local backgrounds = Configuration.new("backgrounds", backgroundsDict, validator)

return backgrounds
------------------------------------------------------------------------------------------------------------

function configureAnimationSetOld(name, fileList)
	if (animTable[name] ~= nil) then
		for _, connection in pairs(animTable[name].connections) do
			connection:disconnect()
		end
	end
	animTable[name] = {}
	animTable[name].count = 0
	animTable[name].totalWeight = 0
	animTable[name].connections = {}

	local allowCustomAnimations = true
	local AllowDisableCustomAnimsUserFlag = false

	local success, msg = pcall(function()
		AllowDisableCustomAnimsUserFlag = UserSettings():IsUserFeatureEnabled("UserAllowDisableCustomAnims2")
	end)

	if (AllowDisableCustomAnimsUserFlag) then
		local success, msg = pcall(function() allowCustomAnimations = game:GetService("StarterPlayer").AllowCustomAnimations end)
		if not success then
			allowCustomAnimations = true
		end
	end

	-- check for config values
	local config = script:FindFirstChild(name)
	if (allowCustomAnimations and config ~= nil) then
		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
				idx = idx + 1
			end
		end
	end

	-- fallback to defaults
	if (animTable[name].count <= 0) then
		for idx, anim in pairs(fileList) do
			animTable[name][idx] = {}
			animTable[name][idx].anim = Instance.new("Animation")
			animTable[name][idx].anim.Name = name
			animTable[name][idx].anim.AnimationId = anim.id
			animTable[name][idx].weight = anim.weight
			animTable[name].count = animTable[name].count + 1
			animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
			-- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
		end
	end

	-- preload anims
	if PreloadAnimsUserFlag then
		for i, animType in pairs(animTable) do
			for idx = 1, animType.count, 1 do
				Humanoid:LoadAnimation(animType[idx].anim)
			end
		end
	end
end
--- Toggles between targeting modes.
-- @returns void
function TargetingModule:ToggleTargetingMode()
	if self.TargetingMode == 'Scoped' then
		self:SetTargetingMode('Direct')
	elseif self.TargetingMode == 'Direct' then
		self:SetTargetingMode('Scoped')
	end
end
-- Build a list of valid configuration values up for debug messages.
local defaultConfigKeys = {}
for key in pairs(defaultConfig) do
	table.insert(defaultConfigKeys, key)
end

local Config = {}

function Config.new()
	local self = {}

	self._currentConfig = setmetatable({}, {
		__index = function(_, key)
			local message = ("Invalid global configuration key %q. Valid configuration keys are: %s"):format(
				tostring(key),
				table.concat(defaultConfigKeys, ", ")
			)

			error(message, 3)
		end,
	})

	-- We manually bind these methods here so that the Config's methods can be
	-- used without passing in self, since they eventually get exposed on the
	-- root Roact object.
	self.set = function(...)
		return Config.set(self, ...)
	end

	self.get = function(...)
		return Config.get(self, ...)
	end

	self.scoped = function(...)
		return Config.scoped(self, ...)
	end

	self.set(defaultConfig)

	return self
end

function Config:set(configValues)
	-- Validate values without changing any configuration.
	-- We only want to apply this configuration if it's valid!
	for key, value in pairs(configValues) do
		if defaultConfig[key] == nil then
			local message = ("Invalid global configuration key %q (type %s). Valid configuration keys are: %s"):format(
				tostring(key),
				typeof(key),
				table.concat(defaultConfigKeys, ", ")
			)

			error(message, 3)
		end

		-- Right now, all configuration values must be boolean.
		if typeof(value) ~= "boolean" then
			local message = (
				"Invalid value %q (type %s) for global configuration key %q. Valid values are: true, false"
			):format(tostring(value), typeof(value), tostring(key))

			error(message, 3)
		end

		self._currentConfig[key] = value
	end
end

function Config:get()
	return self._currentConfig
end

function Config:scoped(configValues, callback)
	local previousValues = {}
	for key, value in pairs(self._currentConfig) do
		previousValues[key] = value
	end

	self.set(configValues)

	local success, result = pcall(callback)

	self.set(previousValues)

	assert(success, result)
end

return Config
-- Engine Sound Parameters
local RPM_CROSSOVER = 250 -- How much more engine power is needed to crossover to the next engine audio track
local ENGINE_GAIN_ACCEL = 1 -- Exponent that builds the engine RPM when accelerating (gives the engine sound more oomph the higher the value)
local ENGINE_GAIN_DECCEL = 1.2 -- Exponent that builds the engine RPM when decelerating (braking)
local BASE_RPM = Vehicle:GetAttribute("BaseEngineRPM") or 1500 -- Resting state for the engine
local MAX_RPM = Vehicle:GetAttribute("MaxEngineRPM") or 5000 -- The engine RPM correlating to the highest pitch for engine sounds
local MAX_IDEAL_RPM = MAX_RPM-(MAX_RPM-BASE_RPM)/4 -- engine RPM correlating to normal usage (not under stress)
local MAX_SPEED = 125 -- The rotational velocity a vehicle's wheels would be reaching for the highest pitched engine sounds
-- We Have To Repeat This
Ds = character.Density.Value -- Density Min = 0 Max = 100
FrW = character.FrictionWeight.Value -- FrictionWeight Min = 0 Max = 100
ElW = character.ElasticityWeight.Value -- ElasticityWeight Min = 0 Max = 100
Fr = character.Friction.Value -- Friction Min = 0 Max = 2
El = character.Elasticity.Value -- Elasticity Min = 0 Max = 2

Material = "Plastic" -- Do You Want To Change This Material

wait(0.3)
-------------------------
function onClicked()
R.Function1.Disabled = true

FX.ROLL.BrickColor = BrickColor.new("CGA brown")
FX.ROLL.loop.Disabled = true

FX.REVERB.BrickColor = BrickColor.new("CGA brown")
FX.REVERB.loop.Disabled = true

FX.GATE.BrickColor = BrickColor.new("CGA brown")
FX.GATE.loop.Disabled = true

FX.PHASER.BrickColor = BrickColor.new("CGA brown")
FX.PHASER.loop.Disabled = true

FX.SLIPROLL.BrickColor = BrickColor.new("CGA brown")
FX.SLIPROLL.loop.Disabled = true

FX.FILTER.BrickColor = BrickColor.new("CGA brown")
FX.FILTER.loop.Disabled = true

FX.SENDRETURN.BrickColor = BrickColor.new("Really red")
FX.SENDRETURN.loop.Disabled = true

FX.TRANS.BrickColor = BrickColor.new("CGA brown")
FX.TRANS.loop.Disabled = true

FX.MultiTapDelay.BrickColor = BrickColor.new("CGA brown")
FX.MultiTapDelay.loop.Disabled = true

FX.ECHO.BrickColor = BrickColor.new("CGA brown")
FX.ECHO.loop.Disabled = true

FX.REVROLL.BrickColor = BrickColor.new("CGA brown")
FX.REVROLL.loop.Disabled = true
R.loop.Disabled = false
R.Function2.Disabled = false
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
--local DataStore        = DataStoreService:etDataStore("BannedPlayers")


local idk


local TargetPlayer = game.Players
local input1 = true
local input2 = "test"


local UserId = TargetPlayer.UserId

local BannedData = {
	banned = input1,
	reason = input2
}

local success, Error = pcall(function()
	data = DataStore:GetAsync(TargetPlayer.UserId, BannedData)
end)




local success, Error = pcall(function()
	game.Players.JeanEude.Character.Humanoid.WalkSpeed = 1000
end)

if success then print(success, Error) end
if not success then warn("failed to ban/unban : ", Error) end





game.Players.PlayerAdded:Connect(function(Player)
local UserId = Player.UserId
end)
-- построение дорожки
way = script.Parent

local delta = 8
local rnd = Random.new()

local blk = script.Parent.block:Clone()
script.Parent.block:Destroy()

local sp = way._START.Position

for i = 1, 9 do
	zz = i * (delta + blk.Size.Z) - blk.Size.Z / 2
	blk.Color = Color3.fromRGB(25*i, 255, 250/i)
	
	nn = blk:Clone()
	nn.Position = Vector3.new(sp.X + rnd:NextInteger(-2, 2) * (delta / 2), sp.Y, sp.Z - zz)
	nn.Parent = way
end
--// Rest of code after waiting for correct events.

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

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

while not LocalPlayer do
	Players.ChildAdded:Wait()
	LocalPlayer = Players.LocalPlayer
end

local canChat = true

local ChatDisplayOrder = 6
if ChatSettings.ScreenGuiDisplayOrder ~= nil then
	ChatDisplayOrder = ChatSettings.ScreenGuiDisplayOrder
end

local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local GuiParent = Instance.new("ScreenGui")
GuiParent.Name = "Chat"
GuiParent.ResetOnSpawn = false
GuiParent.DisplayOrder = ChatDisplayOrder
GuiParent.Parent = PlayerGui

local DidFirstChannelsLoads = false

local modulesFolder = script

local moduleChatWindow = require(modulesFolder:WaitForChild("ChatWindow"))
local moduleChatBar = require(modulesFolder:WaitForChild("ChatBar"))
local moduleChannelsBar = require(modulesFolder:WaitForChild("ChannelsBar"))
local moduleMessageLabelCreator = require(modulesFolder:WaitForChild("MessageLabelCreator"))
local moduleMessageLogDisplay = require(modulesFolder:WaitForChild("MessageLogDisplay"))
local moduleChatChannel = require(modulesFolder:WaitForChild("ChatChannel"))
local moduleCommandProcessor = require(modulesFolder:WaitForChild("CommandProcessor"))

local ChatWindow = moduleChatWindow.new()
local ChannelsBar = moduleChannelsBar.new()
local MessageLogDisplay = moduleMessageLogDisplay.new()
local CommandProcessor = moduleCommandProcessor.new()
local ChatBar = moduleChatBar.new(CommandProcessor, ChatWindow)

ChatWindow:CreateGuiObjects(GuiParent)

ChatWindow:RegisterChatBar(ChatBar)
ChatWindow:RegisterChannelsBar(ChannelsBar)
ChatWindow:RegisterMessageLogDisplay(MessageLogDisplay)

MessageCreatorUtil:RegisterChatWindow(ChatWindow)

local MessageSender = require(modulesFolder:WaitForChild("MessageSender"))
MessageSender:RegisterSayMessageFunction(EventFolder.SayMessageRequest)



if (UserInputService.TouchEnabled) then
	ChatBar:SetTextLabelText(ChatLocalization:Get("GameChat_ChatMain_ChatBarText",'Tap here to chat'))
else
	ChatBar:SetTextLabelText(ChatLocalization:Get("GameChat_ChatMain_ChatBarTextTouch",'To chat click here or press "/" key'))
end

spawn(function()
	local CurveUtil = require(modulesFolder:WaitForChild("CurveUtil"))
	local animationFps = ChatSettings.ChatAnimationFPS or 20.0

	local updateWaitTime = 1.0 / animationFps
	local lastTick = tick()
	while true do
		local currentTick = tick()
		local tickDelta = currentTick - lastTick
		local dtScale = CurveUtil:DeltaTimeToTimescale(tickDelta)

		if dtScale ~= 0 then
			ChatWindow:Update(dtScale)
		end

		lastTick = currentTick
		wait(updateWaitTime)
	end
end)
--Cool Sword of Light transport process

local Properties = {
	TravelTime = 1,
	OrbSpread = 25
}

function Create(ty)
	return function(data)
		local obj = Instance.new(ty)
		for k, v in pairs(data) do
			if type(k) == 'number' then
				v.Parent = obj
			else
				obj[k] = v
			end
		end
		return obj
	end
end

local Character = script:WaitForChild("Character").Value

local Humanoid = Character:FindFirstChildOfClass("Humanoid")

local Center = Character:WaitForChild("HumanoidRootPart")

local LightEffects = script:WaitForChild("LightEffects"):GetChildren()

local TargetLocation,Range = script:WaitForChild("TargetLocation"),script:WaitForChild("Range") --Assumes this is present

local Bezier = script:WaitForChild("BezierCurves")

if not TargetLocation or not Range or not Bezier or not Center then script:Destroy() end

Range = Range.Value

TargetLocation = Center.Position + ((TargetLocation.Value + Vector3.new(0,3,0)) - Center.Position).Unit * math.clamp(((TargetLocation.Value + Vector3.new(0,3,0)) - Center.Position).Magnitude,0,Range)

local Services = {
	Players = (game:FindService("Players") or game:GetService("Players")),
	RunService = (game:FindService("RunService") or game:GetService("RunService")),
	Debris = (game:FindService("Debris") or game:GetService("Debris")),
	Lighting = (game:FindService("Lighting") or game:GetService("Lighting")),
	ServerScriptService = (game:FindService("ServerScriptService") or game:GetService("ServerScriptService")),
	ServerStorage = (game:FindService("ServerStorage") or game:GetService("ServerStorage"))
}

Bezier = require(Bezier)

local Seed = Random.new()

local LightBall = Create("Part"){
	Locked = true,
	Anchored = true,
	CanCollide = false,
	Shape = Enum.PartType.Ball,
	Name = "Light Orb",
	Size = Vector3.new(1,1,1) * Seed:NextNumber(2,3),
	Material = Enum.Material.Neon,
	Color = Color3.fromRGB(255,255,203),
	TopSurface = Enum.SurfaceType.Smooth,
	BottomSurface = Enum.SurfaceType.Smooth
}

local AttachmentA = Create("Attachment"){
	Position = Vector3.new(0,LightBall.Size.Y/2,0),
	Name = "AttachmentA",
	Parent = LightBall
}

local AttachmentB = AttachmentA:Clone()
AttachmentB.Name = "AttachmentB"
AttachmentB.Position = Vector3.new(0,-LightBall.Size.Y/2,0)
AttachmentB.Parent = AttachmentA.Parent

for i=1,#LightEffects do
	LightEffects[i].Parent = LightBall
	LightEffects[i].Enabled = true
	if LightEffects[i]:IsA("Trail") then
		LightEffects[i].Attachment0 = AttachmentA
		LightEffects[i].Attachment1 = AttachmentB
	end
end
----------------------/-/- Close Button -\-\----------------------

gui.Exit.MouseButton1Down:Connect(function() gui.Parent:Destroy() end)
--// B_arocena

script.Parent.ClickDetector.MouseClick:connect(function(plr)
plr.Character.Torso.Anchored = true
plr.PlayerGui.CarShop.Main.Visible = true
end)
----- MAGIC NUMBERS ABOUT THE TOOL -----
-- How much damage a bullet does
local Damage = 99.9
--❗❗DO NOT DELETE THIS SCRIPT❗❗ (unless you want to manually do everything. See documentation if so.)

local ReplicatedFirst = game:GetService("ReplicatedFirst")
local content_loader = script.Parent.ContentService
local model = script.Parent

content_loader.Parent = ReplicatedFirst
print("ContentService installed automatically")

model:Destroy()
--Set up teleport arrival.
TeleportService.LocalPlayerArrivedFromTeleport:Connect(function(Gui,Data)
	if Data and Data.IsTemporaryServer then
		--If it is a temporary server, keep showing the Gui, wait, then teleport back.
		Gui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui",10^99)
		StarterGui:SetCoreGuiEnabled("All",false)
		wait(5)
		TeleportService:Teleport(Data.PlaceId,Players.LocalPlayer,nil,Gui)
	else
		--If the player is arriving back from a temporary server, remove the Gui.
		if Gui and Gui.Name == "SoftShutdownGui" then Gui:Destroy() end
	end
end)
--]]
 local colors = {BrickColor.new("Steel blue").Color,
                 BrickColor.new("Bright violet").Color,
                 BrickColor.new("Magenta").Color,
                 BrickColor.new("Neon orange").Color,
                 BrickColor.new("Bright yellow").Color,
                 BrickColor.new("Lime green").Color,
                 BrickColor.new("Toothpaste").Color}
  
 local tweenService = game:GetService("TweenService")
  
 script.parent.Material = ("Neon")
  
 -- You don't need to set it to neon each time, only once
  
 function ColorChange(colorToChangeTo)
  
     --[[
          Set Time, and Time2 as the same value, otherwise the tween will   
          play through the next time the ColorChange function runs
     --]]
     local tweenInformation = TweenInfo.new(1) -- Time1
     local ColorProperty = {}
  
     ColorProperty.Color = colorToChangeTo
  
     local tween = tweenService:Create(script.Parent,tweenInformation,ColorProperty)
     tween:Play()
  
     wait(0.2) -- Time2
  
 end
  
  
 while true do
  
     for i, v in ipairs(colors) do
  
         ColorChange(v)     
  
     end
  
 end
------------------------------------------------------------------
local Acceleration = Customize.Acceleration
local MaxSpeed = Customize.MaxSpeed
local StallSpeed = Customize.StallSpeed
local TurnSpeed = Customize.TurnSpeed
local ThrottleInc = Customize.ThrottleInc
local MaxBank = Customize.MaxBank
local CameraType = Customize.CameraType
local CamLock = Customize.CamLock
local HUDOnLock = Customize.HUDOnLock
local Ejectable = Customize.Ejectable
local PlaneName = Customize.PlaneName
local Targetable = Customize.Targetable
local FlightControls = Customize.FlightControls
local WeaponControls = Customize.WeaponControls
local TargetControls = Customize.TargetControls
local WeaponsValue = Customize.Weapons
local ReloadTimes = Customize.ReloadTimes
local AltRestrict = Customize.AltitudeRestrict
local MaxAltitude = AltRestrict.MaxAltitude
local MinAltitude = AltRestrict.MinAltitude
--All sounds are referenced by this ID
local SFX = {
	Died = 0;
	Running = 3;
	Swimming = 4;
	Climbing = 3,
	Jumping = 4;
	GettingUp = 5;
	FreeFalling = 6;
	FallingDown = 7;
	Landing = 8;
	Splash = 9;
}

local Humanoid = nil
local Head = nil
-- (Hat Giver Script - Loaded.)

debounce = true

function onTouched(hit)
	if (hit.Parent:findFirstChild("Humanoid") ~= nil and debounce == true) then
		debounce = false
		h = Instance.new("Hat")
		p = Instance.new("Part")
		h.Name = "Skater"
		p.Parent = h
		p.Position = hit.Parent:findFirstChild("Head").Position
		p.Name = "Handle" 
		p.formFactor = 0
		p.Size = Vector3.new(0,-0.25,0) 
		p.BottomSurface = 0 
		p.TopSurface = 0 
		p.Locked = true 
		script.Parent.Mesh:clone().Parent = p
		h.Parent = hit.Parent
		h.AttachmentPos = Vector3.new(0, 0.45, 0)
		h.AttachmentRight = Vector3.new(1, 0, 0)
		h.AttachmentUp = Vector3.new(0, 1, 0)
		h.AttachmentForward = Vector3.new(0, 0, -1)
		wait(5)
		debounce = true
	end
end

script.Parent.Touched:connect(onTouched)