Roblox/luau_corpus huggingface dataset:
--[[**
	<description>
	Saves the data to the data store. Called when a player leaves.
	</description>
**--]]
function DataStore:Save()
	if not self.valueUpdated then
		warn(("Data store %s was not saved as it was not updated."):format(self.name))
		return
	end
	
	if game.VIPServerId ~= "" then
		return
	end

	if game:GetService("RunService"):IsStudio() and not SaveInStudio then
		warn(("Data store %s attempted to save in studio while SaveInStudio is false."):format(self.name))
		if not SaveInStudioObject then
			warn("You can set the value of this by creating a BoolValue named SaveInStudio in ServerStorage.")
		end
		return
	end

	if self.backup then
		warn("This data store is a backup store, and thus will not be saved.")
		return
	end

	if self.value ~= nil then
		local save = clone(self.value)

		if self.beforeSave then
			local success, newSave = pcall(self.beforeSave, save, self)

			if success then
				save = newSave
			else
				warn("Error on BeforeSave: "..newSave)
				return
			end
		end

		if not Verifier.warnIfInvalid(save) then return warn("Invalid data while saving") end

		local key = (self.mostRecentKey or 0) + 1
		self.dataStore:SetAsync(key, save)
		self.orderedDataStore:SetAsync(key, key)
		self.mostRecentKey = key

		for _, afterSave in pairs(self.afterSave) do
			local success, err = pcall(afterSave, save, self)

			if not success then
				warn("Error on AfterSave: "..err)
			end
		end

		print("saved "..self.name)
	end
end
------------------------------------------------------------
local pos1 = Danger.Orientation.Y
local pos2 = Danger.Orientation.X
local pos3 = Danger.Orientation.Z
-- << LOCAL VARIABLES >>
local broadcastData = {}
local pollData = {}
local alertData = {}
local pollCount = 0
local topics = {
	DisplayPollResultsToServer = "DisplayPollResultsToServer";
	BeginPoll = "BeginPoll";
	GetAmountOfServers = "GetAmountOfServers";
	GlobalAlert = "GlobalAlert";
	GlobalCommands = "GlobalCommands"
}
--> Variables
local Timer = Fountain:GetAttribute("Timer") -- How long you must wait to heal (in seconds)
local Cooldown = {}
--> Functions

local function MoveCamera(newCamPart)
	local camera = workspace.CurrentCamera
	camera.CFrame = newCamPart.CFrame
end
-- Variables
local Animations = ServerStorage.Animations
local replacementAnimations = {
	{ 
		name = "run", 
		id = (Animations.WalkAnimationID.Value ~= "" 
				and "http://www.roblox.com/asset/?id=" .. Animations.WalkAnimationID.Value) or "",
		isLoaded = false,
	},
	{
		name = "idle", 
		id = (Animations.IdleAnimationID.Value ~= "" 
				and "http://www.roblox.com/asset/?id=" .. Animations.IdleAnimationID.Value) or "",
		isLoaded = false,	
	},
	{
		name = "cheer", 
		id = (Animations.CheerAnimationID.Value ~= "" 
				and "http://www.roblox.com/asset/?id=" .. Animations.CheerAnimationID.Value) or "",
		isLoaded = false,
	},
}
--[[ Camera Maths Utilities Library ]]--
local Util = require(script.Parent:WaitForChild("CameraUtils"))
-- Note: DotProduct check in CoordinateFrame::lookAt() prevents using values within about
-- 8.11 degrees of the +/- Y axis, that's why these limits are currently 80 degrees
local MIN_Y = math.rad(-80)
local MAX_Y = math.rad(80)

local VR_ANGLE = math.rad(15)
local VR_LOW_INTENSITY_ROTATION = Vector2.new(math.rad(15), 0)
local VR_HIGH_INTENSITY_ROTATION = Vector2.new(math.rad(45), 0)
local VR_LOW_INTENSITY_REPEAT = 0.1
local VR_HIGH_INTENSITY_REPEAT = 0.4

local ZERO_VECTOR2 = Vector2.new(0,0)
local ZERO_VECTOR3 = Vector3.new(0,0,0)

local TOUCH_SENSITIVTY = Vector2.new( 0.002 * math.pi, 0.0015 * math.pi)
local MOUSE_SENSITIVITY = Vector2.new( 0.002 * math.pi, 0.0015 * math.pi )

local MAX_TIME_FOR_DOUBLE_TAP = 1.5
local MAX_TAP_POS_DELTA = 15
local MAX_TAP_TIME_DELTA = 0.75

local SEAT_OFFSET = Vector3.new(0,5,0)
local VR_SEAT_OFFSET = Vector3.new(0,4,0)
local HEAD_OFFSET = Vector3.new(0,1.5,0)
local R15_HEAD_OFFSET = Vector3.new(0,2,0)

local bindAtPriorityFlagExists, bindAtPriorityFlagEnabled = pcall(function()
	return UserSettings():IsUserFeatureEnabled("UserPlayerScriptsBindAtPriority")
end)
local FFlagPlayerScriptsBindAtPriority = bindAtPriorityFlagExists and bindAtPriorityFlagEnabled

local newDefaultCameraAngleFlagExists, newDefaultCameraAngleFlagEnabled = pcall(function()
	return UserSettings():IsUserFeatureEnabled("UserNewDefaultCameraAngle")
end)
local FFlagUserNewDefaultCameraAngle = newDefaultCameraAngleFlagExists and newDefaultCameraAngleFlagEnabled

local Util = require(script.Parent:WaitForChild("CameraUtils"))
local ZoomController = require(script.Parent:WaitForChild("ZoomController"))
--!strict
local Sift = script.Parent.Parent

local None = require(Sift.None)
local copyDeep = require(script.Parent.copyDeep)
--Declarations
local target = AItorso -- is of type torso
local torsoPos = AItorso.Position
local	targpos = target.Position
-- Functions

local function getRotationBetween(u, v, axis)
	local dot, uxv = u:Dot(v), u:Cross(v)
	if (dot < -0.99999) then return CFrame.fromAxisAngle(axis, math.pi) end
	return CFrame.new(0, 0, 0, uxv.x, uxv.y, uxv.z, 1 + dot)
end

local function twistAngle(cf, direction)
    local axis, theta = cf:ToAxisAngle()
    local w, v = math.cos(theta/2),  math.sin(theta/2)*axis
	local proj = v:Dot(direction)*direction
    local twist = CFrame.new(0, 0, 0, proj.x, proj.y, proj.z, w)
    local nAxis, nTheta = twist:ToAxisAngle()
	return math.sign(v:Dot(direction))*nTheta
end
--[[
	Constructs a new computed state object, which follows the value of another
	state object using a spring simulation.
]]

local Package = script.Parent.Parent
local PubTypes = require(Package.PubTypes)
local Types = require(Package.Types)
local logError = require(Package.Logging.logError)
local logErrorNonFatal = require(Package.Logging.logErrorNonFatal)
local unpackType = require(Package.Animation.unpackType)
local SpringScheduler = require(Package.Animation.SpringScheduler)
local useDependency = require(Package.Dependencies.useDependency)
local initDependency = require(Package.Dependencies.initDependency)
local updateAll = require(Package.Dependencies.updateAll)
local xtypeof = require(Package.Utility.xtypeof)
local unwrap = require(Package.State.unwrap)

local class = {}

local CLASS_METATABLE = {__index = class}
local WEAK_KEYS_METATABLE = {__mode = "k"}
-- Convenience function so that calling code does not have to first get the activeController
-- and then call GetMoveVector on it. When there is no active controller, this function returns
-- nil so that this case can be distinguished from no current movement (which returns zero vector).
function ControlModule:GetMoveVector()
	if self.activeController then
		return self.activeController:GetMoveVector()
	end
	return Vector3.new(0,0,0)
end

function ControlModule:GetActiveController()
	return self.activeController
end

function ControlModule:Enable(enable)
	if not self.activeController then
		return
	end
	
	if enable == nil then
		enable = true
	end
	if enable then
		if self.touchControlFrame then
			self.activeController:Enable(true, self.touchControlFrame)
		else
			if self.activeControlModule == ClickToMove then
				-- For ClickToMove, when it is the player's choice, we also enable the full keyboard controls.
				-- When the developer is forcing click to move, the most keyboard controls (WASD) are not available, only spacebar to jump.
				self.activeController:Enable(true, Players.LocalPlayer.DevComputerMovementMode == Enum.DevComputerMovementMode.UserChoice)
			else				
				self.activeController:Enable(true)
			end
		end
	else
		self:Disable()
	end
end
--You can change the values below to suit your needs

local max_mode = 6 --The maximum amount of modes forwards. Set to 0 to disable forwards motion.

local min_mode = -6 --The minimum amount of modes backwards. Set to 0 to disable backwards motion.

local increment_speed = 0.5 --The amount in which the speed value increments with every mode.
-- When players fail to load data, their key is put in a list so that their
-- data does not save and override existing data
local tempData = {}
--[[
	Destroys all systems
]]
function SystemManager.destroySystems()
	for _, system in pairs(systems) do
		system:destroy()
	end
end
--edit the function below to return true when you want this response/prompt to be valid
--player is the player speaking to the dialogue, and dialogueFolder is the object containing the dialogue data
return function(player, dialogueFolder)
	local plrData = require(game.ReplicatedStorage.Source.Modules.Util):GetPlayerData(player)
	return plrData.Classes.Base.Smasher.XP.Value < 20
end
--[[
		___      _______                _     
	   / _ |____/ ___/ /  ___ ____ ___ (_)__ 
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/
 						SecondLogic @ Inspare
]]


local autoscaling	= false					--Estimates top speed

local UNITS	= {								--Click on speed to change units
											--First unit is default	
	{
		units			= "MPH"				,
		scaling			= (10/12) * (60/88)	, -- 1 stud : 10 inches | ft/s to MPH
		maxSpeed		= 280				,
		spInc			= 20				, -- Increment between labelled notches
	},
	
	{
		units			= "KM/H"			,
		scaling			= (10/12) * 1.09728	, -- 1 stud : 10 inches | ft/s to KP/H
		maxSpeed		= 370				,
		spInc			= 40				, -- Increment between labelled notches
	},
	
	{
		units			= "SPS"				,
		scaling			= 1					, -- Roblox standard
		maxSpeed		= 400				,
		spInc			= 40				, -- Increment between labelled notches
	}
}
-------- OMG HAX

r = game:service("RunService")


local damage = 5


local slash_damage = 12
local lunge_damage = 35

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)
				wait(1)
				untagHumanoid(humanoid)
			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
end

function untagHumanoid(humanoid)
	if humanoid ~= nil then
		local tag = humanoid:findFirstChild("creator")
		if tag ~= nil then
			tag.Parent = nil
		end
	end
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
	
	
	force = Instance.new("BodyVelocity")
	force.velocity = Vector3.new(0,10,0) --Tool.Parent.Torso.CFrame.lookVector * 80
	force.Parent = Tool.Parent.Torso
	wait(.2)
	swordOut()
	wait(.2)
	force.Parent = nil
	wait(.4)
	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 < .2) 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)
-----
local plr = game.Players.LocalPlayer
local char = plr.Character
local hum = char:WaitForChild("Humanoid")
local gaurdingAnimation = hum.Animator:LoadAnimation(RS.Animations.Combat.Player:WaitForChild("Block"))
local CD = 1
------------------------------------[[PLAYLIST]---------------------------------------------------------------------------------------------------------------------

song1 = "http://www.roblox.com/asset/?id=4924940868" --insert the ID number after the "/?id="
song2 = "http://www.roblox.com/asset/?id=2087798404"
song3 = "http://www.roblox.com/asset/?id=1608398085"
song4 = "http://www.roblox.com/asset/?id=1327798905"
song5 = "http://www.roblox.com/asset/?id=2868925132"
song6 = "http://www.roblox.com/asset/?id=5466929560"
song7 = "http://www.roblox.com/asset/?id=1572404379"
song8 = "http://www.roblox.com/asset/?id=1859222085"
song9 = "http://www.roblox.com/asset/?id=4924940868"
song10 = "http://www.roblox.com/asset/?id=5625100862"
song11 = "http://www.roblox.com/asset/?id=2023642240"
song12 = "http://www.roblox.com/asset/?id=1572323159"
--EDIT BELOW----------------------------------------------------------------------
settings.PianoSoundRange = 150

settings.KeyAesthetics = true

settings.PianoSounds = {
		"269058581",
		"269058744",
		"269058842",
		"269058899",
		"269058974",
		"269059048"
}
--// Ammo Settings			
	Ammo = 15;
	StoredAmmo = 15;
	MagCount = 8; --  If you want infinate ammo, set to math.huge EX. MagCount = math.huge;
	ExplosiveAmmo = 3;
	
	--// Damage Setting
	BaseDamage = script.Parent.Damage.Value; -- Torso Damage
	LimbDamage = 35; -- Arms and Legs
	ArmorDamage = 35; -- How much damage is dealt against armor (Name the armor "Armor")
	HeadDamage = 60; -- If you set this to 100, there's a chance the player won't die because of the heal script
-- Returns the common parts of the given paths or {} if no
-- common parts were found.
function Path:_commonParts(...: string)
	local common_parts: Array<string> = {}
	local paths: Array<string> = { ... }
	local split_paths = {}
	for _, path in ipairs(paths) do
		table.insert(split_paths, self:_splitBySeparators(path))
	end
	for part_i = 1, #split_paths[1] do
		local test_part = split_paths[1][part_i]
		for path_i = 2, #split_paths do
			local part = split_paths[path_i][part_i]
			if not self:pathsEqual(test_part, part) then
				return common_parts
			end
		end
		table.insert(common_parts, test_part)
	end
	return common_parts
end
-------------------------
 
mouse.KeyDown:connect(function (key)
    key = string.lower(key)
		if key == "k" then --Camera controls
	        if cam == ("car") then
				Camera.CameraSubject = player.Character.Humanoid
				Camera.CameraType = ("Custom")
				cam = ("freeplr")
				Camera.FieldOfView = 70
			elseif cam == ("freeplr") then
				Camera.CameraSubject = player.Character.Humanoid
				Camera.CameraType = ("Attach")
				cam = ("lockplr")
				Camera.FieldOfView = 45
	        elseif cam == ("lockplr") then
				Camera.CameraSubject = carSeat
				Camera.CameraType = ("Custom")
				cam = ("car")
				Camera.FieldOfView = 70
	        end
		elseif key == "[" then -- volume down
			if carSeat.Parent.Body.MP.Sound.Volume >= 0 then
				handler:FireServer('volumedown', true)
				carSeat.Parent.Body.Dash.Screen.G.Main.Icon.Vol.Text = ("Vol: "..carSeat.Parent.MPL.Sound.Volume)
			end
		elseif key == "]" then -- volume up
			if carSeat.Parent.Body.MP.Sound.Volume <= 10 then
				handler:FireServer('volumeup', true)
				carSeat.Parent.Body.Dash.Screen.G.Main.Icon.Vol.Text = ("Vol: "..carSeat.Parent.MPL.Sound.Volume)
			end	
 elseif key == "u" then
					handler:FireServer("Radio")
				elseif key == "g" then
					handler:FireServer("Delete")
				elseif key == "n" then
					handler:FireServer("Tabs")
	end
end)

HUB.Sport.MouseButton1Click:connect(function() --Hide tracker names
	handler:FireServer('Sport')
end)

HUB.Comfort.MouseButton1Click:connect(function() --Hide tracker names
	handler:FireServer('Comfort')
end)

HUB.Dynamic.MouseButton1Click:connect(function() --Hide tracker names
	handler:FireServer('Dynamic')
end)



carSeat.Indicator.Changed:connect(function()
	if carSeat.Indicator.Value == true then
		script.Parent.Indicator:Play()
	else
		script.Parent.Indicator2:Play()
	end
end)

game.Lighting.Changed:connect(function(prop)
	if prop == "TimeOfDay" then
	handler:FireServer('TimeUpdate')
	end
end)

if game.Workspace.FilteringEnabled == true then
	handler:FireServer('feON')
elseif game.Workspace.FilteringEnabled == false then
	handler:FireServer('feOFF')
end

carSeat.LI.Changed:connect(function()
	if carSeat.LI.Value == true then
		carSeat.Parent.Body.Dash.Spd.G.Indicator.Visible = true
		script.Parent.HUB.Left.Visible = true
	else
		carSeat.Parent.Body.Dash.Spd.G.Indicator.Visible = false
		script.Parent.HUB.Left.Visible = false
	end
end)

carSeat.RI.Changed:connect(function()
	if carSeat.RI.Value == true then
		carSeat.Parent.Body.Dash.Tac.G.Indicator.Visible = true
		script.Parent.HUB.Right.Visible = true
	else
		carSeat.Parent.Body.Dash.Tac.G.Indicator.Visible = false
		script.Parent.HUB.Right.Visible = false
	end
end)


while wait() do
	carSeat.Parent.Body.Dash.DashSc.G.Spd.Text = (math.floor(carSeat.Velocity.magnitude*((10/12) * (60/88))).." mph")
	carSeat.Parent.Body.Dash.Screen.G.Screen.StatusBar.Time.Text = game.Lighting.TimeOfDay
	carSeat.Parent.Body.Dash.DashSc2.G.Time.Text = game.Lighting.TimeOfDay
end
--Precalculated paths
local t,f,n=true,false,{}
local r={
[58]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58},t},
[49]={{25,26,27,28,44,45,49},t},
[16]={n,f},
[19]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19},t},
[59]={{25,26,27,28,29,31,32,34,35,39,41,59},t},
[63]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,23,62,63},t},
[34]={{25,26,27,28,29,31,32,34},t},
[21]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,21},t},
[48]={{25,26,27,28,44,45,49,48},t},
[27]={{25,26,27},t},
[14]={n,f},
[31]={{25,26,27,28,29,31},t},
[56]={{25,26,27,28,29,31,32,34,35,39,41,30,56},t},
[29]={{25,26,27,28,29},t},
[13]={n,f},
[47]={{25,26,27,28,44,45,49,48,47},t},
[12]={n,f},
[45]={{25,26,27,28,44,45},t},
[57]={{25,26,27,28,29,31,32,34,35,39,41,30,56,57},t},
[36]={{25,26,27,28,29,31,32,33,36},t},
[25]={{25},t},
[71]={{25,26,27,28,29,31,32,34,35,39,41,59,61,71},t},
[20]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,20},t},
[60]={{25,26,27,28,29,31,32,34,35,39,41,60},t},
[8]={n,f},
[4]={n,f},
[75]={{25,26,27,28,29,31,32,34,35,39,41,59,61,71,72,76,73,75},t},
[22]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,21,22},t},
[74]={{25,26,27,28,29,31,32,34,35,39,41,59,61,71,72,76,73,74},t},
[62]={{25,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]={{25,26,27,28,29,31,32,33,36,37},t},
[2]={n,f},
[35]={{25,26,27,28,29,31,32,34,35},t},
[53]={{25,26,27,28,44,45,49,48,47,52,53},t},
[73]={{25,26,27,28,29,31,32,34,35,39,41,59,61,71,72,76,73},t},
[72]={{25,26,27,28,29,31,32,34,35,39,41,59,61,71,72},t},
[33]={{25,26,27,28,29,31,32,33},t},
[69]={{25,26,27,28,29,31,32,34,35,39,41,60,69},t},
[65]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,65},t},
[26]={{25,26},t},
[68]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,67,68},t},
[76]={{25,26,27,28,29,31,32,34,35,39,41,59,61,71,72,76},t},
[50]={{25,26,27,28,44,45,49,48,47,50},t},
[66]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66},t},
[10]={n,f},
[24]={{25,24},t},
[23]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,23},t},
[44]={{25,26,27,28,44},t},
[39]={{25,26,27,28,29,31,32,34,35,39},t},
[32]={{25,26,27,28,29,31,32},t},
[3]={n,f},
[30]={{25,26,27,28,29,31,32,34,35,39,41,30},t},
[51]={{25,26,27,28,44,45,49,48,47,50,51},t},
[18]={n,f},
[67]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64,67},t},
[61]={{25,26,27,28,29,31,32,34,35,39,41,59,61},t},
[55]={{25,26,27,28,44,45,49,48,47,52,53,54,55},t},
[46]={{25,26,27,28,44,45,49,48,47,46},t},
[42]={{25,26,27,28,29,31,32,34,35,38,42},t},
[40]={{25,26,27,28,29,31,32,34,35,40},t},
[52]={{25,26,27,28,44,45,49,48,47,52},t},
[54]={{25,26,27,28,44,45,49,48,47,52,53,54},t},
[43]={n,f},
[7]={n,f},
[9]={n,f},
[41]={{25,26,27,28,29,31,32,34,35,39,41},t},
[17]={n,f},
[38]={{25,26,27,28,29,31,32,34,35,38},t},
[28]={{25,26,27,28},t},
[5]={n,f},
[64]={{25,26,27,28,29,31,32,34,35,39,41,30,56,58,20,19,66,64},t},
}
return r
--Main Settings:
HANDBRAKE		= true
PADDLE_SHIFTER	= true
PEDALS		 	= true
SHIFTER			= true
STEERING_WHEEL	= true
--[[
	Returns the height offset from the bottom of a character to the middle of its HumanoidRootPart
--]]

local function getHumanoidRootPartOffset(humanoid: Humanoid)
	local rootPart = humanoid.RootPart
	assert(rootPart, "Humanoid has no RootPart set")

	return (rootPart.Size.Y * 0.5) + humanoid.HipHeight
end

return getHumanoidRootPartOffset
---[[ Fade Out and In Settings ]]
module.ChatWindowBackgroundFadeOutTime = 0.5 --Chat background will fade out after this many seconds.
module.ChatWindowTextFadeOutTime = 30				--Chat text will fade out after this many seconds.
module.ChatDefaultFadeDuration = 0.8
module.ChatShouldFadeInFromNewInformation = true
module.ChatAnimationFPS = 60.0
--// Tables
local L_75_ = {
	
	"285421759";
	"151130102";
	"151130171";
	"285421804";
	"287769483";
	"287769415";
	"285421687";
	"287769261";
	"287772525";
	"287772445";
	"287772351";
	"285421819";
	"287772163";
	
}

local L_76_ = workspace:FindFirstChild("BulletModel: " .. L_2_.Name) or Instance.new("Folder", workspace)
L_76_.Name = "BulletModel: " .. L_2_.Name

local L_77_

local L_78_ = L_23_.Ammo
local L_79_ = L_23_.StoredAmmo * L_23_.MagCount

local L_80_ = L_23_.ExplosiveAmmo

IgnoreList = {
	L_3_,
	L_76_,
	L_5_
}