Roblox/luau_corpus huggingface dataset:
--!strict

local Players = game:GetService("Players")

local weaponUtil = {}

function weaponUtil.getHumanoid(part: Part)
	while part and part ~= workspace do
		if part:IsA("Model") and part.PrimaryPart and part.PrimaryPart.Name == "HumanoidRootPart" then
			return part:FindFirstChildOfClass("Humanoid")
		end

		part = part.Parent
	end
end

function weaponUtil.getPlayerFromHumanoid(humanoid: Humanoid)
	for _, player in ipairs(Players:GetPlayers()) do
		if player.Character and humanoid:IsDescendantOf(player.Character) then
			return player
		end
	end
	
	return nil
end

function weaponUtil.getAnimatorFromPlayer(player: Player)
	assert(player.Character, string.format("Unable to get animator for player %s. Player does not  have a character.", player.Name))

	local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
	local animator = humanoid:FindFirstChildOfClass("Animator")

	return animator
end

return weaponUtil
--[[
	Since Roact yields between render and didMount, a Dev Module user can, in theory, update the
	configuration values between the two lifecycle methods, resulting in a race condition.

	We need to make sure the event is connected before the yield happens, therefore we connect to this
	event in two locations:
	1. init(), and
	2. didMount()

	#2 is added to ensure that this event gets connected in the event that a user unmounts ConfigurationContext
	and mounts it again, which is extremely unlikely.
]]
function ConfigurationProvider:_connectUpdateEvent()
	if self.changedConn then
		return
	end

	self.changedConn = self.props.config.changed.Event:Connect(function(values)
		self:setState(values)
	end)
end
-- Removes old entries in JustTouched
local function RemoveOldTouches()
	for player, touchTime in pairs(JustTouched) do
		if time() > touchTime + 1 then
			JustTouched[player] = nil
		end
	end
end
-- Remote Events Client -> Server
	RE_replicateProjectile.OnServerEvent:Connect(function(player, bullet) projectiles.CreateBullet(player, bullet)  end)
	RE_tempSaveProfile.OnServerEvent:Connect(function(player)
		print("Server received save request")
		local playerID = player.UserId
		database.SaveProfile(playerID) 
	end)
--local function attack(target)
--	local distance = (TeddyAI.HumanoidRootPart.Position - target.HumanoidRootPart.Position).Magnitude
	--if distance > 90 then
	--	humanoid:MoveTo(target.HumanoidRootPart.Position)
	--else
		--stop movement
		--TeddyAI.Humanoid.WalkSpeed = 0
		--target.Humanoid.WalkSpeed = 0
		-- play sound
	--	TeddyAI.Head.AttackSound:Play()
		--fire event
		--local events = game.ReplicatedStorage:WaitForChild("Events")
		--local player = game.Players:GetPlayerFromCharacter(target)
		--events:WaitForChild("playerDeath"):FireClient(player, TeddyAI)
		 --play the animation
		--local attackAnim = humanoid:LoadAnimation(script.AttackAnim)
		--attackAnim:Play()
		--attackAnim.Stopped:Wait()
		 --kill the player
		--target.Humanoid.Health = 0
		--restart movement
		--TeddyAI.Humanoid.WalkSpeed = script.Parent.Humanoid.WalkSpeed
	--end
-- regular lua compatibility
local typeof = typeof or type

local function primitive(typeName)
	return function(value)
		local valueType = typeof(value)
		if valueType == typeName then
			return true
		else
			return false
		end
	end
end

local t = {}

function t.any(value)
	if value ~= nil then
		return true
	else
		return false
	end
end
--create window
function Color:Create()
	local sample = script.ColorWindow:Clone()
	sample.Position = self.Params.Position
	sample.Parent = self.Gui
	sample.Visible = true

	self.Instance = sample.Content
	
	--colors
	for i,v in pairs(sample:GetDescendants()) do
		if not self.Params.RoundedCorners and v:IsA("UICorner") and v.Parent.Name ~= "Select" then
			v:Destroy()
		end
		
		if v:IsA("TextLabel") or v:IsA("TextBox") or v:IsA("ImageButton") then
			v[(v:IsA("TextLabel") or v:IsA("TextBox")) and "TextColor3" or "ImageColor3"] = self.Params.TextColor
		end
	end
	
	sample.BackgroundColor3 = self.Params.PrimaryColor
	sample.Properties.BackgroundColor3 = self.Params.PrimaryColor
	
	sample.Properties.Line.BackgroundColor3 = self.Params.SecondaryColor
	sample.Content.Bottom.Hex.Frame.BackgroundColor3 = self.Params.SecondaryColor
	for i,v in pairs({sample.Properties.HSV,sample.Properties.RGB}) do
		for q,e in pairs(v:GetChildren()) do
			if e:IsA("Frame") then
				e.Frame.BackgroundColor3 = self.Params.SecondaryColor
			end
		end
	end
	
	sample.Topbar.BackgroundColor3 = self.Params.TopbarColor
	sample.Topbar.Frame.BackgroundColor3 = self.Params.TopbarColor

	--events
	self.Finished = sample.FinishedEvent.Event
	self.Canceled = sample.CanceledEvent.Event
	self.Updated = sample.UpdateEvent.Event

	--drag
	if self.Params.Draggable and not uis.TouchEnabled then
		self.Drag = Drag.New(self.Instance.Parent)

		local dragButton = self.Instance.Parent.Topbar.Button
		dragButton.MouseButton1Down:Connect(function()
			self.Drag:Start()
		end)

		dragButton.MouseButton1Up:Connect(function()
			self.Drag:Stop()
		end)

		self._dragStopFunc = uis.InputEnded:Connect(function(input,typing)
			if typing then return end

			if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
				if self.Drag.Active then
					self.Drag:Stop()
				end
			end
		end)
	end
end
--// Settings //--

script.Parent.Triggered:Connect(function(plr)
	plr.leaderstats.Coins.Value = plr.leaderstats.Coins.Value + amount
end)
--// Event Connections
L_112_.OnClientEvent:connect(function(L_325_arg1, L_326_arg2)
	if L_325_arg1 ~= L_2_ then
		local L_327_ = L_325_arg1.Character
		local L_328_ = L_327_.AnimBase.AnimBaseW
		local L_329_ = L_328_.C1
		if L_326_arg2 then
			L_127_(L_328_,  nil , L_327_.Head.CFrame, function(L_330_arg1)
				return math.sin(math.rad(L_330_arg1))
			end, 0.25)
		elseif not L_326_arg2 then
			L_127_(L_328_,  nil , L_329_, function(L_331_arg1)
				return math.sin(math.rad(L_331_arg1))
			end, 0.25)
		end
	end
end)

L_115_.OnClientEvent:connect(function(L_332_arg1, L_333_arg2)
	if L_42_ and L_333_arg2 ~= L_2_ and L_24_.CanCallout then
		if (L_3_.HumanoidRootPart.Position - L_332_arg1).magnitude <= 10 then
			L_41_.Visible = true
			local L_334_ = ScreamCalculation()
			if L_334_ then
				if L_7_:FindFirstChild('AHH') and not L_7_.AHH.IsPlaying then
					L_116_:FireServer(L_7_.AHH, L_96_[math.random(0, 21)])
				end
			end
			L_14_:Create(L_41_, TweenInfo.new(0.1), {
				BackgroundTransparency = 0.4
			}):Play()
			delay(0.1, function()
				L_14_:Create(L_41_, TweenInfo.new(3), {
					BackgroundTransparency = 1
				}):Play()
			end)
		end
	end
end)
-- Static camera utils
local CameraUtils = require(script:WaitForChild("CameraUtils"))
local CameraInput = require(script:WaitForChild("CameraInput"))
-- Factor of torque applied to change the wheel direction
-- Larger number generally means faster braking
local BRAKING_TORQUE = 8000
--Obj
local NavigatorStringValue: StringValue = ReplicatedStorage.gameStatus.navigatorText
local NavigatorFrame: Frame = script.Parent.Parent
local NavigatorText: TextLabel = script.Parent
-- Checks if there are any blocks placed on top of the area the tree would respawn, and if there are, it won't respawn
-- It just kinda started working and I don't know what I did to make it start working
local waitTime = math.random(600,1200) -- Respawns after 10-20 minutes
-- FIXME Luau: Since 2/3 action handlers don't actually use the `action`
-- parameter, Luau thinks it doesn't exist. So this type is used to make sure it
-- does. This might be fixed by recent changes to Rodux to add support for types
type ActionHandlers = { [string]: (State, any) -> State }

local ui = Rodux.createReducer(initialState, {
	[selfieModeOpened.name] = function(state: State)
		return Cryo.Dictionary.join(state, {
			isAppOpen = true,
		})
	end,

	[selfieModeClosed.name] = function(state: State)
		return Cryo.Dictionary.join(state, {
			isAppOpen = false,
		})
	end,

	[setHudButtonEnabled.name] = function(state: State, action: setHudButtonEnabled.Action)
		return Cryo.Dictionary.join(state, {
			isHudButtonEnabled = action.isEnabled,
		})
	end,
} :: ActionHandlers)

return ui
-- delete the line above me if you already made this script's parent visible = false

uis = game:GetService("UserInputService") -- this line gets the service
ismobile = uis.TouchEnabled -- this line checks if the user is on mobile

script.Parent.Enabled = ismobile -- this line makes the script's parent visible on mobile user screen
------------------------------------------------------------------------

local TOGGLE_INPUT_PRIORITY = Enum.ContextActionPriority.Low.Value
local INPUT_PRIORITY = Enum.ContextActionPriority.High.Value
local FREECAM_MACRO_KB = {Enum.KeyCode.LeftShift, Enum.KeyCode.P}

local NAV_GAIN = Vector3.new(1, 1, 1)*64
local PAN_GAIN = Vector2.new(0.75, 1)*8
local FOV_GAIN = 300

local PITCH_LIMIT = rad(90)

local VEL_STIFFNESS = 1.5
local PAN_STIFFNESS = 1.0
local FOV_STIFFNESS = 4.0
-- When Clicked
function onButton1Down(mouse)
	--print("Down");
	--print(mouse.hit.p);
	fire();
	updateAmmo();
end
--// Settings //--

Prompt.Triggered:Connect(function(plr)
	plr.leaderstats.Coins.Value = plr.leaderstats.Coins.Value + amount
	plr.Data.Exp.Value = plr.Data.Exp.Value + 10
		s.Playing = true
		script.Parent.Parent:Destroy()
end)
--[=[
	@param value T
	@return Option<T> | Option<None>

	Safely wraps the given value as an option. If the
	value is `nil`, returns `Option.None`, otherwise
	returns `Option.Some(value)`.
]=]
function Option.Wrap(value)
	if value == nil then
		return Option.None
	else
		return Option.Some(value)
	end
end
--[[
	* Copyright (c) Roblox Corporation. All rights reserved.
	* Licensed under the MIT License (the "License");
	* you may not use this file except in compliance with the License.
	* You may obtain a copy of the License at
	*
	*     https://opensource.org/licenses/MIT
	*
	* Unless required by applicable law or agreed to in writing, software
	* distributed under the License is distributed on an "AS IS" BASIS,
	* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
	* See the License for the specific language governing permissions and
	* limitations under the License.
]]
local Object = script.Parent
local Packages = Object.Parent.Parent

local types = require(Packages.ES7Types)
type Array<T> = types.Array<T>
-- (Hat Giver Script - Loaded.)

debounce = true

function onTouched(hit)
	if (hit.Parent:findFirstChild("Humanoid") ~= nil and debounce == true) then
		debounce = false
		h = Instance.new("Hat")
		p = Instance.new("Part")
		h.Name = "Spaceman"
		p.Parent = h
		p.Position = hit.Parent:findFirstChild("Head").Position
		p.Name = "Handle" 
		p.formFactor = 0
		p.Size = Vector3.new(2, 1, 1) 
		p.BottomSurface = 0 
		p.TopSurface = 0 
		p.Locked = true 
		script.Parent.Mesh:clone().Parent = p
		h.Parent = hit.Parent
		h.AttachmentPos = Vector3.new(0, 0.3, 0.05)
		wait(5)
		debounce = true
	end
end

script.Parent.Touched:connect(onTouched)
--!strict
--[=[
  @function fromArrays
  @within Dictionary

  @param keys {K} -- An array containing values to be used as keys.
  @param values {V} -- An array containing values to be used as values.
  @return {[K]: V} -- A dictionary composed of the given keys and values.

  Creates a dictionary from the given arrays, where the first array is used
  as keys and the second array is used as values.

  ```lua
  local keys = { "hello", "goodbye" }
  local values = { "roblox", "world" }

  local dictionary = FromArrays(keys, values) -- { hello = "roblox", goodbye = "world" }
  ```
]=]
local function fromArrays<K, V>(keys: { K }, values: { V }): { [K]: V }
	local keysLength = #keys
	local result = {}

	for i = 1, keysLength do
		result[keys[i]] = values[i]
	end

	return result
end

return fromArrays
--[=[
	Fired when the item view is opened.

	@prop itemViewOpened RBXScriptSignal
	@within MerchBooth
	@client
]=]
uiStatesEvents.itemViewOpened = Instance.new("BindableEvent")
-- Components will only work on instances parented under these descendants:
local DESCENDANT_WHITELIST = {workspace, Players}
--TheNexusAvenger
--Centralizes user input for use with tools.

local InputBeganEvent = Instance.new("BindableEvent")
local LongInputBeganEvent = Instance.new("BindableEvent")
local InputEndedEvent = Instance.new("BindableEvent")

local InputHandler = {
	WeaponActivateBegan = LongInputBeganEvent.Event,
	WeaponActivateEnded = InputEndedEvent.Event,
	WeaponActivated = InputBeganEvent.Event,
}

local Tool = script.Parent.Parent
local Camera = game.Workspace.CurrentCamera
local UserInputService = game:GetService("UserInputService")
local VRService = game:GetService("VRService")

local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()

local EventsToDisconnect = {}
-- ProgressFrame ve Confirmbutton'u referanslara atayalım
local player = game.Players.LocalPlayer
local leaderstats = player:WaitForChild("leaderstats")
local stageValue = leaderstats:WaitForChild("Stage")

local conformation = script.Parent.Parent:FindFirstChild("Confirmation")
local ProgressFrame = conformation:FindFirstChild("ProgressFrame") -- Doğru isim
local Confirmbutton = conformation:FindFirstChild("Confirmbutton") -- Doğru isim
-- 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 = ""
	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
--fetching effectlib
local common_modules = game.ReplicatedStorage.CommonModules
EFFECT_LIB = require(common_modules.EffectLib)
--// Event Connections
L_115_.OnClientEvent:connect(function(L_331_arg1, L_332_arg2)
	if L_331_arg1 ~= L_2_ then
		local L_333_ = L_331_arg1.Character
		local L_334_ = L_333_.AnimBase.AnimBaseW
		local L_335_ = L_334_.C1
		if L_332_arg2 then
			L_130_(L_334_,  nil , L_333_.Head.CFrame, function(L_336_arg1)
				return math.sin(math.rad(L_336_arg1))
			end, 0.25)
		elseif not L_332_arg2 then
			L_130_(L_334_,  nil , L_335_, function(L_337_arg1)
				return math.sin(math.rad(L_337_arg1))
			end, 0.25)
		end
	end
end)

L_118_.OnClientEvent:connect(function(L_338_arg1, L_339_arg2)
	if L_42_ and L_339_arg2 ~= L_2_ and L_24_.CanCallout then
		if (L_3_.HumanoidRootPart.Position - L_338_arg1).magnitude <= 10 then
			L_41_.Visible = true
			local L_340_ = ScreamCalculation()
			if L_340_ then
				if L_7_:FindFirstChild('AHH') and not L_7_.AHH.IsPlaying then
					L_119_:FireServer(L_7_.AHH, L_99_[math.random(0, 21)])
				end
			end
			L_14_:Create(L_41_, TweenInfo.new(0.1), {
				BackgroundTransparency = 0.4
			}):Play()
			delay(0.1, function()
				L_14_:Create(L_41_, TweenInfo.new(3), {
					BackgroundTransparency = 1
				}):Play()
			end)
		end
	end
end)
-- Services
local ServerScriptService = game:GetService("ServerScriptService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local ServerStorage = game:GetService("ServerStorage")
local Players = game:GetService("Players")
---------------------------------------------------

This = script.Parent
Elevator = This.Parent.Parent.Parent
CustomLabel = require(This.Parent.Parent.Parent.CustomLabel)
Characters = require(script.Characters)

CustomText = CustomLabel["CUSTOMFLOORLABEL"]

Elevator:WaitForChild("Floor").Changed:connect(function(floor)
  --custom indicator code--
  ChangeFloor(tostring(floor))
end)

function ChangeFloor(SF)
	if CustomText[tonumber(SF)] then
		SF = CustomText[tonumber(SF)]
	end
	SetDisplay(1,(string.len(SF) == 2 and SF:sub(1,1) or "NIL"))		
	SetDisplay(2,(string.len(SF) == 2 and SF:sub(2,2) or SF))
end



function SetDisplay(ID,CHAR)
	if This.Display:FindFirstChild("DIG"..ID) and Characters[CHAR] ~= nil then
 		for i,l in pairs(Characters[CHAR]) do 
			for r=1,16 do	
				This.Display["DIG"..ID]["D"..r].Transparency = (l:sub(r,r) == "1" and 0 or 0.99)
			end
		end
	end
end
-- Put this Script in a Part, preferably bullet-shaped :)
-- создание снаряда
local part = script.Parent
part.Shape = Enum.PartType.Ball
part.Size = Vector3.new(2, 2, 2)
part.BrickColor = BrickColor.new("Really black")
part.CanCollide = false
part.Anchored = false
--!strict
--[=[
	@function slice
	@within Array

	@param array {T} -- The array to slice.
	@param from? number -- The index to start from (can be negative).
	@param to? number -- The index to end at (can be negative).
	@return {T} -- The sliced array.

	Slices an array.

	```lua
	local array = { 1, 2, 3, 4, 5 }

	local new = Slice(array, 2, 3) -- { 2, 3 }
	local new = Slice(array, -2, -1) -- { 3, 4 }
	local new = Slice(array, 3) -- { 3, 4, 5 }
	```
]=]
local function slice<T>(array: { T }, from: number?, to: number?): { T }
	local length = #array
	local result = {}

	from = if type(from) == "number" then from else 1
	to = if type(to) == "number" then to else length

	if from < 1 then
		from += length
	end

	if to < 1 then
		to += length
	end

	for i = from, to do
		table.insert(result, array[i])
	end

	return result
end

return slice
-- It's important we update all icons when a players language changes to account for changes in the width of text, etc
task.spawn(function()
	local success, translator = pcall(function() return localizationService:GetTranslatorForPlayerAsync(localPlayer) end)
	local function updateAllIcons()
		local icons = IconController.getIcons()
		for _, icon in pairs(icons) do
			icon:_updateAll()
		end
	end
	if success then
		IconController.translator = translator
		translator:GetPropertyChangedSignal("LocaleId"):Connect(updateAllIcons)
		task.spawn(updateAllIcons)
		task.delay(1, updateAllIcons)
		task.delay(10, updateAllIcons)
	end
end)


return IconController
--02fzx

local FlingAmount = 100000000	--sky
local sound = false		--well i mean its god hand so..
local sit = false			--If it makes the player sit.
local e = false				--Do not change.
local explode = true		--This one just kills you



function hit(Touch) 
	local blender = Touch.Parent:FindFirstChild("Head") 
	if not (blender == nil) then
		if e == false then
		e = true
		local bv = Instance.new("BodyVelocity")
		bv.P = 1250
		bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
		bv.Velocity = blender.CFrame.lookVector*-FlingAmount
		bv.Parent = blender
		if sit == true then
		Touch.Parent:FindFirstChild("Humanoid").Sit = true
		end
		if sound == true then
				local s = script.Parent.Yeet:Clone()
				local MAAAA = script.Parent.Scream:Clone()
			local random = math.random(8,12)/10
			s.Parent = blender
			s.PlaybackSpeed = 1
				s:Play()
				Touch.Parent:FindFirstChild("Humanoid").Health = 100
				MAAAA.Parent = blender
				MAAAA:Play()
				MAAAA.STOP.Disabled = false
		end
		wait(.05)
		bv:Destroy()
		wait(.2)
	
	e = false
		wait(1)
			if explode == true then
				wait(5)
			Touch.Parent:FindFirstChild("Humanoid").Health = 0
		end



		end
	end 
end

script.Parent.Touched:connect(hit)
----- NO EDITING BELOW -----
local weldedParts = {}
table.insert(weldedParts,mainPart)

function Weld(x, y)
	weld = Instance.new("Weld") 
	weld.Part0 = x
	weld.Part1 = y
	local CJ = CFrame.new(x.Position) 
	weld.C0 = x.CFrame:inverse() * CJ  
	weld.C1 = y.CFrame:inverse() * CJ  
	weld.Parent = x	
	table.insert(weldedParts,y)
end

function WeldRec(instance)
	local childs = instance:GetChildren()
	for _,v in pairs(childs) do
		if v:IsA("BasePart") then
			Weld(mainPart, v)
		end
		WeldRec(v)
	end	
end

WeldRec(P)
-- services

local ReplicatedStorage	= game:GetService("ReplicatedStorage")
local Players			= game:GetService("Players")
local HttpService		= game:GetService("HttpService")
-- [ SETTINGS ] --

local statsName = "Money" -- Your stats name
local maxItems = 100 -- Max number of items to be displayed on the leaderboard
local minValueDisplay = 1 -- Any numbers lower than this will be excluded
local maxValueDisplay = 10e15 -- (10 ^ 15) Any numbers higher than this will be excluded
local abbreviateValue = true -- The displayed number gets abbreviated to make it "human readable"
local updateEvery = 60 -- (in seconds) How often the leaderboard has to update
local headingColor = Color3.fromRGB(25, 181, 254) -- The background color of the heading
--[[Wheel Stabilizer Gyro]]
	Tune.FGyroDamp		= 100		-- Front Wheel Non-Axial Dampening
	Tune.RGyroDamp		= 100		-- Rear Wheel Non-Axial Dampening
--[[Engine]]

	--		[TORQUE CURVE VISUAL]
	--		Gas Engine: https://www.desmos.com/calculator/nap6stpjqf
	--		Electric Engine: https://www.desmos.com/calculator/ion9q7zp9t
	--		Use sliders to manipulate values
	--		Edit everything as if your car is NATURALLY aspirated, or as if it lacks a turbo.
	
	Tune.Engine 		= true		-- Enables or disables gas engine
									-- TORQUE CURVE: https://www.desmos.com/calculator/nap6stpjqf
	
	Tune.Horsepower		= 250
	Tune.IdleRPM		= 700
	Tune.PeakRPM		= 6000
	Tune.Redline		= 7000
	Tune.EqPoint		= 5252
	Tune.PeakSharpness	= 20
	Tune.CurveMult		= 0.2
	
	Tune.Electric		= true		-- Enables or disables electric engine
									-- TORQUE CURVE: https://www.desmos.com/calculator/ion9q7zp9t
	
	Tune.ElecHorsepower		= 223
	Tune.ElecMaxTorque		= 173
	
	Tune.ElecTransition1	= 4000
	Tune.ElecHpFrontMult	= 0.15
	
	Tune.ElecTransition2	= 9000
	Tune.ElecHpEndMult		= 2.9
	Tune.ElecHpEndPercent	= 10
	Tune.ElecTqEndMult		= 1.5
	Tune.ElecTqEndPercent	= 27
	
	Tune.ElecRedline		= 16000
	
	Tune.InclineComp	= 1.2		-- Torque compensation multiplier for inclines (applies gradient from 0-90 degrees)
	
	--Turbo Settings
	Tune.Aspiration		= "Super"												--[[
	[Aspiration]
		"Natural"		: N/A, Naturally aspirated engine
		"Single"		: Single turbocharger
		"Double"		: Twin turbocharger
		"Super"			: Supercharger												]]
	
	Tune.Boost			= 5			-- Max PSI (If you have two turbos and this is 15, the PSI will be 30)
	Tune.TurboSize		= 80		-- Turbo size; the bigger it is, the more lag it has.
	Tune.CompressRatio	= 6			-- The compression ratio (look it up)
	Tune.Sensitivity	= 0.05		-- How quickly the Supercharger (if appllied) will bring boost when throttle is applied. (Increment applied per tick, suggested values from 0.05 to 0.1)
	
return Tune
--[=[
	@param ... any

	Same as `Fire`, but uses `task.defer` internally & doesn't take advantage of thread reuse.
	```lua
	signal:FireDeferred("Hello")
	```
]=]
function Signal:FireDeferred(...)
	local item = self._handlerListHead
	while item do
		task.defer(item._fn, ...)
		item = item._next
	end
end
--[[Engine]]
	--Torque Curve
	Tune.Horsepower		= 350		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 850		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 7000		--		Use sliders to manipulate values
	Tune.Redline		= 8000		--		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		= 700		-- Clutch engagement threshold (higher = faster response)
-- LocalScript

local numValue = Player.Eventos.Evento1 -- substitua "NumValue" pelo nome da sua NumberValue
local textLabel = script.Parent -- substitua "TextLabel" pelo nome do seu TextLabel
--[[
	Used to decrease the number of consumers by 1, and if there are no more,
	cancel this promise.
]]
function Promise.prototype:_consumerCancelled(consumer)
	if self._status ~= Promise.Status.Started then
		return
	end

	self._consumers[consumer] = nil

	if next(self._consumers) == nil then
		self:cancel()
	end
end
--[[
	
	TouchThumbstick
	
--]]
local Players = game:GetService("Players")
local GuiService = game:GetService("GuiService")
local UserInputService = game:GetService("UserInputService")