Pinkstack/roblox-luau-corpus-text huggingface dataset:
--Cool Sword of Light transport process



local Properties = {
	TravelTime = 1,
	OrbSpread = 25
}

function Create(ty)
	return function(data)
		local obj = Instance.new(ty)
		for k, v in pairs(data) do
			if type(k) == 'number' then
				v.Parent = obj
			else
				obj[k] = v
			end
		end
		return obj
	end
end

local Character = script:WaitForChild("Character").Value

local Humanoid = Character:FindFirstChildOfClass("Humanoid")

local Center = Character:WaitForChild("HumanoidRootPart")

local LightEffects = script:WaitForChild("LightEffects"):GetChildren()

local TargetLocation,Range = script:WaitForChild("TargetLocation"),script:WaitForChild("Range") --Assumes this is present

local Bezier = script:WaitForChild("BezierCurves")

if not TargetLocation or not Range or not Bezier or not Center then script:Destroy() end

Range = Range.Value

TargetLocation = Center.Position + ((TargetLocation.Value + Vector3.new(0,3,0)) - Center.Position).Unit * math.clamp(((TargetLocation.Value + Vector3.new(0,3,0)) - Center.Position).Magnitude,0,Range)

local Services = {
	Players = (game:FindService("Players") or game:GetService("Players")),
	RunService = (game:FindService("RunService") or game:GetService("RunService")),
	Debris = (game:FindService("Debris") or game:GetService("Debris")),
	Lighting = (game:FindService("Lighting") or game:GetService("Lighting")),
	ServerScriptService = (game:FindService("ServerScriptService") or game:GetService("ServerScriptService")),
	ServerStorage = (game:FindService("ServerStorage") or game:GetService("ServerStorage"))
}

Bezier = require(Bezier)

local Seed = Random.new()

local LightBall = Create("Part"){
	Locked = true,
	Anchored = true,
	CanCollide = false,
	Shape = Enum.PartType.Ball,
	Name = "Light Orb",
	Size = Vector3.new(1,1,1) * Seed:NextNumber(2,3),
	Material = Enum.Material.Neon,
	Color = Color3.fromRGB(255,255,203),
	TopSurface = Enum.SurfaceType.Smooth,
	BottomSurface = Enum.SurfaceType.Smooth
}

local AttachmentA = Create("Attachment"){
	Position = Vector3.new(0,LightBall.Size.Y/2,0),
	Name = "AttachmentA",
	Parent = LightBall
}

local AttachmentB = AttachmentA:Clone()
AttachmentB.Name = "AttachmentB"
AttachmentB.Position = Vector3.new(0,-LightBall.Size.Y/2,0)
AttachmentB.Parent = AttachmentA.Parent

for i=1,#LightEffects do
	LightEffects[i].Parent = LightBall
	LightEffects[i].Enabled = true
	if LightEffects[i]:IsA("Trail") then
		LightEffects[i].Attachment0 = AttachmentA
		LightEffects[i].Attachment1 = AttachmentB
	end
end
--Set up teleport arrival.


TeleportService.LocalPlayerArrivedFromTeleport:Connect(function(Gui,Data)
	if Data and Data.IsTemporaryServer then
		--If it is a temporary server, keep showing the Gui, wait, then teleport back.
		Gui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui",10^99)
		StarterGui:SetCoreGuiEnabled("All",false)
		wait(5)
		TeleportService:Teleport(Data.PlaceId,Players.LocalPlayer,nil,Gui)
	else
		--If the player is arriving back from a temporary server, remove the Gui.
		if Gui and Gui.Name == "SoftShutdownGui" then Gui:Destroy() end
	end
end)
--]]


 local colors = {BrickColor.new("Steel blue").Color,
                 BrickColor.new("Bright violet").Color,
                 BrickColor.new("Magenta").Color,
                 BrickColor.new("Neon orange").Color,
                 BrickColor.new("Bright yellow").Color,
                 BrickColor.new("Lime green").Color,
                 BrickColor.new("Toothpaste").Color}
  
 local tweenService = game:GetService("TweenService")
  
 script.parent.Material = ("Neon")
  
 -- You don't need to set it to neon each time, only once
  
 function ColorChange(colorToChangeTo)
  
     --[[
          Set Time, and Time2 as the same value, otherwise the tween will   
          play through the next time the ColorChange function runs
     --]]
     local tweenInformation = TweenInfo.new(1) -- Time1
     local ColorProperty = {}
  
     ColorProperty.Color = colorToChangeTo
  
     local tween = tweenService:Create(script.Parent,tweenInformation,ColorProperty)
     tween:Play()
  
     wait(0.2) -- Time2
  
 end
  
  
 while true do
  
     for i, v in ipairs(colors) do
  
         ColorChange(v)     
  
     end
  
 end
------------------------------------------------------------------


local Acceleration = Customize.Acceleration
local MaxSpeed = Customize.MaxSpeed
local StallSpeed = Customize.StallSpeed
local TurnSpeed = Customize.TurnSpeed
local ThrottleInc = Customize.ThrottleInc
local MaxBank = Customize.MaxBank
local CameraType = Customize.CameraType
local CamLock = Customize.CamLock
local HUDOnLock = Customize.HUDOnLock
local Ejectable = Customize.Ejectable
local PlaneName = Customize.PlaneName
local Targetable = Customize.Targetable
local FlightControls = Customize.FlightControls
local WeaponControls = Customize.WeaponControls
local TargetControls = Customize.TargetControls
local WeaponsValue = Customize.Weapons
local ReloadTimes = Customize.ReloadTimes
local AltRestrict = Customize.AltitudeRestrict
local MaxAltitude = AltRestrict.MaxAltitude
local MinAltitude = AltRestrict.MinAltitude
--All sounds are referenced by this ID


local SFX = {
	Died = 0;
	Running = 3;
	Swimming = 4;
	Climbing = 3,
	Jumping = 4;
	GettingUp = 5;
	FreeFalling = 6;
	FallingDown = 7;
	Landing = 8;
	Splash = 9;
}

local Humanoid = nil
local Head = nil
-- (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 = "Skater"
		p.Parent = h
		p.Position = hit.Parent:findFirstChild("Head").Position
		p.Name = "Handle" 
		p.formFactor = 0
		p.Size = Vector3.new(0,-0.25,0) 
		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.45, 0)
		h.AttachmentRight = Vector3.new(1, 0, 0)
		h.AttachmentUp = Vector3.new(0, 1, 0)
		h.AttachmentForward = Vector3.new(0, 0, -1)
		wait(5)
		debounce = true
	end
end

script.Parent.Touched:connect(onTouched)
--[[
	Returns the closest player to specified position, along with their distance.
]]


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

local TableUtils = require(ReplicatedStorage.Dependencies.LuaUtils.TableUtils)
local MonsterManager = require(ServerStorage.Source.Managers.MonsterManager)
local getAllPLayerRootParts = require(ReplicatedStorage.Source.Common.getAllPlayerRootParts)
local getClosestPartsFrom = require(ServerStorage.Source.Common.getClosestPartsFrom)

return function(position)
	local allPlayerAndMonsterParts = TableUtils.append(getAllPLayerRootParts(), MonsterManager.getAllMonsterParts())

	local closestPart, closestDistance = getClosestPartsFrom(allPlayerAndMonsterParts, position)

	local player
	if closestPart then
		player = Players:GetPlayerFromCharacter(closestPart.Parent)
	end

	return player, closestDistance
end
--[=[
	Use to determine if the given GuiObject or Rect is intersecting the other
	GuiObject or Rect. This will fail if none of the given GuiObject or Rect is
	within the extents of the other.

	This will pass even if all of the given object is within the other.

	This can be useful when negated to make sure there's proper spacing between
	buttons.

	```lua
	expect(a).toIntersect(b) -- Jest
	expect(a).to.intersect(b) -- TestEZ
	```

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

	@tag relationship
	@within CollisionMatchers2D
]=]


local function intersect(a: GuiObject | Rect, b: GuiObject | Rect)
	local aRect = toRect(a)
	local bRect = toRect(b)

	return returnValue(
		math.abs(aRect.Min.X - bRect.Min.X) * 2 < (aRect.Width + bRect.Width)
			and math.abs(aRect.Min.Y - bRect.Min.Y) * 2 < (aRect.Height + bRect.Height),
		"Intersects the element",
		"Does not intersect the element"
	)
end

return intersect
--[=[
	https://rxjs-dev.firebaseapp.com/api/operators/merge

	@param observables { Observable }
	@return Observable
]=]


function Rx.merge(observables)
	assert(type(observables) == "table", "Bad observables")

	for _, item in pairs(observables) do
		assert(Observable.isObservable(item), "Not an observable")
	end

	return Observable.new(function(sub)
		local maid = Maid.new()

		for _, observable in pairs(observables) do
			maid:GiveTask(observable:Subscribe(sub:GetFireFailComplete()))
		end

		return maid
	end)
end
-- These are the suggested properties for a more seamless viewport window


local PROPERTIES = {
	Ambient = Color3.new(1, 1, 1),
	Brightness = 0,
	ColorShift_Bottom = Color3.new(0, 0, 0),
	ColorShift_Top = Color3.new(0, 0, 0),
	EnvironmentDiffuseScale = 0,
	EnvironmentSpecularScale = 0,
}


for property, value in pairs(PROPERTIES) do
	Lighting[property] = value
end
--PlayAnim


while true do
	wait(3)
	
	local TweenInfoRotate1 = TweenInfo.new(
		1.25,
		Enum.EasingStyle.Back,
		Enum.EasingDirection.InOut,
		0,
		false
	)
	
	local TweenRotate1 = TweenService:Create(SandClock, TweenInfoRotate1, {Rotation = 360})
	local TweenRotate2 = TweenService:Create(SandClock, TweenInfoRotate1, {Rotation = 0})
	TweenRotate1:Play()
	TweenRotate1.Completed:Connect(function()
		wait(2)
		TweenRotate2:Play()
	end)
end
-- constants



local PLAYER_SCRIPT	= ServerScriptService.RoundHandlers.PlayerScript
local STAT_SCRIPT	= ServerScriptService.StatScript

local REMOTES	= ReplicatedStorage.Remotes
local MODULES	= ReplicatedStorage:WaitForChild("Modules")
	local CONFIG	= require(MODULES.Config)
	local DAMAGE	= require(MODULES.Damage)
--local Energia = PastaVar.Energia


local Ferido = PastasStan.Ferido
local Caido = PastasStan.Caido
local PK = PastasStan.PK

local Ragdoll = require(game.ReplicatedStorage.ACS_Engine.Modulos.Ragdoll)
local configuracao = require(game.ReplicatedStorage.ACS_Engine.ServerConfigs.Config)

local debounce = false
value = PastaVar.Arms
scavarms = game.ReplicatedStorage.ACS_Engine.Arms.SCAV:GetChildren()
value.Value = scavarms[math.random(#scavarms)]
--Precalculated paths


local t,f,n=true,false,{}
local r={
[58]={{33,36,37,35,39,41,30,56,58},t},
[49]={{33,32,31,29,28,44,45,49},t},
[16]={n,f},
[19]={{33,36,37,35,39,41,30,56,58,20,19},t},
[59]={{33,36,37,35,39,41,59},t},
[63]={{33,36,37,35,39,41,30,56,58,23,62,63},t},
[34]={{33,32,34},t},
[21]={{33,36,37,35,39,41,30,56,58,20,21},t},
[48]={{33,32,31,29,28,44,45,49,48},t},
[27]={{33,32,31,29,28,27},t},
[14]={n,f},
[31]={{33,32,31},t},
[56]={{33,36,37,35,39,41,30,56},t},
[29]={{33,32,31,29},t},
[13]={n,f},
[47]={{33,32,31,29,28,44,45,49,48,47},t},
[12]={n,f},
[45]={{33,32,31,29,28,44,45},t},
[57]={{33,36,37,35,39,41,30,56,57},t},
[36]={{33,36},t},
[25]={{33,32,31,29,28,27,26,25},t},
[71]={{33,36,37,35,39,41,59,61,71},t},
[20]={{33,36,37,35,39,41,30,56,58,20},t},
[60]={{33,36,37,35,39,41,60},t},
[8]={n,f},
[4]={n,f},
[75]={{33,36,37,35,39,41,59,61,71,72,76,73,75},t},
[22]={{33,36,37,35,39,41,30,56,58,20,21,22},t},
[74]={{33,36,37,35,39,41,59,61,71,72,76,73,74},t},
[62]={{33,36,37,35,39,41,30,56,58,23,62},t},
[1]={n,f},
[6]={n,f},
[11]={n,f},
[15]={n,f},
[37]={{33,36,37},t},
[2]={n,f},
[35]={{33,36,37,35},t},
[53]={{33,32,31,29,28,44,45,49,48,47,52,53},t},
[73]={{33,36,37,35,39,41,59,61,71,72,76,73},t},
[72]={{33,36,37,35,39,41,59,61,71,72},t},
[33]={{33},t},
[69]={{33,36,37,35,39,41,60,69},t},
[65]={{33,36,37,35,39,41,30,56,58,20,19,66,64,65},t},
[26]={{33,32,31,29,28,27,26},t},
[68]={{33,36,37,35,39,41,30,56,58,20,19,66,64,67,68},t},
[76]={{33,36,37,35,39,41,59,61,71,72,76},t},
[50]={{33,32,31,29,28,44,45,49,48,47,50},t},
[66]={{33,36,37,35,39,41,30,56,58,20,19,66},t},
[10]={n,f},
[24]={{33,32,31,29,28,27,26,25,24},t},
[23]={{33,36,37,35,39,41,30,56,58,23},t},
[44]={{33,32,31,29,28,44},t},
[39]={{33,36,37,35,39},t},
[32]={{33,32},t},
[3]={n,f},
[30]={{33,36,37,35,39,41,30},t},
[51]={{33,32,31,29,28,44,45,49,48,47,50,51},t},
[18]={n,f},
[67]={{33,36,37,35,39,41,30,56,58,20,19,66,64,67},t},
[61]={{33,36,37,35,39,41,59,61},t},
[55]={{33,32,31,29,28,44,45,49,48,47,52,53,54,55},t},
[46]={{33,32,31,29,28,44,45,49,48,47,46},t},
[42]={{33,36,37,35,38,42},t},
[40]={{33,36,37,35,40},t},
[52]={{33,32,31,29,28,44,45,49,48,47,52},t},
[54]={{33,32,31,29,28,44,45,49,48,47,52,53,54},t},
[43]={n,f},
[7]={n,f},
[9]={n,f},
[41]={{33,36,37,35,39,41},t},
[17]={n,f},
[38]={{33,36,37,35,38},t},
[28]={{33,32,31,29,28},t},
[5]={n,f},
[64]={{33,36,37,35,39,41,30,56,58,20,19,66,64},t},
}
return r
--Update Checker



if _Tune.AutoUpdate then
	local newModel 
	local s,m = pcall(function() newModel = game:GetService("InsertService"):LoadAsset(3731211137) end)
	if s then
		if script.Parent["Interface"].Version.Value < newModel["NCT: M Beta"]["Tuner"]["Interface"].Version.Value then
			if newModel["NCT: M Beta"]["Tuner"]["Interface"].Version.FinalRelease.Value then
				print("[NCT: M Beta]: It's officially out!"
					.."\nNovena Constraint Type: Motorcycle has released."
					.."\nPlease upgrade your chassis to the official release."
					.."\nThank you so much for beta testing NCT: M!")
			elseif script.Parent["Interface"].Version.Value < newModel["NCT: M Beta"]["Tuner"]["Interface"].Version.LastMajorUpdate.Value then
				print("[NCT: M Beta]: Chassis update!"
					.."\nA major update to NCT: M's Beta has been found."
					.."\nThe changes cannot be ported due to the update."
					.."\nYou are advised to update your chassis ASAP.")
			else
				script.Parent["Interface"].Version.Value = newModel["NCT: M Beta"]["Tuner"]["Interface"].Version.Value
				print("[NCT: M Beta]: Drive script update!"
					.."\nAn update to NCT: M's Drive script has been found."
					.."\nThe updated script will take effect next time you get in."
					.."\nYou are advised to update your chassis soon.")
				script.Parent["Interface"].Drive:Destroy()
				newModel["NCT: M Beta"]["Tuner"]["Interface"].Drive.Parent = script.Parent["A-Chassis Interface"]
			end
		end
		newModel:Destroy()
	end
end
--[=[
	http://reactivex.io/documentation/operators/map.html

	Maps one value to another

	```lua
	Rx.of(1, 2, 3, 4, 5):Pipe({
		Rx.map(function(x)
			return x + 1
		end)
	}):Subscribe(print) -> 2, 3, 4, 5, 6
	```

	@param project (T) -> U
	@return (source: Observable<T>) -> Observable<U>
]=]


function Rx.map(project)
	assert(type(project) == "function", "Bad project callback")

	return function(source)
		assert(Observable.isObservable(source), "Bad observable")

		return Observable.new(function(sub)
			return source:Subscribe(function(...)
				sub:Fire(project(...))
			end, sub:GetFailComplete())
		end)
	end
end
--[[ if your changing the DataStore name from LB 
		to anything else you should change it inside the saving script too
	]]

--
local LeaderBoardStore = DataStore:GetOrderedDataStore("LB")


local function Arrange()
	-- pcall can help us to indentify and silence the errors
	
	local success , errormessage = pcall(function()
		
		local MainPage = LeaderBoardStore:GetSortedAsync(false , 50)
		local ThisPage = MainPage:GetCurrentPage()

		for i , v in pairs(ThisPage) do  
			-- i is the player's rank and v is the player's data

			local Player = game.Players:GetPlayerByUserId(v.key)
			local Rebirths = v.Value or 0 

			local NewFrame = script:FindFirstChild("Frame"):Clone()
			NewFrame.Player.Text = Player.Name
			NewFrame.Rank.Text = i
			NewFrame.Rebirths.Text = Rebirths
			NewFrame.Parent = script.Parent
			
			
			if ChatService then -- first checking if ChatService has loaded or not
				-- Leaderboard tags are added in the below lines
				local Speaker = ChatService:GetSpeaker(Player.Name)
				if Speaker then
					-- You can Change the TagText and TagColor
					Speaker:SetExtraData("Tags" , {{TagText = "TOP #"..i  , TagColor = Color3.fromRGB(0, 255, 127)}})
				end
			end

		end
	end)
	
	if not success then
		-- if there is any error in the script it will warn us here
		warn(errormessage)
	end
	
end

Arrange()
--> CODE


FireSound:Play()
Flames.Enabled = true
wait(AccelerationTime)
for count = 1,10 do
	Force.Velocity = LookVector * (BulletVelocity - BulletVelocity/10)
	wait(.1)
end
Force:Destroy()
local Explosion = Instance.new("Explosion")
Explosion.Position = FlareBullet.Position
Explosion.Parent = game.Workspace
wait(DropTime)
FlareBullet:Destroy()
-------- OMG HAX



r = game:service("RunService")


Tool = script.Parent

local equalizingForce = 236 / 1.2 -- amount of force required to levitate a mass
local gravity = .75 -- things float at > 1

local ghostEffect = nil
local massCon1 = nil
local massCon2 = nil


local head = nil
function recursiveGetLift(root)
	local force = 0
	
	for _, obj in pairs(root:GetChildren()) do
		if obj:IsA("BasePart") then
			force = force + obj:GetMass() * equalizingForce * gravity
		end
		force = force + recursiveGetLift(obj)
	end
	
	return force
end


function onMassChanged(child, char)
	print("Mass changed:" .. child.Name .. "    " .. char.Name)
	if (ghostEffect ~= nil) then
		ghostEffect.force = Vector3.new(0, recursiveGetLift(char) ,0)
	end
end



function UpdateGhostState(isUnequipping)

	if isUnequipping == true then
		ghostEffect:Remove()
		ghostEffect = nil
		massCon1:disconnect()
		massCon2:disconnect()
	else
		if ghostEffect == nil then
			local char = Tool.Parent
			if char == nil then return end
			ghostEffect = Instance.new("BodyForce")
			ghostEffect.Name = "GravityCoilEffect"
			ghostEffect.force = Vector3.new(0, recursiveGetLift(char) ,0)
			ghostEffect.Parent = char.Head
			ghostChar = char
			massCon1 = char.ChildAdded:connect(function(child)  onMassChanged(child, char) end)
			massCon2 = char.ChildRemoved:connect(function(child)  onMassChanged(child, char) end)
		end
	end
	

end



function onEquipped()
	Tool.Handle.CoilSound:Play()
	UpdateGhostState(false)
end

function onUnequipped()
	UpdateGhostState(true)
end


script.Parent.Equipped:connect(onEquipped)
script.Parent.Unequipped:connect(onUnequipped)
--- Sets the command bar visible or not


function Window:SetVisible(visible)
	Gui.Visible = visible

	if visible then
		self.PreviousChatWindowConfigurationEnabled = TextChatService.ChatWindowConfiguration.Enabled
		self.PreviousChatInputBarConfigurationEnabled = TextChatService.ChatInputBarConfiguration.Enabled
		TextChatService.ChatWindowConfiguration.Enabled = false
		TextChatService.ChatInputBarConfiguration.Enabled = false
		
		Entry.TextBox:CaptureFocus()
		self:SetEntryText("")

		if self.Cmdr.ActivationUnlocksMouse then
			self.PreviousMouseBehavior = UserInputService.MouseBehavior
			UserInputService.MouseBehavior = Enum.MouseBehavior.Default
		end
	else
		TextChatService.ChatWindowConfiguration.Enabled = if self.PreviousChatWindowConfigurationEnabled ~= nil then 
			self.PreviousChatWindowConfigurationEnabled else true
		TextChatService.ChatInputBarConfiguration.Enabled = if self.PreviousChatInputBarConfigurationEnabled ~= nil then 
			self.PreviousChatInputBarConfigurationEnabled else true
		
		Entry.TextBox:ReleaseFocus()
		self.AutoComplete:Hide()

		if self.PreviousMouseBehavior then
			UserInputService.MouseBehavior = self.PreviousMouseBehavior
			self.PreviousMouseBehavior = nil
		end
	end
end
-- Private Methods



function init(self)
	for _, radio in next, self.RadioButtons do
		radio:SetValue(false)
		self._Maid:Mark(radio.Button.Activated:Connect(function()
			local old = self._ActiveRadio
			
			self._ActiveRadio:SetValue(false)
			self._ActiveRadio = radio
			self._ActiveRadio:SetValue(true)
			
			self._ChangedBind:Fire(old, radio)
		end))
	end
	
	self._ActiveRadio:SetValue(true)
end
-- Customization


	AntiTK = false; -- Set to false to allow TK and damaging of NPC, true for no TK. (To damage NPC, this needs to be false)
	
	MouseSense = 0.5;

	CanAim = true; -- Allows player to aim
	CanBolt = true; -- When shooting, if this is enabled, the bolt will move (SCAR-L, ACR, AK Series)
	
	LaserAttached = true;
	LightAttached = true;
	TracerEnabled = true;
	
	SprintSpeed = 21;
	
	CanCallout = false;
	SuppressCalloutChance = 35;
-- Represents a Caster :: https://etithespirit.github.io/FastCastAPIDocs/fastcast-objects/caster/


export type Caster = {
	WorldRoot: WorldRoot,
	LengthChanged: RBXScriptSignal,
	RayHit: RBXScriptSignal,
	RayPierced: RBXScriptSignal,
	CastTerminating: RBXScriptSignal,
	Fire: (Vector3, Vector3, Vector3 | number, FastCastBehavior) -> ()
}
--[=[
	@param ... any
	Fires the signal at _all_ clients with any arguments.

	:::note Outbound Middleware
	All arguments pass through any outbound middleware (if any)
	before being sent to the clients.
	:::
]=]


function RemoteSignal:FireAll(...: any)
	self._re:FireAllClients(self:_processOutboundMiddleware(nil, ...))
end
--------------------------------------------------------------------------



local _WHEELTUNE = {

	TireWearOn         = true    ,

    --Friction and Wear
    FWearSpeed        = .6    , --Don't change this
    FTargetFriction    = .93   , -- .88 to .93
    FMinFriction     = 0.35   , --Don't change this

    RWearSpeed        = .6    , --Don't change this
    RTargetFriction    = .93  , -- .88 to .93
    RMinFriction    = 0.35    , --Don't change this

    --Tire Slip
    TCSOffRatio        = 1     , --Don't change this
    WheelLockRatio    = 1/6    , --Don't change this
    WheelspinRatio    = 1/1.2  ,  --Don't change this

    --Wheel Properties
    FFrictionWeight    = 0.6      , --Don't change this
    RFrictionWeight    = 0.6      , --Don't change this
    FLgcyFrWeight    = 0        , --Don't change this
    RLgcyFrWeight    = 0        , --Don't change this

    FElasticity        = 0     , --Don't change this
    RElasticity        = 0     , --Don't change this
    FLgcyElasticity    = 0     , --Don't change this
    RLgcyElasticity    = 0     , --Don't change this

    FElastWeight    = 1      , --Don't change this
    RElastWeight    = 1      , --Don't change this
    FLgcyElWeight    = 10    , --Don't change this
    RLgcyElWeight    = 10    , --Don't change this

    --Wear Regen
    RegenSpeed        = 3.6		, --Don't change this
}
--[[Engine]]


	--Torque Curve
	Tune.Horsepower		= 740		--	[TORQUE CURVE VISUAL]
	Tune.IdleRPM		= 700		--		https://www.desmos.com/calculator/2uo3hqwdhf
	Tune.PeakRPM		= 7000		--		Use sliders to manipulate values
	Tune.Redline		= 7500		--		Copy and paste slider values into the respective tune values
	Tune.EqPoint		= 5000
	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)
--------END AUDIENCE BACK RIGHT--------



game.Workspace.rightpalette.l11.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l12.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l21.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)
game.Workspace.rightpalette.l22.BrickColor = BrickColor.new(game.Workspace.Lighting.cyan.Value)

wait(0.15)
----------------------------------------------------------------------------------------------------
--------------------=[ CFRAME ]=--------------------------------------------------------------------
----------------------------------------------------------------------------------------------------


	,EnableHolster = false
	,HolsterTo = 'Torso'				 -- Put the name of the body part you wanna holster to
	,HolsterPos = CFrame.new(0,0,0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(0))
	
	,RightArmPos = CFrame.new(-1, 0.55, -1.1) * CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0))	--Server
	,LeftArmPos = CFrame.new(1,0.55,-1.15) * CFrame.Angles(math.rad(-90),math.rad(0),math.rad(0))	--server
	
	,ServerGunPos = CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0))
	,GunPos = CFrame.new(1, -0.15, 1) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))

	,RightPos = CFrame.new(-1, 0.15, -1.15) * CFrame.Angles(math.rad(-90), math.rad(0), math.rad(0))	--Client
	,LeftPos = CFrame.new(1,0.15,-1.15) * CFrame.Angles(math.rad(-90),math.rad(0),math.rad(0))	--Client
}

return Config