Roblox/luau_corpus huggingface dataset:
-- initial script made by who knows, anti jump added by ColonelGraff! thanks for using


AJ = false

on = 0
Tool = script.Parent



welds = {}
sh = {}
arms = nil
torso = nil
f = nil
function Crouch(ison)

Tool.Parent:findFirstChild("Humanoid").WalkSpeed = 9


if arms == nil and torso == nil then
arms = {Tool.Parent:FindFirstChild("Left Leg"), Tool.Parent:FindFirstChild("Right Leg")}
torso = Tool.Parent:FindFirstChild("Torso")
end
if arms ~= nil and torso ~= nil then
sh = {torso:FindFirstChild("Left Hip"), torso:FindFirstChild("Right Hip")}
if sh ~= nil then
local yes = true
if yes then
yes = false
if ison == 1 then
sh[1].Part1 = nil
sh[2].Part1 = nil
local weld1 = Instance.new("Weld")
weld1.Part0 = torso
weld1.Parent = torso
weld1.Part1 = arms[1]
weld1.C1 = CFrame.new(-0.5, 0.75, 1)
arms[1].Name = "LDave"
arms[1].CanCollide = true
welds[1] = weld1
--	local sound = SM.FetchSound(soundName)
--	local speed = sound.TimeLength

    if (Rep.Constants.RelativeTime.Value - _G.SD[player.UserId].Data.tempData.lastAction) >= 0.25 then
        _G.SD[player.UserId].Data.tempData.lastAction = Rep.Constants.RelativeTime.Value
        SM.PlaySoundInObject(soundName, char.Head, equippedToolData.noteWaver, 6)
    end
end)

Rep.Relay.Tool.StopMusicTool.OnServerEvent:connect(function(player, musicName)
	
	local char
    if player.Character and player.Character.Humanoid and player.Character.Humanoid.Health > 0 and _G.SD[player.UserId].Data.stats.health > 0 then
        char = player.Character
    else
        return
    end
	
	if not musicName then
	 	local equippedToolName = _G.SD[player.UserId].Data.equipment.toolbar[_G.SD[player.UserId].Data.tempData.equippedSlot].name
	    local equippedToolData = EntityData["Tool"][equippedToolName]
		musicName = equippedToolData.noteName
	end
	
	SM.StopSoundInObject(musicName, char.Head)
end)
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 650	--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 950		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 9400		--		Use sliders to manipulate values
	Tune.Redline		= 9800
	Tune.EqPoint		= 7250
	Tune.PeakSharpness	= 9.5
	Tune.CurveMult		= 0.15
	
	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 150		-- RPM acceleration when clutch is off
	Tune.RevDecay		= 75		-- RPM decay when clutch is off
	Tune.RevBounce		= 500		-- RPM kickback from redline
	Tune.IdleThrottle	= 3			-- Percent throttle at idle
	Tune.ClutchTol		= 500		-- Clutch engagement threshold (higher = faster response)
--edit the below function to execute code when this response is chosen OR this prompt is shown
--player is the player speaking to the dialogue, and dialogueFolder is the object containing the dialogue data
return function(player, dialogueFolder)
	local MoneyModule = require(game.ReplicatedStorage.Source.SystemModules.Money)
	MoneyModule.BuyWeaponFromDialogueFolder(player,dialogueFolder)
	
end
--[[

	LOWGames Studios
	Date: 27 October 2022
	by Elder
	
]]--

local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Framework"):WaitForChild("Library"));
end)();
return function(p1, p2)
	for v1 = #p1, 1, -1 do
		if p1[v1] == p2 then
			table.remove(p1, v1);
		end;
	end;
	return p1;
end;
--

if Health_Bar == true then
	game.StarterGui:SetCoreGuiEnabled(1,true)
elseif Health_Bar == false then
	game.StarterGui:SetCoreGuiEnabled(1,false)
end
if Player_List == true then
	game.StarterGui:SetCoreGuiEnabled(0,true)
elseif Player_List == false then
	game.StarterGui:SetCoreGuiEnabled(0,false)
end
if Tool_Bar == true then
	game.StarterGui:SetCoreGuiEnabled(2,true)
elseif Tool_Bar == false then
	game.StarterGui:SetCoreGuiEnabled(2,false)
end
if Chat == true then
	game.StarterGui:SetCoreGuiEnabled(3,true)
elseif Chat == false then
	game.StarterGui:SetCoreGuiEnabled(3,false)
end
--\\ Only Edit Above //--


local UserInputService = game:GetService('UserInputService')

local plr = game.Players.LocalPlayer
local Jumped = false --Debounce

UserInputService.JumpRequest:Connect(function()
	local char = plr.Character -- some may place this script in StarterPlayer...
	if not Jumped then
		if char.Humanoid.FloorMaterial == Enum.Material.Air then return end -- Prevent mid air jumps
		Jumped = true --Making it true do it does not loop twice
		char.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping) --Making the character jump
		task.wait(jumpCooldown) -- yield x
		Jumped = false --Make it false so we can repeat it again
	else
		char.Humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
	end
end)
--// F key, Horn
mouse.KeyUp:connect(function(key)
	if key=="f" then 
		veh.Lightbar.middle.Airhorn:Stop()
		veh.Lightbar.middle.Wail.Volume = 4
		veh.Lightbar.middle.Yelp.Volume = 4
		veh.Lightbar.middle.Priority.Volume = 4
		veh.Lightbar.middle.Manual.Volume = 4
	end
end)










mouse.KeyDown:connect(function(key)
	if key=="j" then 
		veh.Lightbar.middle.Beep:Play()
veh.Lightbar.RemoteEvent:FireServer(true)
	end
	end)

mouse.KeyDown:connect(function(key)
	if key=="k" then 
		veh.Lightbar.middle.Beep:Play()
		veh.Lightbar.TA.RemoteEvent:FireServer(true)
	end
end)
-- Basic settings
local COOLDOWN = 0.25

local tool = script.Parent

local toolPlr
local debounce = false

script.ClientActivate.OnServerEvent:connect(function(plr)
	
	-- Check if tool is equipped and correct player
	if plr == toolPlr and not debounce then
		debounce = true
		
		-- Toggle
		tool.Handle.MoneyEmitter:Emit(10)
		game.ReplicatedStorage.Interactions.Client.PlaySound:FireClient(plr, tool.Handle:FindFirstChild("Sound" .. math.random(1, 3)))
		
		-- Cooldown
		wait(COOLDOWN)
		
		debounce = false
	end
	
end)

tool.Equipped:connect(function()
	
	-- Set tool player
	toolPlr = game.Players:GetPlayerFromCharacter(tool.Parent)
	
end)
--d.DidLoop:Connect(function()
--	print("loop animation")
--end)


function Zombie:Initialize()
	Shetchik = 1
	for k, v in pairs(self.Obj:GetChildren()) do
		if v:IsA("BasePart") then
			v.CollisionGroupId = 1
		end
	end
	spawn(function()
		d:Play()
		self.Obj:SetPrimaryPartCFrame(CFrame.new(workspace.Real_Spawn.Position))
		self:moveTo()
	end)
end
--[[[Default Controls]]
	--Peripheral Deadzones
	Tune.Peripherals = {
		MSteerWidth				= 67		,	-- Mouse steering control width	(0 - 100% of screen width)
		MSteerDZone				= 10		,	-- Mouse steering deadzone (0 - 100%)
		
		ControlLDZone			= 5			,	-- Controller steering L-deadzone (0 - 100%)
		ControlRDZone			= 5			,	-- Controller steering R-deadzone (0 - 100%)
	}
	
	--Control Mapping
	Tune.Controls = {
		
	--Keyboard Controls
		--Mode Toggles
		ToggleABS				= Enum.KeyCode.Y					,
		ToggleTransMode			= Enum.KeyCode.M					,
		--Primary Controls
		Throttle				= Enum.KeyCode.Up					,
		Brake					= Enum.KeyCode.Down					,
		SteerLeft				= Enum.KeyCode.Left					,
		SteerRight				= Enum.KeyCode.Right				,
		
		--Secondary Controls
		Throttle2				= Enum.KeyCode.W					,
		Brake2					= Enum.KeyCode.S					,
		SteerLeft2				= Enum.KeyCode.A					,
		SteerRight2				= Enum.KeyCode.D					,
		
		--Manual Transmission
		ShiftUp					= Enum.KeyCode.E					,
		ShiftDown				= Enum.KeyCode.Q					,
		Clutch					= Enum.KeyCode.LeftShift			,
		
		--Handbrake
		PBrake					= Enum.KeyCode.P					,
		
	--Mouse Controls
		MouseThrottle			= Enum.UserInputType.MouseButton1	,
		MouseBrake				= Enum.UserInputType.MouseButton2	,
		MouseClutch				= Enum.KeyCode.W					,
		MouseShiftUp			= Enum.KeyCode.E					,
		MouseShiftDown			= Enum.KeyCode.Q					,
		MousePBrake				= Enum.KeyCode.LeftShift			,
		
	--Controller Mapping
		ContlrThrottle			= Enum.KeyCode.ButtonR2				,
		ContlrBrake				= Enum.KeyCode.ButtonL2				,
		ContlrSteer				= Enum.KeyCode.Thumbstick1			,
		ContlrShiftUp			= Enum.KeyCode.ButtonY				,
		ContlrShiftDown			= Enum.KeyCode.ButtonX				,
		ContlrClutch			= Enum.KeyCode.ButtonR1				,
		ContlrPBrake			= Enum.KeyCode.ButtonL1				,
		ContlrToggleTMode		= Enum.KeyCode.DPadRight			,
		ContlrToggleTCS			= Enum.KeyCode.DPadDown				,
		ContlrToggleABS			= Enum.KeyCode.DPadUp			,
	}
--print("found humanoid")
humanoid.HealthChanged:Connect(function(health)
	--print(health)
	script.Parent.PlaybackSpeed = health <= 30  and 2 or 1
end)
--[[Drivetrain]]	
	Tune.Config			= "RWD"		--"FWD" , "RWD" , "AWD"
	
	--Differential Settings	
	Tune.FDiffSlipThres	= 50		-- 1 - 100%				(Max threshold of applying full lock determined by deviation from avg speed)
	Tune.FDiffLockThres	= 50		-- 0 - 100%				(0 - Bias toward slower wheel, 100 - Bias toward faster wheel)
	Tune.RDiffSlipThres	= 50		-- 1 - 100%
	Tune.RDiffLockThres	= 50		-- 0 - 100%
	Tune.CDiffSlipThres	= 50		-- 1 - 100%				[AWD Only]
	Tune.CDiffLockThres	= 50		-- 0 - 100%				[AWD Only]
	
	--Traction Control Settings
	Tune.TCSEnabled		= true	    -- Implements TCS
	Tune.TCSThreshold	= 20		-- Slip speed allowed before TCS starts working (in SPS)
	Tune.TCSGradient	= 20		-- Slip speed gradient between 0 to max reduction (in SPS)
	Tune.TCSLimit		= 10		-- Minimum amount of torque at max reduction (in percent)
-- Torso
character.RagdollRig.ConstraintUpperTorso.Attachment0 = UTJointB 
character.RagdollRig.ConstraintUpperTorso.Attachment1 = LTJointB
--- Registers a command definition and its server equivalent.
-- Handles replicating the definition to the client.
function Registry:RegisterCommand (commandScript, commandServerScript, filter)
	local commandObject = require(commandScript)
	assert(
		typeof(commandObject) == "table",
		`Invalid return value from command script "{commandScript.Name}" (CommandDefinition expected, got {typeof(commandObject)})`
	)

	if commandServerScript then
		commandObject.Run = require(commandServerScript)
	end

	if filter and not filter(commandObject) then
		return
	end

	self:RegisterCommandObject(commandObject)

	commandScript.Parent = self.Cmdr.ReplicatedRoot.Commands
end
-- goro7

local playerGuiBlacklist = {
	"Intro"
}

local plr = game.Players.LocalPlayer

function kick()
	plr:Kick("You have been kicked for cheating.")
end
-- Replace common spaces with middle dot at the end of any line
function replaceTrailingSpaces(text: string): string
	return text:gsub("%s+$", function(spaces)
		return string.rep(SPACE_SYMBOL, #spaces)
	end)
end

local function printReceived(object: any): string
	return RECEIVED_COLOR(replaceTrailingSpaces(stringify(object)))
end

local function printExpected(value: any): string
	return EXPECTED_COLOR(replaceTrailingSpaces(stringify(value)))
end

local function printWithType(
	name: string, -- 'Expected' or 'Received'
	value: any,
	print_: (any) -> string -- printExpected or printReceived
): string
	local type_ = getType(value)
	local hasType
	if type_ ~= "nil" then
		hasType = string.format("%s has type:  %s\n", name, type_)
	else
		hasType = ""
	end

	local hasValue = string.format("%s has value: %s", name, print_(value))
	return hasType .. hasValue
end

local function ensureNoExpected(expected: any, matcherName: string, options: MatcherHintOptions?): ()
	if typeof(expected) ~= "nil" then
		-- Prepend maybe not only for backward compatibility
		local matcherString = matcherName

		if not options then
			matcherString = "[.never]" .. matcherString
		end

		error(
			Error(
				matcherErrorMessage(
					matcherHint(matcherString, nil, "", options),
					"this matcher must not have an expected argument",
					printWithType("Expected", expected, printExpected)
				)
			)
		)
	end
end
-- Decompiled with the Synapse X Luau decompiler.

game:GetService("Players").LocalPlayer.CharacterAdded:connect(function(p1)
	p1:WaitForChild("Humanoid").Seated:connect(function(p2, p3)
		if p3 and p3:IsA("VehicleSeat") then
			workspace.CurrentCamera.CameraSubject = p1.Humanoid;
		end;
	end);
end);
-- (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 = "Red ruby crown"
		p.Parent = h
		p.Position = hit.Parent:findFirstChild("Head").Position
		p.Name = "Handle" 
		p.formFactor = 0
		p.Size = Vector3.new(2, 1, 1) 
		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.9, 0)
		wait(5)
		debounce = true
	end
end

script.Parent.Touched:connect(onTouched)
-- functions

function stopAllAnimations()
	local oldAnim = currentAnim

	-- return to idle if finishing an emote
	if emoteNames[oldAnim] and emoteNames[oldAnim] == false then
		oldAnim = "idle"
	end
	
	currentAnim = ""
	if currentAnimKeyframeHandler then
		currentAnimKeyframeHandler:disconnect()
	end
	if currentAnimTrack then
		currentAnimTrack:Stop()
		currentAnimTrack:Destroy()
		currentAnimTrack = nil
	end
	return oldAnim
end

function setAnimationSpeed(speed)
	if speed ~= currentAnimSpeed then
		currentAnimSpeed = speed
		currentAnimTrack:AdjustSpeed(currentAnimSpeed)
	end
end

function keyFrameReachedFunc(frameName)
	if frameName == "End" then
-- ROBLOX MOVED: expect/utils.lua
local function hasPropertyInObject(object: any, key: string): boolean
	-- We don't have to deal with the complexities around prototype chains in
	-- javascript since a simple key access will look up the
	-- metatable chain for us
	local shouldBeFalse = not toJSBoolean(object) or typeof(object) ~= "table"

	if shouldBeFalse then
		return false
	end

	return object[key] ~= nil
end
-- Create the path object
local path = PathfindingService:CreatePath(agentParams)


path:ComputeAsync(humanoid.Position, destination.Position)
--[=[
	@within TableUtil
	@function IsEmpty
	@param tbl table
	@return boolean

	Returns `true` if the given table is empty. This is
	simply performed by checking if `next(tbl)` is `nil`
	and works for both arrays and dictionaries. This is
	useful when needing to check if a table is empty but
	not knowing if it is an array or dictionary.

	```lua
	TableUtil.IsEmpty({}) -- true
	TableUtil.IsEmpty({"abc"}) -- false
	TableUtil.IsEmpty({abc = 32}) -- false
	```
]=]
local function IsEmpty(tbl: { any }): boolean
	return not next(tbl)
end
--[[Susupension]]
	Tune.SusEnabled		= true		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled
	
	--Front Suspension
	Tune.FSusDamping	= 1500		-- Spring Dampening
	Tune.FSusStiffness	= 9000		-- Spring Force
	Tune.FAntiRoll 		= 50000		-- Anti-Roll (Gyro Dampening)
	
	Tune.FSusLength		= 2.00			-- Suspension length (in studs)
	Tune.FPreCompress	= .2		-- Pre-compression adds resting length force
	Tune.FExtensionLim	= .3		-- Max Extension Travel (in studs)
	Tune.FCompressLim	= 0		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.FWsBoneLen		= 5			-- Wishbone Length
	Tune.FWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward
	
	--Rear Suspension
	Tune.RSusDamping	= 1500		-- Spring Dampening
	Tune.RSusStiffness	= 9000		-- Spring Force
	Tune.FAntiRoll 		= 50000		-- Anti-Roll (Gyro Dampening)

	Tune.RSusLength		= 2.00			-- Suspension length (in studs)
	Tune.RPreCompress	= -0.3		-- Pre-compression adds resting length force
	Tune.RExtensionLim	= .3		-- Max Extension Travel (in studs)
	Tune.RCompressLim	= 0		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.RWsBoneLen		= 5			-- Wishbone Length
	Tune.RWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics	
	Tune.SusVisible		= true			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Bright red"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness
--A simple function to check if the car is grounded
local function IsGrounded()
	local hit, position = Raycast.new((car.Chassis.CFrame * CFrame.new(0, 0, (car.Chassis.Size.Z / 2) - 1)).p, car.Chassis.CFrame:vectorToWorldSpace(Vector3.new(0, -1, 0)) * (stats.Height.Value + 0.2))
	if hit and hit.CanCollide then
		return(true)
	end
	return(false)
end

local oldCameraType = camera.CameraType
camera.CameraType = cameraType

spawn(function()
	while character.Humanoid.SeatPart == car.DriveSeat do
		game:GetService("RunService").RenderStepped:wait()
		
		--Broken gyro input
		--[[if userInputService.GyroscopeEnabled then
			local inputObject, cframe = userInputService:GetDeviceRotation()
			local up = cframe:vectorToWorldSpace(Vector3.new(0, 1, 0))
			local angle = (1 - up.Y) * (math.abs(up.X) / up.X)
			movement = Vector2.new(angle, movement.Y)
		end]]
		
		if IsGrounded() then
			if movement.Y ~= 0 then
				local velocity = car.Chassis.CFrame.lookVector * movement.Y * stats.Speed.Value
				car.Chassis.Velocity = car.Chassis.Velocity:Lerp(velocity, 0.1)
				bodyVelocity.maxForce = Vector3.new(0, 0, 0)
			else
				bodyVelocity.maxForce = Vector3.new(mass / 2, mass / 4, mass / 2)
			end
			local rotVelocity = car.Chassis.CFrame:vectorToWorldSpace(Vector3.new(movement.Y * stats.Speed.Value / 50, 0, -car.Chassis.RotVelocity.Y * 5 * movement.Y))
			local speed = -car.Chassis.CFrame:vectorToObjectSpace(car.Chassis.Velocity).unit.Z
			rotation = rotation + math.rad((-stats.Speed.Value / 5) * movement.Y)
			if math.abs(speed) > 0.1 then
				rotVelocity = rotVelocity + car.Chassis.CFrame:vectorToWorldSpace((Vector3.new(0, -movement.X * speed * stats.TurnSpeed.Value, 0)))
				bodyAngularVelocity.maxTorque = Vector3.new(0, 0, 0)
			else
				bodyAngularVelocity.maxTorque = Vector3.new(mass / 4, mass / 2, mass / 4)
			end
			car.Chassis.RotVelocity = car.Chassis.RotVelocity:Lerp(rotVelocity, 0.1)
			
			--bodyVelocity.maxForce = Vector3.new(mass / 3, mass / 6, mass / 3)
			--bodyAngularVelocity.maxTorque = Vector3.new(mass / 6, mass / 3, mass / 6)
		else
			bodyVelocity.maxForce = Vector3.new(0, 0, 0)
			bodyAngularVelocity.maxTorque = Vector3.new(0, 0, 0)
		end
		
		for i, part in pairs(car:GetChildren()) do
			if part.Name == "Thruster" then
				UpdateThruster(part)
			end
		end
	end
	for i, v in pairs(car:GetChildren()) do
		if v:FindFirstChild("BodyThrust") then
			v.BodyThrust:Destroy()
		end
	end
	bodyVelocity:Destroy()
	bodyAngularVelocity:Destroy()
	camera.CameraType = oldCameraType
	userInputService.ModalEnabled = false
	script:Destroy()
end)
-- check if the player is moving and not climbing
humanoid.Running:Connect(function(speed)
	if humanoid.MoveDirection.Magnitude > 0 and speed > 0 and humanoid:GetState() ~= Enum.HumanoidStateType.Climbing then
		getSoundProperties()
		update()
		currentSound.Playing = true
		currentSound.Looped = true
	else
		currentSound:Stop()
	end
end)

print("Walking sounds successfully loaded!")
--Stickmasterluke


sp=script.Parent


function Equipped(mouse)
	if mouse~=nil then
		mouse.Icon="rbxasset://textures\\GunCursor.png"
	end
end
sp.Equipped:connect(Equipped)
--//Unloading\\--
--[[
Always have these if you intend to have a script unload,
It removes all unwanted storage to improve performance instead of maintaining it, lagging it behind.
Under no circumstance should you try to stop the script by deleting it,
Simply delete Zombie or Spawner.

It is safe to remove spawner,
Simply delete this script.
If you plan to have this script work later,
Simply delete the spawner and maintain this script,
as for it will stay on standby until useable.
]]
if Zombie then Zombie:Destroy() end
if Spawner then Spawner:Destroy() end
script:Destroy()
-----------------
--| Constants |--
-----------------

local SPAWN_RADIUS = 8 -- Studs

local SUMMON_COOLDOWN = 16

local SKELETON_ASSET_ID = 132805224

local SKELETON_DURATION = 60
-- / Functions / --
FadeModule.Fade = function(FadeObject: Instance, TweenValue: NumberValue, TweenTime: number?, DelayTime: number?)
	if FadeObject:IsA("Frame") then
		local FadeTween = TweenService:Create(
			FadeObject,

			TweenInfo.new(TweenTime),

			{
				BackgroundTransparency = TweenValue
			}
		)

		FadeTween:Play()

	elseif FadeObject:IsA("BlurEffect") then

		local FadeTween = TweenService:Create(
			FadeObject,

			TweenInfo.new(TweenTime),

			{
				Size = TweenValue
			}
		)

		FadeTween:Play()

	end

	if DelayTime then
		task.wait(DelayTime)

	end	
end
--[[Transmission]]
	Tune.TransModes		= {"Semi"}--"Auto", "Semi", or "Manual". Can have more than one; order from first to last 
	--Automatic Settings
	Tune.AutoShiftMode	= "Speed"	--"Speed" or "RPM"
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 2000		--Automatic downshift point (relative to peak RPM, positive = Under-rev)
	
	--Gear Ratios
	Tune.FinalDrive		= 3.84
			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.42		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		4.37		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		2.76		,
		--[[ 3 ]]		1.94		,
		--[[ 4 ]]		1.45		,
		--[[ 5 ]]		1.05		,
		--[[ 6 ]]		.85			,
		--[[ 7 ]]		.69			,
	}
	Tune.FDMult			= 1			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
--// Aim|Zoom|Sensitivity Customization
	ZoomSpeed = 0.25; -- The lower the number the slower and smoother the tween
	AimZoom = 45; -- Default zoom
	AimSpeed = 0.45;
	UnaimSpeed = 0.35;
	CycleAimZoom = 4; -- Cycled zoom
	MouseSensitivity = 0.5; -- Number between 0.1 and 1
	SensitivityIncrement = 0.05; -- No touchy
--[=[
	@param fn ConnectionFn
	@return SignalConnection

	Connects a function to the signal, which will be called the next time the signal fires. Once
	the connection is triggered, it will disconnect itself.
	```lua
	signal:ConnectOnce(function(msg, num)
		print(msg, num)
	end)

	signal:Fire("Hello", 25)
	signal:Fire("This message will not go through", 10)
	```
]=]
function Signal:ConnectOnce(fn)
	local connection
	local done = false
	connection = self:Connect(function(...)
		if done then
			return
		end
		done = true
		connection:Disconnect()
		fn(...)
	end)
	return connection
end

function Signal:GetConnections()
	local items = {}
	local item = self._handlerListHead
	while item do
		table.insert(items, item)
		item = item._next
	end
	return items
end
-- When Tool UnEqiopped
tool.Unequipped:Connect(function()
	if track and track1 then
		track:Stop()
		track1:Stop()
	end
end)
--//Configs
local REAPPEAR_TIME = 2 --//Once the part becomes invisible, after this amount of seconds it'll appear again
local FADE_TIME = 1 --//How long it takes for the part to become fully visible/invisible

local function Animate()
	if isAnimating then return end

	isAnimating = true

	local targetProperties = {}
	targetProperties.Transparency = 1

	local disappearFade = tweenService:Create(script.Parent, TweenInfo.new(FADE_TIME), targetProperties)

	disappearFade:Play()
	disappearFade.Completed:Wait()

	wait(REAPPEAR_TIME)

	targetProperties.Transparency = 0

	local appearFade = tweenService:Create(script.Parent, TweenInfo.new(FADE_TIME), targetProperties)

	appearFade:Play()
	appearFade.Completed:Wait()

	isAnimating = false
end

script.Parent.Touched:Connect(Animate)