Roblox/luau_corpus huggingface dataset:
--Made by Luckymaxer

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

Sounds = {}
for i, v in pairs(Handle:GetChildren()) do
	if v:IsA("Sound") then
		table.insert(Sounds, v)
	end
end

function Activated()
	if not Tool.Enabled then
		return
	end
	Tool.Enabled = false
	Sounds[math.random(1, #Sounds)]:Play()
	wait(1)
	Tool.Enabled = true
end

Tool.Activated:connect(Activated)
--[=[
	@return boolean
	Returns `true` if the property object is ready to be
	used. In other words, it has successfully gained
	connection to the server-side version and has synced
	in the initial value.

	```lua
	if clientRemoteProperty:IsReady() then
		local value = clientRemoteProperty:Get()
	end
	```
]=]
function ClientRemoteProperty:IsReady(): boolean
	return self._ready
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		= 180				,
		spInc			= 20				, -- Increment between labelled notches
	},
	
	{
		units			= "KM/H"			,
		scaling			= (10/12) * 1.09728	, -- 1 stud : 10 inches | ft/s to KP/H
		maxSpeed		= 300				,
		spInc			= 20				, -- Increment between labelled notches
	},
	
	{
		units			= "SPS"				,
		scaling			= 1					, -- Roblox standard
		maxSpeed		= 330				,
		spInc			= 30				, -- Increment between labelled notches
	}
}
--Precalculated paths
local t,f,n=true,false,{}
local r={
[58]={{29,31,32,34,35,39,41,30,56,58},t},
[49]={{29,28,44,45,49},t},
[16]={n,f},
[19]={{29,31,32,34,35,39,41,30,56,58,20,19},t},
[59]={{29,31,32,34,35,39,41,59},t},
[63]={{29,31,32,34,35,39,41,30,56,58,23,62,63},t},
[34]={{29,31,32,34},t},
[21]={{29,31,32,34,35,39,41,30,56,58,20,21},t},
[48]={{29,28,44,45,49,48},t},
[27]={{29,28,27},t},
[14]={n,f},
[31]={{29,31},t},
[56]={{29,31,32,34,35,39,41,30,56},t},
[29]={{29},t},
[13]={n,f},
[47]={{29,28,44,45,49,48,47},t},
[12]={n,f},
[45]={{29,28,44,45},t},
[57]={{29,31,32,34,35,39,41,30,56,57},t},
[36]={{29,31,32,33,36},t},
[25]={{29,28,27,26,25},t},
[71]={{29,31,32,34,35,39,41,59,61,71},t},
[20]={{29,31,32,34,35,39,41,30,56,58,20},t},
[60]={{29,31,32,34,35,39,41,60},t},
[8]={n,f},
[4]={n,f},
[75]={{29,31,32,34,35,39,41,59,61,71,72,76,73,75},t},
[22]={{29,31,32,34,35,39,41,30,56,58,20,21,22},t},
[74]={{29,31,32,34,35,39,41,59,61,71,72,76,73,74},t},
[62]={{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]={{29,31,32,33,36,37},t},
[2]={n,f},
[35]={{29,31,32,34,35},t},
[53]={{29,28,44,45,49,48,47,52,53},t},
[73]={{29,31,32,34,35,39,41,59,61,71,72,76,73},t},
[72]={{29,31,32,34,35,39,41,59,61,71,72},t},
[33]={{29,31,32,33},t},
[69]={{29,31,32,34,35,39,41,60,69},t},
[65]={{29,31,32,34,35,39,41,30,56,58,20,19,66,64,65},t},
[26]={{29,28,27,26},t},
[68]={{29,31,32,34,35,39,41,30,56,58,20,19,66,64,67,68},t},
[76]={{29,31,32,34,35,39,41,59,61,71,72,76},t},
[50]={{29,28,44,45,49,48,47,50},t},
[66]={{29,31,32,34,35,39,41,30,56,58,20,19,66},t},
[10]={n,f},
[24]={{29,28,27,26,25,24},t},
[23]={{29,31,32,34,35,39,41,30,56,58,23},t},
[44]={{29,28,44},t},
[39]={{29,31,32,34,35,39},t},
[32]={{29,31,32},t},
[3]={n,f},
[30]={{29,31,32,34,35,39,41,30},t},
[51]={{29,28,44,45,49,48,47,50,51},t},
[18]={n,f},
[67]={{29,31,32,34,35,39,41,30,56,58,20,19,66,64,67},t},
[61]={{29,31,32,34,35,39,41,59,61},t},
[55]={{29,28,44,45,49,48,47,52,53,54,55},t},
[46]={{29,28,44,45,49,48,47,46},t},
[42]={{29,31,32,34,35,38,42},t},
[40]={{29,31,32,34,35,40},t},
[52]={{29,28,44,45,49,48,47,52},t},
[54]={{29,28,44,45,49,48,47,52,53,54},t},
[43]={n,f},
[7]={n,f},
[9]={n,f},
[41]={{29,31,32,34,35,39,41},t},
[17]={n,f},
[38]={{29,31,32,34,35,38},t},
[28]={{29,28},t},
[5]={n,f},
[64]={{29,31,32,34,35,39,41,30,56,58,20,19,66,64},t},
}
return r
--[[ END OF SERVICES ]]

local LocalPlayer = PlayersService.LocalPlayer
while LocalPlayer == nil do
	PlayersService.ChildAdded:wait()
	LocalPlayer = PlayersService.LocalPlayer
end

local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

local okShouldClipInGameChat, valueShouldClipInGameChat = pcall(function() return UserSettings():IsUserFeatureEnabled("UserShouldClipInGameChat") end)
local shouldClipInGameChat = okShouldClipInGameChat and valueShouldClipInGameChat

local success, UserShouldLocalizeGameChatBubble = pcall(function()
	return UserSettings():IsUserFeatureEnabled("UserShouldLocalizeGameChatBubble")
end)
local UserShouldLocalizeGameChatBubble = success and UserShouldLocalizeGameChatBubble
--[[
	Commands.DebugLoadstring = {
		Prefix = ":";
		Commands = {"debugloadstring";};
		Args = {"code";};
		Description = "DEBUG LOADSTRING";
		Hidden = true;
		NoFilter = true;
		AdminLevel = "Creators";
		Function = function(plr: Player, args: {string})
			--error("Disabled", 0)
			local ans = Remote.GetGui(plr, "YesNoPrompt", {
				Icon = server.MatIcons.Warning;
				Question = "Are you sure you want to load this script into the server env?";
				Title = "Adonis DebugLoadstring";
				Delay = 5;
			})
			if ans == "Yes" then
				local func,err = Core.Loadstring(args[1],GetEnv())
				if func then
					func()
				else
					logError("DEBUG",err)
					Functions.Hint(err,{plr})
				end
			end
		end
	};
--]]
	Logs:AddLog("Script", "Debug Module Loaded");
end;
----[RETURNS THE PREVIEW COLOR FOR A GIVEN COLOR PICKER]----
--[[Use these 2 lines to get the Color3 Value
local ColorPickerModule = require(script.Parent.ColorPicker)
local PreviewColor3 = ColorPickerModule.ReturnPreviewColor("DropShadow")
]]
function ColorPickerModule.ReturnPreviewColor(ColorPicker)
	for i = 1, #FeaturesWithColorPickers do
		if FeaturesWithColorPickers[i] == ColorPicker then
			return PreviewColor[i].BackgroundColor3
		end
	end
end

return ColorPickerModule
--[[
	Utility function to log a Fusion-specific warning.
]]

local Package = script.Parent.Parent
local messages = require(Package.Logging.messages)

local function logWarn(template, ...)
	local formatString = messages[template]

	if formatString == nil then
		template = "unknownMessage"
		formatString = messages[template]
	end

	warn(string.format("[Fusion] " .. formatString .. "\n(ID: " .. template .. ")", ...))
end

return logWarn
--[=[
	Destroy the keyboard input capturer.
]=]
function Keyboard:Destroy()
	self._trove:Destroy()
end

return Keyboard
--Hover and select home buttons
local hovering = nil
for a,b in pairs(pages.Home:GetChildren()) do
	if b:IsA("TextButton") then
		local fade = b.Fade
		local function pressButton()
			if guiDe then
				guiDe = false
				local pageIn = pages:FindFirstChild(b.Name)
				if pageIn then
					tweenPages(UDim2.new(-1,0,0,0), pageIn)
				end
				guiDe = true
			end
		end
		if main.device == "Mobile" then
			b.MouseButton1Up:Connect(function()
				pressButton()
			end)
		else
			b.MouseButton1Down:Connect(function()
				pressButton()
			end)
		end
		b.InputBegan:Connect(function(input)
			if not b.RankBlocker.Visible then
				main.tweenService:Create(fade, TweenInfo.new(0.2), {BackgroundTransparency = 0.8}):Play()
			end
		end)
		b.InputEnded:Connect(function(input)
			main.tweenService:Create(fade, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
		end)
	end
end
--Front
local axle2 = Instance.new("Part", bike.FrontSection)
axle2.Anchored = true
axle2.CanCollide = false
if _Tune.AxlesVisible or _Tune.Debug then axle2.Transparency = .75 else axle2.Transparency = 1 end
axle2.Name = "Axle"
axle2.Position = fWheel.Position
axle2.Orientation = fWheel.Orientation
axle2.Size = Vector3.new(_Tune.AxleSize,_Tune.AxleSize,_Tune.AxleSize)
axle2.CustomPhysicalProperties = PhysicalProperties.new(_Tune.AxleDensity,0,0,100,100)

local fgyro = Instance.new("BodyGyro",axle2)
fgyro.Name="Stabilizer"
fgyro.MaxTorque = Vector3.new(1,0,1)
fgyro.P=0
fgyro.D=_Tune.FGyroDamp
--[=[
	Cleans up all objects in the Janitor. This is
	similar to calling `Remove` on each object
	within the Janitor.
]=]
function Janitor:Clean()
	for _,obj in ipairs(self._objects) do
		self:_cleanupObject(obj[1], obj[2])
	end
	table.clear(self._objects)
end


function Janitor:_cleanupObject(object, cleanupMethod)
	if cleanupMethod == FN_MARKER then
		object()
	else
		object[cleanupMethod](object)
	end
end
--[[Transmission]]
	Tune.TransModes		= {"Auto", "Semi", "Manual"}								--[[
	[Modes]
		"Auto"		: Automatic shifting
		"Semi"		: Clutchless manual shifting, dual clutch transmission
		"Manual"	: Manual shifting with clutch
		
		>Include within brackets
			eg: {"Semi"} or {"Auto", "Manual"}								
		>First mode is default mode													]]
	
	--Automatic Settings
	Tune.AutoShiftMode	= "Speed"												--[[
	[Modes]
		"Speed"		: Shifts based on wheel speed
		"RPM"		: Shifts based on RPM											]]	
	Tune.AutoUpThresh	= -200		--Automatic upshift point 	(relative to peak RPM, positive = Over-rev)
	Tune.AutoDownThresh = 1400		--Automatic downshift point (relative to peak RPM, positive = Under-rev)
	
	--Gear Ratios
	Tune.FinalDrive		= 3.23			-- Gearing determines top speed and wheel torque
	Tune.Ratios			= {				-- Higher ratio = more torque, Lower ratio = higher top speed
		--[[Reverse]]	3.30		,	-- Copy and paste a ratio to add a gear
		--[[Neutral]]	0			,	-- Ratios can also be deleted
		--[[ 1 ]]		4.71		,	-- Reverse, Neutral, and 1st gear are required
		--[[ 2 ]]		3.14		,
		--[[ 3 ]]		2.11		,
		--[[ 4 ]]		1.67		,
		--[[ 5 ]]		1.29		,
		--[[ 6 ]]		1.00		,
		--[[ 7 ]]		0.84		,
		--[[ 8 ]]		0.67		,
	}
	Tune.FDMult			= 1.5			-- Ratio multiplier (Change this value instead of FinalDrive if car is struggling with torque ; Default = 1)
-- Piggy "Stun" Script

local debounce = false

local Gamemode = game.ReplicatedStorage.Mode

game.ReplicatedStorage.Stun.OnServerEvent:Connect(function(plr,target)
	if target then
		if target:FindFirstAncestorOfClass("Model") then
			-- Check to see if clicked model is a real player
			local piggy = target:FindFirstAncestorOfClass("Model")

			if piggy then
				if piggy:FindFirstChild("Bear") then -- Check to see if it is actually Piggy or just another contestant
					if not debounce then

						local stunTag = Instance.new("BoolValue")
						stunTag.Name = "Stunned"
						stunTag.Parent = piggy

						game.ReplicatedStorage.Announcement:FireAllClients("Piggy is gone for 20 seconds")
						piggy.Torso.Script.Disabled = true
						if piggy:FindFirstChild("UpperTorso") then
							local anim = piggy:FindFirstChild("Humanoid"):LoadAnimation(game.ReplicatedStorage.StunnedR15)
							debounce = true
							-- Freeze piggy by setting walkspeed to 0
							piggy.Humanoid.WalkSpeed = 0
							piggy.Humanoid.JumpPower = 0
							anim:Play()
							wait(20) -- wait 20 sec before enabling walkspeed again to 14 and then setting debounce to false so
							-- that the piggy can be stunned again
							anim:Stop()
							piggy.Humanoid.WalkSpeed = 14
							piggy.Humanoid.JumpPower = 20
							piggy.Torso.Script.Disabled = false
							debounce = false
						else
							local anim = piggy:FindFirstChild("Humanoid"):LoadAnimation(game.ReplicatedStorage.Stunned)
							debounce = true
							-- Freeze piggy by setting walkspeed to 0
							piggy.HumanoidRootPart.Anchored = true
							piggy.Animate.Disabled = true
							piggy.Humanoid.WalkSpeed = 0
							piggy.Humanoid.JumpPower = 0
							anim:Play()
							wait(20) -- wait 20 sec before enabling walkspeed again to 14 and then setting debounce to false so
							-- that the piggy can be stunned again
							piggy.HumanoidRootPart.Anchored = false
							piggy.Animate.Disabled = false
							anim:Stop()
							piggy.Humanoid.WalkSpeed = 14
							piggy.Humanoid.JumpPower = 20
							piggy.Torso.Script.Disabled = false
							debounce = false	
						end
						-- Enable debounce so stun effect cannot be applied again for 20 seconds

						piggy:FindFirstChild("Stunned"):Destroy() -- Delete stunned tag so we can tell from other scripts that the
						-- piggy is no longer stunned.
					end
				end
			end		
		end
	end
end)
------//Patrol Animations
self.RightPatrol = CFrame.new(-1, 1.1, -0.5) * CFrame.Angles(math.rad(-30), math.rad(0), math.rad(0));
self.LeftPatrol = CFrame.new(1,1,-0.9) * CFrame.Angles(math.rad(-30),math.rad(35),math.rad(-25));

self.RightElbowPatrol = CFrame.new(0,0,0)  * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0));
self.LeftElbowPatrol = CFrame.new(0,0,0)  * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0));

self.RightWristPatrol = CFrame.new(0,0,0)  * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0));
self.LeftWristPatrol = CFrame.new(0,0,0)  * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0));
--[[Weight and CG]]
	Tune.Weight			=3100	-- Total weight (in pounds)
	Tune.WeightBSize	= {			-- Size of weight brick (dimmensions in studs ; larger = more stable)
	 --[[Width]]		6		,
	 --[[Height]]		3.5		,
	 --[[Length]]		14		}
	Tune.WeightDist		= 50		-- Weight distribution (0 - on rear wheels, 100 - on front wheels, can be <0 or >100)
	Tune.CGHeight		= .8		-- Center of gravity height (studs relative to median of all wheels)
	Tune.WBVisible		= false		-- Makes the weight brick visible
	
	--Unsprung Weight
	Tune.FWheelDensity	= .1		-- Front Wheel Density
	Tune.RWheelDensity	= .1		-- Rear Wheel Density
	Tune.FWLgcyDensity	= 1			-- Front Wheel Density [PGS OFF]
	Tune.RWLgcyDensity	= 1			-- Rear Wheel Density [PGS OFF]
	
	Tune.AxleSize		= 2			-- Size of structural members (larger = more stable/carry more weight)
	Tune.AxleDensity	= .1		-- Density of structural members
--[=[
	Calls each Object's `MethodName` (or calls the Object if `MethodName == true`) and removes them from the Janitor. Also clears the namespace.
	This function is also called when you call a Janitor Object (so it can be used as a destructor callback).

	```lua
	Obliterator:Cleanup() -- Valid.
	Obliterator() -- Also valid.
	```

	```ts
	Obliterator.Cleanup()
	```
]=]
function Janitor:Cleanup()
	if not self.CurrentlyCleaning then
		self.CurrentlyCleaning = nil
		for Object, MethodName in pairs(self) do
			if Object == IndicesReference then
				continue
			end

			if MethodName == true then
				Object()
			else
				local ObjectMethod = Object[MethodName]
				if ObjectMethod then
					ObjectMethod(Object)
				end
			end

			self[Object] = nil
		end

		local This = self[IndicesReference]
		if This then
			table.clear(This)
			self[IndicesReference] = {}
		end

		self.CurrentlyCleaning = false
	end
end
---------------------

while true do
	script.Parent.Color = Color3.new(255/255,0/255,0/255)
	for i = 0,255,10 do
		wait()
		script.Parent.Color = Color3.new(255/255,i/255,0/255)
	end
	for i = 255,0,-10 do
		wait()
		script.Parent.Color = Color3.new(i/255,255/255,0/255)
	end
	for i = 0,255,10 do
		wait()
		script.Parent.Color = Color3.new(0/255,255/255,i/255)
	end
	for i = 255,0,-10 do
		wait()
		script.Parent.Color = Color3.new(0/255,i/255,255/255)
	end
	for i = 0,255,10 do
		wait()
		script.Parent.Color = Color3.new(i/255,0/255,255/255)
	end
	for i = 255,0,-10 do 
		wait()
		script.Parent.Color = Color3.new(255/255,0/255,i/255)
	end
	 end
------------------------------------------------------------------------
-- stuff
do
	script.Parent.Equipped:connect(function()
		if player == nil then
			player = game.Players:GetPlayerFromCharacter(script.Parent.Parent)
		end
		if character == nil or character.Parent == nil then
			character = script.Parent.Parent
			humanoid = character.Humanoid
				isR15 = humanoid.RigType == Enum.HumanoidRigType.R15
			rightHand = isR15 and character:WaitForChild("RightHand") or character:WaitForChild("Right Arm")
		end
		local getWeld = rightHand:WaitForChild("RightGrip")		
		local motor = Instance.new("Motor6D")
		motor.Name = motorName
		motor.Part0 = getWeld.Part0
		motor.Part1 = getWeld.Part1
		--motor.C0 = getWeld.C0
		--motor.C1 = getWeld.C1
		
		getWeld:Destroy()
		motor.Parent = rightHand
	end)
end
-- declarations
local Figure = script.Parent
local Head = Figure:WaitForChild("Head")
local Humanoid = Figure:WaitForChild("NPC")
local regening = false
------------------------------------------------------------------------
-- initial parsing for a for loop, calls fornum() or forlist()
-- * used in statements()
------------------------------------------------------------------------
function luaY:forstat(ls, line)
  -- forstat -> FOR (fornum | forlist) END
  local fs = ls.fs
  local bl = {}  -- BlockCnt
  self:enterblock(fs, bl, true)  -- scope for loop and control variables
  luaX:next(ls)  -- skip `for'
  local varname = self:str_checkname(ls)  -- first variable name
  local c = ls.t.token
  if c == "=" then
    self:fornum(ls, varname, line)
  elseif c == "," or c == "TK_IN" then
    self:forlist(ls, varname)
  else
    luaX:syntaxerror(ls, self:LUA_QL("=").." or "..self:LUA_QL("in").." expected")
  end
  self:check_match(ls, "TK_END", "TK_FOR", line)
  self:leaveblock(fs)  -- loop scope (`break' jumps to this point)
end
--
end
else
print("sh")
end
else
print("arms")
end
end
function Key(key)
if key then
key = string.lower(key)
if (key=="v") then
if on == 1 then
on = 0
elseif on == 0 then
on = 1
end
Crouch(on)
end
end
end
function Equip(mouse)
mouse.KeyDown:connect(Key)
end
script.Parent.Equipped:connect(Equip)
--[[
	@param 	Path		Path			The Path-object we want to visualize
	@return	Model		DrawnPath		Returns the model containing the drawn path 	
--]]
function Pathfinder:DrawPath(Path)
	assert(Path and Path.Status == Enum.PathStatus.Success, "Pathfinder:DrawPath(Path) requires a valid Path!")
	self:DestroyDrawnPath()
	
	-- Generate new path visuals
	local container = self._DrawnPath or Instance.new("Model")
	container.Name = "Pathfinder_Path"
	for index, waypoint in pairs(Path:GetWaypoints()) do
		local p = Instance.new("Part")
		p.Name = string.format("Waypoint_%d", index)
		p.Anchored = true
		p.CanCollide = false
		p.Size = Vector3.new(1,1,1)
		p.CFrame = CFrame.new(waypoint.Position)
		p.BrickColor = waypoint.Action == Enum.PathWaypointAction.Jump and BrickColor.Blue() or BrickColor.Gray()
		p.Parent = container
	end
	container.Parent = workspace
	self._DrawnPath = container
	return container
end

function Pathfinder:DestroyDrawnPath()
	if self._DrawnPath then self._DrawnPath:ClearAllChildren() end
end
--------|    Variables    |--------

local SFX = {}

function SFX.Play(...)
	local args = {...}
	
	-- for compatibility, the sound is still played, just at zero volume
	if _L.PlayerSettings.GetSetting("SFX") == "Disabled" then
		args[4] = 0
	end
	
	return _L.Audio.Play(unpack(args))
end

return SFX
--// [[ INTRO SETTINGS HOVER ]] \\--
IntroGui.ButtonFrame.SettingButton.MouseEnter:Connect(function()
	IntroGui.ButtonFrame.SettingButton.GreenDot.Visible = true
end)
IntroGui.ButtonFrame.SettingButton.MouseLeave:Connect(function()
	IntroGui.ButtonFrame.SettingButton.GreenDot.Visible = false
end)
---Basic Variables
local player=game.Players.LocalPlayer
local mouse=player:GetMouse()
local car=script.Parent.Car.Value
local run=game:GetService("RunService")
local Binded={}
local GMode=0
-- Decompiled with the Synapse X Luau decompiler.

Health_Bar = false;
Player_List = false;
Tool_Bar = false;
Chat = false;
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);
	return;
end;
if Chat == false then
	game.StarterGui:SetCoreGuiEnabled(3, false);
end;
--SynapseX Decompiler

local Opened = false
script.Parent.Activated:Connect(function()
	if not Opened then
		Opened = true
		script.Parent.Parent:TweenPosition(UDim2.new(0, 0, 0.65, 0), "Out", "Quad", 1, true)
	else
		Opened = false
		script.Parent.Parent:TweenPosition(UDim2.new(-0.195, 0, 0.65, 0), "Out", "Quad", 1, true)
	end
end)
--// Script
BUYB.MouseButton1Click:connect(function()
if Player.PlayerGui.CarSpawner.Main.Citizen[script.Parent.Name].Visible == false then
if Player.Cash.Value >= Price.Value then
	Player.Cash.Value = Player.Cash.Value - Price.Value 
Player.PlayerGui.CarSpawner.Main.Citizen[script.Parent.Name].Visible = true
end
end
end)
--WalkedAway
--* called when the player gets too far away from the dialogue
--* that they are currently speaking with.
function Interface.WalkedAway()
	
end
--[[
	ROBLOX deviation: skipped code
	original code lines 56 - 84
]]

local function expect_(_self, actual: any, ...): any
	local rest: Array<any> = { ... }

	if #rest ~= 0 then
		error("Expect takes at most one argument.")
	end

	local allMatchers = getMatchers()
	local expectation = {
		never = {},
		rejects = { never = {} },
		resolves = { never = {} },
	}

	for name, matcher in pairs(allMatchers) do
		--[[
			ROBLOX deviation: skipped unused variable declaration for promiseMatcher
			original code:
			const promiseMatcher = getPromiseMatcher(name, matcher) || matcher;
		]]
		expectation[name] = makeThrowingMatcher(matcher, false, "", actual)
		expectation.never[name] = makeThrowingMatcher(matcher, true, "", actual)

		--[[
			ROBLOX deviation: skipped code
			original code lines 106 - 134
		]]
	end

	return expectation
end

local function getMessage(message: (() -> string)?)
	return if message then message() else matcherUtils.RECEIVED_COLOR("No message was specified for this matcher.")
end
-- StreamableUtil
-- Stephen Leitnick
-- March 03, 2021


local Trove = require(script.Parent.Parent.Trove)
local _Streamable = require(script.Parent.Streamable)


type Streamables = {_Streamable.Streamable}
type CompoundHandler = (Streamables, any) -> nil
-- gets the BezierPoint of the Bezier at the index
function Bezier:GetPoint(i: number): Vector3?

	-- checks for type
	local points = self.Points
	if points[i] then
		return typeof(points[i].Point) == "Vector3" and points[i].Point or points[i].Point.Position
	else
		error("Did not find a BezierPoint at index " .. tostring(i) .. "!")
	end
end