Pinkstack/roblox-luau-corpus-text huggingface dataset:
--important stuff to register what is what. you need these if you want to do stuff with the tool itself.


Tool.Activated:connect(Activated)
Tool.Equipped:connect(Equipped)
Tool.Unequipped:connect(Unequipped)
for i,D in pairs(script.Parent:GetChildren()) do
if D.Name == "DP" then
if b == false then
if dmg == true then
b = true
D.Touched:connect(Blow)
wait(1)
b = false
end
end
end
end
-- Mimic the enabling of the topbar when StarterGui:SetCore("TopbarEnabled", state) is called


coroutine.wrap(function()
	local chatScript = players.LocalPlayer.PlayerScripts:WaitForChild("ChatScript", 4) or game:GetService("Chat"):WaitForChild("ChatScript", 4)
	if not chatScript then return end
	local chatMain = chatScript:FindFirstChild("ChatMain")
	if not chatMain then return end
	local ChatMain = require(chatMain)
	ChatMain.CoreGuiEnabled:connect(function()
		local topbarEnabled = checkTopbarEnabled()
		if topbarEnabled == IconController.previousTopbarEnabled then
			IconController.updateTopbar()
			return "SetCoreGuiEnabled was called instead of SetCore"
		end
		IconController.previousTopbarEnabled = topbarEnabled
		if IconController.controllerModeEnabled then
			IconController.setTopbarEnabled(false,false)
		else
			IconController.setTopbarEnabled(topbarEnabled,false)
		end
		IconController.updateTopbar()
	end)
	IconController.setTopbarEnabled(checkTopbarEnabled(),false)
end)()
-- Critically damped spring class for fluid motion effects


local Spring = {} do
	Spring.__index = Spring

	-- Initialize to a given undamped frequency and default position
	function Spring.new(freq, pos)
		return setmetatable({
			freq = freq,
			goal = pos,
			pos = pos,
			vel = 0,
		}, Spring)
	end

	-- Advance the spring simulation by `dt` seconds
	function Spring:step(dt)
		local f = self.freq*2*math.pi
		local g = self.goal
		local p0 = self.pos
		local v0 = self.vel

		local offset = p0 - g
		local decay = math.exp(-f*dt)

		local p1 = (offset*(1 + f*dt) + v0*dt)*decay + g
		local v1 = (v0*(1 - f*dt) - offset*(f*f*dt))*decay

		self.pos = p1
		self.vel = v1

		return p1
	end
end

CameraUtils.Spring = Spring
--local GameFolder = Workspace.Game:GetDescendants() 



local Gui = PlayerGui:WaitForChild("LoadingScreen")

Gui.Enabled = true
local erase = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)

StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)

local Loaded = 0
local toLoad = #petModelFolder --+ #GameFolder
--- Same as indexing, but uses an incremented number as a key.
-- @param task An item to clean
-- @treturn number taskId


function Maid:giveTask(task)
	if not task then
		error("Task cannot be false or nil", 2)
	end

	local taskId = #self._tasks+1
	self[taskId] = task

	if type(task) == "table" and (not (task.Destroy or task.destroy)) then
		warn("[Maid.GiveTask] - Gave table task without .Destroy\n\n" .. debug.traceback())
	end

	return taskId
end
-- functions



function onRunning(speed)
	if speed>0 then
		pose = "Running"
	else
		pose = "Standing"
	end
end

function onDied()
	pose = "Dead"
end

function onJumping()
	pose = "Jumping"
end

function onClimbing()
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	pose = "FreeFall"
end

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	pose = "Seated"
end

function onPlatformStanding()
	pose = "PlatformStanding"
end

function moveJump()
	RightShoulder.MaxVelocity = 0.5
	LeftShoulder.MaxVelocity = 0.5
  RightShoulder:SetDesiredAngle(3.14)
	LeftShoulder:SetDesiredAngle(-3.14)
	RightHip:SetDesiredAngle(0)
	LeftHip:SetDesiredAngle(0)
end
--Globals


local AI = script.Parent
local AIName = AI.Name
local AItorso = AI.Torso


if true then -- if your torso doesn't have a Humanoid; flip this to false
local HumanoidType = nil   -- find-a-HumanoidObject  --  make sure

local list = AI:GetChildren()        -- temp var.
for x = 1, #list do
local temp = list[x]
	if (temp.className == "Humanoid") then  
        HumanoidType = temp.Name
   end  -- found Humanoid
end -- AI Parts

if HumanoidType then
number = math.floor(number*100) -- serial# of AI
hum = AI[HumanoidType]
BRAINWave = 7/hum.WalkSpeed  -- For extreme speeds, this may have to be adjusted.
print (script, ": Humanoid = ", hum, AI:GetFullName(), number, "- Think Speed = ", BRAINWave)
end
end -- set speed
--The main script, this regulates basic values of the local elements


local Steamer = script.Parent.Parent.Content.Steam
local Eaten = script.Parent.Parent.Content
local SoundA = script.Parent.Slurp
local WarmSoup = script.Parent.TastySoup
local Clickable = script.Parent.ClickDetector
function SoupEaten()
Clickable.MaxActivationDistance = 0 -- Fake debounce, but better than normal - less laggy
SoundA:Play()
Steamer.Enabled = false
Eaten.Transparency = 1
WarmSoup.Disabled = true
wait(50)
Eaten.Transparency = 0
WarmSoup.Disabled = false
Clickable.MaxActivationDistance = 15
Steamer.Enabled = true
end
script.Parent.ClickDetector.MouseClick:connect(SoupEaten)
--<DON'T TOUCH THE SCRIPT UNLESS YOU KNOW WHAT YOU ARE DOING!



local RS = game:GetService('ReplicatedStorage')
local TS = game:GetService('TweenService')

local Tool = script.Parent
local TextureArray = {}

local Activated = false
local Debounce = false
local Cooldown = 1
local Prop = nil
local LaughAnim = nil

Tool.Activated:Connect(function()
	if not Debounce then
		Debounce = true
		task.delay(Cooldown, function()
			Debounce = false
		end)
		
		local Character = Tool.Parent
		
		if not Activated then
			Activated = true
			
			LaughAnim = Character.Humanoid:LoadAnimation(RS.GhoulV4.Laugh)
			LaughAnim:Play()
			Character.HumanoidRootPart.Anchored = true
			
			Prop = RS.GhoulV4.Props.Wings:Clone()
			Prop.Parent = Character
	 
			local Attachment = Instance.new('Attachment')
			Attachment.Parent = Character.HumanoidRootPart
			Attachment.Position = Vector3.new(0,-2.5,0)

			local Wave = RS.GhoulV4.Effects.Wave:Clone()
			Wave.Parent = Attachment

			local Smoke = RS.GhoulV4.Effects.Smoke:Clone()
			Smoke.Parent = Character.HumanoidRootPart

			local Pixel = RS.GhoulV4.Effects.Pixel:Clone()
			Pixel.Parent = Character.HumanoidRootPart

			local Laugh = RS.GhoulV4.Sound.Laugh:Clone()
			Laugh.Parent = Character.HumanoidRootPart

			local SmokeSound = RS.GhoulV4.Sound.Smoke:Clone()
			SmokeSound.Parent = Character.HumanoidRootPart

			Laugh:Play()

			task.delay(1.6,function()
				Laugh:Destroy()
				task.wait(0.25)
				Character.HumanoidRootPart.Anchored = false
				LaughAnim:Stop()
			end)

			SmokeSound:Play()

			local Tween = TS:Create(SmokeSound, TweenInfo.new(1.5), {Volume = 0})
			Tween:Play()

			Tween.Completed:Connect(function()
				SmokeSound:Destroy()
			end)	

			Wave:Emit(2)
			Smoke:Emit(100)
			Pixel:Emit(50)

			for _, Item in ipairs(Character.Humanoid:GetAccessories()) do
				local Hair = Item.Handle:FindFirstChild("HairAttachment") ~= nil
				if Hair then
					TextureArray[Item] = {TextureID = Item.Handle.TextureID, Color = Item.Handle.Color, Material = Item.Handle.Material}
					Item.Handle.Color = Color3.fromRGB(255, 0, 0)
					Item.Handle.TextureID = ''
					Item.Handle.Material = Enum.Material.Neon
				end
			end
			
		elseif Activated then
			Activated = false
			
			local Tween = TS:Create(Prop.Handle, TweenInfo.new(0.5), {Transparency = 1})
			Tween:Play()

			Tween.Completed:Connect(function()
				Prop:Destroy()
			end)
			
			for _, Item in ipairs(Character.Humanoid:GetAccessories()) do
				local Hair = Item.Handle:FindFirstChild("HairAttachment") ~= nil
				if Hair then
					Item.Handle.Color = TextureArray[Item].Color
					Item.Handle.Material = TextureArray[Item].Material
					Item.Handle.TextureID = TextureArray[Item].TextureID
					TextureArray[Item] = nil
				end
			end
		end
	end
end)
--[[
	Cleans up the tasks passed in as the arguments.
	A task can be any of the following:

	- an Instance - will be destroyed
	- an RBXScriptConnection - will be disconnected
	- a function - will be run
	- a table with a `Destroy` or `destroy` function - will be called
	- an array - `cleanup` will be called on each item
]]



local function cleanupOne(task: any)
	local taskType = typeof(task)

	-- case 1: Instance
	if taskType == "Instance" then
		task:Destroy()

	-- case 2: RBXScriptConnection
	elseif taskType == "RBXScriptConnection" then
		task:Disconnect()

	-- case 3: callback
	elseif taskType == "function" then
		task()

	elseif taskType == "table" then
		-- case 4: destroy() function
		if typeof(task.destroy) == "function" then
			task:destroy()

		-- case 5: Destroy() function
		elseif typeof(task.Destroy) == "function" then
			task:Destroy()

		-- case 6: array of tasks
		elseif task[1] ~= nil then
			for _, subtask in ipairs(task) do
				cleanupOne(subtask)
			end
		end
	end
end

local function cleanup(...: any)
	for index = 1, select("#", ...) do
		cleanupOne(select(index, ...))
	end
end

return cleanup
-- upstream: https://github.com/facebook/react/blob/75955bf1d7ff6c2c1f4052f4a84dd2ce6944c62e/packages/shared/formatProdErrorMessage.js
--!strict
--[[*
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 ]]
--Zombie artificial stupidity script




sp=script.Parent
lastattack=0
nextrandom=0
nextsound=0
nextjump=0
chasing=false

variance=4

damage=10
attackrange=4.5
sightrange=999--60
runspeed=16
wonderspeed=8
healthregen=false
colors={"Sand red","Dusty Rose","Medium blue","Sand blue","Lavender","Earth green","Brown","Medium stone grey","Brick yellow"}

function raycast(spos,vec,currentdist)
	local hit2,pos2=game.Workspace:FindPartOnRay(Ray.new(spos+(vec*.01),vec*currentdist),script.Parent)
	if hit2~=nil and pos2 then
		if hit2.Parent==script.Parent and hit2.Transparency>=.8 or hit2.Name=="Handle" or string.sub(hit2.Name,1,6)=="Effect" or hit2.Parent:IsA("Hat") or hit2.Parent:IsA("Tool") or (hit2.Parent:FindFirstChild("Humanoid") and hit2.Parent:FindFirstChild("TEAM") and hit2.Parent:FindFirstChild("TEAM").Value == script.Parent.TEAM.Value) or (not hit2.Parent:FindFirstChild("Humanoid") and hit2.CanCollide==false) then
			local currentdist=currentdist-(pos2-spos).magnitude
			return raycast(pos2,vec,currentdist)
		end
	end
	return hit2,pos2
end

function waitForChild(parent,childName)
	local child=parent:findFirstChild(childName)
	if child then return child end
	while true do
		child=parent.ChildAdded:wait()
		if child.Name==childName then return child end
	end
end
-- This is for the buttons effects.
-- Edit if you know what you are doing.



local button = script.Parent
local leftarrow = script.Parent.LeftArrow
local rightarrow = script.Parent.RightArrow
local TweenService = game:GetService("TweenService")
local TweenSpeed = 0.1
local Info = TweenInfo.new(TweenSpeed, Enum.EasingStyle.Quad, Enum.EasingDirection.In, 0)
--[[
    Teleports all players to within the specified part
]]


local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")

local PlayerManager = require(ServerStorage.Source.Managers.PlayerManager)

return function(spawnPart)
	for _, player in pairs(Players:GetPlayers()) do
		if player.Character and player.Character.PrimaryPart then
			local primaryPart = player.Character.PrimaryPart
			if primaryPart:CanSetNetworkOwnership() then
				primaryPart:SetNetworkOwner(nil)
			end

			local cFrame =
				spawnPart.CFrame *
				CFrame.new(
					math.random(-spawnPart.Size.X * 0.5 * 100, spawnPart.Size.X * 0.5 * 100) / 100,
					3,
					math.random(-spawnPart.Size.Z * 0.5 * 100, spawnPart.Size.Z * 0.5 * 100) / 100
				)

			primaryPart.CFrame = cFrame

			if primaryPart:CanSetNetworkOwnership() then
				primaryPart:SetNetworkOwner(player)
			end
		else
			local serverPlayerComponent = PlayerManager.getFromPlayer(player)

			if serverPlayerComponent and serverPlayerComponent.status.currentState == "game" then
				serverPlayerComponent.stateMachine:get():startSpectating()
			end
		end
	end
end
--Makes sure the part is scaled properly----------


local function Confirm(Grid, Plot)
	if X % Grid ~= 0 then
		X = math.clamp(X - 1, 1, 78)
		
		Confirm(Grid, Plot)
	end
	
	if Z % Grid ~= 0 then
		Z = math.clamp(Z - 1, 1, 78)
		
		Confirm(Grid, Plot)
	end
end
--== OK DEVON MAKE THIS ==--



local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local TS = game:GetService("TweenService")

local Player = Players.LocalPlayer
local Character = script.Parent

local Humanoid = Character:FindFirstChildOfClass("Humanoid")

local camera = workspace.Camera

repeat wait() until Humanoid

local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
local Torso = Character:WaitForChild("Torso")

local RootJoint = HumanoidRootPart:WaitForChild("RootJoint")

local function Lerp(a, b, c)
	return a + (b - a) * c
end

local Force = nil
local Direction = nil
local Value1 = 0
local Value2 = 0

local RootJointC0 = RootJoint.C0


RunService.RenderStepped:Connect(function()
	Force = HumanoidRootPart.Velocity * Vector3.new(0.2, 0, 0.2)

	if Force.Magnitude > 2 then
		Direction = Force.Unit
		Value1 = HumanoidRootPart.CFrame.RightVector:Dot(Direction)
		Value2 = HumanoidRootPart.CFrame.LookVector:Dot(Direction)
	else
		Value1 = 0
		Value2 = 0
	end

	RootJoint.C0 = RootJoint.C0:Lerp(RootJointC0 * CFrame.Angles(math.rad(Value2 * 8), math.rad(-Value1 * 7), 0), 0.2)
end)
--


wait(1)
	powerlmp.Value = true

function Alert()
	script.Parent.Assembly.Sound.Click:Play()
script.AttackScript.Disabled = true
script.Parent.Parent.On.Value = true
end

function Test()
script.Parent.Assembly.Sound.Click:Play()
script.AttackScript.Disabled = true
script.Parent.Parent.On.Value = true
end

function Fire()
script.Parent.Assembly.Sound.Click:Play()
script.AttackScript.Disabled = true
script.Parent.Parent.On.Value = true
script.Parent.Parent.Parent.FederalSignalRC6.Modulate.Value = true	
end

function Attack()
script.AttackScript.Disabled = false
end


		function Cancel()
			script.Parent.Assembly.Sound.Click:Play()
		script.AttackScript.Disabled = true
	script.Parent.Values.Mode.Value = 4
	signallmp.Value = false
	script.Parent.Parent.On.Value = false
	script.Parent.Parent.Parent.FederalSignalRC6.Modulate.Value = false	
		script.Parent.Values.TimerOn.Value = false
end


function Timer()
script.Timer.Disabled = false
signallmp.Value = true
end

		script.Parent.Values.TimerOn.Changed:connect(function()
	if script.Parent.Values.TimerOn.Value == true then
if script.Parent.Values.Mode.Value == 2 then
Alert()
Timer()
elseif script.Parent.Values.Mode.Value == 3 then
Attack()
Timer()
elseif script.Parent.Values.Mode.Value == 5 then
Fire()
Timer()			
elseif script.Parent.Values.Mode.Value == 1 then
Test()
elseif script.Parent.Values.Mode.Value == 4 then
script.AttackScript.Disabled = true
Cancel()
				end
		end
end)


script.Parent.Values.Mode.Changed:connect(function()
if script.Parent.Values.Mode.Value == 4 then
Cancel()
end
end)
--	====================
--	BASIC
--	A basic settings for the gun
--	====================



		Auto = false;
		MuzzleOffset = Vector3.new(0, 0.625, 1.25);
		BaseDamage = 25;
		FireRate = 0.05; --In second
		ReloadTime = 2.7; --In second
		AmmoPerClip = 5; --Put "math.huge" to make this gun has infinite ammo and never reload
		Spread = 1.25; --In degree
		HeadshotEnabled = true; --Enable the gun to do extra damage on headshot
		HeadshotDamageMultiplier = 3;
		MouseIconID = "316279304";
		HitSoundIDs = {186809061,186809249,186809250,186809252};
		IdleAnimationID = 94331086; --Set to "nil" if you don't want to animate
		IdleAnimationSpeed = 1;
		FireAnimationID = 94332152; --Set to "nil" if you don't want to animate
		FireAnimationSpeed = 6;
		ReloadAnimationID = nil; --Set to "nil" if you don't want to animate
		ReloadAnimationSpeed = 1;
--RAIN PHYSICS / GENERATION


local RainFallSpeed = 150 --Studs the rain falls per second
local RainGroupsPerSecond = 400 --Amount of rain drops per second
local RainRadius = 200 --Radius from the camera in studs where rain drops will spawn
local StartY = 100 --Start height of the rain
local DefaultEndY = -10 --Default end height of the rain. Can be overriden for certain zones
local WindSpeedX = 0 --Wind speed in studs on X axis
local WindSpeedZ = 0 --Wind speed in studs on Z axis
-- 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.Lights.Brake.Value=true
	elseif data['DisableBrakes'] then
		car.Body.Lights.Brake.Value=false
	elseif data['ToggleLeftBlink'] then
		if car.Body.Lights.Left.Value==true then
			car.Body.Lights.Left.Value=false
		else
			car.Body.Lights.Left.Value=true
			car.Body.Lights.Right.Value=false
		end
	elseif data['ToggleRightBlink'] then
		if car.Body.Lights.Right.Value==true then
			car.Body.Lights.Right.Value=false
		else
			car.Body.Lights.Right.Value=true
			car.Body.Lights.Left.Value=false
		end
	elseif data['ReverseOn'] then
		car.Body.Lights.Reverse.Value=true
	elseif data['ReverseOff'] then
		car.Body.Lights.Reverse.Value=false
	elseif data['ToggleStandlicht'] then
		if LichtNum == 0 then
			LichtNum = 2
			car.Body.Lights.Headlights.Value = true
		elseif LichtNum == 1 then
			LichtNum = 2
			car.Body.Lights.Headlights.Value = true
		elseif LichtNum == 2 then
			LichtNum = 3
			car.Body.Lights.HiBeams.Value = true
		elseif LichtNum == 3 then
			LichtNum = 1
			car.Body.Lights.Headlights.Value = false
			car.Body.Lights.HiBeams.Value = false
		end
	elseif data["ToggleHazards"] then
		if car.Body.Lights.Hazards == false then
			car.Body.Lights.Right.Value=false
			car.Body.Lights.Left.Value=false	
		elseif car.Body.Lights.Hazards == true then
			car.Body.Lights.Right.Value=true
			car.Body.Lights.Left.Value=true
		end
	end
end)
----------------------------------------------------------------------------------------------------
-----------------=[ RECOIL & PRECISAO ]=------------------------------------------------------------
----------------------------------------------------------------------------------------------------


	,VRecoil = {13,17}				--- Vertical Recoil
	,HRecoil = {6,8}				--- Horizontal Recoil
	,AimRecover = .75				---- Between 0 & 1
	
	,RecoilPunch = .15
	,VPunchBase = 2.75				--- Vertical Punch
	,HPunchBase = 1.35				--- Horizontal Punch
	,DPunchBase = 1 				--- Tilt Punch | useless
	
	,AimRecoilReduction = 5 		--- Recoil Reduction Factor While Aiming (Do not set to 0)
	,PunchRecover = 0.2
	,MinRecoilPower = .5
	,MaxRecoilPower = 3.5
	,RecoilPowerStepAmount = .25
	
	,MinSpread = 1.25				--- Min bullet spread value | Studs
	,MaxSpread = 40					--- Max bullet spread value | Studs
	,AimInaccuracyStepAmount = 0.75
	,WalkMultiplier = 0				--- Bullet spread based on player speed

	,SwayBase = 0.25				--- Weapon Base Sway | Studs
	,MaxSway =	1.5					--- Max sway value based on player stamina | Studs
--- Mouse lock (prevents from being unable to zoom in first person because scrollframes


GUI.ToggleMouseLock = function(newState)
	newState = (newState ~= nil and newState or false)
	--
	if not lockMouse then
		local lockMouseScreen = Instance.new("ScreenGui")
		lockMouseScreen.Name = "LockMouse"
		lockMouseScreen.Parent = playerGui
		--
		lockMouse = Instance.new("TextButton")
		lockMouse.Visible = false
		lockMouse.BackgroundTransparency = 1
		lockMouse.Text = ""
		lockMouse.BorderSizePixel = 0
		lockMouse.Size = UDim2.new(0, 1, 0, 1)
		lockMouse.Parent = lockMouseScreen
	end
	--
	lockMouse.Modal = newState
	lockMouse.Visible = newState
end


GUI.ToggleCursor = function(newState)
	newState = (newState ~= nil and newState or false)
	--
	_L.Services.UserInputService.MouseIconEnabled = newState
end
--dont change any thing beside the  these numbers--
--to change explosion force go to CannonBall script--
----------------------------------------------------------------------------------------------------------------------------------------------------




	
	local missile = Instance.new("Part")

	local barrel

	if gunOne == true then
		barrel = gunBarrelOne
		gunOne = true
	
	end
	
	local spawnPos = barrel.CFrame * Vector3.new(5, 0, 0)

	local dx = math.random(50-cannonAcc,50+cannonAcc)
	local dy = math.random(targetRange-5,targetRange+5)
	local dz = math.random(0-cannonAcc,0+cannonAcc)
	local mag = math.random(power,power)

	local v = barrel.CFrame:vectorToWorldSpace(Vector3.new(mag + dx,dy,dz))
	
	local missile = cannonBall:clone()

	missile.Position = spawnPos
	missile.Velocity = v


	
	local new_script = script.Parent.CannonBall:clone()
	new_script.Disabled = false
	new_script.Parent = missile

	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = player
	creator_tag.Name = "creator"
	creator_tag.Parent = missile
	


	missile.Parent = game.Workspace



		local effect=script.Parent.Parent.Effect
		local fire = effect.Fire
		local smoke1 = effect.Smoke
		local smoke2 = effect.Smoke1

		fire.Enabled = true
		smoke1.Enabled = true
		smoke2.Enabled = true
		wait(0.3)
		fire.Enabled = false
		wait(0.5)
		smoke1.Enabled =false
		smoke2.Enabled = false
		


end

function onClicked()
local reloadTime = 10-- +1
	if debounce == false then
		debounce = true
		switch.BrickColor = BrickColor.new(21)
		fire(player)
		wait(reloadTime)

		debounce = false
		switch.BrickColor = BrickColor.new(37)
	end
end


script.Parent.ClickDetector.MouseClick:connect(onClicked)
-- ~60 c/s


game["Run Service"].Stepped:connect(function()

	--Steering
	Steering()

	--RPM
	RPM()

	--Update External Values
	_IsOn = script.Parent.IsOn.Value
	_InControls = script.Parent.ControlsOpen.Value
	script.Parent.Values.Gear.Value = _CGear
	script.Parent.Values.RPM.Value = _RPM
	script.Parent.Values.Horsepower.Value = _HP
	script.Parent.Values.Torque.Value = _HP * _Tune.EqPoint / _RPM
	script.Parent.Values.TransmissionMode.Value = _TMode
	script.Parent.Values.Throttle.Value = _GThrot
	script.Parent.Values.Brake.Value = _GBrake
	script.Parent.Values.SteerC.Value = _GSteerC*(1-math.min(car.DriveSeat.Velocity.Magnitude/_Tune.SteerDecay,1-(_Tune.MinSteer/100)))
	script.Parent.Values.SteerT.Value = _GSteerT
	script.Parent.Values.PBrake.Value = _PBrake
	script.Parent.Values.TCS.Value = _TCS
	script.Parent.Values.TCSActive.Value = _TCSActive
	script.Parent.Values.ABS.Value = _ABS
	script.Parent.Values.ABSActive.Value = _ABSActive
	script.Parent.Values.MouseSteerOn.Value = _MSteer
	script.Parent.Values.Velocity.Value = car.DriveSeat.Velocity
end)