Roblox/luau_corpus huggingface dataset:
-- ANimation
local Sound = script:WaitForChild("Haoshoku Sound")

UIS.InputBegan:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.F and Debounce == 1 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == true then
		Debounce = 2
		Track1 = plr.Character.Dragon.Dragonoid:LoadAnimation(script.A1)
		Track1:Play()
		Fly = plr.Character.Dragon.Torso.Dragonfly
		Fly.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
		for i = 1,math.huge do
			if Debounce == 2 then
				Fly.Velocity = CFrame.new(plr.Character.HumanoidRootPart.Position,Mouse.Hit.p).LookVector * 140
				plr.Character.HumanoidRootPart.CFrame = CFrame.new(plr.Character.HumanoidRootPart.Position, Vector3.new(Mouse.Hit.p.x,plr.Character.HumanoidRootPart.Position.y,Mouse.Hit.p.z))
			else
				
				break
				end
	     wait()
	  end
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.F and Debounce == 2 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == true  then
		Debounce = 3
		Track1:Stop()
		Fly.Velocity = plr.Character.HumanoidRootPart.CFrame.LookVector * 0
		wait(0)
		Tool.Active.Value = "None"
		wait(0)
		Debounce = 1
	end
end)
--// Loccalllsssss
local _G, game, script, getfenv, setfenv, workspace, getmetatable, setmetatable, loadstring, coroutine, rawequal, typeof, print, math, warn, error, pcall, xpcall, select, rawset, rawget, ipairs, pairs, next, Rect, Axes, os, time, Faces, unpack, string, Color3, newproxy, tostring, tonumber, Instance, TweenInfo, BrickColor, NumberRange, ColorSequence, NumberSequence, ColorSequenceKeypoint, NumberSequenceKeypoint, PhysicalProperties, Region3int16, Vector3int16, require, table, type, wait, Enum, UDim, UDim2, Vector2, Vector3, Region3, CFrame, Ray, delay, spawn, task, tick, assert =
	_G,
	game,
	script,
	getfenv,
	setfenv,
	workspace,
	getmetatable,
	setmetatable,
	loadstring,
	coroutine,
	rawequal,
	typeof,
	print,
	math,
	warn,
	error,
	pcall,
	xpcall,
	select,
	rawset,
	rawget,
	ipairs,
	pairs,
	next,
	Rect,
	Axes,
	os,
	time,
	Faces,
	table.unpack,
	string,
	Color3,
	newproxy,
	tostring,
	tonumber,
	Instance,
	TweenInfo,
	BrickColor,
	NumberRange,
	ColorSequence,
	NumberSequence,
	ColorSequenceKeypoint,
	NumberSequenceKeypoint,
	PhysicalProperties,
	Region3int16,
	Vector3int16,
	require,
	table,
	type,
	task.wait,
	Enum,
	UDim,
	UDim2,
	Vector2,
	Vector3,
	Region3,
	CFrame,
	Ray,
	task.delay,
	task.defer,
	task,
	tick,
	function(cond, errMsg)
		return cond or error(errMsg or "assertion failed!", 2)
	end

local SERVICES_WE_USE = table.freeze({
	"Workspace",
	"Players",
	"Lighting",
	"ReplicatedStorage",
	"ReplicatedFirst",
	"ScriptContext",
	"JointsService",
	"LogService",
	"Teams",
	"SoundService",
	"StarterGui",
	"StarterPack",
	"StarterPlayer",
	"GroupService",
	"MarketplaceService",
	"HttpService",
	"TestService",
	"RunService",
	"NetworkClient",
})
-- Testing AC FE support

local event = script.Parent
local car=script.Parent.Parent
local LichtNum = 0


event.OnServerEvent:connect(function(player,data)
	if data['ToggleLight'] then
		if car.Body.Light.on.Value==true then
			car.Body.Light.on.Value=false
		else
			car.Body.Light.on.Value=true
		end
	elseif data['EnableBrakes'] then
		car.Body.Brakes.on.Value=true
	elseif data['DisableBrakes'] then
		car.Body.Brakes.on.Value=false
	elseif data['ToggleLeftBlink'] then
		if car.Body.Left.on.Value==true then
			car.Body.Left.on.Value=false
		else
			car.Body.Left.on.Value=true
		end
	elseif data['ToggleRightBlink'] then
		if car.Body.Right.on.Value==true then
			car.Body.Right.on.Value=false
		else
			car.Body.Right.on.Value=true
		end
	elseif data['ReverseOn'] then
		car.Body.Reverse.on.Value=true
	elseif data['ReverseOff'] then
		car.Body.Reverse.on.Value=false
	elseif data['ToggleStandlicht'] then
		if LichtNum == 0 then
			LichtNum = 2
			car.Body.Headlight.on.Value = true
		elseif LichtNum == 1 then
			LichtNum = 2
			car.Body.Headlight.on.Value = true
		elseif LichtNum == 2 then
			LichtNum = 3
			car.Body.Highlight.on.Value = true
		elseif LichtNum == 3 then
			LichtNum = 1
			car.Body.Highlight.on.Value = false
			car.Body.Headlight.on.Value = false
		
		end
	end
end)
-- Quick scan:
-- 	This will just give you a brick-count and print it to your output
--	Go in Solo or Online mode to get a dynamic GUI counter
local parts = {}
function scan(p)
	for _,v in pairs(p:GetChildren()) do
		if (v:IsA("BasePart")) then
			table.insert(parts,v)
		end
		scan(v)
	end
end
scan(game.Workspace)
print(#parts .. (#parts == 1 and " brick " or " bricks ") .. "counted")
parts = {}
------------------------------------

function onTouched(part)  --DO NOT EDIT ANYTHING FROM LINES 11-54, OR THE TELEPORTER WILL BE SEVERELY DAMAGED.
	if part.Parent ~= nil then
	local h = part.Parent:findFirstChild("Humanoid")
		if h~=nil then
			local teleportfrom=script.Parent.Enabled.Value
			if teleportfrom~=0 then
				if h==humanoid then
				return
				end
				local teleportto=script.Parent.Parent:findFirstChild(modelname)
				if teleportto~=nil then
					local torso = h.Parent.Torso
					local location = {teleportto.Position}
					local i = 1

					local x = location[i].x
					local y = location[i].y
					local z = location[i].z
				
					x = x + math.random(-1, 1)
					z = z + math.random(-1, 1)
					y = y + math.random(2, 3)

					local cf = torso.CFrame
					local lx = 0
					local ly = y
					local lz = 0
					
					script.Parent.Enabled.Value=0
					teleportto.Enabled.Value=0
					torso.CFrame = CFrame.new(Vector3.new(x,y,z), Vector3.new(lx,ly,lz))
					wait(1)
					script.Parent.Enabled.Value=1
					teleportto.Enabled.Value=1
				else
					print("Could not find teleporter!")
				end
			end
		end
	end
end

script.Parent.Touched:connect(onTouched)
--[[for x = 1, 50 do
s.Pitch = s.Pitch + 0.01
s:play()
wait(0.001)
end]]
for x = 100, 170 do
s:play()
wait(0.001)
end
for x = 100, 210 do
s.Pitch = s.Pitch - 0.0031
s:play()
wait(0.001)
end
wait()
end
--[=[
	@within ClientRemoteSignal
	@interface Connection
	.Disconnect () -> nil
]=]

function ClientRemoteSignal.new(re: RemoteEvent, inboundMiddleware: Types.ClientMiddleware?, outboudMiddleware: Types.ClientMiddleware?)
	local self = setmetatable({}, ClientRemoteSignal)
	self._re = re
	if outboudMiddleware and #outboudMiddleware > 0 then
		self._hasOutbound = true
		self._outbound = outboudMiddleware
	else
		self._hasOutbound = false
	end
	if inboundMiddleware and #inboundMiddleware > 0 then
		self._directConnect = false
		self._signal = Signal.new()
		self._reConn = self._re.OnClientEvent:Connect(function(...)
			local args = table.pack(...)
			for _,middlewareFunc in ipairs(inboundMiddleware) do
				local middlewareResult = table.pack(middlewareFunc(args))
				if not middlewareResult[1] then
					return
				end
			end
			self._signal:Fire(table.unpack(args, 1, args.n))
		end)
	else
		self._directConnect = true
	end
	return self
end

function ClientRemoteSignal:_processOutboundMiddleware(...: any)
	local args = table.pack(...)
	for _,middlewareFunc in ipairs(self._outbound) do
		local middlewareResult = table.pack(middlewareFunc(args))
		if not middlewareResult[1] then
			return table.unpack(middlewareResult, 2, middlewareResult.n)
		end
	end
	return table.unpack(args, 1, args.n)
end
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 3000		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 1000		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 11000		--		Use sliders to manipulate values
	Tune.Redline		= 12000		--		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		= 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)
-- << VARIABLES >>
local messageContainer = Instance.new("Folder")
messageContainer.Name = "MessageContainer"
messageContainer.Parent = main.gui
local containerFrames = {"Messages", "Hints"}
for i,v in pairs(containerFrames) do
	local frame = Instance.new("Frame")
	frame.Size = UDim2.new(1,0,1,0)
	frame.Position = UDim2.new(0,0,0,0)
	frame.BackgroundTransparency = 1
	frame.Name = v
	if v == "Hints" then
		local list = Instance.new("UIListLayout")
		list.Parent = frame
	end
	frame.Parent = messageContainer
end
-- ROBLOX Services

local RunService = game:GetService('RunService')
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local Lighting = game:GetService("Lighting")
--[[

	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)
	p1 = tostring(string.format("%18.0f", tonumber(p1) or 0));
	p1 = (tostring(p1):reverse():gsub("(%d%d%d)", "%1,"):reverse() .. (tostring(p1):match("%.%d+") or "")):gsub("^,", "");
	p1 = string.gsub(p1, "%s+", "");
	local v1
	if string.sub(p1, 0, 1) == "," then
		v1 = 2;
	else
		v1 = 0;
	end;
	p1 = string.sub(p1, v1);
	return p1;
end;
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}

math.randomseed(tick())

function configureAnimationSet(name, fileList)
	if (animTable[name] ~= nil) then
		for _, connection in pairs(animTable[name].connections) do
			connection:Disconnect()
		end
	end
	animTable[name] = {}
	animTable[name].count = 0
	animTable[name].totalWeight = 0	
	animTable[name].connections = {}

	local allowCustomAnimations = true
	local AllowDisableCustomAnimsUserFlag = false

	local success, msg = pcall(function()
		AllowDisableCustomAnimsUserFlag = UserSettings():IsUserFeatureEnabled("UserAllowDisableCustomAnims2")
	end)

	if (AllowDisableCustomAnimsUserFlag) then
		local success, msg = pcall(function() allowCustomAnimations = game:GetService("StarterPlayer").AllowCustomAnimations end)
		if not success then
			allowCustomAnimations = true
		end
	end

	-- check for config values
	local config = script:FindFirstChild(name)
	if (allowCustomAnimations and config ~= nil) then
		table.insert(animTable[name].connections, config.ChildAdded:Connect(function(child) configureAnimationSet(name, fileList) end))
		table.insert(animTable[name].connections, config.ChildRemoved:Connect(function(child) configureAnimationSet(name, fileList) end))
		local idx = 1
		for _, childPart in pairs(config:GetChildren()) do
			if (childPart:IsA("Animation")) then
				table.insert(animTable[name].connections, childPart.Changed:Connect(function(property) configureAnimationSet(name, fileList) end))
				animTable[name][idx] = {}
				animTable[name][idx].anim = childPart
				local weightObject = childPart:FindFirstChild("Weight")
				if (weightObject == nil) then
					animTable[name][idx].weight = 1
				else
					animTable[name][idx].weight = weightObject.Value
				end
				animTable[name].count = animTable[name].count + 1
				animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
				idx = idx + 1
			end
		end
	end

	-- fallback to defaults
	if (animTable[name].count <= 0) then
		for idx, anim in pairs(fileList) do
			animTable[name][idx] = {}
			animTable[name][idx].anim = Instance.new("Animation")
			animTable[name][idx].anim.Name = name
			animTable[name][idx].anim.AnimationId = anim.id
			animTable[name][idx].weight = anim.weight
			animTable[name].count = animTable[name].count + 1
			animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
--> References
local Fountain = script.Parent
local HealPart = Fountain:WaitForChild("Heal", math.huge)
local BillboardGui = HealPart:WaitForChild("Attachment"):WaitForChild("BillboardGui")
--Made by Luckymaxer

Tool = script.Parent
Handle = Tool:WaitForChild("Handle")

Players = game:GetService("Players")
UserInputService = game:GetService("UserInputService")

Animations = {}

Remotes = Tool:WaitForChild("Remotes")
ServerControl = Remotes:WaitForChild("ServerControl")
ClientControl = Remotes:WaitForChild("ClientControl")

ToolEquipped = false

function SetAnimation(mode, value)
	if not ToolEquipped or not CheckIfAlive() or not mode or not value then
		return
	end
	if mode == "PlayAnimation" then
		for i, v in pairs(Animations) do
			if v.Animation == value.Animation then
				v.AnimationTrack:Stop()
				table.remove(Animations, i)
			end
		end
		local AnimationTrack = Humanoid:LoadAnimation(value.Animation)
		table.insert(Animations, {Animation = value.Animation, AnimationTrack = AnimationTrack})
		AnimationTrack:Play(value.FadeTime, value.Weight, value.Speed)
	elseif mode == "StopAnimation" and value then
		for i, v in pairs(Animations) do
			if v.Animation == value.Animation then
				v.AnimationTrack:Stop()
				table.remove(Animations, i)
			end
		end
	end
end

function CheckIfAlive()
	return (((Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent and Player and Player.Parent) and true) or false)
end

function Equipped(Mouse)
	Character = Tool.Parent
	Humanoid = Character:FindFirstChild("Humanoid")
	Torso = Character:FindFirstChild("HumanoidRootPart")
	Player = Players:GetPlayerFromCharacter(Character)
	if not CheckIfAlive() then
		return
	end
	PlayerMouse = Mouse
	ToolEquipped = true
end

function Unequipped()
	ToolEquipped = false
	for i, v in pairs(Animations) do
		if v and v.AnimationTrack then
			v.AnimationTrack:Stop()
		end
	end
	Animations = {}
end

function InvokeServer(mode, value)
	local ServerReturn
	pcall(function()
		ServerReturn = ServerControl:InvokeServer(mode, value)
	end)
	return ServerReturn
end

function OnClientInvoke(mode, value)
	if not mode or not ToolEquipped or not CheckIfAlive() then
		return
	end
	if mode == "PlayAnimation" then
		SetAnimation("PlayAnimation", value)
	elseif mode == "StopAnimation" and value then
		SetAnimation("StopAnimation", value)
	elseif mode == "MouseData" then
		return ((PlayerMouse and {Position = PlayerMouse.Hit.p, Target = PlayerMouse.Target}) or nil)
	end
end

ClientControl.OnClientInvoke = OnClientInvoke

Tool.Equipped:connect(Equipped)
Tool.Unequipped:connect(Unequipped)
-- UI elements
local dlg = script.Parent
local playerNameWins = dlg:FindFirstChild("PlayerNameWins")
local okButton = dlg:FindFirstChild("Ok")
--[[
	[Horizontal and Vertical limits for head and body tracking.]
	[Setting to 0 negates tracking, setting to 1 is normal tracking, and setting to anything higher than 1 goes past real life head/body rotation capabilities.]
--]]
local HeadHorFactor = 1
local HeadVertFactor = 0.6
local BodyHorFactor = 2
local BodyVertFactor = 0.4
--[[
	Constructs a new state object, which exposes compatibility APIs for
	integrating with non-reactive code.
]]

local Package = script.Parent.Parent
local initDependency = require(Package.Dependencies.initDependency)

local class = {}
local CLASS_METATABLE = {__index = class}
-- Pre-Setup Functions
function WaitForItem(Location, Item)
	while (Location:FindFirstChild(Item) == nil) do wait(1) end
	return Location:FindFirstChild(Item)
end
--//# Lighting Setup

function SetupLighting_()
	--//# Instances
	
	--//# Camera
	local ColorCorrection = Instance.new("ColorCorrectionEffect")
	local SunRays = Instance.new("SunRaysEffect")
	local Blur = Instance.new("BlurEffect")
	
	--//# Set
	Lighting.Brightness = 2
	Lighting.EnvironmentDiffuseScale = .2
	Lighting.EnvironmentSpecularScale = .82
	SunRays.Parent = Lighting
	Blur.Size = 3.921
	Blur.Parent = Lighting
	ColorCorrection.Parent = Lighting
	ColorCorrection.Saturation = .092
end
-- Decompiled with the Synapse X Luau decompiler.

local l__HDAdminMain__1 = _G.HDAdminMain;
local u1 = {
	DoubleJumped = function(p1, p2)
		local u2 = true;
		local u3 = 0;
		p2:GetPropertyChangedSignal("Jump"):Connect(function()
			if u2 then
				u2 = false;
				u3 = u3 + 1;
				if u3 == 4 then
					p1:Fire();
				end;
				wait();
				u2 = true;
				wait(0.2);
				u3 = u3 - 1;
			end;
		end);
	end, 
	EventName = function(p3, p4)

	end, 
	New = function(p5, p6, p7, ...)
		local v2 = Instance.new("BindableEvent");
		u1[p6](v2, p7, ...);
		v2.Parent = p7;
		return v2;
	end
};
return u1;
--[[
	VRVehicleCamera - Roblox VR vehicle camera control module
	2021 Roblox VR
--]]

local EPSILON = 1e-3
local PITCH_LIMIT = math.rad(80)
local YAW_DEFAULT = math.rad(0)
local ZOOM_MINIMUM = 0.5
local ZOOM_SENSITIVITY_CURVATURE = 0.5
local DEFAULT_CAMERA_DIST = 16
local TP_FOLLOW_DIST = 200
local TP_FOLLOW_ANGLE_DOT = 0.56

local VRBaseCamera = require(script.Parent:WaitForChild("VRBaseCamera"))
local CameraInput = require(script.Parent:WaitForChild("CameraInput"))
local CameraUtils = require(script.Parent:WaitForChild("CameraUtils"))
local ZoomController = require(script.Parent:WaitForChild("ZoomController"))
local VehicleCamera = require(script.Parent:WaitForChild("VehicleCamera"))
local VehicleCameraCore =  require(script.Parent.VehicleCamera:FindFirstChild("VehicleCameraCore"))
local VehicleCameraConfig = require(script.Parent.VehicleCamera:FindFirstChild("VehicleCameraConfig"))
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local VRService = game:GetService("VRService")

local localPlayer = Players.LocalPlayer
local Spring = CameraUtils.Spring
local mapClamp = CameraUtils.mapClamp
local sanitizeAngle = CameraUtils.sanitizeAngle

local ZERO_VECTOR3 = Vector3.new(0,0,0)
--script.Parent.Sign.SurfaceGui.TextLabel.Text = "1 Capitol Sqr"
--script.Parent.Parent.R1.BusA.Disabled = true
--script.Parent.Parent.R1.BusB.Disabled = false
end

if script.Parent.Value.Value == 3 then
script.Parent.Sign.SurfaceGui.TextLabel.Text = "INSERT DESTINATION NAME HERE"
end

if script.Parent.Value.Value == 4 then
script.Parent.Sign.SurfaceGui.TextLabel.Text = "INSERT DESTINATION NAME HERE"
end

if script.Parent.Value.Value == 5 then
script.Parent.Sign.SurfaceGui.TextLabel.Text = "INSERT DESTINATION NAME HERE"
end

if script.Parent.Value.Value == 6 then
script.Parent.Sign.SurfaceGui.TextLabel.Text = "INSERT DESTINATION NAME HERE"
end

if script.Parent.Value.Value == 7 then
script.Parent.Sign.SurfaceGui.TextLabel.Text = "INSERT DESTINATION NAME HERE"
end

if script.Parent.Value.Value == 8 then
script.Parent.Sign.SurfaceGui.TextLabel.Text = "INSERT DESTINATION NAME HERE"
end

if script.Parent.Value.Value == 9 then
script.Parent.Sign.SurfaceGui.TextLabel.Text = "INSERT DESTINATION NAME HERE"
end

if script.Parent.Value.Value == 10 then
script.Parent.Sign.SurfaceGui.TextLabel.Text = "INSERT DESTINATION NAME HERE"
end

if script.Parent.Value.Value == 11 then
script.Parent.Sign.SurfaceGui.TextLabel.Text = "INSERT DESTINATION NAME HERE"
end

if script.Parent.Value.Value == 12 then
script.Parent.Value.Value = 0
end

if script.Parent.Value.Value == -1 then
script.Parent.Value.Value = 11
end

end
-- Connect functions to key events
game:GetService("UserInputService").InputBegan:Connect(handleKeyPress)
game:GetService("UserInputService").InputEnded:Connect(handleKeyRelease)
--[=[
	@param motor Enum.VibrationMotor
	Stops the given motor. This is equivalent to calling
	`gamepad:SetMotor(motor, 0)`.

	```lua
	gamepad:SetMotor(Enum.VibrationMotor.Large, 1)
	task.wait(0.1)
	gamepad:StopMotor(Enum.VibrationMotor.Large)
	```
]=]
function Gamepad:StopMotor(motor: Enum.VibrationMotor)
	self:SetMotor(motor, 0)
end
-- ROBLOX deviation START: use custom implementations instead of unavailable node API
local helpersModule = require(CurrentModule.helpers)
local format = helpersModule.format
local formatWithOptions = helpersModule.formatWithOptions

local WriteableModule = require(Packages.RobloxShared)
type Writeable = WriteableModule.Writeable
-- Update the previous floor material and current floor material
humanoid:GetPropertyChangedSignal("FloorMaterial"):Connect(function()
	getFloorMaterial()
	getSoundProperties()
	update()

	if humanoid.MoveDirection.Magnitude > 0 then
		currentSound.Playing = true
	end

end)
---- script -----

Button.Activated:Connect(function()
	
	InventoryFrame.Visible = false
	InformationFrame.Visible = false
	CaseInventoryFrame.Visible = true
	CaseInformationFrame.Visible = true
	
end)
--[[
	Utility script that can create a new cooldown object. 
]]
local Cooldown = {}
--[[Brakes]]--
Tune.FBrakeForce	= 100 		-- Front brake force
Tune.RBrakeForce	= 300 		-- Rear brake force
Tune.PBrakeForce	= 100 		-- Parking brake force

Tune.LinkedBrakes	= false 		-- Links brakes up, uses both brakes while braking
Tune.BrakesRatio	= 0 		-- The ratio of the brakes (0 = rear brake; 100 = front brake)
-- Decompiled with the Synapse X Luau decompiler.

local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
end)();
return {
	Owns = function(p1, p2)
		if not p2 then
			p2 = u1.LocalPlayer;
		end;
		local v1 = u1.StatService.Get(p2);
		if not v1 then
			return;
		end;
		for v2, v3 in pairs(v1.Gamepasses) do
			if tostring(v3) == tostring(p1) then
				return true;
			end;
		end;
		return false;
	end, 
	GetAll = function(p3)
		if not p3 then
			p3 = u1.LocalPlayer;
		end;
		local v4 = u1.StatService.Get(p3);
		if not v4 then
			return;
		end;
		return v4.Gamepasses;
	end
};
----------------------------------
------------FUNCTIONS-------------
----------------------------------

function Jump()
	local character = Player.Character
	if character then
		local humanoid = character:FindFirstChild("Humanoid")
		if humanoid then
			humanoid.Jump = true
		end
	end
end

function HumanoidChanged(humanoid, property)
	if property == "Jump" then
		humanoid.Jump = false
	elseif property == "Sit" then
		humanoid.Sit = true
	elseif property == "Parent" then
		Deactivate()
		Abort()
	end
end
function HumanoidDied()
	Deactivate()
end
function SetCamera(cframe)
	Camera.CameraType = Enum.CameraType.Scriptable
	Camera:Interpolate(cframe, cframe + cframe.lookVector, .5)
	--Camera.CoordinateFrame = cframe
end
function ReturnCamera()
	Camera.CameraType = Enum.CameraType.Custom
end
-- Sounds
local Soundscape = game.Soundscape
local CountdownBeep = Soundscape:FindFirstChild("CountdownBeep")
local CountdownEndBeep = Soundscape:FindFirstChild("CountdownEndBeep")
--[[
	Novena Constraint Type: Motorcycle
			The Bike Chassis
	
	
				Avxnturador | Novena
--]]

local mouse = game.Players.LocalPlayer:GetMouse()
script.Parent.Parent:WaitForChild("Bike")
local bike = script.Parent.Parent.Bike.Value
local on = script.Parent.Parent.IsOn
local _Tune = require(bike["Tuner"])

if not _Tune.Engine and not _Tune.Electric then return end

script.Parent:WaitForChild("TextLabel").Visible = not on.Value

script.Parent.Parent.IsOn.Changed:connect(function() 
	script.Parent.TextLabel.Visible = not on.Value
end)

mouse.keyDown:connect(function(k) 
	if k=="l" then 
		if not on.Value then
			script.Parent.TextLabel.Visible=false
			on.Value = true
		else
			on.Value = false
			script.Parent.TextLabel.Visible=true
		end
	end 
end)