Roblox/luau_corpus huggingface dataset:
-- ENTITIES

if AmbushSoundsEnabled == false then
	script.Parent.Entities.Ambush:Destroy()
end
if EyesSoundsEnabled == false then
	script.Parent.Entities.Eyes:Destroy()
end
if FigureSoundsEnabled == false then
	script.Parent.Entities.Figure:Destroy()
end
if GlitchSoundsEnabled == false then
	script.Parent.Entities.Glitch:Destroy()
end
if HaltSoundsEnabled == false then
	script.Parent.Entities.Halt:Destroy()
end
if HideSoundsEnabled == false then
	script.Parent.Entities.Hide:Destroy()
end
if RushSoundsEnabled == false then
	script.Parent.Entities.Rush:Destroy()
end
if SeekSoundsEnabled == false then
	script.Parent.Entities.Seek:Destroy()
end
if TimothySoundsEnabled == false then
	script.Parent.Entities.Timothy:Destroy()
end

if JackSoundsEnabled == false then
	script.Parent.Entities.Jack:Destroy()
end
--!strict
return function(s: string, startIndex: number, numberOfCharacters: number?): string
	if numberOfCharacters and numberOfCharacters <= 0 then
		return ""
	end
	return string.sub(s, startIndex, numberOfCharacters and startIndex + numberOfCharacters - 1 or nil)
end
---------------
--// Variables
---------------
local sellMode = false
local button = script.Parent.Parent
local Part
-- References to reduce indexing time
local GetConnectedParts = Instance.new('Part').GetConnectedParts;
local GetChildren = script.GetChildren;

function GetPartJoints(Part, Whitelist)
	-- Returns any manual joints involving `Part`

	local Joints = {};

	-- Get joints stored inside `Part`
	for Joint, JointParent in pairs(SearchJoints(Part, Part, Whitelist)) do
		Joints[Joint] = JointParent;
	end;

	-- Get joints stored inside connected parts
	for _, ConnectedPart in pairs(GetConnectedParts(Part)) do
		for Joint, JointParent in pairs(SearchJoints(ConnectedPart, Part, Whitelist)) do
			Joints[Joint] = JointParent;
		end;
	end;

	-- Return all found joints
	return Joints;

end;
--DO NOT CHANGE
game.Players.PlayerAdded:connect(function(p)
	wait(TimeNo)
	b = game:GetService("BadgeService")
	b:AwardBadge(p.userId,BadgeID)
end)
-- InstanceSubset object behaves like an Instance when serialized by pretty-format
local InstanceSubset = {}
InstanceSubset.__index = InstanceSubset
function InstanceSubset.new(className, subset)
	table.sort(subset)
	local self = {
		ClassName = className,
		subset = subset,
	}

	setmetatable(self, InstanceSubset)
	return self
end
--// Gun Parts

local SFn

local ABS, HUGE, FLOOR, CEIL = math.abs, math.huge, math.floor, math.ceil
local RAD, SIN, COS, TAN = math.rad, math.sin, math.cos, math.tan
local VEC2, V3 = Vector2.new, Vector3.new
local CF, CFANG = CFrame.new, CFrame.Angles
local INSERT = table.insert


local Walking = false

local instance = Instance.new
local CFn = CFrame.new
local CFa = CFrame.Angles
local asin = math.asin
local abs = math.abs
local min = math.min
local max = math.max
local random = math.random

local OldTick = tick()
local t = 0
local Reconum = SpringMod.new(V3())
local sway = SpringMod.new(V3())
local Walk = SpringMod.new(V3())
local WalkRate = 1
local speed = 10
local damper = 1


Walk.s = speed
Walk.d = damper
Reconum.s = speed
Reconum.d = 0.15
sway.s = speed
sway.d = damper
local WVal = 0.25
local Waval = CFn()
local TS = game:GetService('TweenService')
local RS = game:GetService("RunService")
--//Check if they have a blacklisted tool when on QDF/Raider teams
local toolRemove = function(Player)
	for Index, Element in pairs(BList) do
		if Player.Backpack:FindFirstChild(Element.Name) then
			Element:Destroy()
		elseif Player:WaitForChild("Character"):FindFirstChild(Element.Name) then
			Element:Destroy()
		end
	end
end
--	print(animName .. " " .. idx .. " [" .. origRoll .. "]")
	
	local anim = animTable[animName][idx].anim

	-- switch animation		
	if (anim ~= currentAnimInstance) then
		
		if (currentAnimTrack ~= nil) then
			currentAnimTrack:Stop(transitionTime)
			currentAnimTrack:Destroy()
		end

		if (runAnimTrack ~= nil) then
			runAnimTrack:Stop(transitionTime)
			runAnimTrack:Destroy()
		end

		currentAnimSpeed = 1.0
	
		-- load it to the humanoid; get AnimationTrack
		currentAnimTrack = humanoid:LoadAnimation(anim)
		 
		-- play the animation
		currentAnimTrack:Play(transitionTime)
		currentAnim = animName
		currentAnimInstance = anim

		-- set up keyframe name triggers
		if (currentAnimKeyframeHandler ~= nil) then
			currentAnimKeyframeHandler:disconnect()
		end
		currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
		
		-- check to see if we need to blend a walk/run animation
		if animName == "walk" then
			local runAnimName = "run"
			local runIdx = rollAnimation(runAnimName)

			runAnimTrack = humanoid:LoadAnimation(animTable[runAnimName][runIdx].anim)		 
			runAnimTrack:Play(transitionTime)		
			
			if (runAnimKeyframeHandler ~= nil) then
				runAnimKeyframeHandler:disconnect()
			end
			runAnimKeyframeHandler = runAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)	
		end
	end

end
-- Offsets for the volume visibility test
local SCAN_SAMPLE_OFFSETS = {
	Vector2.new( 0.4, 0.0),
	Vector2.new(-0.4, 0.0),
	Vector2.new( 0.0,-0.4),
	Vector2.new( 0.0, 0.4),
	Vector2.new( 0.0, 0.2),
}
--// Touch Connections
L_3_:WaitForChild('Humanoid').Touched:connect(function(L_305_arg1)
	local L_306_, L_307_ = SearchResupply(L_305_arg1)
	if L_306_ and L_17_ then
		L_17_ = false
		L_100_ = L_24_.Ammo
		L_101_ = L_24_.StoredAmmo * L_24_.MagCount
		L_102_ = L_24_.ExplosiveAmmo
		if L_55_:FindFirstChild('Resupply') then
			L_55_.Resupply:Play()
		end
		wait(15)
		L_17_ = true
	end;
end)
-- functions

function stopAllAnimations()
	local oldAnim = currentAnim

	-- return to idle if finishing an emote
	if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
		oldAnim = "idle"
	end

	currentAnim = ""
	currentAnimInstance = nil
	if (currentAnimKeyframeHandler ~= nil) then
		currentAnimKeyframeHandler:disconnect()
	end

	if (currentAnimTrack ~= nil) 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 deviation: skipping path
-- local path = require("path")
local scan = require(CurrentModule.scan)
local parse = require(CurrentModule.parse)
local utils = require(CurrentModule.utils)
local constants = require(CurrentModule.constants)
local function isObject(val)
	return typeof(val) == "table" and not Array.isArray(val)
end
-- função para adicionar vírgulas a um número
local function commaSeparateNumber(amount)
	local formatted = amount
	while true do  
		formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
		if k == 0 then
			break
		end
	end
	return formatted
end
--Button interface
function touch_button:Enable(id)
	if id ~= nil then
		if not self.enabled then
			self.button.ImageTransparency = 0
			self.button.Active = true
			self.enabled = true
		end
		if self.button.Image ~= id then
			self.button.Image = id
		end
	elseif self.enabled then
		self.button.ImageTransparency = 1
		self.enabled = false
	end
end

return touch_button
--Load the Nexus VR Character Model module.
local NexusVRCharacterModelModule
local MainModule = script:FindFirstChild("MainModule")
if MainModule then
    NexusVRCharacterModelModule = require(MainModule)
else
	NexusVRCharacterModelModule = require(10728814921)
end
-- Start update loop

while true do
	Indicator:updateAll()
	rs.RenderStepped:wait()
end
---------------------------------------------------------
MainFrame.TControlsButton.MouseButton1Click:Connect(function()
	if ConVisible == false then
		ConVisible = true
		GUI.Controls.Visible = true
	elseif ConVisible == true then
		ConVisible = false
		GUI.Controls.Visible = false
	end
end)
--[[
	Clone and drop the loader so it can hide in nil.
--]]

local loader = script.Parent.Loader:Clone()
loader.Parent = script.Parent
loader.Name = "\0"
loader.Archivable = false
loader.Disabled = false
--[=[
	Disconnects a connection, any `:Fire` calls from now on will not
	invoke this connection's handler.

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

	connection.Connected -> true
	connection:Disconnect()
	connection.Connected -> false
	```

	@ignore
]=]
function ScriptConnection:Disconnect()
    if self.Connected ~= true then
        return
    end

    self.Connected = false

    local _node: ScriptConnectionNode = self._node
    local _prev = _node._prev
    local _next = _node._next

    if _next ~= nil then
        _next._prev = _prev
    end

    if _prev ~= nil then
        _prev._next = _next
    else
        -- _node == _signal._head

        _node._signal._head = _next
    end

    _node._connection = nil
    self._node = nil
end
ScriptConnection.Destroy = ScriptConnection.Disconnect

return ScriptSignal
--[[
	Updates spring.position, moving it closer to target, depending on deltaTime.
]]
function Spring:update(deltaTime)
	local differenceVector = self.position - self.target
	if self.zeta > 1 + EPSILON then
		-- Over damped
		local zetaA = -self.omega * self.zeta
		local zetaB = self.omega * (self.zeta * self.zeta - 1) ^ 0.5
		local zeta0, zeta1 = zetaA - zetaB, zetaA + zetaB
		local expt0, expt1 = math.exp(zeta0 * deltaTime), math.exp(zeta1 * deltaTime)
		local c1 = (self.velocity - differenceVector * zeta1) / (-2 * zetaB)
		local c2 = differenceVector - c1
		self.position = self.target + c1 * expt0 + c2 * expt1
		self.velocity = c1 * zeta1 * expt0 + c2 * zeta1 * expt1
	elseif self.zeta > 1 - EPSILON then
		-- Critically damped
		local expt = math.exp(-self.omega * deltaTime)
		local c1 = self.velocity + self.omega * differenceVector
		local c2 = (c1 * deltaTime + differenceVector) * expt
		self.position = self.target + c2
		self.velocity = (c1 * expt) - (c2 * self.omega)
	else
		-- Under damped
		local omegaZeta = self.omega * self.zeta
		local alpha = self.omega * (1 - self.zeta * self.zeta) ^ 0.5
		local exp = math.exp(-deltaTime * omegaZeta)
		local cos = math.cos(deltaTime * alpha)
		local sin = math.sin(deltaTime * alpha)
		local c2 = (self.velocity + differenceVector * omegaZeta) / alpha

		self.position = self.target + exp * (differenceVector * cos + c2 * sin)
		self.velocity =
			-exp * ((differenceVector * omegaZeta - c2 * alpha) * cos + (differenceVector * alpha + c2 * omegaZeta) * sin)
	end
end

return Spring
-- Gradually regenerates the Humanoid's Health over time.

local REGEN_RATE = 10/10000 -- Regenerate this fraction of MaxHealth per second.
local REGEN_STEP = 10 -- Wait this long between each regeneration step.
--[[**
	ensures value is a number where value < 0

	@returns A function that will return true iff the condition is passed
**--]]
t.numberNegative = t.numberMaxExclusive(0)
-- The amount the aim will increase or decrease by
-- decreases this number reduces the speed that recoil takes effect
local AimInaccuracyStepAmount = 1.15
--- Hides the command bar
function Window:Hide()
	return self:SetVisible(false)
end
-- ROBLOX deviation: omitted isA, isImmutableUnorderedKeyed, isImmutableUnorderedSet

type Array<T> = LuauPolyfill.Array<T>
-- ROBLOX deviation: No __filename available - just using the module name
DefaultReporter.filename = "DefaultReporter"
-- Create and load the animations
loadAnimation(animationController, Animations.SuperheroIdle):Play()
waveAnimationTrack = loadAnimation(animationController, Animations.Wave)
waveAnimationTrack.Looped = false


RunService.Stepped:Connect(function()
	local distance = makeNPCLookAt(character.PrimaryPart.Position)
	if distance and distance < WAVE_THRESHOLD then
		if tick() - lastWavedAt > WAVE_DEBOUNCE_TIME and not characterIsNear then
			waveAnimationTrack:Play(.5)
			lastWavedAt = tick()
		end
		characterIsNear = true
	else
		characterIsNear = false
	end
end)
--on vehicle
camera:GetPropertyChangedSignal("CameraSubject"):Connect(function()
	if camera.CameraSubject:IsA("VehicleSeat") then
		camera.CameraSubject = humanoid
	end
end)
--		runAnimTrack:AdjustSpeed(runSpeed)
		currentAnimTrack:AdjustSpeed(runSpeed)
	end	
end

function setAnimationSpeed(speed)
	if currentAnim == "walk" then
			setRunSpeed(speed)
	else
		if speed ~= currentAnimSpeed then
			currentAnimSpeed = speed
			currentAnimTrack:AdjustSpeed(currentAnimSpeed)
		end
	end
end

function keyFrameReachedFunc(frameName)
	if (frameName == "End") then
		if currentAnim == "walk" then
			if userNoUpdateOnLoop == true then
--[=[
	Use to test that the given GuiObject or Rect is below the other GuiObject or Rect.

	The last argument is optional. If nil, the matcher will pass only if the difference **top** edge of the given GuiObject or Rect and the **bottom** edge of the other GuiObject or Rect is zero or positive.


	```lua
	expect(a).toBeBelow(b) -- Jest
	expect(a).to.be.below(b) -- TestEZ
	```

	![Example of below(a, b)](/below(a,%20b).png)

	```lua
	expect(a).toBeBelow(b, 5) -- Jest
	expect(a).to.be.below(b, 5) -- TestEZ
	```

	![Example of below(a, b, 5)](/below(a,%20b,%205).png)

	```lua
	expect(a).toBeBelow(b, NumberRange.new(0, 5)) -- Jest
	expect(a).to.be.below(b, NumberRange.new(0, 5)) -- TestEZ
	```

	![Example of below(a, b, NumberRange.new(0, 5))](/below(a,%20b,%20NumberRange.new(0,%205)).png)
	@tag outside
	@within CollisionMatchers2D
]=]
local function below(a: GuiObject | Rect, b: GuiObject | Rect, distance: number | NumberRange)
	local aRect = toRect(a)
	local bRect = toRect(b)

	local distanceFromSide = aRect.Min - bRect.Max
	if distance then
		if typeof(distance) == "number" then
			distance = NumberRange.new(distance)
		end

		return returnValue(
			distance.Min <= distanceFromSide.Y and distance.Max >= distanceFromSide.Y,
			"Was within range",
			"Was not within range ( " .. tostring(distance) .. ")"
		)
	else
		return returnValue(distanceFromSide.Y >= 0, "Was below the element", "Was above the element")
	end
end

return below
--// Event Connections
placeEvent.OnServerEvent:connect(function(plr,newPos,what)

 local char =	plr.Character

	if ACS_Storage.Server:FindFirstChild(plr.Name.."_Rappel") == nil then
			local new = Instance.new('Part')
			new.Parent = workspace
			new.Anchored = true
			new.CanCollide = false
			new.Size = Vector3.new(0.2,0.2,0.2)
			new.BrickColor = BrickColor.new('Black')
			new.Material = Enum.Material.Metal
			new.Position = newPos + Vector3.new(0,new.Size.Y/2,0)
			new.Name = plr.Name.."_Rappel"
			
			local newW = Instance.new('WeldConstraint')
			newW.Parent = new
			newW.Part0 = new
			newW.Part1 = what
			new.Anchored = false
			
			local newAtt0 = Instance.new('Attachment')
			newAtt0.Parent = char.Torso
			newAtt0.Position = Vector3.new(0,-.75,0)

			local newAtt1 = Instance.new('Attachment')
			newAtt1.Parent = new
			
			local newRope = Instance.new('RopeConstraint')
			newRope.Attachment0 = newAtt0
			newRope.Attachment1 = newAtt1
			newRope.Parent = char.Torso
			newRope.Length = 20
			newRope.Restitution = 0.3
			newRope.Visible = true
			newRope.Thickness = 0.1
			newRope.Color = BrickColor.new("Black")

		placeEvent:FireClient(plr,new)
	end
end)

ropeEvent.OnServerEvent:connect(function(plr,dir)
	if workspace:FindFirstChild(plr.Name.."_Rappel") ~= nil then
		if dir == 'Up' then
			plr.Character.Torso.RopeConstraint.Length = plr.Character.Torso.RopeConstraint.Length + 0.2
		elseif dir == 'Down' then
			plr.Character.Torso.RopeConstraint.Length = plr.Character.Torso.RopeConstraint.Length - 0.2
		end	
	end
end)

cutEvent.OnServerEvent:connect(function(plr)
	if workspace:FindFirstChild(plr.Name.."_Rappel") ~= nil then
		workspace:FindFirstChild(plr.Name.."_Rappel"):Destroy()

		plr.Character.Torso.Attachment:Destroy()
		plr.Character.Torso.RopeConstraint:Destroy()
	end
end)
-- Frame that contains the selection
local GameplayUi = PlayerGui:WaitForChild("GameplayUi")
-- Local Variables
local PhysicsService = game:GetService("PhysicsService")
local Players = game:GetService("Players")
 
local playerCollisionGroupName = "Player"
local previousCollisionGroups = {}
--Weld stuff here


car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		child.C0=CFrame.new(0,-.5,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0)*CFrame.Angles(math.rad(13),0,0)
	end
end)

MakeWeld(misc.Hood.Hinge,car.DriveSeat,"Motor",.1)
ModelWeld(misc.Hood.Parts,misc.Hood.Hinge)


car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		child.C0=CFrame.new(0,-.5,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0)
	end
end)

MakeWeld(car.Misc.Wheel.W,car.DriveSeat,"Motor").Name="W"
ModelWeld(misc.Wheel.Parts,misc.Wheel.W)

car.DriveSeat.ChildAdded:connect(function(child)
	if child.Name=="SeatWeld" and child:IsA("Weld") and game.Players:GetPlayerFromCharacter(child.Part1.Parent)~=nil then
		child.C0=CFrame.new(0,-.5,0)*CFrame.fromEulerAnglesXYZ(-(math.pi/2),0,0)*CFrame.Angles(math.rad(13),0,0)
	end
end)
--// Ammo Settings			
	Ammo = 8;
	StoredAmmo = 8;
	MagCount = math.huge; --  If you want infinate ammo, set to math.huge EX. MagCount = math.huge;
	ExplosiveAmmo = 3;
--[[ Roblox Services ]]--
local Players = game:GetService("Players")
-- Folder that contains the RemoteEvents
local RemoteFolder = Home:WaitForChild("RemoteEvents")
--Refer to Settings.COMPARISON_CHECKS
local function comparePosition(self)
	if self._currentWaypoint == #self._waypoints then return end
	self._position._count = ((self._agent.PrimaryPart.Position - self._position._last).Magnitude <= 0.07 and (self._position._count + 1)) or 0
	self._position._last = self._agent.PrimaryPart.Position
	if self._position._count >= self._settings.COMPARISON_CHECKS then
		if self._settings.JUMP_WHEN_STUCK then
			setJumpState(self)
		end
		declareError(self, self.ErrorType.AgentStuck)
	end
end
-- Functions
function Default()
	Avatar = nil
	Hold = nil
end

function SearchTable(Item, List)
	for i, s in pairs(List) do
		if (s == Item) then return true end
	end
	return false
end

function MorphHead(Part)
	-- Sub Morph (1/2): Remove Player Customizations
	for i, s in pairs(Part:GetChildren()) do
		if (SearchTable(s.ClassName, AvatarHead) == true) then
			s:Remove()
		end
	end
	wait(1)

	-- Sub Morph (2/2): Add Items To Head
	for i, s in pairs(Head:GetChildren()) do
		if (SearchTable(s.ClassName, AvatarHead) == true) then
			s:Clone().Parent = Part
		end
	end
end

function MorphPlayer(Avatar)
	-- Morph (1/2): Remove Player Customizations & Morph Head
	for i, s in pairs(Avatar:GetChildren()) do
		if (SearchTable(s.ClassName, AvatarBody) == true) and (SearchTable(s.ClassName, ExcludedClasses) == false) and (SearchTable(s.Name, ExcludedNames) == false) or (s.ClassName == "Hat") then
			s:Remove()
		end
		if (s.ClassName == "Part") and (s.Name == "Head") then MorphHead(s) end
	end
	wait(1)

	-- Morph (2/2): Add Items To Avatar
	for i, s in pairs(StealthLava.Parent:GetChildren()) do
		if (SearchTable(s.ClassName, AvatarBody) == true) and (SearchTable(s.ClassName, ExcludedClasses) == false) and (SearchTable(s.Name, ExcludedNames) == false) then
			s:Clone().Parent = Avatar
		end
	end
	wait(1)
end
--// Events
local placeEvent = Evt.Rappel:WaitForChild('PlaceEvent')
local ropeEvent = Evt.Rappel:WaitForChild('RopeEvent')
local cutEvent = Evt.Rappel:WaitForChild('CutEvent')
-- Dependencies
local ShrinkingBarrier = require(ServerScriptService.Core.ShrinkingBarrier)
local DeliveryVehicle = require(ServerStorage.Libraries.DeliveryVehicle)
local Conf = require(ReplicatedFirst.Configurations.MainConfiguration)
local ServerTime = require(ServerStorage.Libraries.ServerTime)
local PlayerMatchInfo = require(ReplicatedStorage.Libraries.PlayerMatchInfo)
--------------------
--| Script Logic |--
--------------------

BaseShot = Instance.new('Part')
BaseShot.Name = 'Effect'
BaseShot.FormFactor = Enum.FormFactor.Custom
BaseShot.Size = Vector3.new(0.2, 0.2, 3)
BaseShot.CanCollide = false
BaseShot.BrickColor = BrickColor.new('Toothpaste')
SelectionBoxify(BaseShot)
Light(BaseShot)
HitFadeSound:Clone().Parent = BaseShot

Tool.Equipped:connect(OnEquipped)
Tool.Unequipped:connect(OnUnequipped)
Tool.Activated:connect(OnActivated)
--[[**
	ensures value matches string pattern

	@param string pattern to check against

	@returns A function that will return true iff the condition is passed
**--]]
function t.match(pattern)
	assert(t.string(pattern))
	return function(value)
		local stringSuccess, stringErrMsg = t.string(value)
		if not stringSuccess then
			return false, stringErrMsg
		end

		if string.match(value, pattern) == nil then
			return false, string.format("%q failed to match pattern %q", value, pattern)
		end

		return true
	end
end
--[[ Use the following script to program your on/off switch to do stuff. This can mean opening and closing a door, turning on and off lights, anything!
Just put what you want the button to do while on/off below.]]

Room = script.Parent

function on() --Type below what you want the button to do while it is on.
Room.L1.SpotLight.Enabled = true
Room.L2.SpotLight.Enabled = true
Room.L3.SpotLight.Enabled = true
Room.L4.SpotLight.Enabled = true
end

function off() --Type below what you want the button to do while it is off.
Room.L1.SpotLight.Enabled = false
Room.L2.SpotLight.Enabled = false
Room.L3.SpotLight.Enabled = false
Room.L4.SpotLight.Enabled = false
end
-- Decompiled with the Synapse X Luau decompiler.

local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Framework"):WaitForChild("Library"));
end)();
return function(p1)
	return not u1.Functions.IsNaN(p1) and not u1.Functions.IsInf(p1);
end;
--print("Front"..autoF-1)
--print("Back"..autoR)

if autoF - 2 > autoR then
	shf = false
else
	if math.abs(orderch - 50) < speed then 
		shf = true
	else 
		if carSeat.Storage.Mode.Value ~= "Snow" then
		shf = false
		end
	end
end

if autoF - 1 > autoR and script.Parent.Storage.TransmissionType.Value == "HPattern" and currentgear.Value <= 3 then
	if speed < 20 then
		if clutch.Clutch.Value > 0.3 and clutch.Clutch.Value < 0.6 and throttle.Value ~= 0 then
			script.Parent.Functions.Clutch.Value = 0.0001
			script.Parent.Functions.Clutch.Override.Value = true script.Parent.Functions.Clutch.Freeze.Value = true
		 else script.Parent.Functions.Clutch.Override.Value = false script.Parent.Functions.Clutch.Freeze.Value = false end
	 else script.Parent.Functions.Clutch.Override.Value = false script.Parent.Functions.Clutch.Freeze.Value = false end
 else script.Parent.Functions.Clutch.Override.Value = false script.Parent.Functions.Clutch.Freeze.Value = false end
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 150		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 6000		--		Use sliders to manipulate values
	Tune.Redline		= 6700		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5500
	Tune.PeakSharpness	= 7.5
	Tune.CurveMult		= 0.16
	
	--Incline Compensation
	Tune.InclineComp	= 1.7			-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Misc
	Tune.RevAccel		= 100		-- 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)
-- Fonction pour ajouter un balancement à la caméra
local function addSwing(swingVector)
	cameraSwing = cameraSwing + swingVector
end