Pinkstack/roblox-luau-corpus-text huggingface dataset:
---------------------------------------Function end here.


end


Tool.Enabled = true
function onActivated()

	if not Tool.Enabled then
		return
	end

	--Tool.Enabled = false

	local character = Tool.Parent;
	local humanoid = character.Humanoid
	if humanoid == nil then
		print("Humanoid not found")
		return 
	end

	local targetPos = humanoid.TargetPoint
	local lookAt = (targetPos - character.Head.Position).unit

if (check()) then
	fire(lookAt)
wait(0.01)
Tool.Smoke.Smoke.Enabled = true
Tool.BAR1.Transparency = 1
Tool.BAR2.Transparency = 1
Tool.BAR3.Transparency = 1
Tool.BAR4.Transparency = 1
Tool.BAR5.Transparency = 1
Tool.BAR6.Transparency = 1
Tool.BARR1.Transparency = 0
Tool.BARR2.Transparency = 0
Tool.BARR3.Transparency = 0
Tool.BARR4.Transparency = 0
Tool.BARR5.Transparency = 0
Tool.BARR6.Transparency = 0
wait(0.01)
Tool.BAR1.Transparency = 0
Tool.BAR2.Transparency = 0
Tool.BAR3.Transparency = 0
Tool.BAR4.Transparency = 0
Tool.BAR5.Transparency = 0
Tool.BAR6.Transparency = 0
Tool.BARR1.Transparency = 1
Tool.BARR2.Transparency = 1
Tool.BARR3.Transparency = 1
Tool.BARR4.Transparency = 1
Tool.BARR5.Transparency = 1
Tool.BARR6.Transparency = 1
Tool.Smoke.Smoke.Enabled = false
	onActivated()
	end
	return

	--Tool.Enabled = true
end




script.Parent.Activated:connect(onActivated)
--made by Bertox
--lul



script.Parent.Parent.Parent.Parent.DriveSeat.Changed:connect(function()
	if script.Parent.Parent.Parent.Parent.DriveSeat.Occupant ~= nil then
		script.Parent.G.Enabled = true
	elseif script.Parent.Parent.Parent.Parent.DriveSeat.Occupant == nil then
		script.Parent.G.Enabled = false
	end
end)
--//Sub 2\\--





uis.InputBegan:connect (function(input)
	if Surface.Enabled == true then
		if PartyS.Visible == true then
			if input.KeyCode == Enum.KeyCode.A then
				if right == 1 then
						sub.Visible = false
						sub.Party2.Visible = false
						PartyS.Visible = true
						sub.Guild2.Visible = false
						sub.Friends2.Visible = false
						MenuS.Disabled = false
						sub.LocalScript.Disabled = true
					
				end
			end
		end
	end
end)

uis.InputBegan:connect(function(input)
	if Surface.Enabled == true then
		if input.KeyCode == Enum.KeyCode.S then
			if down == 0 then
				sub.Party2.Visible = false
				sub.Friends2.Visible = true
				down = 1				
				print(down)
			end
		end
	end
end)

uis.InputBegan:connect(function(input)
	if Surface.Enabled == true then
		if input.KeyCode == Enum.KeyCode.S then
			if down == 1 then
				sub.Friends2.Visible = false
				sub.Guild2.Visible = true
				down = 2				
				print(down)
			end
		end
	end
end)

uis.InputBegan:connect(function(input)
	if Surface.Enabled == true then
		if input.KeyCode == Enum.KeyCode.W then
			if down == 2 then
				sub.Friends2.Visible = true
				sub.Guild2.Visible = false
				down = 1				
				print(down)
			end
		end
	end
end)
uis.InputBegan:connect(function(input)
	if Surface.Enabled == true then
		if input.KeyCode == Enum.KeyCode.W then
			if down == 1 then
				sub.Friends2.Visible = false
				sub.Party2.Visible = true
				down = 0				
				print(down)
			end
		end
	end
end)
--// bolekinds



script.Parent.MouseButton1Click:Connect(function()
	if game.Players.LocalPlayer.YouCash.Value >= 110 and game.Workspace["Floppa NPC"]["Floppa cube"].contract.Value == false then
		script.Parent.Parent.Parent.Ching:Play()
	else
		script.Parent.Parent.Parent.Thud:Play()
	end
end)
---if you want a supercharger it's simple just set the boost in to your psi - 5 
--[[Turbo]]

 --TOUGEZILAMEMEBRO- 25 IS MAX
Tune.TurboPSI = 15 ---- 25 PSI is best max prefered boost//// how much pressure you're putting on your turbo
Tune.TurboPSIdle = 0.1 --- how much boost it does on Idle //// High idle Boost will increase launch but will make car roll more
Tune.BoostLag = 1.5 --- 1.5 Is as low as you can get --- Doing under 1.5 is illegal! because it will reverse into extra boost
Tune.BoostIn = 1 ---- How fast your turbo gets boost
Tune.TurboSize = 30 --- 10 is Smallest ---- 50 is as big as you can go in a street car
Tune.MisFire = true --- enable only if you have a backfire script -- Name a exhaust part inside body E1 and add fire inside to enable this
Tune.EngineSmoke = true --- just smokie stuff 
Tune.BOVSound = true
--[[



]]



local ReplicatedStorage = game:GetService("ReplicatedStorage")

local AvatarEditor = ReplicatedStorage.AvatarEditor
local Maid = require(AvatarEditor.Shared.Util.Maid)
local Signal = require(AvatarEditor.Shared.Util.Signal)
local Theme = require(AvatarEditor.Client.Theme)

local buttonTemplate = require(AvatarEditor.Gui.ColorTemplateToLua)()

local Class = {}
Class.__index = Class


local function fromHex(hex)
	local r, g, b = string.match(hex, "^#?(%w%w)(%w%w)(%w%w)$")
	return Color3.fromRGB(tonumber(r, 16), tonumber(g, 16), tonumber(b, 16))
end

local function toHex(color)
	return string.format("#%02X%02X%02X", color.R * 255, color.G * 255, color.B * 255)
end


local function isWearing(assets, color3)
	return toHex(assets) == toHex(color3)
end


function Class.new(frame, colorData, wearingTone)
	local self = setmetatable({}, Class)
	
	self.Frame = frame
	self.Wearing = wearingTone
	self.Children = {}
	self.Maid = Maid.new()
	self.Listeners = Maid.new()
	self.ItemSelected = Signal.new()
	
	self.Maid:GiveTask(Theme.Changed:Connect(function()
		self:Render()
	end))

	self.Maid:GiveTask(Theme:Bind(frame, "ScrollBarImageColor3", "Scrollbar"))
	
	for i, v in ipairs(colorData) do
		local button = buttonTemplate:Clone()
		button.BackgroundColor3 = v
		button.Wearing.Visible = isWearing(wearingTone, v)
		button.Parent = frame
		self.Children[i] = button
		
		self.Maid:GiveTask(Theme:Bind(button.Wearing, "ImageColor3", "Wearing"))
		
		self.Maid:GiveTask(button.Activated:Connect(function(inputObject)
			self.ItemSelected:Fire(i)
		end))
	end
	
	return self
end


function Class:Render()
	local maid = self.Listeners
	local wearingTone = self.Wearing
	
	maid:DoCleaning()
	
	for i, v in ipairs(self.Children) do
		v.Wearing.Visible = isWearing(wearingTone, v.BackgroundColor3)
	end
end


function Class:UpdateWearing(wearingTone)
	self.Wearing = wearingTone
	self:Render()
end


function Class:Destroy()
	self.Maid:Destroy()
	self.Maid = nil
	self.Listeners:Destroy()
	self.Listeners = nil
	self.Frame = nil
	self.Wearing = nil
	for i, v in ipairs(self.Children) do
		v:Destroy()
	end
	table.clear(self.Children)
	self.ItemSelected:Destroy()
	self.ItemSelected = nil
end


return Class
--Burning Noise--



local function AttachParticleControl(source_part)
	
	local prtc = nil
	
	local function Start()
		prtc = script.DieselSmoke:clone()
		prtc.Parent = source_part
	end
	
	local function Update()
		
	end
	
	local function Stop()
		if prtc ~= nil then
			prtc:destroy()
			prtc = nil
		end
	end
	
	return {Start = Start, Update = Update, Stop = Stop}
end

return AttachParticleControl
--function ClassZombie:SetPadToOpen()
--	local PrimaryPart = self.Character.PrimaryPart
--	PrimaryPart.Touched:Connect(function(hit)
--		if hit.Name == "TurnPads" then
--			hit.Open.Value = true
--		end
--	end)
--end
--ClassZombie:WalkToWaypoint()





local mod = require(script.Parent.ModuleScript)
------------------
------------------




while true do
	local p = game.Players:GetChildren()
	for i = 1,#p do
		if p[i].Character~=nil then
			if p[i].Character:findFirstChild("Torso")~=nil then
				if (p[i].Character.Torso.Position - script.Parent.Torso.Position).magnitude < 5 then
					local anim = Instance.new("StringValue")
					anim.Value = possibleAnims[math.random(1, #possibleAnims)]
					anim.Name = "toolanim"
					anim.Parent = script.Parent.LinkedSword
				end
			end
		end
	end
	wait(0.5)
end
--[[
Credits To I0IZN For Scripting It
Also Dont Change The Name Of The Model Because It Will Then Ruin The Script
Dont Group It Aswell

Also if you want more then 1 model in your game you will have to switch Flickering to Flickering1
and lights to Lights1, that 1 will keep going up for each model you have.
After that you want to go to the script and change any lines includeing this script =
game.workspace.flickering.lights
To
game.workspace.flickering1.lights1
The 1 will go up depending how much models you have
This is how the script should look



game.Workspace.Flickering1.Lights1.Light.BrickColor = BrickColor.new "Dark stone grey"
game.Workspace.Flickering1.Lights1.Bulb.PointLight.Brightness = "0"

wait(2)

game.Workspace.Flickering1.Lights1.Light.BrickColor = BrickColor.new "Daisy orange"
game.Workspace.Flickering1.Lights1.Bulb.PointLight.Brightness = "3"



if you have 2 light flickering models then its going to be



game.Workspace.Flickering2.Lights2.Light.BrickColor = BrickColor.new "Dark stone grey"
game.Workspace.Flickering2.Lights2.Bulb.PointLight.Brightness = "0"

wait(2)

game.Workspace.Flickering2.Lights2.Light.BrickColor = BrickColor.new "Daisy orange"
game.Workspace.Flickering2.Lights2.Bulb.PointLight.Brightness = "3"

and the number keeps going up by how much models you have.
--]]





for i = 1,50 do    --Set The 50 To How Much You Want It To Flicker--
	
wait(2) --this will adjust how much time will be between a flicker
	
game.Workspace.Flickering.Lights.Light.BrickColor = BrickColor.new "Dark stone grey"
game.Workspace.Flickering.Lights.Bulb.PointLight.Brightness = "0"

wait(2)

game.Workspace.Flickering.Lights.Light.BrickColor = BrickColor.new "Daisy orange"
game.Workspace.Flickering.Lights.Bulb.PointLight.Brightness = "3"
	
end
--// All global vars will be wiped/replaced except script



return function(data, env)
	if env then
		setfenv(1, env)
	end
	
	local playergui = service.PlayerGui
	local localplayer = service.Players.LocalPlayer
	local scr = client.UI.Prepare(script.Parent.Parent)
	local main = scr.Main
	local t1 = main.Title
	local t2 = main.Message
	local msg = data.Message
	local color = data.Color
	
	local found = client.UI.Get("Output")
	if found then
		for i,v in pairs(found) do
			local p = v.Object
			if p and p.Parent then
				p.Main.Position = UDim2.new(0, 0, 0.35, p.Main.Position.Y.Offset+50)
			end
		end
	end
	
	t2.Text = msg
	t2.Font = "Arial"
	--t2.Position = UDim2.new(0, 0, 0.35, 0)
	gTable.Ready()
	wait(5)
	gTable.Destroy()
end
-- events



REMOTES.Chat.OnServerEvent:connect(function(player, message, scope)
	local players
	
	if scope == "Global" then
		players	= Players:GetPlayers()
	elseif scope == "Squad" then
		local squad	= GetSquad(player)
		if squad then
			players	= {}
			
			for _, p in pairs(squad:GetChildren()) do
				table.insert(players, p.Value)
			end
		end
	end
	
	if not cooldowns[player] then
		cooldowns[player]	= 0
	end
	
	cooldowns[player]	= cooldowns[player] + 1
	
	if cooldowns[player] <= MAX_PER_SECOND then
		if players then
			if string.gsub(message, "%s", "") ~= "" then
				local result	= TextService:FilterStringAsync(message, player.UserId)
				for _, p in pairs(players) do
					spawn(function()
						pcall(function()
							if player.Parent == Players and p.Parent == Players and Chat:CanUsersChatAsync(player.UserId, p.UserId) then
								local filtered	= result:GetChatForUserAsync(p.UserId)
								REMOTES.Chat:FireClient(p, player.Name, filtered, scope)
							end
						end)
					end)
				end
			end
		end
	else
		REMOTES.Chat:FireClient(player, "SERVER", "Woah there, you're sending messages too fast!", "Server")
	end
end)

Players.PlayerRemoving:connect(function(player)
	if cooldowns[player] then
		cooldowns[player]	= nil
	end
end)
-- StarterGui:SetCore() takes a few frames to set up, need to wait


wait(0.1)

local function setCoreInit()
	StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)
	StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false)
end

while not pcall(function() setCoreInit() end) do
	wait(0)
end
-------- OMG HAX



r = game:service("RunService")


local damage = 10

local slash_damage = 12
local lunge_damage = 25

sword = script.Parent.Handle
Tool = script.Parent


local SlashSound = Instance.new("Sound")
SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
SlashSound.Parent = sword
SlashSound.Volume = .7

local LungeSound = Instance.new("Sound")
LungeSound.SoundId = "rbxasset://sounds\\swordlunge.wav"
LungeSound.Parent = sword
LungeSound.Volume = .6

local UnsheathSound = Instance.new("Sound")
UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav"
UnsheathSound.Parent = sword
UnsheathSound.Volume = 1


function blow(hit)
	local humanoid = hit.Parent:findFirstChild("Humanoid")
	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)
	local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character
	if humanoid~=nil and humanoid ~= hum and hum ~= nil then
		-- final check, make sure sword is in-hand

		local right_arm = vCharacter:FindFirstChild("Right Arm")
		if (right_arm ~= nil) then
			local joint = right_arm:FindFirstChild("RightGrip")
			if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then
				tagHumanoid(humanoid, vPlayer)
				humanoid:TakeDamage(damage)
			end
		end


	end
end


function tagHumanoid(humanoid, player)
	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = player
	creator_tag.Name = "creator"
	creator_tag.Parent = humanoid
	game.Debris:AddItem(creator_tag, 1)
end


function attack()
	damage = slash_damage
	SlashSound:play()
	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Slash"
	anim.Parent = Tool
end

function lunge()
	damage = lunge_damage

	LungeSound:play()

	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Lunge"
	anim.Parent = Tool
	
	
	local force = Instance.new("BodyVelocity")
	force.velocity = Vector3.new(0,10,0) --Tool.Parent.Torso.CFrame.lookVector * 80
	force.Parent = Tool.Parent.Torso
	wait(.25)
	swordOut()
	wait(.25)
	force.Parent = nil
	wait(.5)
	swordUp()

	damage = slash_damage
end

function swordUp()
	Tool.GripForward = Vector3.new(-1,0,0)
	Tool.GripRight = Vector3.new(0,1,0)
	Tool.GripUp = Vector3.new(0,0,1)
end

function swordOut()
	Tool.GripForward = Vector3.new(0,0,1)
	Tool.GripRight = Vector3.new(0,-1,0)
	Tool.GripUp = Vector3.new(-1,0,0)
end

function swordAcross()
	-- parry
end


Tool.Enabled = true
local last_attack = 0
function onActivated()

	if not Tool.Enabled then
		return
	end

	Tool.Enabled = false

	local character = Tool.Parent;
	local humanoid = character.Humanoid
	if humanoid == nil then
		print("Humanoid not found")
		return 
	end

	t = r.Stepped:wait()

	if (t - last_attack < 4) then
		lunge()
	else
		attack()
	end

	last_attack = t

	--wait(.5)

	Tool.Enabled = true
end


function onEquipped()
	UnsheathSound:play()
end


script.Parent.Activated:connect(onActivated)
script.Parent.Equipped:connect(onEquipped)


connection = sword.Touched:connect(blow)
-- Setup


gradientReference.BackgroundColor3 = START_COLOR
colorGoal = END_COLOR

local tweenInfo = TweenInfo.new(TWEEN_TIME, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 1, true)
local tween = TweenService:Create(gradientReference, tweenInfo, {BackgroundColor3 = colorGoal} )

tween:Play()

tween.Completed:Connect(function()
	if gradientReference.BackgroundColor3 == END_COLOR then gradientReference.BackgroundColor3 = START_COLOR end
	tween:Play()
end)
--[ FUNCTIONS ]--



game.Players.PlayerAdded:Connect(function(player) -- When Player Join
	player.CharacterAdded:Connect(function(chr) -- Grabs Player Character
		player.Chatted:Connect(function(msg) -- When Player Chats
			
			local Humanoid = chr:WaitForChild("Humanoid") -- Getting Humanoid
			local Desc = Humanoid:GetAppliedDescription() -- Getting Humanoid Description
			Desc.RightLeg = 139607718 -- Korblox Leg
			
			-- IF command match start --
			
			if msg:sub(1, Command:len()):lower() == Command:lower() then -- if msg is /e headless then
				Humanoid:ApplyDescription(Desc)	
			end

			-- IF command match end --
			
		end)
	end)
end)
-- Waits for the child of the specified parent


local function WaitForChild(parent, childName)
	while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end
	return parent[childName]
end


local Tool = script.Parent
local Handle = WaitForChild(Tool, 'Handle')
local Debounce = false

local TouchConnection


function OnTouched(hit)
	local humanoid = hit.Parent:findFirstChild('Humanoid')
	if Debounce == false then
		Debounce = true
		if humanoid then
			Handle.Splat:Play()
		else
		end
	end
	wait(0.5)
	Debounce = false
end


Tool.Equipped:connect(function()
	TouchConnection = Handle.Touched:connect(OnTouched)
end)

Tool.Unequipped:connect(function()
	if TouchConnection then
		TouchConnection:disconnect()
		TouchConnection = nil
	end
end)
--[=[
	@function Burn
	@within Blend

	@param background Color3 -- The background colour.
	@param foreground Color3 -- The foreground colour.
	@return Color3 -- The resulting colour.
]=]


return PrepFilter("Burn", function(background: number, foreground: number): number
	local bg = clamp(background * 255, 0, 255)
	local fg = foreground * 255

	return (bg == 0) and bg or max(0, (255 - lshift((255 - fg), 8) / bg))
end)
-- constants



local PLAYER	= Players.LocalPlayer
local CAMERA	= Workspace.CurrentCamera
local EFFECTS	= Workspace:WaitForChild("Effects")
local EVENTS	= ReplicatedStorage:WaitForChild("Events")
local REMOTES	= ReplicatedStorage:WaitForChild("Remotes")
local MODULES	= ReplicatedStorage:WaitForChild("Modules")
	local MOUSE		= require(MODULES:WaitForChild("Mouse"))
	local SPRING	= require(MODULES:WaitForChild("Spring"))
	
local GUI		= script.Parent
local MOUSE_GUI	= GUI:WaitForChild("Mouse")
local SCOPE_GUI	= GUI:WaitForChild("Scope")
-- merge properties on both table to target


function mergeProps(source, target)
	if not source then return end
	for prop, value in pairs(source) do
		target[prop] = value
	end
end

function ReturnToObjectPoolRecursive(instance, objectPool)
	local children = instance:GetChildren()
	for i = 1, #children do
		ReturnToObjectPoolRecursive(children[i], objectPool)
	end
	instance.Parent = nil
	objectPool:ReturnInstance(instance)
end

function GetMessageCreators()
	local typeToFunction = {}
	local creators = messageCreatorModules:GetChildren()
	for i = 1, #creators do
		if creators[i]:IsA("ModuleScript") then
			if creators[i].Name ~= "Util" then
				local creator = require(creators[i])
				typeToFunction[creator[messageCreatorUtil.KEY_MESSAGE_TYPE]] = creator[messageCreatorUtil.KEY_CREATOR_FUNCTION]
			end
		end
	end
	return typeToFunction
end

function methods:WrapIntoMessageObject(messageData, createdMessageObject)
	local BaseFrame = createdMessageObject[messageCreatorUtil.KEY_BASE_FRAME]
	local BaseMessage = nil
	if messageCreatorUtil.KEY_BASE_MESSAGE then
		BaseMessage = createdMessageObject[messageCreatorUtil.KEY_BASE_MESSAGE]
	end
	local UpdateTextFunction = createdMessageObject[messageCreatorUtil.KEY_UPDATE_TEXT_FUNC]
	local GetHeightFunction = createdMessageObject[messageCreatorUtil.KEY_GET_HEIGHT]
	local FadeInFunction = createdMessageObject[messageCreatorUtil.KEY_FADE_IN]
	local FadeOutFunction = createdMessageObject[messageCreatorUtil.KEY_FADE_OUT]
	local UpdateAnimFunction = createdMessageObject[messageCreatorUtil.KEY_UPDATE_ANIMATION]

	local obj = {}

	obj.ID = messageData.ID
	obj.BaseFrame = BaseFrame
	obj.BaseMessage = BaseMessage
	obj.UpdateTextFunction = UpdateTextFunction or function() warn("NO MESSAGE RESIZE FUNCTION") end
	obj.GetHeightFunction = GetHeightFunction
	obj.FadeInFunction = FadeInFunction
	obj.FadeOutFunction = FadeOutFunction
	obj.UpdateAnimFunction = UpdateAnimFunction
	obj.ObjectPool = self.ObjectPool
	obj.Destroyed = false

	function obj:Destroy()
		ReturnToObjectPoolRecursive(self.BaseFrame, self.ObjectPool)
		self.Destroyed = true
	end

	return obj
end

function methods:CreateMessageLabel(messageData, currentChannelName)

	messageData.Channel = currentChannelName
	local extraDeveloperFormatTable
	pcall(function()
		extraDeveloperFormatTable = Chat:InvokeChatCallback(Enum.ChatCallbackType.OnClientFormattingMessage, messageData)
	end)
	messageData.ExtraData = messageData.ExtraData or {}
	mergeProps(extraDeveloperFormatTable, messageData.ExtraData)

	local messageType = messageData.MessageType
	if self.MessageCreators[messageType] then
		local createdMessageObject = self.MessageCreators[messageType](messageData, currentChannelName)
		if createdMessageObject then
			return self:WrapIntoMessageObject(messageData, createdMessageObject)
		end
	elseif self.DefaultCreatorType then
		local createdMessageObject = self.MessageCreators[self.DefaultCreatorType](messageData, currentChannelName)
		if createdMessageObject then
			return self:WrapIntoMessageObject(messageData, createdMessageObject)
		end
	else
		error("No message creator available for message type: " ..messageType)
	end
end
--[[Brakes]]


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

	Tune.FBrakeForce	= 5000		-- Front brake force
	Tune.RBrakeForce	= 6000		-- Rear brake force
	Tune.PBrakeForce	= 20000		-- Handbrake force
	
	Tune.FLgcyBForce	= 5000		-- Front brake force [PGS OFF]
	Tune.RLgcyBForce	= 4500		-- Rear brake force [PGS OFF]
	Tune.LgcyPBForce	= 20000		-- Handbrake force [PGS OFF]
--[[[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
		ToggleTCS				= Enum.KeyCode.T					,
		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.DPadUp				,
		ContlrToggleTCS			= Enum.KeyCode.DPadDown				,
		ContlrToggleABS			= Enum.KeyCode.DPadRight			,
	}
	
return Tune
-- loop



DROPS.ChildAdded:connect(function(drop)
	for _, other in pairs(DROPS:GetChildren()) do
		if other ~= drop then
			local offset	= drop.Position - other.Position
			if math.abs(offset.X) < 2 and math.abs(offset.Y) < 2 and math.abs(offset.Z) < 2 then
				local distance	= offset.Magnitude
				if distance < 2 then
					if distance == 0 then
						offset	= Vector3.new(0, 0, 1)
					end
					drop.CFrame		= drop.CFrame + Vector3.new(offset.X, 0, offset.Z).Unit * 2
				end
			end
		end
	end
end)