Roblox/luau_corpus huggingface dataset:
--Precalculated paths
local t,f,n=true,false,{}
local r={
[58]={{26,27,28,29,31,32,34,35,39,41,30,56,58},t},
[49]={{26,27,28,44,45,49},t},
[16]={n,f},
[19]={{26,27,28,29,31,32,34,35,39,41,30,56,58,20,19},t},
[59]={{26,27,28,29,31,32,34,35,39,41,59},t},
[63]={{26,27,28,29,31,32,34,35,39,41,30,56,58,23,62,63},t},
[34]={{26,27,28,29,31,32,34},t},
[21]={{26,27,28,29,31,32,34,35,39,41,30,56,58,20,21},t},
[48]={{26,27,28,44,45,49,48},t},
[27]={{26,27},t},
[14]={n,f},
[31]={{26,27,28,29,31},t},
[56]={{26,27,28,29,31,32,34,35,39,41,30,56},t},
[29]={{26,27,28,29},t},
[13]={n,f},
[47]={{26,27,28,44,45,49,48,47},t},
[12]={n,f},
[45]={{26,27,28,44,45},t},
[57]={{26,27,28,29,31,32,34,35,39,41,30,56,57},t},
[36]={{26,27,28,29,31,32,33,36},t},
[25]={{26,25},t},
[71]={{26,27,28,29,31,32,34,35,39,41,59,61,71},t},
[20]={{26,27,28,29,31,32,34,35,39,41,30,56,58,20},t},
[60]={{26,27,28,29,31,32,34,35,39,41,60},t},
[8]={n,f},
[4]={n,f},
[75]={{26,27,28,29,31,32,34,35,39,41,59,61,71,72,76,73,75},t},
[22]={{26,27,28,29,31,32,34,35,39,41,30,56,58,20,21,22},t},
[74]={{26,27,28,29,31,32,34,35,39,41,59,61,71,72,76,73,74},t},
[62]={{26,27,28,29,31,32,34,35,39,41,30,56,58,23,62},t},
[1]={n,f},
[6]={n,f},
[11]={n,f},
[15]={n,f},
[37]={{26,27,28,29,31,32,33,36,37},t},
[2]={n,f},
[35]={{26,27,28,29,31,32,34,35},t},
[53]={{26,27,28,44,45,49,48,47,52,53},t},
[73]={{26,27,28,29,31,32,34,35,39,41,59,61,71,72,76,73},t},
[72]={{26,27,28,29,31,32,34,35,39,41,59,61,71,72},t},
[33]={{26,27,28,29,31,32,33},t},
[69]={{26,27,28,29,31,32,34,35,39,41,60,69},t},
[65]={{26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,65},t},
[26]={{26},t},
[68]={{26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,67,68},t},
[76]={{26,27,28,29,31,32,34,35,39,41,59,61,71,72,76},t},
[50]={{26,27,28,44,45,49,48,47,50},t},
[66]={{26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66},t},
[10]={n,f},
[24]={{26,25,24},t},
[23]={{26,27,28,29,31,32,34,35,39,41,30,56,58,23},t},
[44]={{26,27,28,44},t},
[39]={{26,27,28,29,31,32,34,35,39},t},
[32]={{26,27,28,29,31,32},t},
[3]={n,f},
[30]={{26,27,28,29,31,32,34,35,39,41,30},t},
[51]={{26,27,28,44,45,49,48,47,50,51},t},
[18]={n,f},
[67]={{26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,67},t},
[61]={{26,27,28,29,31,32,34,35,39,41,59,61},t},
[55]={{26,27,28,44,45,49,48,47,52,53,54,55},t},
[46]={{26,27,28,44,45,49,48,47,46},t},
[42]={{26,27,28,29,31,32,34,35,38,42},t},
[40]={{26,27,28,29,31,32,34,35,40},t},
[52]={{26,27,28,44,45,49,48,47,52},t},
[54]={{26,27,28,44,45,49,48,47,52,53,54},t},
[43]={n,f},
[7]={n,f},
[9]={n,f},
[41]={{26,27,28,29,31,32,34,35,39,41},t},
[17]={n,f},
[38]={{26,27,28,29,31,32,34,35,38},t},
[28]={{26,27,28},t},
[5]={n,f},
[64]={{26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64},t},
}
return r
--- RUNTIME ---

for _,NPC in pairs(workspace.Enemies:GetChildren()) do
	Distribute(NPC)
end

workspace.Enemies.ChildAdded:Connect(Distribute)
--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
-- Legs
character.LeftUpperLeg.Material = Material
character.RightUpperLeg.Material = Material
character.LeftLowerLeg.Material = Material
character.RightLowerLeg.Material = Material
--------------------) Settings
Damage = 0 -- the ammout of health the player or mob will take

Cooldown = 7 -- cooldown for use of the tool again

ZoneModelName = "Dust slash" -- name the zone model

MobHumanoidName = "Humanoid"-- the name of player or mob u want to damage
--// F key, HornOn
mouse.KeyDown:connect(function(key)
	if key=="h" then 
		veh.Lightbar.middle.Airhorn:Play()
		veh.Lightbar.middle.Wail.Volume = 0
		veh.Lightbar.middle.Yelp.Volume = 0
		veh.Lightbar.middle.Priority.Volume = 0 
		veh.Lightbar.AH.Transparency = 0
	end
end)
--NOTE
--The animation can bug out, im still trying to find a way to fix that.

repeat wait() until game:IsLoaded()
wait(0.01)
local TweenService = game:GetService("TweenService") 
local tweenPart = game.Players.LocalPlayer.Character.Humanoid 

local info = TweenInfo.new(
	0.325,          
	Enum.EasingStyle.Back,  
	Enum.EasingDirection.Out,  
	0,                
	false,         
	0             
)
local info2 = TweenInfo.new(
	0.3,   
	Enum.EasingStyle.Back,   
	Enum.EasingDirection.Out,  
	0,               
	false,              
	0               
)

local Goals = {CameraOffset = Vector3.new(0,-1,0)}
local Goals2 = {CameraOffset = Vector3.new(0,0,0)}

local animsR6 = script.Parent.Parent.R6Anims
local animsR15 = script.Parent.Parent.R15Anims

local PartTween = TweenService:Create(tweenPart, info, Goals)
local PartTween2 = TweenService:Create(tweenPart, info2, Goals2)

local animidle = tweenPart:LoadAnimation(animsR15.Idle)
local animwalk = tweenPart:LoadAnimation(animsR15.Walk)

if tweenPart.RigType == Enum.HumanoidRigType.R6 then
	animidle = tweenPart:LoadAnimation(animsR6.Idle)
	animwalk = tweenPart:LoadAnimation(animsR6.Walk)
elseif tweenPart.RigType == Enum.HumanoidRigType.R15 then
	animidle = tweenPart:LoadAnimation(animsR15.Idle)
	animwalk = tweenPart:LoadAnimation(animsR15.Walk)
end

local crouching = false
local waiting = false

local function Crouch()
	if waiting == false then
		if crouching == false then
			script.Parent.Parent.ImageColor3 = script.Parent.Parent.Values.OnCrouchColor.Value
			script.Parent.Parent.CrouchImage.ImageColor3 = Color3.new(1, 1, 1)
			tweenPart.WalkSpeed = 8
			waiting = true
			crouching = true
			animidle:Play()
			PartTween:Play() --plays it
			tweenPart.Running:Connect(function(Speed)
				if crouching == true then
					if Speed >= 1 then
						animidle:Stop()
						if animwalk.IsPlaying == false then
							animwalk:Play()
						end

					else
						animidle:Play()
						animwalk:Stop()
					end
				end
			end)
			wait(0.05)
			waiting = false
		else
			script.Parent.Parent.ImageColor3 = script.Parent.Parent.Values.OriginalColor.Value
			script.Parent.Parent.CrouchImage.ImageColor3 = Color3.new(0, 0, 0)
			tweenPart.WalkSpeed = 16
			waiting = true
			crouching = false
			animidle:Stop()
			animwalk:Stop()
			PartTween2:Play()
			wait(0.05)
			waiting = false
		end
	end
end
local userinputservice = game:GetService("UserInputService")
userinputservice.InputBegan:Connect(function(input)
	if script.Parent.Parent.Visible == true then
		if input.KeyCode == Enum.KeyCode.C then
			Crouch()
		end
	end
end)
script.Parent.Parent.MouseButton1Click:Connect(function()
	Crouch()
end)
--[[
	ROBLOX TODO: add default generic param when possible
	original code:
	export const getState = <State extends MatcherState = MatcherState>(): State =>
]]
local function getState<State>(): State
	return _G[JEST_MATCHERS_OBJECT].state
end

return {
	JEST_MATCHERS_OBJECT = JEST_MATCHERS_OBJECT,
	getState = getState,
}
-- Initialize rotate tool
local RotateTool = require(CoreTools:WaitForChild 'Rotate')
Core.AssignHotkey('C', Core.Support.Call(Core.EquipTool, RotateTool));
Core.Dock.AddToolButton(Core.Assets.RotateIcon, 'C', RotateTool, 'RotateInfo');
-- the Tool, reffered to here as "Block." Do not change it!
Block = script.Parent.Parent.Fuse1Pick -- You CAN change the name in the quotes "Example Tool"
-- Returns module (possibly nil) and success code to differentiate returning nil due to error vs Scriptable
function ControlModule:SelectComputerMovementModule()
	if not (UserInputService.KeyboardEnabled or UserInputService.GamepadEnabled) then
		return nil, false
	end

	local computerModule = nil
	local DevMovementMode = Players.LocalPlayer.DevComputerMovementMode

	if DevMovementMode == Enum.DevComputerMovementMode.UserChoice then
		computerModule = computerInputTypeToModuleMap[lastInputType]
		if UserGameSettings.ComputerMovementMode == Enum.ComputerMovementMode.ClickToMove and computerModule == Keyboard then
			-- User has ClickToMove set in Settings, prefer ClickToMove controller for keyboard and mouse lastInputTypes
			computerModule = ClickToMove
		end
	else
		-- Developer has selected a mode that must be used.
		computerModule = movementEnumToModuleMap[DevMovementMode]

		-- computerModule is expected to be nil here only when developer has selected Scriptable
		if (not computerModule) and DevMovementMode ~= Enum.DevComputerMovementMode.Scriptable then
			warn("No character control module is associated with DevComputerMovementMode ", DevMovementMode)
		end
	end

	if computerModule then
		return computerModule, true
	elseif DevMovementMode == Enum.DevComputerMovementMode.Scriptable then
		-- Special case where nil is returned and we actually want to set self.activeController to nil for Scriptable
		return nil, true
	else
		-- This case is for when computerModule is nil because of an error and no suitable control module could
		-- be found.
		return nil, false
	end
end
--[=[
	Disconnects all connections from a ScriptSignal object without making it unusable.

	```lua
	local connection = ScriptSignal:Connect(function() end)

	connection.Connected -> true
	ScriptSignal:DisconnectAll()
	connection.Connected -> false
	```

	@ignore
]=]
function ScriptSignal:DisconnectAll()
	local node: ScriptConnectionNode? = self._head
	while node ~= nil do
		local _connection = node._connection

		if _connection ~= nil then
			_connection.Connected = false
			_connection._node = nil
			node._connection = nil
		end

		node = node._next
	end

	self._head = nil
end
--[=[
	Calculates the current shake vector. This should be continuously
	called inside a loop, such as `RunService.Heartbeat`. Alternatively,
	`OnSignal` or `BindToRenderStep` can be used to automatically call
	this function.

	Returns a tuple of three values:
	1. `position: Vector3` - Position shake offset
	2. `rotation: Vector3` - Rotation shake offset
	3. `completed: boolean` - Flag indicating if the shake is finished

	```lua
	local hb
	hb = RunService.Heartbeat:Connect(function()
		local offsetPosition, offsetRotation, isDone = shake:Update()
		if isDone then
			hb:Disconnect()
		end
		-- Use `offsetPosition` and `offsetRotation` here
	end)
	```
]=]
function Shake:Update(): (Vector3, Vector3, boolean)

	local done = false

	local now = self.TimeFunction()
	local dur = now - self._startTime

	local noiseInput = ((now + self._timeOffset) / self.Frequency) % 1000000

	local multiplierFadeIn = 1
	local multiplierFadeOut = 1
	if dur < self.FadeInTime then
		multiplierFadeIn = dur / self.FadeInTime
	end
	if not self.Sustain and dur > self.FadeInTime + self.SustainTime then
		multiplierFadeOut = 1 - (dur - self.FadeInTime - self.SustainTime) / self.FadeOutTime
		if (not self.Sustain) and dur >= self.FadeInTime + self.SustainTime + self.FadeOutTime then
			done = true
		end
	end

	local offset = Vector3.new(
		math.noise(noiseInput, 0) / 2,
		math.noise(0, noiseInput) / 2,
		math.noise(noiseInput, noiseInput) / 2
	) * self.Amplitude * math.min(multiplierFadeIn, multiplierFadeOut)

	if done then
		self:Stop()
	end

	return self.PositionInfluence * offset, self.RotationInfluence * offset, done

end
-- Public Functions
function ParticleController.SetupParticlesPlayer(player)
	local character = player.Character or player.CharacterAdded:wait()
	
	-- Create all relevant particles TODO: Use a for loop for this instead?
	local _upgradeParticle = upgradeParticle:Clone()
	local _upgradeCheckpoint = upgradeCheckpoint:Clone()
	
	_upgradeParticle.Parent = character:WaitForChild(particleHolderName)
	_upgradeCheckpoint.Parent = character:WaitForChild(particleHolderName)
end

function ParticleController.EmitCheckpointParticle(player)
	-- Get the particle on the player and make it emit
	local character = player.Character
	local particleHolder = character:WaitForChild(particleHolderName)
	local particleEffect = particleHolder:WaitForChild("ParticleCheckpoint")
	particleEffect:Emit(particleEmitRate)
end

function ParticleController:CreateUpgradeParticle(player)
	local character = player.Character or player.CharacterAdded:wait()
	local particleEffect = upgradeCheckpoint:Clone()
	particleEffect.Parent = character:WaitForChild(particleHolderName)
	particleEffect:Emit(particleEmitRate)
end


return ParticleController
----------------------------------------------------------------------------------------------------
--------------------=[ OUTROS ]=--------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
	,FastReload = false					--- Automatically operates the bolt on reload if needed
	,SlideLock = true
	,MoveBolt = false
	,BoltLock = false
	,CanBreachDoor = false
	,CanBreak = true					--- Weapon can jam?
	,JamChance = 1000					--- This old piece of brick doesn't work fine >;c
	,IncludeChamberedBullet = true		--- Include the chambered bullet on next reload
	,Chambered = false					--- Start with the gun chambered?
	,LauncherReady = false				--- Start with the GL ready?
	,CanCheckMag = true					--- You can check the magazine
	,ArcadeMode = false					--- You can see the bullets left in magazine
	,RainbowMode = false				--- Operation: Party Time xD
	,ModoTreino = false					--- Surrender enemies instead of killing them
	,GunSize = 1
	,GunFOVReduction = 5

	,BoltExtend = Vector3.new(0, 0, 0.225)
	,SlideExtend = Vector3.new(0, 0, -0.4)
--[[
	Creates a new copy of the dictionary and sets a value inside it.
]]
function Immutable.Set(dictionary, key, value)
	local new = {}

	for k, v in next, dictionary do
		new[k] = v
	end

	new[key] = value

	return new
end
-- ================================================================================
-- VARIABLES
-- ================================================================================
-- Services
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local ContextActionService = game:GetService("ContextActionService")
local GuiService = game:GetService("GuiService")
local UserInputService = game:GetService("UserInputService")
--[=[
	@within RemoteSignal
	@interface Connection
	.Disconnect () -> nil
]=]

function RemoteSignal.new(parent: Instance, name: string, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?)
	local self = setmetatable({}, RemoteSignal)
	self._re = Instance.new("RemoteEvent")
	self._re.Name = name
	self._re.Parent = parent
	if outboundMiddleware and #outboundMiddleware > 0 then
		self._hasOutbound = true
		self._outbound = outboundMiddleware
	else
		self._hasOutbound = false
	end
	if inboundMiddleware and #inboundMiddleware > 0 then
		self._directConnect = false
		self._signal = Signal.new()
		self._re.OnServerEvent:Connect(function(player, ...)
			local args = table.pack(...)
			for _,middlewareFunc in ipairs(inboundMiddleware) do
				local middlewareResult = table.pack(middlewareFunc(player, args))
				if not middlewareResult[1] then
					return
				end
			end
			self._signal:Fire(player, table.unpack(args, 1, args.n))
		end)
	else
		self._directConnect = true
	end
	return self
end
--!strict
local fmt = string.format

local template = "%02d:%02d:%02d"

local function formatTime(value: number): string
	local seconds = value % 60
	local minutes = math.floor(value / 60) % 60
	local hours = math.floor(value / (60 * 60))
	
	return fmt(template, hours, minutes, seconds)
end

return formatTime
--Text alignment default properties
defaults.ContainerHorizontalAlignment = "Left" -- Align,ent of text within frame container
defaults.ContainerVerticalAlignment = "Top" 
defaults.TextYAlignment = "Bottom" -- Alignment of the text on the line, only makes a difference if the line has variable text sizes
-- Initialize Cmdr
Cmdr:RegisterHooksIn(ServerStorage.ConsoleHooks)
Cmdr:RegisterDefaultCommands()
Cmdr:RegisterCommandsIn(ServerStorage.ConsoleCommands)
-- aqui detectamos cuando clickeamos el boton
muteBtn.MouseButton1Click:Connect(function()
	visibleIcon = not visibleIcon
	muteIcon.Visible = visibleIcon
	local sound = game.SoundService:FindFirstChild("Sound")
	
	if visibleIcon and sound then
		sound.Volume = 0
	elseif not visibleIcon and sound then
		sound.Volume = 0.5
	end
end)

while wait() do
	for i,s in pairs(game.SoundService:GetChildren())do
		s:Destroy()
	end
	
	local random = math.random(1, #musicFolder:GetChildren())
	local sound = musicFolder:GetChildren()[random]
	local soundClone = sound:Clone()
	
	showMusic(musicGui, sound.Name)	
	soundClone.Name = "Sound"
	soundClone.Parent = game.SoundService
	soundClone:Play()
	soundClone.Ended:Wait()
	soundClone:Destroy()
end
--// Walk and Sway
local L_135_

local L_136_ = 0.6
local L_137_ = 0.05 -- speed
local L_138_ = -0.1 -- height

local L_139_ = 0
local L_140_ = 0
local L_141_ = 35 --This is the limit of the mouse input for the sway
local L_142_ = -9 --This is the magnitude of the sway when you're unaimed
local L_143_ = -9 --This is the magnitude of the sway when you're aimed
-- RateLimiter object:
local RateLimiterObject = {
	--[[
		_sources = {},
		_rate_period = 0,
	--]]
}
RateLimiterObject.__index = RateLimiterObject

function RateLimiterObject:CheckRate(source) --> is_to_be_processed [bool] -- Whether event should be processed
	local sources = self._sources
	local os_clock = os.clock()
	
	local rate_time = sources[source]
	if rate_time ~= nil then
		rate_time = math.max(os_clock, rate_time + self._rate_period)
		if rate_time - os_clock < 1 then
			sources[source] = rate_time
			return true
		else
			return false
		end
	else
		-- Preventing from remembering players that already left:
		if typeof(source) == "Instance" and source:IsA("Player")
			and PlayerReference[source] == nil then
			return false
		end
		sources[source] = os_clock + self._rate_period
		return true
	end
end

function RateLimiterObject:CleanSource(source) -- Forgets about the source - must be called for any object that
	self._sources[source] = nil
end

function RateLimiterObject:Cleanup() -- Forgets all sources
	self._sources = {}
end

function RateLimiterObject:Destroy() -- Make the RateLimiter module forget about this RateLimiter object
	RateLimiters[self] = nil
end
--[[Transmission]]
	Tune.TransModes		= {"Auto","Semi","Manual"}												--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch
		
		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}								
		>First mode is default mode													]]
	
	--Automatic Settings
	Tune.AutoShiftMode	= "RPM"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]	
	Tune.AutoUpThresh	= -200		-- Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		-- Automatic downshift point (relative to peak RPM, positive = Under-rev)
	Tune.ShiftTime = .3				-- The time delay in which you initiate a shift and the car changes gear
	
	--Gear Ratios
	
	Tune.FinalDrive		= 0.8		 --		[TRANSMISSION CALCULATIONS FOR NERDS]
	Tune.Ratios			= {			 --		SPEED [SPS]	 = (Wheel diameter(studs) * math.pi * RPM) / (60 * Gear Ratio * Final Drive * Multiplier)
		--[[ R ]]		18.641		,--		WHEEL TORQUE = Engine Torque * Gear Ratio * Final Drive * Multiplier
		--[[ N ]]		0			,
		--[[ 1 ]]		16.641		,
		--[[ 2 ]]		12.342		,
		--[[ 3 ]]		9.812		,
		--[[ 4 ]]		7.765		,
		--[[ 5 ]]		6.272		,
		--[[ 6 ]]		5.045		,
	}
	Tune.FDMult			= 1			-- Ratio multiplier (keep this at 1 if car is not struggling with torque)
-- ================================================================================
-- EVENT CONNECTIONS
-- ================================================================================
UserInputService.InputBegan:Connect(InputBegan)
UserInputService.InputEnded:Connect(InputEnded)
UserInputService.InputChanged:Connect(InputChanged)
UserInputService.GamepadConnected:Connect(GamepadConnected)
UserInputService.GamepadDisconnected:Connect(GamepadDisconnected)
--[=[
	@class Janitor
	A Janitor is helpful for tracking any sort of object during
	runtime that needs to get cleaned up at some point.
]=]
local Janitor = {}
Janitor.__index = Janitor
-- RocketPropulsion Fields
local TARGET_RADIUS = 5
local MAX_SPEED = 95
local MAX_TORQUE = Vector3.new(4e6, 4e6, 0)
local MAX_THRUST = 50000
local THRUST_P = 500
local THRUST_D = 50000

local TARGET_OVERSHOOT_DISTANCE = 10000000

local ROCKET_MESH_ID = 'http://www.roblox.com/asset/?id=94690081'
local ROCKET_MESH_SCALE = Vector3.new(2.5, 2.5, 2)
local ROCKET_PART_SIZE = Vector3.new(1, 1, 4)
--Main function for server placement----------
local function Place(Player, Name, ItemHolder, Prefabs, Cframe, Plot)
	local Collisions = GetCollisions(Name)
	local Item = Prefabs:FindFirstChild(Name):Clone()
	Item.PrimaryPart.CanCollide = false
	Item:PivotTo(Cframe)

	if Plot then
		if CheckBoundaries(Plot, Item.PrimaryPart) then return end

		Item.Parent = ItemHolder
	end

	return HandleCollisions(Player.Character, Item, Collisions, Plot)
end